资源描述:
《基于BP神经网络的人脸识别.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、基于BP神经网络的人脸识别学生:林仙土学号:S摘要:人脸自动识别技术有着广阔的应用领域,本文提出用主成分分析和BP神经网络进行人脸识别。人脸识别包括两个部分:第一,特征提取;第二,神经网络进行识别。关键词:BP神经网络人脸识别主成分分析本系统采用20幅图像(4个人每人5幅)作为训练图像,应用主成分分析对训练图像进行二阶相关和降维,提取训练图像的独立基成分构造人脸子空间,并将训练集中的人脸图像向独立基上投影得到的系数输入改进的BP神经网络进行训练。然后将待识别的人脸图像向独立基上投影得到投影系数,再将其
2、输入已训练过的BP神经网络进行识别。此方法对人脸库图像进行测试,识别率达到90%以上。本系统采用MATLAB编程,并运用了其中的GUI编程实现人机交互。为在不同机子下顺利运行,本系统用uigetdir函数让用户选择训练图像库和待识别图像,使得待识别图像可在不同位置皆可让软件识别。注意:待识别图像的名字必须是test.jpg。系统界面:程序:functionvarargout=BP(varargin)gui_Singleton=1;gui_State=struct('gui_Name',mfilenam
3、e,...'gui_Singleton',gui_Singleton,...'gui_OpeningFcn',@BP_OpeningFcn,...'gui_OutputFcn',@BP_OutputFcn,...'gui_LayoutFcn',[],...'gui_Callback',[]);ifnargin&&ischar(varargin{1})gui_State.gui_Callback=str2func(varargin{1});endifnargout[varargout{1:nargout
4、}]=gui_mainfcn(gui_State,varargin{:});elsegui_mainfcn(gui_State,varargin{:});endfunctionBP_OpeningFcn(hObject,eventdata,handles,varargin)handles.output=hObject;guidata(hObject,handles);%UIWAITmakesBPwaitforuserresponse(seeUIRESUME)%uiwait(handles.figure
5、1);%---Outputsfromthisfunctionarereturnedtothecommandline.functionvarargout=BP_OutputFcn(hObject,eventdata,handles)%varargoutcellarrayforreturningoutputargs(seeVARARGOUT);%hObjecthandletofigure%eventdatareserved-tobedefinedinafutureversionofMATLAB%handl
6、esstructurewithhandlesanduserdata(seeGUIDATA)%Getdefaultcommandlineoutputfromhandlesstructurevarargout{1}=handles.output;%---Executesonbuttonpressininput.functioninput_Callback(hObject,eventdata,handles)%hObjecthandletoinput(seeGCBO)%eventdatareserved-t
7、obedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)globalTestDatabasePathTestDatabasePath=uigetdir('D:','Selecttestdatabasepath');axes(handles.axes1);a=imread(strcat(TestDatabasePath,'test.jpg'));imshow(a)set(handles.
8、text1,'string','imageforrecognition')%---Executesonbuttonpressinrecognise.functionrecognise_Callback(hObject,eventdata,handles)%hObjecthandletorecognise(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstruct