韦大欢 苏燕
摘 要:文章提出一种基于BP神经网络的人脸识别系统,该系统采取预处理方法来确保人脸识别准确率不会因图像背景及光照条件等特征的变化而下降,同时通过直方图平衡、椭圆遮罩以及滤波等处理方式,以使系统具备更高的人脸识别准确率。
关键词:BP神经网络;人脸识别;模式识别;图像预处理
0 引言
计算机技术的快速发展,使得各种新兴技术不断涌现,人脸识别技术便是其中之一。在人机交流、安全验证以及公安系统等各个领域,人脸识别技术都有其巨大的应用价值。人们可以利用人脸识别来进行档案管理、视频会议乃至医学医疗。现阶段,人們已普遍使用智能手机来进行购物、交流,这也促使人脸识别技术的应用场景不断增多。但是,人们在用智能手机对人脸图像进行扫描时,容易因背景及光照条件的变化而影响到人脸识别结果。对于该问题,需要采取人脸图像的预处理措施来消除这种不利影响,并且以BP神经网络为核心设计相应的人脸识别系统。
1 预处理策略
1.1 viola-jones算法
在一幅图像中,如果某个或多个区域中存在人脸时,便可通过人脸检测技术来进行定位。对于人脸检测技术来说,其主要采用viola-jones算法,viola-jones算法具有三大要点,分别是Haar-like特征、Cascade结构与AdaBoost算法。其中Haar-like特征通过积分图像来对矩形区域中存在的差分信号进行快速计算,而AdaBoost算法则能够对Stump函数进行结合,以便于选择的弱分离器具有较强的区分能力,通过对这些弱分类器进行线性组合,以此提高分类性能。对于Cascade结构来说,其具有早期决策作用,这使其能够对非人脸扫描窗口进行快速抛弃,采用viola-jones人脸检测算法,能够对图像中存在的人脸进行快速定位,并且采取类似于人眼的方式来进行兴趣区域处理,以此对人脸中的相关特征图像进行截取。
1.2 基于人眼识别的兴趣区域处理
在人脸识别系统中,需以人眼识别为原理,将人脸图像中的人脸作为兴趣区域进行处理后,能够对人脸区域中的人脸特征进行截图,然后采取预处理方法来提取图像特征,以使光照与背景变化给人脸识别准确率造成的不利影响得到有效消除。系统需要采取直方图平衡化处理方式来进行图像处理,这样图像的对比度能够显著提高,以使图像能够在更大范围中进行灰度值取值,从而提高了图像的清晰度。系统还可采取滤波处理来对图像中的噪点进行清除,最后系统还能利用椭圆遮罩处理方法,使图像中与人脸不相关的背景图案被有效屏蔽[1]。
2 BP神经网络
2.1 BP神经网络模型的建立
对于BP神经网络来说,其是一种多层前馈网络,该网络是以误差逆传播算法来开展训练的。在BP神经网络中包括3个层次,即输入层、隐藏层与输出层,并通过全连接来映射层和层之间的关系。这3层中的神经单元并未进行连接,通过层层处理,能够使输入向量X=(x1,x2…xn)在向量Y=(y1,y2...yn)中进行非线性映射。在人脸识别过程中应用BP神经网络后,其网络神经结构共包括3层,输入层、隐藏层和输出层的数量均为一层。
在BP神经网络中的各个神经单元相当于独立的感知设备,通过神经单元能够使实数值向量转化成输入参数,通过对输入的线性组合进行计算,并分析结果与某个阀值之间的大小。当结果比阀值大时,则输出值为1反之则为-1。在本文中通过sigmoid压缩函数来设置感知设备,输入向量则通过sigmoid函数进行计算并输出,以此获得压缩输出值,从而确保整个BP神经网络能够快速收敛。
在BP神经网络中,通过反向传播算法的应用,利用反向传播过程中产生的误差值,以此对网络各个神经单元所赋有的权重进行适当调整,这样便可获得神经网络的稳定收敛权值,从而使训练得以顺利宛成。待训练完毕时,在新的图像中,其新的输入向量X=(x1,x2,…,xn)能够获得具有唯一性的输出向量,即Y=(y1,y2,…,yn),该向量Y能够当作图像的最终识别结果。
2.2 设置冲量项
对于BP神经网络来说,其在收敛训练过程中需要应用到反向传播算法,由于利用梯度下降算法会造成BP神经网络的收敛速度降低或出现局部最优解问题,所以需要从思维理解上把梯度下降算法比喻成球是沿着误差曲面进行向下滚落的,这样冲量项的作用便相当于小球从一次迭代至下次迭代过程中的滚动方向是相同的。通过冲量能够使球在误差曲面中滚下时可能会产生局部最小值,由于其同样发挥着增大搜索步长的作用,所以能够加快BP神经网络的收敛速度。通过对冲量项进行引入,并对反向传播算法公式进行替换,便可得出算法主循环中经过n次迭代后的权值更新结果[2]。
3 基于BP神经网络的人脸识别系统
3.1 系统设计
在基于BP神经网络的人脸识别系统中,主要包含三大模块,分别是图像采集预处理模块、神经网络训练模块以及人脸识别模块。其中,图像采集预处理模块能够通过opencv来实现图像采集,而摄像头则是图像信息采集的重要设备。此外,该模块还对ROI算法进行了应用,以此实现图像预处理,进而消除光照条件和背景变化给人脸识别率造成的不利影响。对于神经网络训练模块来说,则能够处理大量的训练数据,该模块能够对BP神经网络模型进行构建,以此确定不同因素的权值。对于人脸识别模块来说,该模块能够将采集到的图像信息录入已构建完毕的BP神经网络模型,以便于通过BP神经网络模型来对图像信息进行训练与计算,并采用欧式距离来判定结果,以此获得准确的识别结果。
3.2 系统实验
为了验证基于BP神经网络的人脸识别系统的应用效果,本文采用opencv笔记本摄像头来对全班学生的人脸照片进行采集,全班共计45名学生。每名学生的人脸图像采集数量为10张,其中八张用于BP神经网络模型的训练数据集,另外两张则作为测试识别结果的数据集。获得的训练数据集数量为360张,而对于结果测试数据集,其数量则为90张。在人脸图像中,每张图像中的像素均为28×23,像素点数量为644个,该系统应用图像预处理模块,采取基于人眼识别的兴趣区域处理策略,在人脸数据集被处理以后用于测试数据。
在基于BP神经网络的人脸识别系统中,其系统模型共包括3层,在输入层中共包含644个神经单元,这些神经单元均有对应的像素点输入。而在隐藏层中的神经单元则共计20个,在输入层中的神经单元数量为6个。在对BP神经网络进行建立以后,需要应用反向传播算法来进行训练,以此获得能够对人脸进行准确识别的BP神经网络模型。在识别人脸图像过程中,针对输出层中的输出结果,其判定需要依据欧式距离来实现。比如在输出层中的神经单元中,其输出结果分别是0.1,0.2,0.1,0.2和0.9,然后针对该结果和全班所有同学的标准输出对欧式距离进行依次计算,将欧式距离最小的目标作为对应的判定结果。通过计算可以得知,欧式距离最小的人脸图像为一号同学的人脸[3]。
3.3 结果分析
本文分别对图像预处理模块处理之前的数据集和处理之后的数据集进行了测试对比。经测试结果表明,系统利用图像预处理模块对图像数据集进行处理以后,其处理效果要比未处理之前的效果好得多,这也使系统对人脸的识别准确率在原有基础上提高了6%。
4 结语
综上所述,本文提出通过viola-jones算法和基于人眼识别的图像兴趣处理策略来实现系统的人脸识别功能,采取图像采集预处理模块、神经网络训练模块以及人脸识别模块这三大模块的开发,以此消除光照条件和背景变化给人脸识别率造成的不利影响,提高系统的人脸识别准确率,从而使BP神经网络模型能够依据欧式距离来获得准确的人脸判定结果。
[参考文献]
[1]冯建洋,谌海云.基于人工神经网络的人脸识别研究[J].自动化与仪器仪表,2017(5):24-26,29.
[2]王士东,陈标,李远,等.基于弹性BP神经网络的人脸识别系统[J].科技经济导刊,2017(26):24-25.
[3]韩瑞瑞,张尤赛.基于PCA/ICA的人脸识别片上系统的设计与实现[J].自动化技术与应用,2019(2):129-134.
(编辑 傅金睿)