首页 > 行业资讯 > 【人脸识别】基于直方图Histogram实现人脸识别附matlab代码

【人脸识别】基于直方图Histogram实现人脸识别附matlab代码

时间:2022-07-18 来源: 浏览:

【人脸识别】基于直方图Histogram实现人脸识别附matlab代码

天天Matlab 天天Matlab
天天Matlab

TT_Matlab

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,完整matlab代码或者程序定制加qq1575304183。

收录于合集

1 内容介绍

人脸识别算法主要包括Eigenfaces算法、Fisherfaces算法与LBPHfaces算法。Eigenfaces算法将高维的人脸图像降维映射到低维特征脸子空间,实现面部特征采集,该算法特征数据多、识别准确率高。Fisherfaces算法在低维空间达到最大类间离散度与最小类内离散度,对不同的数据集计算其相应的特征。LBPHfaces算法采用局部特征值的描述方法,通过提取图像局部细节描述其纹理特征。

本文设计选用Eigenfaces算法。该算法虽然具有较高的识别率,但对光照因素较为敏感,因此光照因素的存在导致系统具有较高的误识率与拒识率。本文采用光照锥方法对图像进行光照补偿。

光照锥即不同光源方向的图像叠加形成的凸型锥体。光照锥方法基于光度立体视觉方法,使用前提是样本为理想散射模型,即可在固定光照下的所有视场方向观测到物体表面。算法思想是在构建特征脸时利用光照锥生成新的图像样本。

首先,加载用于训练的图像样本,将图像样本转换成矩阵向量形式与表示光源方向矩阵。其次,根据单一光源人脸表面的阴影计算出光源的反射率与表面法向量,由这些信息可以得到三维人脸重构图像与光源方向的估计值。最后,通过改变光源的方向,计算出不同光源下的合成图像。通过丰富特征脸的图像光源信息,实现在构建特征脸阶段减少光照对人脸识别系统的干扰。

2 仿真代码

function varargout = FR_Processed_histogram(varargin) gui_Singleton = 1 ; gui_State = struct( ’gui_Name’ , mfilename, ... ’gui_Singleton’ , gui_Singleton, ... ’gui_OpeningFcn’ , @FR_Processed_histogram_OpeningFcn, ... ’gui_OutputFcn’ , @FR_Processed_histogram_OutputFcn, ... ’gui_LayoutFcn’ , [] , ... ’gui_Callback’ , []); if nargin && ischar(varargin{ 1 }) gui_State.gui_Callback = str2func(varargin{ 1 }); end i axes (handles.axes3) %image no: 5 is shown for visualization purpose imshow(imread(strcat( ’ORLS’ ,num2str(M), ’5.bmp’ ))) msgbox ( ’Correctly Recognized’ ); else display ([ ’Error==> Testing Image of Subject >>’ num2str(subjectindex) ’ matches with the image of subject >> ’ num2str(M)]) axes (handles.axes3) %image no: 5 is shown for visualization purpose imshow(imread(STRCAT( ’ORLS’ ,num2str(M), ’5.bmp’ ))) msgbox ( ’Incorrectly Recognized’ ); end display( ’Testing Done’ ) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function box_Callback(hObject, eventdata, handles) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function box_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject, ’BackgroundColor’ ), get( 0 , ’defaultUicontrolBackgroundColor’ )) set(hObject, ’BackgroundColor’ , ’white’ ); end %% 响应Input Image按钮 function Input_Image_button_Callback(hObject, eventdata, handles) global filename pathname I [filename, pathname] = uigetfile( ’*.bmp’ , ’Test Image’ ); axes(handles.axes1) imgpath=strcat(pathname,filename); I = imread(imgpath); imshow(I) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function axes3_CreateFcn(hObject, eventdata, handles)

3 运行结果

4 参考文献

[1]聂倩倩, 秦润泽, 高育新,等. 基于直方图均衡化的人脸识别系统设计与实现[J]. 物联网技术, 2018, 8(7):3.

[2]杨恢先, 唐金鑫, 陶霞,等. 基于韦伯梯度方向直方图的人脸识别算法[J]. 计算机工程与应用, 2017, 53(15):6.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。

版权:如无特殊注明,文章转载自网络,侵权请联系cnmhg168#163.com删除!文件均为网友上传,仅供研究和学习使用,务必24小时内删除。
相关推荐