冯洁琼 卢焕章 陈尚锋
摘要:针对传统人脸朝向识别算法中识别准确率较低的缺点,本文采用基于学习向量量化神经网络的识别方法,通过提取人脸图像中眼睛位置的特征向量并对朝向不同的人脸图像样本进行学习训练,优化了学习向量量化神经网络各层间的权值参数,取得了较高准确度的识别效果;仿真结果表明,采用学习向量量化神经网络的识别方法对人脸朝向进行识别可行有效,正确识别率可以达到95%以上,识别率与抗干扰性明显优于误差反传神经网络法。
关键词:人脸朝向识别 学习向量量化 神经网络 特征向量提取
中图分类号:TP391 文献标识码:A 文章编号:1007-9416(2016)05-0000-00
Abstract: Aiming at the low accuracy disadvantage of traditional facial orientation recognition algorithm, the paper employs the recognition method based on the Learning Vector Quantization neural network. By means of extracting the feature vector of eyes positions in the face images and studying the different facial image samples, the paper optimizes the weighting parameters of the LVQ neural network, which achieves good recognition result. The simulation results indicates that the facial orientation recognition based on the learning vector quantization neural network is feasible and effective, and the correct recognition rate can reach more than 95%. Besides, the paper ultimately proofs the accuracy and the validity of the learning vector quantization neural network is better than the Back-Propagation neural network.
Key Words: Facial orientation recognition, Learning vector quantization, Neural network,Feature vector extraction
人脸识别作为一个复杂的模式识别问题,是生物特征识别领域最困难的研究课题之一,其目的是从图像中剔除背景、提取人脸区域。人脸识别系统主要包括图像数据库采集、人脸图像预处理、人脸特征建模及识别匹配。计算机技术的告诉发展使人脸图像在人机交互中发挥着越来越重要的作用,由于实际应用中,人脸外形的不稳定性以及光照条件的多样性使人脸视觉图像在位置、朝向以及旋转角度等方面产生巨大的差异,因此对人脸进行准确识别变得异常困难。
学习向量量化(LVQ)神经网络是一种用于训练竞争层的有监督学习方法的输入前向神经网络,其算法是从Kohonen竞争算法演化而来的[1]。与其他模式识别和映射方法相比,它的优势在于网络结构简单,并且不需要对输入向量进行归一化、正交化处理,只通过计算输入向量与竞争层之间的距离,从而完成复杂的分类处理[2]。当人脸朝向与旋转角度不同时,眼睛局部特征与人脸图像的几何关系有较强的可区分性,因此提取人眼位置信息的特征向量并获得有助于人脸朝向分类的特征数据,将该特征信息作为LVQ神经网络的输入,可实现对任意给出的人脸图像进行朝向的识别,通过仿真可证明该方法的有效性。
1学习向量量化(LVQ)神经网络
学习向量量化神经网络是在竞争网络结构的基础上提出的,是自组织(SOFM)神经网络的一种有监督形式的扩展。在网络学习过程中加入教师信号作为分类信息对权值进行微调,并对输出神经元预先指定类别,LVQ神经网络实现了二者有效的结合,能够更好发挥竞争学习与有监督学习的优点。
1.1 LVQ神经网络结构与工作原理
广义学习向量量化神经网络由三层神经元组成,即输入层、隐藏的竞争层和线性输出层[3],其网络结构如图1所示。输入层与竞争层之间采用全连接方式,竞争层与输出层之间采用部分连接方式[4]。竞争层神经元个数通常取输出层神经元个数的整数倍,每个竞争层神经元有且只有一个输出层神经元与之相连接且连接权值固定为1,而每个线性输出层神经元可以与多个竞争层神经元相连接[5]。在学习向量量化神经网络训练过程中,当某个输入模式被送入网络时,竞争层的神经元通过竞争学习规则产生获胜神经元,获胜神经元调整权值的结果是使权值进一步向当前的输入向量靠近。当下次出现相似的输入模式时,获胜神经元更容易得到修改权值的机会。在反复的竞争学习中,竞争层的各神经元对应的权值逐步被调整为输入样本空间的聚类中心[6]。该神经元被激活后输出状态为“1”,而其他竞争层神经元的状态均为“0”。因此,与被激活神经元相连的线性输出层神经元状态为“1”。其余输出层神经元状态为“0”,从而实现模式分类与识别。
LVQ各层的数学描述如下:设神经网络输入向量,其中为输入层神经元个数;竞争层输出,表达式为;输出层实际输出为,表达式为,网络期望输出为。输入层与竞争层之间的权系数矩阵,其中列向量为竞争层第个神经元对应的权值向量;同理可得,竞争层与输出层之间的权系数矩阵为,其中列向量为竞输出层第个神经元对应的权值向量。
1.2 LVQ神经网络学习算法
向量量化是利用输入向量的固有机构进行数据压缩的技术,学习向量量化是在向量量化基础上将输入向量分类的监督学习方法[7]。LVQ网络在训练前指定好线性输出层的神经元类别,在学习训练过程中不再改变竞争层与输出层之间的权系数矩阵,而是通过改变进行学习。该算法实质是根据训练样本的特征进行“奖励与惩罚”的一种迭代学习算法,即对分类正确的样本,“奖励”与其距离最近的权值点。经过若干次训练后,得到的权值不再变化,说明网络达到收敛状态[8]。而竞争层神经元的数目输入待分类的模式样本测试,根据最近邻法则得到输入样本模式的类别属性。
LVQ1具体算法步骤为:
(1) 初始化输入层与竞争层间的权值,确定初始学习速率与训练次数;
(2)将输入向量输入网络,计算竞争层神经元与输入向量的距离并寻找获胜神经元:
(3)根据分类是否正确调整获胜神经元的权值:当网络分类结果与教师信号一致时,向输入样本方向调整权值;反之,其他非获胜神经元的权值保持不变。
算法直接利用最小欧式距离选择与输入向量最接近的矢量,因此不需要对权值向量和输入向量进行归一化处理。
在上述LVQ学习算法中,有且只有一个神经元获胜并得到更新调整权值的机会。为了改善分类效果,Kohonen对该算法进行了改进,并命名为LVQ2算法[9]。改进算法基于光滑的移动决策边界逼近贝叶斯极限,其特点是引入“次获胜”神经元,使得“获胜”神经元与“次获胜”神经元的权值向量都被更新[10]。
LVQ2具体计算步骤如下:
(1)初始化参数、计算竞争层神经元与输入向量距离同LVQ1算法;
(2)选择与输入向量距离最小的两个竞争层神经元;
(3)若神经元对应于不同类别且与当前输入向量的距离满足,其中为输入向量可能落进的接近于两个向量中段平面的窗口宽度,经验值为左右,那么若神经元对应的类别=输入向量类别,则,若神经元对应的类别=输入向量类别,则。
(4)若神经元不满足上述条件,则按照LVQ1步骤(3)中进行更新即可。
2基于学习向量量化神经网络的人脸朝向识别方法
2.1输入向量与目标向量的设计
观察大量人脸图像容易察觉,当人脸图像旋转角不一样时,眼睛局部特征在图像中的位置差异明显,因此仅需提取描述眼睛局部位置信息的特征向量并作为LVQ神经网络的输入,分别用数字1,2,3,4,5表示五个朝向左方、左前方、前方、右前方、右方,并作为神经网络的输出。搜集10人共50幅不同朝向的人脸图像,随机选取其中30幅图像作为训练集,剩余20幅作为测试集,因此目标向量为305的向量,其中每列只有一个“1”,其余均为“0”。
2.2人脸特征向量的提取
如上文所述,文中将420420的图像划分为6行8列,人物双眼的局部特征信息通过第二行的8个子矩阵描述,在利用Sobel算子对图像进行边缘检测后第二行8个子矩阵中值为“1”的像素点个数可较为准确的表示人脸朝向。
2.3 LVQ神经网络的创建与训练
LVQ网络设计的关键因素包括训练样本是否具有普遍性与代表性,训练样本容量能否满足需要,竞争层神经元数量、初始权值等网络参数取值是否得到优化。根据特征向量与训练图像数量可知输入和输出节点分别为30和5,竞争层神经元的个数通常取决于输入输出关系的复杂性。为防止因竞争层神经元数过多产生“死”神经元,竞争层节点数经验值为线性输出层节点数的24倍,本文选取15作为竞争层节点数;其次是选择合适的学习率,为保证算法的收敛性与稳定性,学习率取恒定值或随时间单调减小,通常取。本文期望误差取值0.001,学习函数用LVQ1,最大训练步数设为100,初始化参数后对LVQ神经网络进行训练,训练算法达到预先指定的误差容限后停止。训练过程曲线如图2所示,由图可知网络收敛性较好,满足误差要求。
3实验结果与分析
3.1网络测试识别率与训练次数、学习算法关系
将测试的20幅不同朝向的人脸图像输入网络,网络识别率如表1所示。由表1结果可知,LVQ神经网络识别人脸朝向可行且有效,总体上取得了较好的识别结果。从训练次数分析,在一定范围内训练次数的增加会提高分类识别正确率,所需训练时间也会增加,识别错误主要因为样本数据较为复杂。当训练集较少时识别率会相对较低,因此在防止出现过拟合的同时应尽量增加训练集的样本数目,可有效改善网络识别结果。
从算法角度分析,结果显示LVQ2算法虽然是对LVQ1算法的改进但同时引入了新的误差,因此识别结果较差;同时LVQ1算法运用简单,识别率较高,具体应用时应开发更好的优化学习算法,综合考虑性能指标作折衷处理。
3.2 LVQ神经网络与BP神经网络识别效果对比
由于BP神经网络的输出为非二值数据,因此采用四舍五入方法:若网络输出小于0.5则认为是0,反之为1;并提前利用三位二进制数编码对五个朝向进行表述,如表2所示。
设置训练次数为100次,BP神经网络仿真结果识别率仅为85%,并出现错误预测值 [0;0;0],该状态不属于表2中任何一种,从结果判断不出图像中人脸朝向,而LVQ神经网络不仅可以很好的规避这一缺点,同时算法识别准确率明显较高。
4结语
本文提出了一种基于学习向量量化神经网络的人脸朝向识别方法,该方法第一步提取人脸图像中双眼的局部位置特征向量,并将提取的向量送入网络进行训练测试实现人脸朝向的准确识别,然后通过仿真实验证明利用LVQ神经网络进行人脸朝向识别方法的有效性,该方法能够发挥竞争学习和有监督学习二者的优点,且网络结构简单,有效提高了识别率。
参考文献
[1] 秦恺,曹龙汉 等.基于LVQ神经网络集成的柴油机气门故障诊断[J].UPS应用,2014:47-50.
[2] 董妍慧.基于LVQ神经网络模型的企业财务危机预警[J].大连海事大学学报,2008,7(1):92-94.
[3] 胡波,王文娟.基于向量量化网络的煤矿瓦斯监控系统改造[J].电力学报,2010,25(2):162-164
[4] 朱玉斌,李华聪.基于LVQ网络的航空发动机气路故障特征提取方法研究[J].测控技术,2014,33(6):24-27.
[5] 律方成,张波.LVQ神经网络在GIS局部放电类型识别中的应用[J].电测与仪表,2014,51(18):112-115.
[6] 戴金辉.基于混合神经网络的入侵检测技术的研究[D].东北大学硕士论文,2010:37-39.
[7] 程剑锋,徐俊艳.学习矢量量化的推广及其典型形式的比较[J].计算机工程与应用,2006(17):64-66.
[8] 李琳,张永祥.学习向量量化(LVQ)神经网络在周期信号识别方面的扩展应用[J].机械设计与制造,2006,6:120-122.
[9] 张志华,郑南宁,王天树.广义LVQ神经网络的性能分析及其改进[J].自动化学报,1999,25(3):52-55.
[10]周云龙,李红延,李洪伟.改进的LVQ神经网络在风机故障诊断中的应用[J].化工自动化及仪表,2013,40(5):610-615.