当前位置:文档之家› 基于卷积神经网络的人脸识别

基于卷积神经网络的人脸识别

基于卷积神经网络的人脸识别
基于卷积神经网络的人脸识别

《计算机系统项目综合实践》课程报告报告题目:基于卷积神经网络的人脸识别

组长:班级:*学号:*姓名:*

在本项实践中的贡献百分比: 40 %

组员1:班级: * 学号: * 姓名:*

在本项实践中的贡献百分比: 35 %

组员2:班级: * 学号:* 姓名:*

在本项实践中的贡献百分比: 25 %

日期: 2019/12/18

一、课程实践目标和内容概述:(各组员对本部分内容撰写的贡献比例,组长:组员1:组员2 = 20% : 20% : 60%)

1. 打算设计和实现一个什么样的计算机综合系统?该系统有什么功能?为什么选择该系统作为实践内容?

基于卷积神经网络的人脸识别。

通过10个人的420张192*168大小单一色彩图片对系统进行训练,从而使系统能够识别这十个人,在通过220张人脸的图片进行识别,统计识别精度,通过调整参数不断使测试精度达到最优,获得使测试精度达到最大的参数集合。

人脸识别应用在生活中十分广泛,卷积神经网络用于人脸识别是一种基于特征的方法,区别于传统的人工特征提取和针对特征的高性能分类器设计,它的优点是通过逐层卷积降维进行特征提取,然后经过多层非线性映射,使网络可以从未经特殊处理的训练样本中,自动学习形成适应该识别任务的特征提取器和分类器,该方法降低了对训练样本的要求,而且网络的层数越多,学习到的特征更具有全局性。因此,我们小组打算将该系统作为实践内容。

2. 运用什么程序设计语言或开发工具实现系统?为什么采用这种开发语言或工具?

运用MATLAB实现。

MATLAB具有封装的卷积神经网络,我们只需要对其设置层数和参数即可。而且MATLAB将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,

为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,且其对于数学建模和人工智能也很重要。 3. 如何评估所设计的系统的性能?

通过不断调整各方面参数组合,使得测试精度达到最优,使得最后得出的参数组合测试出来的精度在接受范围之内。

二、课程教学目标的理解与实施:(各组员对本部分内容撰写的贡献比例,组长:组员1:组员2 = 30% : 20% : 50%)

1. 分析一下设计和实现该实践系统需要几个阶段?每个阶段涉及的学科知识、基本技术或方法是什么?

阶段一选题阶段:

在此阶段中,通过大致了解老师所分配的几个命题,明确每样命题所需要的工作,学习人工智能的大概知识,结合组员们自己的爱好,选定一个可以执行的命题。

阶段二熟悉人脸识别的定义和基本算法:

在这个阶段中,为了实现我们在第一阶段所选的命题-人脸识别,我们更为深入地了解了卷积神经网络的定义,实现策略以及其中每一阶段的结构,还有误差反向传播,一些用到的函数变换等知识。但还没有深入理解到代码级别。

阶段三代码级实现:

在这个阶段中,我们逐行理解老师所提供的原始代码,并尝试运行。掌握了各个函数的具体功能和使用参数,通过调用参数,调用函数使得系

统顺利运行。

阶段四调整参数组合,得到最优组合:

在上一个代码实现阶段完成后,着手调整参数组合,在调节一组参数时固定其他变量,不断运行程序,得出测试精度。根据收集到的测试精度画出折线图,通过折线图的数据变化找到其中的最优参数集合,使得该参数集合达到的测试精度能够在接受范围之内。

2. 系统实现过程中各个阶段有无重点或难点问题?如果有,是什么?

1)代码运行一遍的时间比较长,所以说对于修改代码时必须要考虑

周到,尽量做到时间的充分利用。

2)测试精度受诸多相关参数影响,许多参数不能单个进行分析,必

须通过组合进行测试,而参数组合使得测试成本量级增大,无疑

带来了不小的工作量。

3)函数的细枝末节纷繁复杂,理解上带来了不小的困难,不过最后

在苗军老师细心地讲解下一一得到了解决。

3. 分析影响系统完成的主要因素有哪些?作为一个整体,实践小组如何合理地分配时间和精力以完成系统的实现(各阶段的时间比例)?阐述组长和每个组员在实现系统过程中各自总的花费时间(单位:学时)。

前期算法的理解和时间的分配,环境的配置和硬件支持也花了功夫,如果对于卷积神经网络有一个很好地理解,对于其中的每一个环节都能很好地掌握,那么后期的编程将会节省很多时间。

后期参数调整以及测试精度的收集与分析,表格的绘制,和在数据变

化中找到最优的参数集合,对系统的完善与改进也是至关重要,但在大家的配合与努力之下顺利完成,使得最后的系统的精度达到理想范围之中。

本次实验中:

组长*:20-25学时

组员*:15-20学时

组员*:10-15学时

4. 阐述组长和每个组员各自在哪些学科知识、基本技术或方法上较为擅长、较能发挥自己的特长?

组长赵振昊较为主动,对于新知识的接受能力较快,自学能力较强,通过问老师和查阅资料做了大部分工作,在不断的沟通与探讨下,掌握了绝大多数相关知识,并给组员讲解不明白的知识点,对系统的顺利运行起到了功不可没的作用。

组员罗坤学科基础能力比较扎实,工作态度积极,并提供了硬件支持,认真出席每一次讨论,对于基础知识和各方面的实现提供了很多宝贵的意见,着手于数据的收集与分析,对系统的完善起到一定的促进作用。

组员史磊工作比较有热情,积极参加讨论,在系统的实现和完善中提出了相关意见,也对项目做出了很多贡献。

5. 阐述组长和每个组员在实践内容选题、实践阶段分析、实践内容实现上是如何沟通、协调和确定分工的?

组长选题并对于项目难点进行攻克,代码的整理与修改,并给组员讲解;组员罗坤负责基础知识的梳理,数据收集与分析,完善系统;组员史磊负责协调工作,在团队有分歧时提供意见。

6. 阐述组长和每个组员在实践内容选题、实践阶段分析或实践内容实现上遇到了哪些以往课程知识没有讲解过的新内容、新问题或新概念?是否各自自主地进行了相关知识的资料查找、学习和归纳?如果是,列出组长和每个组员具体学习、归纳的知识是什么?

组长*:卷积神经网络的两个函数和细节结构。

组员*:卷积神经网络中参数配置与相关设置。

三、计算机综合实践系统的具体实现:(各组员对本部分内容撰写的贡献比例,组长:组员1:组员2 = 20% : 30% : 50%)

1.一个或多个数据库的选择及训练和测试样本的情况描述,如有人工特征提取或可视化步骤,一并加入描述;

选取YaleB(192*168)中的420张192*168的图片进行训练,其中210张192*168的图片进行测试。

2. 系统的结构设计和参数描述,所运用到的关键知识、所采用的机器学习/人工智能模型的简单原理描述;

卷积神经网络:基本结构包括两层,其一为特征提取层,每个神经元的输入与前一层的局部接受域相连,并提取该局部的特征。一旦该局部特征被提取后,它与其它特征间的位置关系也随之确定下来;其二是特征映射层,网络的每个计算层由多个特征映射组成,每个特征映射是一个平面,平面上所有神经元的权值相等。特征映射结构采用影响函数核小的sigmoid函数作为卷积网络的激活函数,使得特征映射具有位移不变性。此外,由于一个映射面上的神经元共享权值,因而减少了网络自由参数的个数。卷积神经网络中的每一个卷积层都紧跟着一个用来求局部平均与二

次提取的计算层,这种特有的两次特征提取结构减小了特征分辨率。

RNN:循环神经网路,即一个序列当前的输出与前面的输出也有关。具体的表现形式为网络会对前面的信息进行记忆并应用于当前输出的计算中,即隐藏层之间的节点不再无连接而是有连接的,并且隐藏层的输入不仅包括输入层的输出还包括上一时刻隐藏层的输出。

3. 实验过程描述,包括为寻找一个最优系统所进行的训练、测试的具体步骤和过程描述。单独组队者或者联合组队者应该独自或分工配合把系统测试率随参数变化而变化的情况绘制成曲线、曲面或列成表格,可以选择以下一种或多种方式:

(a) 系统测试率随任意一个参数变化而变化情况,比如说总共有三个参数,那么应该绘制三张性能曲线图,每张图的横坐标是参数的变化刻度,纵坐标是系统的在测试集上的测试率,或者列成三张性能变化表,表的第一列是参数的变化值,表的第二列是系统在测试集上的测试率;

(b) 系统测试率随任意两个参数变化而变化情况,比如说总共有三个参数,那么应该绘制三张性能曲面图,每张图的x,y坐标是两个参数各自的变化刻度,z坐标是系统的在测试集上的测试率,或者列成三张性能变化表,表的第一、二列是两个参数各自的变化值,表的第三列是系统在测试集上的测试率;

注:为降低寻优实验次数,一种简化的寻优方法是,先遍历选出一个最优参数(其它参数此时先随机确定一个值),然后固定选好的这一个参数,对剩下的参数反复套用上述方式顺次选出剩余的参数。

四、实验结果分析和结论:(各组员对本部分内容撰写的贡献比例,组长:组员1:组员2 = 25 % :25 % :50 %)

根据实验结果,分析并给出系统的最优参数组合,判断一下在最优参数组合下,系统是否达到了足够好或令人满意的性能。( 如有能力,对照数据或系统结构的特性,简单分析一下为什么选出的是这种参数组合?如果系统可以改进,你觉得将来可以从哪方面进行改进?)

我们组主要是调整卷积神经网络中的特征提取层中的第一个卷积层和第二个卷积层的滤波器个数,最大池化层中读取数据的尺寸大小和步长;以及卷积神经网络中的特征映射层中第一层隐单元个数和第二层隐单元个数。最后得到的最优参数组合为:第一个卷积神经层滤波器个数为25,第二个卷积神经层滤波器个数为30;最大池化层读取2*2,步长为2;第一个隐单元个数为100,第二个隐单元个数为200。该参数组合下,此系统能够达到的测试精度为0.9209,在接受范围之内,符合预期测试目标。

五、课程教学目标的实现程度评估(各组员对本部分内容撰写的贡献比例,组长:组员1:组员2 = 30 % :30 % :40 %)

1. 谈谈自己的感想,通过本课程自己收获到了什么,有哪些内容觉得应该掌握还没有掌握?对讲课老师的建议,下次上课时通过增减哪些内容或采用什么其它方式可以更好地帮助学生领会掌握一个计算机综合系统的构建?

组长*:明确了卷积神经网络各层之间的原理和工作思路,对MATLAB编程也有了较为明确的理解,对人工智能也有了更为浓厚的兴趣,期待以后在接下来的学习工作中能够更加深刻地学习这项技术。

组员*:掌握了卷积神经网络中卷积层和池化层的工作原理,以及熟悉了解了卷积神经网络中特征提取层和特征映射层的工作思路,对整体的系统运行和完善大致了解与明白,对该系统的数据收集与分析有了进一步的深入与强化,并对基于卷积神经网络的人脸识别产生了浓厚的兴趣,对今后的学习生活奠定了坚实的基础。

组员*:掌握了卷积神经网络的卷积层的偏置地产生和全连接层的权值W 的知识内容,对整体的系统的运行和和原理有大致的了解,在整个课设完成的过程中,对卷积神经网络产生了极大的兴趣,也对我对之后关于这方面知识的学习奠定了基础,受益匪浅。

2. 给出本实践小组在课程教学目标实现程度上的自我评估(最高100%):

基于深度卷积神经网络的图像分类

SHANGHAI JIAO TONG UNIVERSITY 论文题目:基于卷积神经网络的自然图像分类技术研究 姓名: 高小宁 专业:控制科学与工程

基于卷积神经网络的自然图像分类技术研究 摘要:卷积神经网络已在图像分类领域取得了很好的效果,但其网络结构及参数的选择对图像分类的效果和效率有较大的影响。为改善卷积网络的图像分类性能,本文对卷积神经网络模型进行了详细的理论分析,并通过大量的对比实验,得出了影响卷积网络性能的因素。结合理论分析及对比实验,本文设计了一个卷积层数为8层的深度卷积网络,并结合Batch Normalization、dropout等方法,在CIFAR-10数据集上取得了%的分类精度,有效地提高了卷积神经网络的分类效果。 关键词:卷积神经网络,图像分类,Batch Normalization,Dropout Research on Natural Image Classification Based on Convolution Neural Network Abstract: Convolution neural network has achieved very good results in image classification, but its network structure and the choice of parameters have a greater impact on image classification efficiency and efficiency. In order to improve the image classification performance of the convolution network, a convolutional neural network model is analyzed in detail, and a large number of contrastive experiments are conducted to get the factors that influence the performance of the convolution network. Combining the theory analysis and contrast experiment, a convolution layer depth convolution network with 8 layers is designed. Combined with Batch Normalization and dropout, % classification accuracy is achieved on CIFAR-10 dataset. Which improves the classification effect of convolution neural network. Key Words: Convolution neural network(CNN), image classification, Batch Normalization, Dropout

神经网络在人脸识别中的应用

神经网络在人脸识别中的应用 1. 引言 早在上世纪60年代末,人脸识别即引起了研究者的强烈兴趣.但早期的人脸识别一般都需要人的某些先验知识,无法摆脱人的干预。进入上世纪90年代,由于高速度、高性能计算机的出现,人脸识别的方法有了重大突破,进入了真正的机器自动识别阶段,人脸识别研究得到了前所未有的重视。人脸识别方法有很多种: (1) 特征脸方法。这种方法起源于图像描述技术,采用特征脸识别方法有良好的 稳定性、位移不变性、特征向量与图像的高度成比例变化以及转置不变性。不足之处是受表情变化、光照角度强度变化和视角变化等严重影响,鲁棒性较差。(2) 隐马尔可夫模型方法(HiddenMarkovModel) 是用于描述信号统计特征的一 组统计模型。HMM 的基本理论是由Baum和Welch等人在20世纪60年代末70年代初建立,在语音识别中应用较多。 (3) 弹性图匹配方法。弹性图匹配方法是一种基于动态连接结构的方法。它将人脸用格状的稀疏图表示。 (4) 神经网络方法。人工神经网络是由多个神经元按照一定的排列顺序构成的,是一个非线性动力学系统,其特色在于信息的分布式存储和并行协同处理。虽然单个神经元的结构极其简单,功能有限,但由大量冲经元所构成的网络系统却能够 实现复杂丰富的功能。神经网络系统除了具有集体运算的能力和自适应的学习能力外,还有根强的容错性和鲁棒性?善于联想、综合和推广。神经网络模型各种各样。它们是从不同的角度对生物神经系统不同层次的描述和模拟。有代表性的网络模型有感知器、多层映射BP网络、RBF网络等。目前,在人工神经网络的实际应用中,绝大部分的神经网络模型都是采用BP网络及其变化形式,它也是前向网

【CN110020684A】一种基于残差卷积自编码网络的图像去噪方法【专利】

(19)中华人民共和国国家知识产权局 (12)发明专利申请 (10)申请公布号 (43)申请公布日 (21)申请号 201910276255.3 (22)申请日 2019.04.08 (71)申请人 西南石油大学 地址 610500 四川省成都市新都区新都大 道8号 (72)发明人 罗仁泽 王瑞杰 张可 李阳阳  马磊 袁杉杉 吕沁  (51)Int.Cl. G06K 9/62(2006.01) G06N 3/04(2006.01) G06T 5/00(2006.01) (54)发明名称 一种基于残差卷积自编码网络的图像去噪 方法 (57)摘要 本发明公开了一种基于残差卷积自编码网 络的图像去噪方法,为了克服传统浅层线性结构 特征提取能力有限,现有基于深度学习的图像去 噪模型存在泛化能力弱等问题。以残差块、批归 一化层和自编码器组成的残差卷积自编码块为 基本去噪网络结构,提出了多功能去噪残差卷积 自编码神经网络。本发明公开的图像去噪方法, 在保持较高去噪质量和去噪精度的同时,不仅拥 有盲去噪能力,还能去除与训练集类型不相同的 噪声。权利要求书2页 说明书5页 附图2页CN 110020684 A 2019.07.16 C N 110020684 A

1.一种基于残差卷积自编码网络的图像去噪方法,其特征在于包括如下步骤: 步骤1、将预处理后的原图和对应含噪声的图像作为训练集和测试集,具体步骤如下: (1)将m*m像素的三通道原图预处理为单通道灰度图像,并对图像进行切割; (2)将预处理切割后的灰度图像加入相应噪声; (3)将原图的灰度图像及其对应的加噪图像作为一组数据,以原图像的灰度图像作为标签,制作训练集和测试集; 步骤2、构建残差卷积自编码块,主结构由n+2层卷积层组成,恒等映射部分由卷积自编码结构组成,残差卷积自编码块输出为: x n+2=f(x)+x cae x cae 为输入x经过卷积自编码器提取的潜在特征,f(x)为输入x经过n+2层卷积层输出的结果,n为大于1的正整数,其中,主结构第1层卷积核大小为1*1,激活函数为Swish;第2到第n+1层结构相同,均添加批归一化层,卷积核大小为3*3,激活函数为Relu;第n+2层卷积核大小为1*1,激活函数为Swish; 其中Relu激活函数为: Swish激活函数为: 式中β为x的缩放参数,β>0; 步骤3、网络结构主要由步骤2提出的残差卷积自编码块组成,网络共(n+2)*a+8层,a为大于2的正整数,第一层是一个用来降维的卷积层,中间层由残差卷积自编码块和残差卷积块组成,最后一层为一个全连接层; 步骤4、将步骤1预处理后的训练集,通过列队输入到步骤3搭建的网络模型中,采用误差反向传播,并以均方误差损失函数来衡量真实值与预测值的距离,通过数据集的每次迭代,使用梯度下降来调整神经元之间的权重以降低代价函数,进而优化网络,并以定量的峰值信噪比和定性的视觉感受判断网络去噪效果,初次保存网络模型的各个参数; 均方误差损失函数为: 式中,y i 为通过列队读入的标签数据,z i 为输出去噪后的数据,均方误差越小代表去噪后的数据与标签数据越接近,网络准确率越高; 峰值信噪比公式为: 其中M MSE 是原图和处理图像之间的均方误差,PSNR数值越大表示失真越小; 步骤5、将步骤1预处理后的测试集,输入到步骤4优化训练好的网络模型中,并通过定 权 利 要 求 书1/2页2CN 110020684 A

一种基于卷积神经网络的图像分类方法

F 福建电脑 UJIAN COMPUTER 福建电脑2018年第2期 基金项目:国家级大学生创新训练计划项目(201610719001);陕西省大学生创新训练计划项目(1495)。 0引言 图像分类就是利用计算机模拟人类对图像的理解和认知,自动根据图像的内容将图片划分到合适的类别中,它在智能识别、目标检测和信息搜索等计算机视觉领域有着广泛的应用,图像分类问题也一直是计算机视觉的基本问题。目前,关于图像分类的研究大多集中在医学图像、遥感图像等专业领域,而对于自然图像分类的研究较少,虽然分类的算法如K 最近邻算法[1]、决策树算法[2]、神经网络算法[3]、支持向量机算法[4]和一些混合算法[5]能达到较可观的分类效果,但对大数据库的分类,存在训练时间长,准确度低、易出现过拟合等缺点。 由于卷积神经网络[6](Convolutional Neural Network,CNN )具有输入图像不需预处理;特征提取和模式分类同时在训练中产生;权重共享减少了网络训练参数;很强的抗干扰能力等优点。本文首先分析探讨了卷积神经网络结构、原理,提出了一种改进的卷积神经网络,设计了基于该模型的图像分类算法,实验结果表明该模型能提取出大数据库中图像明显特征,可精确地对图像集进行分类。 1卷积神经网络及其改进 CNN 是将卷积运算引入到深度学习模型,属于多层前馈神经网络模型,但与传统不同的是它的输入是二维模式,可以直接处理二维模式,其连接权是二维权矩阵,称为卷积核,基本操作是二维离散卷积和池化。简单地说,CNN 就是能够自动的对于一张图片学习出最好的卷积核以及这些卷积核的组合方式。 1.1CNN 结构 CNN 一般由卷积层、池化层、全连接层和一个输出层(或分类器)组成。每层由多个二维平面块组成,每个平面块由多个独立神经元组成,如图1所示。 卷积层通过卷积运算提取图像的不同特征,包含若干组CNN 训练的参数,即进行学习的卷积核,当前层的卷积核对输入的一组图片做卷积运算,再经过激活函数得到新的特征图像,通常采用卷积离散型将输入原始图像的像素输出为新的像素点,可由公式(1)计算得出: (1) 其中,M β表示输入特征图像的子集;W γαβ表示卷积核;γ表 示网络层数;b γβ表示输出特征映射的偏置,f 表示激活函数,最常用的是sigmoid 函数与双曲正切函数。 卷积层后一般接入池化层来减小数据量,通过池化把输入的特征图像分割为不重叠的矩形区域,而对相应的矩形区域做运算,常见的有最大池化和均值池化。经过交替的卷积层和池化层之后,已经获得了高度抽象的特征图像,全连接层把得到的多个特征映射转化为一个特征向量以完全连接的方式输出,最后对提取的特征进行分类。 1.2CNN 工作原理 在CNN 中,通过神经网络的梯度反向传播算法实现对参数的学习训练,属于有监督学习。在进行学习训练过程中,输入信号的训练输出和实际输出会有一定误差,误差在梯度下降算法中逐层传播,逐层更新网络参数。假设样例(x ,y )的损失函数为C (W ,b ;x ,y ),如式(2)。 (2)为防止过拟合,需增加,L 2范数,如式(3)。 (3) 其中,h W ,b (x )为输入样本x 经过CNN 后的输出,y 为样本的标签真值,λ为控制强度。为了使代价函数尽可能的小,因此需要不断更新每一层的权重W 和偏置项b ,任意一层(假设为γ层)的权重更新如式(4)。 (4) 1.3CNN 的改进 在处理大数据集方面,由于卷积层和池化层数较少,获得的特征图相对不足,因此达不到较好的分类效果。针对该缺点,依据CNN 的卷积层和池化层设置灵活性,不同的结构设置会得到不同结果的特点,对传统CNN 进行了两方面的改进,一方面将卷积层和池化层层数分别增至3层,提高了各层提取图像特征的能力,使分类效果得到改善;另一方面设置卷积核大小为5×5,扫描的步长为2,在提高训练效率的同时也保证了分类精确度。 2基于改进CNN 的图像分类 一种基于卷积神经网络的图像分类方法 张琳林,曹军梅 (延安大学计算机学院陕西延安716000) 【摘要】利用卷积神经网络是深度学习的一种高效识别模型的思想, 将卷积神经网络应用于图像分类中,避免对图像进行复杂的预处理的同时也提高了图像分类的准确度。在分析卷积神经网络结构、 原理及特点的基础上,提出了一种改进的卷积神经网络模型,设计了基于该模型的图像分类算法, 并在大数据库CIFA R-10下进行实验验证,表明图像分类的准确度高,总结了网络模型对图像分类结果的影响因素。 【关键词】卷积神经网络;图像分类;卷积;池化;特征图像图1CNN 的基本结 构 DOI:10.16707/https://www.doczj.com/doc/d38725907.html,ki.fjpc.2018.02.021 46··

神经网络在人脸识别中的应用

神经网络在人脸识别中的应用 1.引言 早在上世纪60年代末, 人脸识别即引起了研究者的强烈兴趣.但早期的人脸识别一般都需要人的某些先验知识, 无法摆脱人的干预。进入上世纪9O年代, 由于高速度、高性能计算机的出现,人脸识别的方法有了重大突破, 进入了真正的机器自动识别阶段, 人脸识别研究得到了前所未有的重视。人脸识别方法有很多种: (1)特征脸方法。这种方法起源于图像描述技术,采用特征脸识别方法有良好的稳定性、位移不变性、特征向量与图像的高度成比例变化以及转置不变性。不足之处是受表情变化、光照角度强度变化和视角变化等严重影响, 鲁棒性较差。(2)隐马尔可夫模型方法(HiddenMarkovMode1)是用于描述信号统计特征的一组统计模型。HMM的基本理论是由Baum和Welch等人在20世纪6O年代末70年代初建立, 在语音识别中应用较多。 (3)弹性图匹配方法。弹性图匹配方法是一种基于动态连接结构的方法。它将人脸用格状的稀疏图表示。 (4)神经网络方法。人工神经网络是由多个神经元按照一定的排列顺序构成的, 是一个非线性动力学系统, 其特色在于信息的分布式存储和并行协同处理。虽然单个神经元的结构极其简单, 功能有限, 但由大量冲经元所构成的网络系统却能够实现复杂丰富的功能。神经网络系统除了具有集体运算的能力和自适应的学习能力外, 还有根强的容错性和鲁棒性.善于联想、综合和推广。神经网络模型各种各样。它们是从不同的角度对生物神经系统不同层次的描述和模拟。有代表性的网络模型有感知器、多层映射BP网络、RBF网络等。目前, 在人工神经网络的实际应用中,绝大部分的神经网络模型都是采用BP网络及其变化形式, 它也是前向网络的核心部分, 是人工神经网络最精华的部分。2BP神经网络的人脸识别BP神经网络用于人脸识别一般应先对输入图像实行图像预处理,然后进行特征提取,接下来就是BP网络训练,最后用训练好的网络进行识别,获得识别结果。 2.基于特征脸和BP 神经网络的人脸识别方法 2.1特征脸分析 这种方法是根据图像的统计特征进行正交变换( K-L 变换) [3] , 以去除样 本间的相关性, 然后根据特征值的大小选择特征向量( 主分量) , 由于这些特 征向量的图像类似人脸, 所以称为特征脸[4, 5] 。下面就这种方法作简要介绍。 X∈RN 为表示一幅图像的随机向量, 这里N是图像的大小, X 由图像的行或列连 接而成的向量。假设有p 个人, 每个人有r1 ( 1≤i≤P) 个人脸样本图像, 样 本集为{ Xji } , Xji表示第j个人的第i个样本。那么每个人样本均值向量为 mi ( 1≤ i≤p) ; 总体样本均值向量为m; 类间散布矩阵为

基于卷积神经网络的图像识别研究

第14期 2018年7月No.14July,2018 1 算法原理 卷积神经网络的卷积层最重要部分为卷积核[1-2]。卷积核不仅能够使各神经元间连接变少,还可以降低过拟合误 差[3]。 子采样过程就是池化过程。进行卷积过程是将卷积核与预测试图像进行卷积,子采样能够简化网络模型,降低网络模型复杂程度,从而缩减参数。 在图像识别时,首先需要对输入图像初始化,然后将初始化后图像进行卷积和采样,前向反馈到全连接层,通过变换、即可计算进入输出层面,最终通过特征增强效果和逻辑之间的线性回归判断是否符合图像识别期望效果,往复循环,每循环一次就迭代一次,进而对图像进行识别。流程如图1所示。 图1 卷积神经网络模型流程 2 卷积神经网络 卷积神经网络主要包括3个层次[4],它由输入层、隐藏 层、输出层共同建立卷积神经网络模型结构。2.1 卷积层 卷积层的作用是提取特征[2]。卷积层的神经元之间进行 局部连接,为不完全连接[5]。 卷积层计算方法公式如下。()r array M a λ+ 其中λ为激活函数,array 是灰度图像矩阵, M 表示卷积核, 表示卷积, a 表示偏置值大小。G x 方向和G y 方向卷积核。 本文卷积神经网络模型中设定的卷积核分为水平方向和竖直方向。卷积层中卷积核通过卷积可降低图像边缘模糊程度,使其更为清晰,效果更好、更为显著。经过S 型函数激活处理之后,进行归一化后图像灰度值具有层次感,易于突出目标区域,便于进一步处理。2.2 全连接层 该层主要对信息进行整理与合并,全连接层的输入是卷积层和池化层的输出。在视觉特征中,距离最近点颜色等特征最为相似,像素同理。全连接如图2所示。 图2 全连接 3 实验结果与分析 本文采用数据集库是MSRA 数据集,该数据集共包含1 000张图片。实验环境为Matlab2015a 实验环境,Windows 7以上系统和无线局域网络。本文从MSRA 数据集中选取其中一张进行效果分析。卷积神经网络模型识别效果如图3所示。 作者简介:谢慧芳(1994— ),女,河南郑州人,本科生;研究方向:通信工程。 谢慧芳,刘艺航,王 梓,王迎港 (河南师范大学,河南 新乡 453007) 摘 要:为降低图像识别误识率,文章采用卷积神经网络结构对图像进行识别研究。首先,对输入图像进行初始化;然后,初 始化后的图像经卷积层与该层中卷积核进行卷积,对图像进行特征提取,提取的图像特征经过池化层进行特征压缩,得到图像最主要、最具代表性的点;最后,通过全连接层对特征进行综合,多次迭代,层层压缩,进而对图像进行识别,输出所识别图像。与原始算法相比,该网络构造可以提高图像识别准确性,大大降低误识率。实验结果表明,利用该网络模型识别图像误识率低至16.19%。关键词:卷积神经网络;卷积核;特征提取;特征压缩无线互联科技 Wireless Internet Technology 基于卷积神经网络的图像识别研究

基于卷积神经网络的人脸识别

《计算机系统项目综合实践》课程报告报告题目:基于卷积神经网络的人脸识别 组长:班级:*学号:*姓名:* 在本项实践中的贡献百分比: 40 % 组员1:班级: * 学号: * 姓名:* 在本项实践中的贡献百分比: 35 % 组员2:班级: * 学号:* 姓名:* 在本项实践中的贡献百分比: 25 % 日期: 2019/12/18

一、课程实践目标和内容概述:(各组员对本部分内容撰写的贡献比例,组长:组员1:组员2 = 20% : 20% : 60%) 1. 打算设计和实现一个什么样的计算机综合系统?该系统有什么功能?为什么选择该系统作为实践内容? 基于卷积神经网络的人脸识别。 通过10个人的420张192*168大小单一色彩图片对系统进行训练,从而使系统能够识别这十个人,在通过220张人脸的图片进行识别,统计识别精度,通过调整参数不断使测试精度达到最优,获得使测试精度达到最大的参数集合。 人脸识别应用在生活中十分广泛,卷积神经网络用于人脸识别是一种基于特征的方法,区别于传统的人工特征提取和针对特征的高性能分类器设计,它的优点是通过逐层卷积降维进行特征提取,然后经过多层非线性映射,使网络可以从未经特殊处理的训练样本中,自动学习形成适应该识别任务的特征提取器和分类器,该方法降低了对训练样本的要求,而且网络的层数越多,学习到的特征更具有全局性。因此,我们小组打算将该系统作为实践内容。 2. 运用什么程序设计语言或开发工具实现系统?为什么采用这种开发语言或工具? 运用MATLAB实现。 MATLAB具有封装的卷积神经网络,我们只需要对其设置层数和参数即可。而且MATLAB将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,

基于深度卷积神经网络的人脸识别研究定稿版

基于深度卷积神经网络的人脸识别研究 HUA system office room 【HUA16H-TTMS2A-HUAS8Q8-HUAH1688】

基于深度卷积神经网络的人脸识别研究 深度卷积神经网络主要应用包括语音识别、图像处理、自然语言处理等。本文就当前大环境下研究了卷积神经网络模型在静态环境下人脸识别领域的应用。卷积神经网络模型需要设计一个可行的网络模型,将大量的人脸训练数据集加载到网络模型中,然后进行自动训练,这样就可以得到很好的识别率。把训练好的模型保存下来,那么这个模型就是一个端到端的人脸特征提取器。该方法虽然操作简单,但是需要根据训练数据集设计合理的网络结构,而且最难的关键点是超参数的调整和优化算法的设计。因此本文结合残差网络和融合网络构建了两个与计算资源和数据资源相匹配的网络模型,并通过反复调整超参数和调试优化器使其在训练集上能够收敛,最终还取得较好的识别率。 本文的主要研宄内容和创新点如下: 1.介绍了卷积神经网络的基础理论知识。先从传统人工神经网络的模型结构、前向和反向传播算法进行了详细的分析;然后过渡到卷积神经网络的相关理论,对其重要组成部分如卷积层、激励层、池化层和全连接层进行了具体的阐述;最后对卷积神经网络训练时的一些注意事项进行了说明。 人工神经元是构成人工神经网络的基本计算单元,单个神经元的模型结构如下图所示。 其中, b X W b x w Z T+ = + =∑1 1 1 ) ( ) ( , z f x h h w = 卷积神经网路的基本结构简单的池化过程:

2.对深度学习框架TensorFlow的系统架构和编程模型作了一些说明,并对人脸数据进行预处理,包括人脸检测、数据增强、图像标准化和人脸中心损失。 TensorFlow的系统架构如下图所示 TensorFlow的编程模式 系统本地模式和分布式模式示意图 3.提出了基于改进的MyVGGNet和MySqueezeNet网络的人脸识别。首先分析了模型VGGNet-16和SqueezeNe的网络结构及相关参数,然后本文提出将原VGGNet-16和SqueezeNe的网络结构和参数进行优化,并在每个卷积层和激励层之间添加批归一化层,在VGGNet-16网络末尾用1个1 * 1的卷积层代替三个全连接层,还增加全局平均池化层,得到新的MyVGGNet和MySqueezeNet模型,最后在LFW数据集上分别获得9 4.3%和9 5.1%的准确率。 VGGNet-16 网络结构框图 MyVGGNet 网络框图 MyVGGNet网络训练时LFW测试集的准确率走势图 MyVGGNet网络在LFW上的ROC曲线图 4.提出了基于二叉树型融合网络BTreeFuseNet_v1和BTreeFuseNet_v2的人脸识别。首先对深度神经网络的优化问题和融合原理作了分析;然后结合残差学习,融入分支并行、融合和级联三种结构,采用ReLU函数、BN层、Dropout层、哈维尔方法和截断高斯函数初始化方法、Adam优化器等技巧,构建了两个层次深度为22和19的网络模型

基于神经网络的人脸识别实验报告

基于神经网络的人脸识实验报告别 一、 实验要求 采用三层前馈BP 神经网络实现标准人脸YALE 数据库的识别。 二、BP 神经网络的结构和学习算法 实验中建议采用如下最简单的三层BP 神经网络,输入层为],,,[21n x x x X =,有n 个神经元节点,输出层具有m 个神经元,网络输出为],,,[21m y y y Y =,隐含层具有k 个神经元,采用BP 学习算法训练神经网络。 BP 神经网络的结构 BP 网络在本质上是一种输入到输出的映射,它能够学习大量的输入与输出之间的映射关系,而不需要任何输入和输出之间的精确的数学表达式,只要用已知的模式对BP 网络加以训练,网络就具有输入输出对之间的映射能力。 BP 网络执行的是有教师训练,其样本集是由形如(输入向量,期望输出向量)的向量对构成的。在开始训练前,所有的权值和阈值都应该用一些不同的小随机数进行初始化。 BP 算法主要包括两个阶段: (1) 向前传播阶段 ①从样本集中取一个样本(X p ,Y p ),将X p 输入网络,其中X p 为输入向量,Y p 为期望输出向量。 ②计算相应的实际输出O p 。 在此阶段,信息从输入层经过逐级的变换,传送到输出层。这个过程也是网络在完成训练后正常运行时执行的过程。在此过程中,网络执行的是下列运算: (1)(2)()21(...((())...))n p n p O F F F X W W W = (2) 向后传播阶段 ①计算实际输出O p 与相应的理想输出Y p 的差; ②按极小化误差的方法调整权矩阵。 这两个阶段的工作一般应受到精度要求的控制,定义

21 1()2m p pj pj j E y o ==-∑ (1) 作为网络关于第p 个样本的误差测度(误差函数)。而将网络关于整个样本集的误差测度定义为 p E E =∑ (2) 如前所述,将此阶段称为向后传播阶段,也称之为误差传播阶段。 为了更清楚地说明本文所使用的BP 网络的训练过程,首先假设输入层、中间层和输出层的单元数分别是N 、L 和M 。X=(x 0,x 1,…,x N-1)是加到网络的输入矢量,H=(h 0,h 1,…,h L-1)是中间层输出矢量,Y=(y 0,y 1,…,y M-1)是网络的实际输出矢量,并且用D=(d 0,d 1,…,d M-1)来表示训练组中各模式的目标输出矢量。输出单元i 到隐单元j 的权值是V ij ,而隐单元j 到输出单元k 的权值是W jk 。另外用θk 和Φj 来分别表示输出单元和隐单元的阈值。 于是,中间层各单元的输出为: 1 0()N j ij i j i h f V x φ-==+∑ (3) 而输出层各单元的输出是: 1 0()L k jk j k j y f W h θ-==+∑ (4) 其中f(*)是激励函数,采用S 型函数: 1 ()1x f x e -=+ (5) 在上述条件下,网络的训练过程如下: (1) 选定训练集。由相应的训练策略选择样本图像作为训练集。 (2) 初始化各权值V ij ,W jk 和阈值Φj ,θk ,将其设置为接近于0的随机值,并初始化精度控制参数ε和学习率α。 (3) 从训练集中取一个输入向量X 加到网络,并给定它的目标输出向量D 。 (4) 利用式(7)计算出一个中间层输出H ,再用式(8)计算出网络的实际输出Y 。 (5) 将输出矢量中的元素y k 与目标矢量中的元素d k 进行比较,计算出M 个输出误差项:()(1)k k k k k d y y y δ=--对中间层的隐单元也计算出L 个误差项: 1 *0(1)M J j j k jk k h h W δδ-==-∑ (6) 依次计算出各权值和阈值的调整量: ()(/(1))*((1)1)**jk jk k j W n L W n h αδ?=+?-+ (6)

基于BP神经网络的人脸识别

基于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}); end if nargout [varargout{1:nargout}]=gui_mainfcn(gui_State,varargin{:}); else gui_mainfcn(gui_State,varargin{:}); end function 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 TestDatabasePath TestDatabasePath=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');

基于神经网络的人脸识别

【代码及说明见第四页】 基于三层BP 神经网络的人脸识别 一、 实验要求 采用三层前馈BP 神经网络实现标准人脸YALE 数据库的识别。 二、BP 神经网络的结构和学习算法 实验中建议采用如下最简单的三层BP 神经网络,输入层为],,,[21n x x x X ,有n 个神经元节点,输出层具有m 个神经元,网络输出为],,,[21m y y y Y ,隐含层具有k 个神经元,采用BP 学习算法训练神经网络。 BP 神经网络的结构 BP 网络在本质上是一种输入到输出的映射,它能够学习大量的输入与输出之间的映射关系,而不需要任何输入和输出之间的精确的数学表达式,只要用已知的模式对BP 网络加以训练,网络就具有输入输出对之间的映射能力。 BP 网络执行的是有教师训练,其样本集是由形如(输入向量,期望输出向量)的向量对构成的。在开始训练前,所有的权值和阈值都应该用一些不同的小随机数进行初始化。 BP 算法主要包括两个阶段: (1) 向前传播阶段 ①从样本集中取一个样本(X p ,Y p ),将X p 输入网络,其中X p 为输入向量,Y p 为期望输出向量。 ②计算相应的实际输出O p 。 在此阶段,信息从输入层经过逐级的变换,传送到输出层。这个过程也是网络在完成训练后正常运行时执行的过程。在此过程中,网络执行的是下列运算: (1)(2)()21(...((())...))n p n p O F F F X W W W (2) 向后传播阶段

①计算实际输出O p 与相应的理想输出Y p 的差; ②按极小化误差的方法调整权矩阵。 这两个阶段的工作一般应受到精度要求的控制,定义 21 1()2m p pj pj j E y o (1) 作为网络关于第p 个样本的误差测度(误差函数)。而将网络关于整个样本集的误差测度定义为 p E E (2) 如前所述,将此阶段称为向后传播阶段,也称之为误差传播阶段。 为了更清楚地说明本文所使用的BP 网络的训练过程,首先假设输入层、中间层和输出层的单元数分别是N 、L 和M 。X=(x 0,x 1,…,x N-1)是加到网络的输入矢量,H=(h 0,h 1,…,h L-1)是中间层输出矢量,Y=(y 0,y 1,…,y M-1)是网络的实际输出矢量,并且用D=(d 0,d 1,…,d M-1)来表示训练组中各模式的目标输出矢量。输出单元i 到隐单元j 的权值是V ij ,而隐单元j 到输出单元k 的权值是W jk 。另外用θk 和Φj 来分别表示输出单元和隐单元的阈值。 于是,中间层各单元的输出为: 1 0()N j ij i j i h f V x (3) 而输出层各单元的输出是: 1 0()L k jk j k j y f W h (4) 其中f(*)是激励函数,采用S 型函数: 1 ()1x f x e (5) 在上述条件下,网络的训练过程如下: (1) 选定训练集。由相应的训练策略选择样本图像作为训练集。 (2) 初始化各权值V ij ,W jk 和阈值Φj ,θk ,将其设置为接近于0的随机值,并初始化精度控制参数ε和学习率α。 (3) 从训练集中取一个输入向量X 加到网络,并给定它的目标输出向量D 。 (4) 利用式(7)计算出一个中间层输出H ,再用式(8)计算出网络的实际输出Y 。 (5) 将输出矢量中的元素y k 与目标矢量中的元素d k 进行比较,计算出M 个输出误差项:()(1)k k k k k d y y y 对中间层的隐单元也计算出L 个误差项: 1 *0(1)M J j j k jk k h h W

基于神经网络的人脸识别技术方法研究

第3期2019年2月No.3February,2019 人们在特定时刻的感觉在临床术语中被称为“情绪”。6种基本情绪被认为是快乐、悲伤、愤怒、恐惧、厌恶和惊讶,而其他已知的人类情感往往被视为这6种复杂社交情境的特殊化。研究人员从各种观点研究了情绪在人工智能中的作用:开发与人类更优雅互动的代理人和机器人,开发利用情绪模拟来辅助自己推理的系统,或创建更接近人体情感互动和学习的机器人。皮卡德指出:“智能复杂自适应系统中将会有功能,它们必须响应不可预测的复杂信息,这些信息起着情感在人们身上发挥作用的作用。”因此,对于计算机以实时方式响应复杂的情感信号,他们将需要像我们所拥有的系统,我们称之为情感。 人类的情感不仅是一种合乎逻辑的理性成分,它们与行为和感情紧密相连。人类情感系统在生存、社会互动和合作以及学习中起着至关重要的作用。机器需要一种情感—机器运动。因此,我们可以确定智能机器需要情绪,以便在学习复杂任务时以及在对人类的学习和决策制定进行建模时提高其表现。 情绪在人类决策过程中发挥着重要作用,因此,当我们试图模拟人类反应时,它们应该嵌入推理过程中。Bates 使用Ortony 等描述的模型提出了一个可信的代理人。该模型仅描述了基本情绪和先天反应;然而,它为构建计算机情感模拟提供了一个很好的起点。Kort 等提出了一个模型,他们的目的是概念化情绪对学习的影响,然后,建立一个工作的基于计算机的模型,将识别学习者的情感状态并对其作出适当的反应,以便学习将以最佳的速度进行。Poel 等引入了模拟混合神经网络架构,用于情绪学习。系统从注释数据中学习如何产生情绪状态以及由内部和外部刺激引起的变化。Clocksin 探讨了记忆中的问题,并结合可能的人工认知架构进行了研究。这项工作与人工智能研究中考虑记忆和情感的传统方式背道而驰,并且源于社会和发展心理学中出现的两种思想[1]。 本文提出了一种基于情绪反向传播学习算法的情绪神经网络。情绪神经网络具有两种模拟情绪,有助于网络学习和分类过程。这两种情绪是焦虑和自信。结合这些情绪参数的基本原理是它们对我们人类认知过程中的学习的影响。在实践中,两个情感参数意味着当情绪神经网络被训练时,一个是使用所有节点作为训练模式样本的输入平均值,另一个是某种程度上的增加惯性项用于在训练时期进展时修改从一种模式到下一种模式的变化水平。从数学的角度来看,当接 近成本函数的最小值时,我们不希望被单个模式的误差所左 右,其中一些模式可能是异常值。因此,我们关注最近学习步骤积累的“记忆”。 本文旨在研究这些额外的情绪参数对情绪神经网络在学习和决策中的表现的影响。我们使用脸部图像数据库,它已经在我们以前的作品中有效地使用。该数据库包括270个不同性别,种族和年龄的30人的图像,具有各种照明条件和对比度。面部图像的多样性旨在研究情绪神经网络的稳健性。 1 具有情绪参数的学习算法 反向传播学习算法是用于训练分层神经网络的广义delta 规则。自前人引入该算法以来,该算法已被广泛使用。在本节中,基于情绪反向传播学习算法的情绪神经网络学习算法,根据情绪神经网络内的信息流详细解释,该网络由3层组成:输入层(i )神经元,具有(h )神经元的隐藏层和具有(j )神经元的输出层。1.1 输入层神经元 这些是非处理神经元;每个输入层神经元的输出定义为YIi =Xii 其中, XIi 和YIi 分别是输入和输出输入层中神经元i 的值。1.2 隐藏层神经元 这些是处理神经元,因此, S 形激活函数用于激活该层中的每个神经元。这里,假设有一个隐藏层。但是相同的过程可以应用于多个隐藏层。 其中XHh 和YHh 分别是隐藏层中神经元h 的输入和输出值。使用进入该神经元的所有输入值的总电位计算隐藏层神经元XHh 的输入。总电位是输入值的乘法和它们的相关权重的总和。 其中Whi 是隐藏神经元h 给予输入神经元i 的权重, YIi 是输入神经元i 的输出, r 是输入层神经元的最大数量。其中Whb 是由隐藏神经元h 给予隐藏层偏置神经元b 的权重, Xb 是偏置神经元的输入值。1.3 输出层神经元 这些也是处理神经元,因此, S 形激活函数用于激活该层中的每个神经元。 其中XJj 和YJj 分别是输出层中神经元j 的输入和输出值。除了偏置和情绪神经元之外,还使用从先前隐藏层馈送神经元的所有输入值的总电位来计算输出层神经元XJj 的输入。 作者简介:吴思楠(1997— ),女,辽宁丹东人,本科生;研究方向:计算机科学与技术。 摘 要:文章研究了情绪神经网络的效率,该网络使用改进的反向传播学习算法。实验结果表明,人工情绪可以成功建模并有 效实施,以改善神经网络的学习和普遍性。关键词:神经网络;反向传播算法;人工情感建模;面部识别基于神经网络的人脸识别技术方法研究 吴思楠 (辽宁师范大学海华学院,辽宁 沈阳 110167) 无线互联科技 Wireless Internet Technology

基于神经网络的人脸识别(附代码)

【代码及说明见第四页】 基于三层BP 神经网络的人脸识别 一、 实验要求 采用三层前馈BP 神经网络实现标准人脸YALE 数据库的识别。 二、BP 神经网络的结构和学习算法 实验中建议采用如下最简单的三层BP 神经网络,输入层为],,,[21n x x x X ,有n 个神经元节点,输出层具有m 个神经元,网络输出为],,,[21m y y y Y ,隐含层具有k 个神经元,采用BP 学习算法训练神经网络。 BP 神经网络的结构 BP 网络在本质上是一种输入到输出的映射,它能够学习大量的输入与输出之间的映射关系,而不需要任何输入和输出之间的精确的数学表达式,只要用已知的模式对BP 网络加以训练,网络就具有输入输出对之间的映射能力。 BP 网络执行的是有教师训练,其样本集是由形如(输入向量,期望输出向量)的向量对构成的。在开始训练前,所有的权值和阈值都应该用一些不同的小随机数进行初始化。 BP 算法主要包括两个阶段: (1) 向前传播阶段 ①从样本集中取一个样本(X p ,Y p ),将X p 输入网络,其中X p 为输入向量,Y p 为期望输出向量。 ②计算相应的实际输出O p 。 在此阶段,信息从输入层经过逐级的变换,传送到输出层。这个过程也是网络在完成训练后正常运行时执行的过程。在此过程中,网络执行的是下列运算: (1)(2)()21(...((())...))n p n p O F F F X W W W (2) 向后传播阶段

①计算实际输出O p 与相应的理想输出Y p 的差; ②按极小化误差的方法调整权矩阵。 这两个阶段的工作一般应受到精度要求的控制,定义 21 1()2m p pj pj j E y o (1) 作为网络关于第p 个样本的误差测度(误差函数)。而将网络关于整个样本集的误差测度定义为 p E E (2) 如前所述,将此阶段称为向后传播阶段,也称之为误差传播阶段。 为了更清楚地说明本文所使用的BP 网络的训练过程,首先假设输入层、中间层和输出层的单元数分别是N 、L 和M 。X=(x 0,x 1,…,x N-1)是加到网络的输入矢量,H=(h 0,h 1,…,h L-1)是中间层输出矢量,Y=(y 0,y 1,…,y M-1)是网络的实际输出矢量,并且用D=(d 0,d 1,…,d M-1)来表示训练组中各模式的目标输出矢量。输出单元i 到隐单元j 的权值是V ij ,而隐单元j 到输出单元k 的权值是W jk 。另外用θk 和Φj 来分别表示输出单元和隐单元的阈值。 于是,中间层各单元的输出为: 1 0()N j ij i j i h f V x (3) 而输出层各单元的输出是: 1 0()L k jk j k j y f W h (4) 其中f(*)是激励函数,采用S 型函数: 1()1x f x e (5) 在上述条件下,网络的训练过程如下: (1) 选定训练集。由相应的训练策略选择样本图像作为训练集。 (2) 初始化各权值V ij ,W jk 和阈值Φj ,θk ,将其设置为接近于0的随机值,并初始化精度控制参数ε和学习率α。 (3) 从训练集中取一个输入向量X 加到网络,并给定它的目标输出向量D 。 (4) 利用式(7)计算出一个中间层输出H ,再用式(8)计算出网络的实际输出Y 。 (5) 将输出矢量中的元素y k 与目标矢量中的元素d k 进行比较,计算出M 个输出误差项:()(1)k k k k k d y y y 对中间层的隐单元也计算出L 个误差项:1 *0(1)M J j j k jk k h h W

相关主题
文本预览
相关文档 最新文档