




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于BP神经网络的脸谱分析(姓名:疏兴旺专业:09级计算机应用技术学号:S09081203142)摘要本文是利用BP神经网络的优秀分析能力,对综合脸谱进行分析,可以得出脸谱图像的一般特征,通过这一研究可以得出相似图片之间的差别,在人工智能方面,可以对其差别进行分析,并做出相应的指令。特别是在仓库的智能管理方面非常有益。关键词数据挖掘脸谱分析BP神经网络.八.亠1、前言:目前,随着经济水平的稳步发展,智能分析图片,并做出相应的反应变的理所应当,也变的相当迫切。选用BP神经网络的前趋后向反馈分析能力,对相似图片做出的反应简单快捷,能很好的解决这一问题。脸谱的分析在警察办案中有很大的作用,可以有效分
2、析出罪犯的英雄。在仓库的视频的使用中,能够让仓库在无人管理的情况下对一些突变做出应有的反应!2、BP神经网络概述BP网络是在1974年由Worbos提出,1986年Rumelhart和McCelland等人对具有非线性连续转移函数的多层前馈网络的误差反向传播(ErrorBackProragation)算法进行了详尽的分析,实现了Minsky关于多层前馈网络的设想。BP算法基本思想:学习过程由信号的正向传播与误差的逆向传播两个过程组成,正向传播时,模式作用于输入层,经隐层处理后,传向输出层。若输出层未能得到期望的输出,则转入误差的逆向传播阶段,将输出误差按某种形式通过隐层向输入层逐层返回,并分摊
3、给各层的所有单元,从而获得各层单元的误差信号,以作为修改各单元权值的依据,这种信号正向传播与误差逆向传播的各层权矩阵的修改过程是周而复始地进行的。权值不断修改的过程,也就是网络的学习过程。此过程一直进行到网络输出的误差逐渐减少到可接受的程度或达到设定的学习次数为止。BP神经网络在进行设计时,主要考虑以下因素。网络层数。一般BP网络由一个输入层,一个输出层,及若干隐含层构成。实际应用中,通常利用一个隐含层就基本上能满足大部分应用问题的需求,因为两层的神经网络可以逼近任何非线性函数。而盲目地增加隐含层层数,往往会使学习速度变慢,同时增加了结构的复杂性。输入层节点数。输入层节点数由影响输出变量的变量
4、个数来决定,一般来说有几个变量对输出变量的结果有影响就选择几个输入层节点。输入网络的节点过少,会使得网络不能很好地获得输入与输出数据的非线性关系,如果过多,就会增加过度适应的危险和增大了训练集的大小。输出层节点数。输出层节点数取决于输出数据类型和表示该类型所需的具体数据。隐层节点数。一个具有无限隐层节点的两层BP网络可以逼近任何非线性函数,但对于输入与输出均为有限个的网络,并不需要无限个隐层节点,这就涉及到如何选择隐层节点数的问题,而这一问题的复杂性,使得至今为止,尚未找到一个很好的解析式,隐层节点数往往根据前人设计所得的经验和自己进行试验来确定,也可从1、2、3开始。一般认为,隐层节点数与数
5、据、寻找的模式以及网络的类型都有直接的关系。另外,隐层节点数太多会导致学习时间过长;而隐层节点数太少,容错性差,识别未经学习的样本能力低,所以必须综合多方面的因素进行设计。隐层节点数的初始值可由(1)式来确定:式中:m、n分别为输入层结点数与输出层结点数,l为隐层节点数。传递函数。BP神经网络中的传递函数通常采用S(sigmoid)型函数,即上式中x为前面组合函数的结果,一般取进入单元的输入加权和。3、训练BP网络从:/afs/project/theo-8/faceimages/faces_4.tar.Z下载CMU的脸谱库,然后对样本进行训练1.训练BP网络1.1选择训练BP网络去学习功能,人
6、名Name、人脸朝向Direction、心情Emotion是否带眼镜glasses。通过对话框左上角的ComboBox选择这四种功能类型1.2选择迭代次数(iteratetime)或停止迭代误差(StopError),两者默认值为100000和0.003,即分别表示迭代到100000次时停止(不管误差多少),或迭代直到误差小于指定值时停止(可能会迭代很多很多次).这里的100000次是训练的下界,到达100000次迭代时,可能还没有训练到样本集中最后一个样本,因此会多训练几次,程序在使用delta法则来训练样本样,后面的误差是每个样本训练完后的平均误差,而不是当前训练图片的误差1.3确定隐藏层
7、神经元个数(Hiddenlayerunits),默认为3个(网络只含一个隐藏层,多层网络其实也一样),由于所需隐单元个数的多少目前仍而理论依据,因此当隐层个数太少,无法达到识别率时,考虑调大一点,不过由于隐层个数调大后,权值会增加,训练会明显变慢另外,当BP网络要学习目标比较复杂时,隐层单元个数不因过少,不然可能无法收敛.L4确定学习速率(learningrate)和冲量(momentum),默认值都是0.3,默认值的设置不需要太大,太大了会导致无法收敛,太小了会收敛很慢,而且结果误差会很大。1.5参数都设好了,点击Train按钮开始训练,对话框下方的Status哙动态显示当前迭代的次数,而图
8、片下方也会动态更新当前迭代中的图片路径.要说明的是:如果迭代次数少,很快就会训练完,如果次数多的话,就看你电脑的性能了,在训练100000次左右或更多的时候,识别精度已经可以达到80%左右,或以上(这和测试样本有关),另外创建神经网络时,如果让隐层至输出层权值随机生成,那么同样训练100000次,结束时的误差也不会一样.1.6训I练完后,左边的列表框(ErrorList)会列出训练过程的一些信息,包括这次训练总共花了多少时间(最上一行),第几次(time)迭代,当前迭代误差(cur_err),平均误差(avg_err).2测试BP网络测试功能,位于主对话框右上角,上面的一组select和var
9、ify按扭用于测试单张人脸图片,下面一组select和varify按扭用于批量测试人脸图片,并统计准确率.2.1测试单张图片2.1.1点右上第一个Select按钮弹出打开文件对话框:OpenLookin:choonchooneft_neutral_open_4.pgmchoon_l亡ft_n亡utrolSiijnglais亡弓斗,pgmchoonJeft_sad_open_4.pgmchoon_left_angry_ope仃_斗.pgmchoon_lft_h3ppy_op已n_斗.pgmchoonJeft_happy_sunglasses_4,pgmchoondioonchoonchoonch
10、oonchoonJeft_sad_sunglaHaes_4.匚_right_angry_open_4.pgr_right_angry_sunglasses_right:_happy_open_4.pgi_right:_happy_sunglasses._right:_neutral_open_4,pcOpenCancel.J.艺匸!”i;Filename:|clnoon_lefteutral_open_4.pgmRiesoftype:PGMRiesPGM选中一张没有训练过的人脸图片(pgm格式),点击Open”按钮(你的电脑可能是”打开”铵钮)2.1.2然后点击右上的Varify,按钮,会显示
11、网络对选中图片的测试结果,结果显示在下面的列表框(VarifyResult内,内容如下:1=0.1402162=0.03596013=0.303774=0.174941straight解释一下:一条横线上面的四行表示:网络第几个输出单元=值,横线下面的straight表示根据输出层每个单元的值得出的结果:人脸朝向是正面(straight).正确与否可通过与文件名相应信息比较可知.2.2人脸图片批量测试2.2.1点右上第二个Select按钮弹出打开文件夹对话框:选择之前存放测试样本集人脸图片的文件夹,如D:tammo,这个文件夹内都是用于测试的pgm人脸图片.如果操作无误,按钮左边会显示选中文夹
12、中的第一张人脸图片.2.2.2然后点击下面的Varify按钮,会显示网络对选中文夹内所有人脸图片的测试结果结果显示在下面的列表框(VarifyResult)内,内容形式如下:tammo_upad_unglasses_4.pgm1=0.14:;94i2=0.0?-2S2493=0.6299364=0.324938straight-:dpWFlONGAccuracy:031.3.3由于文夹内可能会有很多人脸文件,于输出信息会有很多,但每个文件的测试输出信息都如2.1.2节中类似,要有三点说明:(1)最上面输出被测试文件名.(2)输出结果和正确结果有比较,如:straightup,左边straigh
13、t为网络输出结果,右边up为正确结果(从文件名中获取),由于两个内容不同,所以该图片测试结果是错误,即WRONG,如正确则显示RIGHT.(3)最后显示总的正确率,如上4、BP神经网络的实现实现关键代码for(j=0;jm_nOutput;j+)for(i=0;im_nHidden;i+)delta_w=(m_eta*m_OutputErrorjm_HiddenUniti)+(m_momentum*m_preH2OWeightj*m_nHidden+i);m_H2OWeightj*m_nHidden+i+=delta_w;m_preH2OWeightj*m_nHidden+i=delta_w;
14、神经网络的实现图解输入层单元的第一个结点和隐藏层的第一个结点都为偏置单元,注意看LayerForward()里的两行:m_InputUnit0=1.0;和m_HiddenUnit0=1.0;就是了,偏置的输出永远为1,这里固定就行.而输出层是没有偏置单元的.那么对于上面演示程序启动后,在不改任何参数的情况下(3个隐单元和4个输出单元),构造的网络如下图:偏置单元用蓝色实心圆圈表示.其输出固定为1.0h2.打3hl,hO=l(xO=l?xlTx9604.3运行实例图:结束语:通过上文以及图,我们可以看到:BP神经网络通过选取lteratetime、Hiddenlayerunits、Learningrate、Momentum的值可以对选取的图片进行train,所获取的数据基本与原件相符。通过这一实现,我们将这一实例使用到其他图片的识别上面,比如可以获取仓库每秒的图片,分析每长图片之间的区别,来判断仓库中是否有老鼠,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025租赁合同与书写租赁合同注意事项
- 2025合作经营合同(合同版本)
- 创新合规培训课件
- 2025新款餐饮服务合同-协议范本
- 2025建筑工程有限公司流动资金借款合同协议书
- 2025苏州市前期物业管理服务合同(合同版本)
- 企业安全环保年终总结
- 区块链技术在版权保护中的应用研究
- 2025集团公司合同管理实施细则
- 解决业务难题的解决方案报告
- 《地铁突发大客流应急管理》论文11000字
- 菩萨蛮黄鹤楼(毛泽东).中职课件电子教案
- 铝银浆MSDS化学品安全技术说明书
- 紫蓝色可爱卡通风《小王子》名著导读儿童文学PPT模板
- 安全疏散设施检查记录参考模板范本
- KTV包房音响系统设计方案
- 常用物理英语词汇大全
- 城市轨道交通设备系统_第十一章_车辆段与综合基地
- 增值税暂行条例实施细则释义
- 如何挖掘商机PPT课件
- 平行四边形培优专题训练
评论
0/150
提交评论