✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步进步,matlab项目目标合作可私信。
🍎个人主页:Matlab科研工作室
🍊个人信息:格物致知。
更多Matlab仿真内容点击👇
智能优化算法神经网络预测雷达通信无线传感器
信号处理图像处理路径规划元胞机器人无人机电力系统
⛄ 内容介绍
脸识别成为广大学者普遍关注的研究,它,直观,非,非,安全,安全,快捷,快捷。的。人在中受到种的的,:复杂如影响影响影响影响结构结构结构结构,表情人结构,表情表情的的的的的千变万化千变万化千变万化千变万化千变万化千变万化以及以及以及以及以及以及以及人人人人脸采集采集等等等等课题。针对脸,角度等影响大现状现状,对的现状现状现状算法算法算法算法算法进行改进改进改进改进改进改进改进改进改进改进改进改进改进改进改进改进改进改进改进改进改进改进改进改进算法算法算法,该算法具有更好的识别效果。
⛄ 部分代码
%________________________________________________________________________%
% 人脸识别 (FR) 源代码版本 1.0 %
% %
提出两个新描述符的百分比:%
% 1. HDG(方向梯度直方图)和 %
% 2. HDGG(方向梯度广义直方图) % %
% %
% %
% 在 MATLAB R2016a 中开发 %
% %
% 作者和程序员:Farid AYECHE %
% %
% 电子邮件:ayeche_farid@yahoo.fr %
% farid.ayeche@univ-setif.dz %
% ayeche.farid@gmail.com %
% %
% %
% Main paper: Ayeche, Farid & Adel, Alti. (2021). HDG and HDGG: %
% an extensible feature extraction descriptor for %
% effective face and facial expressions recognition. %
% Pattern Analysis and Applications. %
% 24. 10.1007/s10044-021-00972-2. %
% %
%___________________________________________________________________%
clc
clear all
close all
% fix the data
data = 'PIE'; % choose the datast : 'ORL', 'Yale' or 'PIE'
switch data
case 'ORL' ;
load('ORL_112x92.mat')
m = 112;
n = 92;
nm_image_by_class = 10;
case 'Yale';
load('Yale_64x64.mat')
m = 64;
n = 64;
nm_image_by_class = 11;
case 'PIE';
load('PIE_32x32.mat')
m = 32;
n = 32;
nm_image_by_class = 170;
end
[nb_images, taille_image] = size(fea);
% Feauters Extraction
descriptor = 'HDG'; % Choose the descriptor : 'HDG', 'HDGG', 'HOG' or 'LBP'
feauters = [];
for i = 1 : nb_images
Im = fea(i, :);
Im = reshape(Im, m, n);
% Using the descriptor
switch descriptor
case 'HDG'
H = HDG(Im);
case 'HDGG'
H = HDGG(Im);
case 'HOG'
H = HOG(Im);
case 'LBP'
H = LBP(Im, 1);
end
% rassembler the feauters vectors
feauters = [feauters; H'];
fprintf('\n Features Extraction : %d / %d',i, nb_images);
end
% Machine Learning Preperation
fprintf('\n \n \n Machine Learning : Preperation.................');
classifier = 'msvm'; % choose the classifier : 'knn', 'nb', 'dt', 'msvm', 'da', 'nn' or 'rf'
v = fea;
ri = round(nb_images*rand(1,1));
Test = feauters(ri, :);
Training = feauters([1:ri-1 ri+1:end], : );
label(ri, :) = [];
v(ri, :) = [];
% Recognition with Machine Leraning
fprintf('\n Machine Learning : Training & Test phases.................');
switch classifier ;
case 'knn';
results = KNNClassifier( Training, Test, label);
case 'nb';
results = NBClassifier( Training, Test, label);
case 'dt';
results = TREEClassifier(Training, Test, label);
case 'msvm';
results = MSVMClassifier(Training, Test, label);
case 'da';
results = DAClassifier( Training, Test, label);
case 'nn';
results = NNClassifier( Training, Test, label);
case 'rf';
results = RFClassifier( Training, Test, label);
end
% Display the results
fprintf('\n \n \n ************************** Results ************************');
fprintf('\n Dataset : %s ' , data);
fprintf('\n Discriptor : %s ' , descriptor);
fprintf('\n Machine Learning : %s ' , results.CL_name);
fprintf('\n Time : %f (s)', results.time);
fprintf('\n Classe : %d ' , results.Classe);
switch descriptor
case 'HDG'
fprintf('\n length vector Feature : 8 x 8 x 8 = 512');
case 'HDGG'
fprintf('\n length vector Feature : 8 x 8 x 9 = 576');
case 'HOG'
fprintf('\n length vector Feature : 8 x 8 x 8 = 576');
case 'LBP'
fprintf('\n length vector Feature : 8 x 8 x 256 = 16384');
end
fprintf('\n\n');
% Displya the face image
Classe = results.Classe;
subplot(121);
imshow(reshape(fea(ri, :), m, n), []);title('Looking for ...','FontWeight','bold','Fontsize',16,'color','red');
subplot(122);
for i = 1 : Classe
imshow(reshape(fea((i - 1) * nm_image_by_class + 1, :),m,n), [])
drawnow;
end
subplot(122);
imshow(reshape(v((Classe - 1) * nm_image_by_class + 1, :), m, n), []);title('Found!','FontWeight','bold','Fontsize',16,'color','red');
% Disply image face feautre
figure,
subplot(121)
imshow(reshape(fea(ri, :), m, n), []);title('Looking for!','FontWeight','bold','Fontsize',16,'color','red');
subplot(122)
bar(feauters(ri, :)); title('Feature Histogram','FontWeight','bold','Fontsize',16,'color','red');
⛄ 运行结果
⛄ 参考文献
[1]王国栋. 基于MATLAB的人脸识别算法的研究[D]. 内蒙古大学, 2014.
[2周天荟. 基于HOG特征的人脸识别方法的研究与实现[D]. 北京建筑大学, 2014.
⛄ Matlab代码关注
❤️部分理论引用网络文献,若有侵权联系博主删除
❤️ 关注我领取海量matlab电子书和数学建模资料