基于BP神经网络的人脸识别
利用神经网络进行人脸识别技术研究

利用神经网络进行人脸识别技术研究一、背景介绍近年来,随着信息技术的迅速发展,人工智能开始崭露头角,人脸识别技术应运而生。
人脸识别技术是一种以数字图像的处理和模式识别为基础的高科技技术,其应用领域非常广泛,例如安防监控、门禁管理、身份认证等。
其中,利用神经网络进行的人脸识别技术更是成为当前领域的研究热点。
二、神经网络及其应用神经网络是一种模拟人类神经系统的计算模型,其拥有自我训练的能力,能够从大量的数据中学习并进行预测。
近年来,神经网络的应用得到了广泛关注,已经成为了许多领域中不可或缺的工具。
在人脸识别技术中,神经网络常被用来构建特征提取模型和分类模型。
特征提取模型的目的是提取人脸图像中的关键特征,例如面部特征、眼睛、嘴巴等。
分类模型的目的是将提取的特征归类为某个人,从而实现人脸识别的功能。
三、基于神经网络的人脸识别技术研究基于神经网络的人脸识别技术已经得到了广泛的研究和应用。
这里我们将介绍其中几种重要的技术。
1、卷积神经网络卷积神经网络是一种特殊的神经网络,其能够有效地提取图像特征。
在人脸识别中,卷积神经网络可以用于对人脸图像进行特征提取,从而得到更好的分类结果。
2、深度学习深度学习是对神经网络模型的高度抽象和优化,通过构建深层次的网络结构进行特征提取。
在人脸识别中,深度学习能够更加准确地提取人脸图像中的特征,从而得到更好的分类结果。
3、多模态融合多模态融合是指利用多种不同类型的信息进行分类。
在人脸识别中,可以利用图像、音频和视频等多种不同类型的信息进行分类,从而提高人脸识别的准确度和稳定性。
四、研究进展及应用前景基于神经网络的人脸识别技术在近年来有了很大的进展,其研究已经深入到特征提取、分类模型和多模态融合等不同方面。
随着技术的不断发展,其应用前景也将逐渐扩展到更多的领域,例如智能家居、自动售货机、自助服务等。
总的来说,基于神经网络的人脸识别技术极大地提高了人们对安全性和隐私的保护。
我们可以期待这项技术在未来的应用中发挥更多的作用。
基于BP神经网络的人脸检测算法

件验证 、入 口控制 、视 频监 视 、人 机交 互 、 图像 检 索 等 。 人脸检测 的研究从 2 0世纪 7 0 年 代至 今, 研究者提出了多种检测方法 , 特 别是那 些利用运动、 肤色和一般信息的方法。 常见 的有 : 镶 嵌 图方 法 , 基 于 模板 匹配 方 法 , 人
多, 则学习的时间会过长 , 泛化能力降低。
根 据 经 验 公 式 、 ቤተ መጻሕፍቲ ባይዱ= = - i c : 和
的最精 确 检测 。 2 . 1 B P 网络 的 拓 扑结 构
n , = l o g , n( 其 中 n为输入层节点数 ,m 为 输 出节点数 ,仅为 l ~1 0 的常数 ) 计算 出隐 层节点数的取值范 围 ( 9 ~2 9 ) ,然 后根据
层只 有一 层 。
1、引 言
随着社会的发展,各个方面对快速有 效的 自动身份验证的要求 日益迫 切。利用 人睑特征进行身份验证是最 自然直接 的手 段 ,它具 有 直 接 、友 好 、方 便 的 特 点 , 易于为用户所接受 。随着人睑识别技术的 发 展和 人脸识 别技 术应 用领域 的不 断拓 宽 ,人险识别技术在各个领域的应用前景
已经越 来 越 广 泛 ,主要 用于 刑 侦 破 案 、证
围 内的 隐 层 节 点 数 进 行 独 立 的 训练 , 比较
网络的收敛速度 、网络输出精度以及网络 分类的正确率。 实 验结 果 表 明 , 网络 在 隐 层 节 点数为 1 5 时 全局收敛性最好 ,网络的输 出精度也最高 。综合考虑 网络 中的各个因 素 ,我 们 选 取 隐 层 节 点 数是 1 5。 2 . 2 样本收集 在 神 经 网 络 的学 习训 练 过 程 中 ,训 练 集的选取非 常重要。如果样本选的 比较合
一种基于改进BP神经网络的PCA人脸识别算法

PCA FACE RECoGNI TI oN ALGORI THM BAS ED oN I M PRoVED BP NEURAL NETW o RK
L i Ka ng s h u n ,
Li Ka i
Zh a ng We ns h e n g
( S c h o o l o fS c i e n c e , J i a n g x i U n i v e r s i t y o f ̄i e ce& T n e c h n o l o g y ,G a n z h o u 3 4 1 0 0 0, J i a n g x i ,C h i n a ) 。 ( S c h o o l f o I n f o r m a t i o n , S o u t h C h i n a A g r i c u l t u r a l U n i v e r s i t y ,G u a n g z h o u 5 1 0 6 4 2, G u a n g d o n g, C h i n a ) ’ ( I n s t i t u t e f o A u t o m a t i o n ,C h i n e s e A c a d e m y f o S c i e ce n s , B e i j i n g 1 0 0 1 9 0 ,C h i n a )
a l g o i r t h m h a s a s t r o n g a b i l i t y i n s e l f - l e a r n i n g ,s e l f - a d a p t i v i t y a n d n o n l i n e a r ma p p i n g .Mo r e o v e r ,i t h a s a s i g n i i f c a n t p r e d o mi n a n c e i n h u ma n
【毕业论文】基于人工神经网络的人脸识别方法研究

2.1 生物识别技术 .................................................................................................... 7
2.1.1 生物识别的定义 .....................................................................................................7 2.1.2 生物识别技术 ........................................................................................................7
基于BP神经网络的人脸识别系统的研究与实现

运 行 程 序 时 , 要 输 入 想 要 将 每个 人 的 多少 张 图 片 划 需 分为训练集 , 运行 该 程序 后 , 以 在 Malb的 变 量 空 间 中 可 ta 看到一个名为 p n的变 量 名 , 图 3所 示 。该 变 量 是 经 过 如 归 一 化 处 理 后 的 训 练 集 , n wn是 归 一 化 后 的 测 试 集 , pe
院 助教 , 究方 向为 数 字 图像 与 动 画 。 研
第 5期
黄丽韶 , 喜基 : 于 B 朱 基 P神 经 网 络 的 人脸 识 别 系 统 的研 究 与 实 现
回车 。
・7 ・ 9
节 ( 眼 镜 / 戴 眼 镜 ) 拍 摄 的 。所 有 的 图像 为 实 验 者 的 戴 不 下 正 脸 , 有 一 定 程 度 的 朝 上 下 左 右 的 偏 转 或 倾 斜 , 相 似 带 有 的黑 暗 同 质 背 景 。每 幅 图 像 为 1 9 12 2像 素 、 bt的 灰 度 8i 图 。为 了 进 行 比较 , 们 被 分 成 没 有 重 叠 的 、 同 大 小 的 它 相 训 练 集 和 测 试 集 。每 个 类 别 随 机 选 取 5幅 图 像 作 为 训 练
摘 要 : 实现 了一 种 基 于 B P神 经 网络 的 自动人 脸 识 别模 型 的人 脸 图 片识 别 算 法 , 述 了该 算 法 的 基 本 原 理 、 型 以 阐 模
及 实 现过 程 , 通 过 实验 获 得 了较 好 的 识 别 精 确 度 。 并
关 键 词 : P神 经 网络 ; 式 识 别 ; 脸 识 别 B 模 人
中图分类号 : 374 TP 1 .
文献标识码 : A
文 章 编 号 : 6 2 7 0 ( 0 2 0 50 7 — 3 1 7 — 8 0 2 1 ) 0 — 0 80 求 得
基于BP神经网络的人脸识别系统研究

基于BP神经网络的人脸识别系统研究
陈翔;白创;黄跃俊
【期刊名称】《智能计算机与应用》
【年(卷),期】2018(008)003
【摘要】本文设计了一种基于BP神经网络的人脸识别系统,并对其进行了性能分析.该系统首先利用离散小波变换获取包含人脸图像大部分原始信息的低频分量,对图像数据进行降维;再由PCA算法对人脸图像进行主成分特征提取,进一步降低图像数据的处理量;最后使用经过训练后的BP神经网络对待测人脸进行分类识别.详细介绍了离散小波变换、PCA特征提取以及BP神经网络分类设计.通过系统仿真实验与分析发现:人脸特征的提取是该系统的关键;同时,由于人脸灰度信息的统计特征与有监督训练BP神经网络分类器,使该系统只在固定类别,并且光照均匀的人脸识别应用场景中具有较高的识别准确率.因此,很难在复杂环境中应用.
【总页数】4页(P57-60)
【作者】陈翔;白创;黄跃俊
【作者单位】长沙理工大学物理与电子科学学院,长沙410114;长沙理工大学物理与电子科学学院,长沙410114;长沙理工大学物理与电子科学学院,长沙410114【正文语种】中文
【中图分类】TP391
【相关文献】
1.基于BP神经网络的人脸识别系统 [J], 安大海;蒋砚军
2.基于BP神经网络的人脸识别系统的研究与实现 [J], 黄丽韶;朱喜基
3.基于BP神经网络的人脸识别系统的研究与实现 [J], 黄丽韶;朱喜基
4.基于BP神经网络人脸识别系统的研究与设计 [J], 张玉萍
5.基于BP神经网络的人脸识别系统研究 [J], 陈翔;白创;黄跃俊;
因版权原因,仅展示原文概要,查看原文内容请购买。
基于GA-BP神经网络的人脸检测算法

基于GA-BP神经网络的人脸检测算法1.被控对象的特性人脸是一个极为普通、重要而又十分复杂的模式,其中蕴含的信息量非常丰富,本来在复杂的背景图像中区别人脸和其它物体就是一个比较困难的同题。
并且由于以下原因使得人脸检测的困难加大。
(1)姿势;(2)脸部的相关结构化的部件;(3)脸部表情;(4)图像的定位;(5)图像的自身条件。
因此,如能够找到解决以上问题的方法,成功地构造出人脸检测系统,将为解决其它类似的复杂模式检测问题提供重要的启示。
因而人脸检测技术的研究具有重要的学术价值。
2.控制目标人脸检测的确切定义为:任意给出一幅图像,系统能够准确分析图像中的信息,判断出图像中是否存在人脸;如果存在,则返回人脸在图像中的确切位置和范围。
所以它研究的主要问题是判断静态图像或动态影像中是否存在人脸,如果存在则对人脸进行定位。
而我们控制的目标就是更加准确地判断图像中人脸的存在性和定位人脸,这个过程中又涉及到一些系统控制指标,如精度、自适应性、容错性、分类能力和检测时间等。
我们设计的控制系统应该尽量的提高系统控制指标。
3.控制方案的选定卷积神经网络擅于提取具有类别分辨能力的隐式特征,在人脸检测等领域获得巨大成功。
然而典型的卷积神经网络的固定结构又使得网络规模初始设定只能是经验性的,难以实现后继的再学习。
BP神经网络是一种多层前向网络,由输入层、输出层、隐含层(可以是一层或多层)构成,是一种典型的三层BP神经网络模型。
BP神经网络具有较强的容错性和自适应学习能力,但同时传统的BP如学习算法的收敛速度慢、局部极小问题和网络的初始的权值、阈值以及隐层的单元数根据经验选取等,这些都大大地影响其工作性能。
GA-BP神经网络是将遗传学习算法和误差反向传播算法相结合的混合算法来训练前馈人工神经网络,使网络收敛速度加快和避免局部极小,该网络不仅收敛速度快,而且易达到最优解,后继的再学习能力强,可以较好地解决人脸检测中往往存在的噪声、残缺和戴眼睛的人脸图像等。
Stein损失下BP神经网络分类方法在人脸识别中的应用

1 S en损 失 下 B ti P神 经 网络 的收 敛 性
B P神 经 网络算法使 用梯度 下 降法 . 于普通 的梯度下 降法 , 了保 证算法 收敛 到某个 极值 点 , 对 为 对学 习率 和 目标 函数 的要求 比较高或 者很 多现实 问题不 易达到 . 比如 , 在确定 每一 步学习率 前都 必须 进行 精 确 的一维搜 索或 者要求 目标 函数 正定 等. 文献 [ o1 ]证 明了不需要 精确 的一维 搜索 或者要求 目标 函数 a一1 正定 的条件 下 , P神 经 网络的收 敛性. 文则证 明 Sen 失下 B B 本 ti 损 P神经 网络 的收敛性 .
犯 追逃等 一类特 定 目标 人脸 识别 问题就 属于 Ⅱ类分 类 问题 .
设 用 d估计 Y时所 引起 的损 失为
L 一d ・( , ( 一 一o ) ) g
㈩
该损 失 函数 叫做 S e ti n损失 , 1 Sen 失 函数与平 方损 失 函数. ti 图 是 ti 损 Se n损失 函数 是非对 称 的 , 常用于
第4 2卷 第 1 期
21 0 0年 3 月
东 北 师 大 学 报 (自 然 科 学 版 )
J u n lo rh a tNoma ie st ( t rlS in eEdto ) o r a fNo te s r lUnv r i Nau a ce c iin y
Vo142 N o . .1 M a c 01 r h2 0
[ 文章 编 号 ] 0 01 3 (00 0 —0 70 10 —8 2 2 1 )10 2—5
Sen损 失 下 B ti P神 经 网络 分类 方法 在人 脸 识别 中 的应 用
。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于BP神经网络的人脸识别学生:林仙土学号:S071954摘要:人脸自动识别技术有着广阔的应用领域,本文提出用主成分分析和BP神经网络进行人脸识别。
人脸识别包括两个部分:第一,特征提取;第二,神经网络进行识别。
关键词:BP神经网络人脸识别主成分分析本系统采用20幅图像(4个人每人5幅)作为训练图像,应用主成分分析对训练图像进行二阶相关和降维,提取训练图像的独立基成分构造人脸子空间,并将训练集中的人脸图像向独立基上投影得到的系数输入改进的BP神经网络进行训练。
然后将待识别的人脸图像向独立基上投影得到投影系数,再将其输入已训练过的BP神经网络进行识别。
此方法对人脸库图像进行测试,识别率达到90%以上。
本系统采用MATLAB编程,并运用了其中的GUI编程实现人机交互。
为在不同机子下顺利运行,本系统用uigetdir函数让用户选择训练图像库和待识别图像,使得待识别图像可在不同位置皆可让软件识别。
注意:待识别图像的名字必须是test.jpg。
系统界面:程序:function varargout=BP(varargin)gui_Singleton=1;gui_State=struct('gui_Name',mfilename,...'gui_Singleton',gui_Singleton,...'gui_OpeningFcn',@BP_OpeningFcn,...'gui_OutputFcn',@BP_OutputFcn,...'gui_LayoutFcn',[],...'gui_Callback',[]);if nargin&&ischar(varargin{1})gui_State.gui_Callback=str2func(varargin{1});endif nargout[varargout{1:nargout}]=gui_mainfcn(gui_State,varargin{:}); elsegui_mainfcn(gui_State,varargin{:});endfunction BP_OpeningFcn(hObject,eventdata,handles,varargin) handles.output=hObject;guidata(hObject,handles);%UIWAIT makes BP wait for user response(see UIRESUME)%uiwait(handles.figure1);%---Outputs from this function are returned to the command line. function varargout=BP_OutputFcn(hObject,eventdata,handles)%varargout cell array for returning output args(see VARARGOUT); %hObject handle to figure%eventdata reserved-to be defined in a future version of MATLAB %handles structure with handles and user data(see GUIDATA)%Get default command line output from handles structure varargout{1}=handles.output;%---Executes on button press in input.function input_Callback(hObject,eventdata,handles)%hObject handle to input(see GCBO)%eventdata reserved-to be defined in a future version of MATLAB %handles structure with handles and user data(see GUIDATA) global TestDatabasePathTestDatabasePath=uigetdir('D:\','Select test database path'); axes(handles.axes1);a=imread(strcat(TestDatabasePath,'\test.jpg'));imshow(a)set(handles.text1,'string','image for recognition')%---Executes on button press in recognise.function recognise_Callback(hObject,eventdata,handles)%hObject handle to recognise(see GCBO)%eventdata reserved-to be defined in a future version of MATLAB %handles structure with handles and user data(see GUIDATA) TrainDatabasePath=uigetdir('D:\','Select training database path');global TestDatabasePathvalue=bpnet(TestDatabasePath,TrainDatabasePath) set(handles.text2,'string',value)载入选择图像路径载入图像特征提取程序:function[icaproject,wica]=bpFeatureExtract(imagepath)%用于训练的图片数量Count=20;%图像格式为.jpg;S=[];%用于存储20幅图像的矩阵for i=1:Countstr=strcat(imagepath,int2str(i),'.jpg');%把两个字符串连接起来组成图像名eval('img=imread(str);');[row col]=size(img);%获得一幅图像的行数N1和列数N2temp=reshape(img,row*col,1);%产生一个(N1*N2)x1matrixS=[S temp];%S is a N1*N2xM matrixendsig=double(S');%sig是MxN1*N2matrix%对sig矩阵去均值处理sigmean=mean(sig);%对每一列取均值,imgsig是20x10304for i=1:size(sig)imgsig(i,:)=sig(i,:)-sigmean;end%对去均值的数据进行白化处理covariancematrix=cov(imgsig',1);%covariancematrix是20x20矩阵[E,D]=eig(covariancematrix);%E和D是20x20矩阵%去掉值为0的特征值v=[];d=[];for i=1:size(E,2)if(D(i,i)>0)v=[v E(:,i)];d=[d D(i,i)];endend%将特征值由大到小排序,特征值对应的特征向量也作相应的排序Dccol=d;Vc=v;%从小到大排序[Dcsort Dcindex]=sort(Dccol);%Vc的列数DcCols=size(Vc,2);%反序for i=1:DcColsVcsort(:,i)=Vc(:,Dcindex(DcCols-i+1));Dcsort(i)=Dccol(Dcindex(DcCols-i+1));end%取前k个最大特征值对应的特征向量,保留95%的能量,此时k=8Dcsum=sum(Dcsort);Dcsum_extract=0;k=0;while(Dcsum_extract/Dcsum<0.95)k=k+1;Dcsum_extract=sum(Dcsort(1:k));end%temp是由前k个最大的非0特征值对应的特征向量组成的i=1;temp=[];while(i<=k)temp(:,i)=Dcsort(i)^(-1/2)*Vcsort(:,i);i=i+1;endwhiteningmatrix=temp';%用于白化数据的白化矩阵,whiteningmatrix是8x20%用快速ICA算法求分离矩阵w(迭代50次)whitesig=whiteningmatrix*imgsig;X=whitesig;%X是8x10304[vectorsize,numsamples]=size(X);B=zeros(vectorsize);%B是8x8numofic=vectorsize;%numofic是8for r=1:numofici=1;maxnumiterations=50;%设置最大的迭代次数w=rand(vectorsize,1)-.5;%随机设置初始值w=w/norm(w);%初始化w(0),令其模为1while i<=maxnumiterations+1w=w-B*B'*w;w=w/norm(w);w=(X*((X'*w).^3))/numsamples-3*w;w=w/norm(w);i=i+1;endW(r,:)=w'*whiteningmatrix;%W(r,:)是1x20B(:,r)=w;end%求原信号icaproject=W*sig*sig';%独立成分,W是8x40,icaproject是8x40,icaproject的每一列表示一幅图像的特征值wica=W*sig;%投影空间BP神经网络程序:function res=bpnet(TestDatabasePath,TrainDatabasePath)%先设置人脸图片库所在的路径,调用特征提取函数bpFeatureExtract,将所有人脸在特征脸上的投影p提取出来imagepath=strcat(TrainDatabasePath,'\');[p,wica]=bpFeatureExtract(imagepath);%把p归一化到[-1+1],然后作为神经网络的输入p=premnmx(p')';t=[1000;1000;1000;1000;1000;0100;0100;0100;0100;0100;0010;0010;0010;0010;0010;0001;0001;0001;0001;0001]';%神经网络的理论输出值%设计神经网路[prow pcol]=size(p);num=prow*pcol;%提取p中元素个数作为神经网络的输入层神经元个数net=newff(minmax(p),[num,10,4],{'tansig','tansig','purelin'},'traingda');%隐层神经元个数为10,输出层神经元个数为4,4表示识别出两个人net.trainParam.show=200;%显示速率为200net.trainParam.lr=0.01;%学习率为0.01net.trainParam.epochs=5000;%迭代次数不超过5000net.trainParam.goal=0.001;%训练误差为0.001[net,tr]=train(net,p,t);%用神经网络识别imgtest=imread(strcat(TestDatabasePath,'\test.jpg'));[row col]=size(imgtest);%获得行数和列数imgtest=reshape(imgtest,1,row*col);sig=double(imgtest);imgtest=sig;%把待测试图像imgtest在子空间上投影projectcoeftest=wica*(imgtest)';%projectcoeftest是8x1ptest=premnmx(projectcoeftest);%把投影值projectcoeftest归一化到[-1+1],然后作为神经网络的输入%仿真result=sim(net,ptest)%显示识别出的人名信息if result(1,1)>0.9res='This is Edward';elseif result(2,1)>0.9res='This is George';elseif result(3,1)>0.9res='This is Frank';elseif result(4,1)>0.9res='This is Henry';else res='This is strange';end选择训练图像库的路径训练图像训练结果这是图像训练库外的人。