基于LVQ神经网络的人脸朝向识别方法

2012-10-09 09:17谭乐平
关键词:朝向人脸识别人脸

谭乐平,文 军

(湖北民族学院理学院,湖北恩施445000)

人脸识别是一个活跃的研究领域,是人类视觉最杰出的能力之一.虽然人脸识别的准确性低于虹模、指纹的识别,但由于的无侵害性和对用户最简洁、最直观的方式使人脸识别成为被人们广泛接受的生物特征识别方式[1].但由于人脸识别的不规则性以及光线和背景条件的多样性,目前人们研究人脸识别算法都是在特定实验环境下解决一些具体问题,对人脸位置和状态都有一定的限制[2-3].而现实应用中,图像和视屏源中人脸的位置,朝向和旋转都不是固定的,这些现实条件大大增加了人脸识别的难度.

在人脸识别的众多研究方向中,人脸朝向是该领域研究的难点.在以往的研究中,绝大多数的研究者只考虑人脸正面识别而没有考虑人脸水平旋转对识别过程的影响.这些问题是现实应用中无法避免的,因此对人脸朝向的研究,将是一件非常有意义的工作.

1 LVQ神经网络

学习向量量化LVQ(Learning Vector Quantization)神经网络,属于有监督学习方法的前向神经网络类型,其应用非常广泛尤其在模式识别和优化领域的应用.LVQ神经网络由三层组成,即输入层、竞争层和输出层,网络在输入层与竞争层间为完全连接,而在竞争层与输出层间为部分连接,每个输出层神经元与竞争层神经元的不同组相连接.竞争层和输出层神经元之间的连接权值固定为1.输入层和竞争层神经元间连接的权值建立参考矢量的分量.在网络训练过程中,这些权值被修改.竞争层神经元(又称为Kohnen神经元)和输出神经元都具有二进制输出值.当某个输入模式被送至网络时,参考矢量最接近输入模式的隐含神经元因获得激发而赢得竞争,因而允许它产生一个“1”,而其它竞争层神经元都被迫产生“0”.与包含获胜神经元的竞争层神经元组相连接的输出神经元也发出“1”,而其它输出神经元均发出“0”.产生“1”的输出神经元给出输入模式的类,由此可见,每个输出神经元被用于表示不同的类[4-5].

2 LVQ人脸朝向识别设计

2.1 问题描述

采集一组人脸朝向不同角度的图像,图像来自不同的60个人,每人5幅图像,人脸朝向分别为:左方、左前方、前方、右前方和右方,通过创建一个LVQ神经网络,对随意输入的人脸图像进行识别和朝向预测.图像示例如图1.

图1 人脸朝向识别图像Fig.1 The image of face's oritation recognition

2.2 模型建立

2.2.1 设计思想 通过大量人脸图像二值化数据观测,人脸朝向不同的方向时,眼睛﹑鼻子头在图像中的位置差别很大.因此,可以考虑将图像中描述眼睛和鼻子头的位置的特征信息提取出来作为LVQ神经网络的输入,五个朝向分别用1,2,3,4,5表示,作为LVQ神经网络的输出.经过对训练集的图像进行训练,得出具有预测功能的网络,以便对图像进行识别和朝向预测.

2.2.2 设计流程图

图2 设计流程图Fig.2 The flow chart of the design

3 测试

3.1 人脸特征的提取

人脸特征提取方法:将整幅图像划分成6行8列,人眼的位置信息可以用第2行的8个子矩阵来描述,鼻子头的位置可以用第5行的8个子矩阵来描述,边缘检测后两行的8个子矩阵中的值为“1”的像素点个数和与人脸朝向有直接关系.具体的人脸特征向量提取函数为:feature_extract(m,n);

3.2 训练集/测试集产生

图像库中全部图片的特征向量提取出来后,任意将其分为两组,分别为训练集和测试集[6].其中,训练集为40个不同人脸朝向的图片的特征向量,测试集为20个不同人脸朝向的图片的特征向量.其程序为:

3.3 创建LVQ网络.

利用Matlab的newlvq()函数可以快捷的创建一个LVQ神经网络[7],竞争层神经元个数设置为20.竞争层神经元和参数的设置事先计算得出,具体程序为:

3.4 训练LVQ网络

LVQ神经网络的创建及相关参数设置完成后,采用Matlab的网络训练函数train()对LVQ网络进行训练学习[8],其程序为:net=train(net_train,T_train);

3.5 人脸识别测试

采用Matlab的sim()函数将测试集输入数据输入训练好的LVQ网络[8],可以得到测试集图像的人脸朝向识别结果.其程序为:

Result显示第一行为测试集图像人脸正确朝向.第二行为测试集图像的测试结果.

3.6 显示结果及分析

显示结果:

Result=

Columns 1 through 20

5 5 3 4 2 4 2 4 2 3 4 2 5 3 1 4 3 1 3 1

5 5 3 4 2 4 2 4 2 3 1 2 5 3 1 1 3 1 3 1

测试集图像为:

1-2 1 _3 1_4 2_4 9_1

2_1 2_3 2_5 3_1 3_4

4_2 4 _5 5_1 5_2 5_4

7_1 7 _3 7_5 8_2 8_3

测试4_2和7_1识别错误,当向左,向右的旋转度﹑光照条件十分相近时,容易错误.但这样的图片几率很小.实验表明LVQ神经网络一般识别率高达90%以上.

4 结束语

本文利用LVQ神经网络对人脸朝向进行了研究.并利用Matlab工具箱对人脸朝向进行实验.由于LVQ神经网络无需对数据进行归一化,只需计算输入向量与竞争层神经元间的距离即可进行模式识别.相对与采用BP神经网络,支持向量机SVM相比更简单,更有效.但LVQ网络算法对初值敏感,一般采用遗传算法优化网络初值可以方便得到最佳的神经网络初始权值向量.

[1] 张勇,李辉,侯义斌,等.一种基于人脸朝向与脸部朝向估计的新型交互式环绕智能显示技术[J].电子器件,2008,31(1):359-364.

[2] 陈锐,李辉,侯义斌,等.由人脸朝向驱动的多方向投影交互系统[J].小型微型计算机系统,2007,28(4):706-709.

[3] 姚谦,郭子祺,袁泉,等.遗传算法的LVQ神经网络在遥感图像分类中的应用[J].遥感信息,2008(5):21-24.

[4] 飞思科技产品研发中心.神经网络理论与MATLAB7实现[M].北京:电子工业出版社,2005.

[5] 史忠植.神经网络[M].北京:高等教育出版社,2009.

[6] 张彤,卢雯雯,肖南峰.基于BP网络的人脸朝向识别方法[J].重庆理工大学学报,2010,24(6):24-26.

[7] 董长虹.Matlab神经网络与应用[M].北京:国防工业出版社,2007.

[8] 陈永春.MATLABM语言高级编程[M].北京:清华大学出版社,2004.

猜你喜欢
朝向人脸识别人脸
人脸识别 等
朝向马头的方向
朝向马头的方向
有特点的人脸
一起学画人脸
揭开人脸识别的神秘面纱
人脸识别技术的基本原理与应用
乌龟快跑
三国漫——人脸解锁
长得象人脸的十种动物