收稿日期:2018-11-21基金项目:中国铁道科学研究院研究开发计划项目(2017YJ096);中国铁 道科学研究院电子所创新基金课题(DZYF17-01)作者简介:景 辉,研究实习员;阎志远,副研究员。文章编号:1005-8451(2019)10-0008-04基于Faster R-CNN的人脸识别算法研究景 辉 ,阎志远,戴琳琳,李贝贝(中国铁道科学研究院集团有限公司 电子计算技术研究所, 北京 100081) 摘 要:人脸识别技术是身份认证的重要方式。旨在设计算法识别身份证人像与待检人像是否为同一旅客。使用卷积神经网络进行人脸识别算法的研究。使用检测人脸后计算人脸特征间欧式距离的方式进行算法设计,最终达到95%的正确率。结果表明,Faster R-CNN算法能较精准地检测人脸,VGG-Net可以较好地提取人脸特征值。 关键词:卷积神经网络;人脸检测;人脸识别;Faster R-CNN算法 中图分类号:U285.49 : TP391 文献标识码:A Face recognition algorithm based on Faster R-CNNJING Hui, YAN Zhiyuan, DAI Linlin, LI Beibei( Institute of Computing Technologies, China Academy of Railway Sciences Corporation Limited, Beijing 100081, China )Abstract: Face recognition technology is an important way of identity authentication. The purpose of this paper was to design an algorithm to identify whether the identity witness and the person to be inspected were the same passengers. Face recognition algorithm based on convolutional neural network was studied. The algorithm was designed by calculating the Euclidean distance between face features after face detection, and the final accuracy was 95%. The results show that Faster R-CNN algorithm can detect face accurately, VGG-Net can extract face feature values well. Keywords: convolutional neural network; face detection; face recognition; Faster R-CNN algorithm人脸识别是一种判别人脸图像是否属于同一个人的生物识别技术。通过图像采集器采集人脸图像,并能自动检测到人脸的位置和判别人脸图像之间相似度。人脸识别技术具有高可实施性和高可接受度的优点。近年来,人脸识别技术的研究趋于成熟,目前在金融、电商、城市安防、移动终端等各行业都不同程度地应用了人脸识别技术。人脸识别算法包含2个阶段,第1个阶段是人脸检测阶段,该阶段主要完成人脸的定位和提取;第2阶段是人脸识别阶段,该阶段首先在检测到的人脸图像上提取人脸特征,并通过特征值之间的欧式距离判断身份证人像与待检人像是否属于同一人。人脸的检测定位是人脸识别的第1步,其准确程度是人脸识别算法正确率的基础。因为,人脸特征提取阶段是在第1步检测人脸位置的基础上进行的。一般来说,人脸的检测定位方法可以划分为基于模板的方法、 基于人为设计特征的方法和基于分类器的方法这3类。基于模板的方法 [1-5]是以典型人脸为基础的人脸检测方法。典型的人脸模板是学者根据多年的研究经验而来的。该方法是提出典型的规律进行人脸描述,包括人脸的特征和特征之间的关系。基于模板的人脸检测算法适用于只从正面采集人脸的形式,受拍摄角度影响极大,算法鲁棒性较低,无法满足大规模使用的要求。基于人为设计特征的方法 [6-7]与基于模板的方法相反,该方法不是寻找人脸固定的模式,而是寻找人脸固定特征,包括组成人脸的器官和皮肤等通用特征,通常使用边缘特征、颜色特征和纹理特征等。该方法的问题是人为设计的特征鲁棒性较差,在光照、遮挡、干扰物等出现时,算法无法较好地进行人脸检测。故本文采用Faster R-CNN算法,以增强算法的鲁棒性。基于分类器的方法[8-9]首先使用人脸图像和非人脸图像对分类器进行训练,使得该分类器能正确判研究与开发Research and Development 第28卷第10期Vol.28 No.108RCA2019.10总第271期
断图像是否为人脸图像。然后,使用该分类器在整幅图像上按照从上到下从左到右的顺序在图像上进行扫描判别,每个局部图像都会得出是否为人脸的置信度。对于置信度高的位置,可以判定此处包含人脸。该方法的问题是需要对待检的图像进行全局扫描,对于较大的图像,耗时较长。本文采用的Faster R-CNN算法中包含区域生成网络(RPN,Region Proposal Networks),能在这方面有所改善。1 人脸检测1.1 人脸检测算法设计本文使用Faster R-CNN[10]作为人脸检测算法。Faster R-CNN的基本结构,如图1所示。域的特征图计算候选目标区域的类别,再次通过目标的坐标框位置回归获得目标最终的精确位置。Faster R-CNN的网络结构,如图2所示。Faster R-CNN由以下4个部分组成。(1)卷积层。作为一种CNN网络目标检测方法[11],Faster R-CNN中的卷积层使用ResNet[12]为特征提取网络,该层中网络提取了图像的特征图,该特征图被共享用于后续RPN层和全连接层。在训练过程中神经网络可以自动学习提取人脸特征的卷积核。随着层数的加深,卷积核能表示更高级的人脸特征。其中,低级的人脸特征为颜色、纹理、边缘等基础特征; 随着特征层的加深,逐渐可以学习人脸器官,包括鼻子、眼睛和嘴巴等的特征;由这些特征组合成整张人脸的特征。(2)RPN层。用于生成目标候选区域,该层通过softmax判断目标候选区域属于目标或背景,再利用目标坐标框位置回归修正目标候选区域获得精确的目标候选区域。其中,坐标位置回归网络使用目标的左上角坐标和长宽4个参数来表示一个目标的位置。(3)Roi Pooling层。该层收集输入的特征图和目标候选区域,综合这些信息后提取候选目标区域的特征图,送入后续全连接层判定目标类别。(4)分类器(Classification)。利用候选目标区本文采用名人人脸属性数据集(CelebA,Celeb Faces Att-ribute)作为网络的训练集和验证集,该数据集中共有10 177个来自全球不同种族的人,共有202 599张图片。该数据集中的图像均为名人,且每张图像上仅为一人,脸部区域较大,所以训练出的人脸检测网络更倾向于检测距离镜头近的人脸图像,使用矩形框进行人脸的标注。1.2 人脸检测算法测试本文使用车站人脸识别闸机和人工窗口真实拍摄的图像进行算法测试,共测试10 000张图像,包含5 000位旅客。在本文的任务中,算法的检测目标为闸机前和进站窗口前待检的旅客[13]。在统计正确率时,该位置的旅客人脸检测正确,即认为本帧图像检测正确。在该测试数据集中,包含多种场景的旅客检票环境,包含白天、夜晚、强逆光等人脸检测难度较大的场景,各场景的检测结果,如图3所示。在此数据集上本文人脸检测算法的检测正确率达98%。2 人脸识别在人脸检测阶段,本文使用的算法较好地对人脸部分进行了定位提取。在此基础上需要设计人脸识别算法对进站图像与身份证图像是否为同一人进行判断。在人脸识别阶段的算法流程图,如图4所示。2.1 特征提取图1 Faster R-CNN的基本结构卷积层RPNRoi Pooling层分类器图2 Faster R-CNN网络结构研究与开发第28卷第10期景 辉等:基于Faster R-CNN的人脸识别算法研究2019.10总第271期9RCA
2019年10月研究与开发铁 路 计 算 机 应 用经过VGGNet后,提取人脸特征值2 622维,特征值维度太高,包含许多冗余信息,需使用一定的方法去除冗余信息,对特征值进行降低维。在特征值降维方法中,使用最多、效果最为突出的是主成分分析(PCA ,Principal Component Analysis)算法,PCA算法是一种通过原始向量中部分维度来最大程度表示原始向量的一种降维算法。在人脸识别算法中受到很大程度的应用,该方法的应用主要分为2个方面:(1)有的人脸识别算法使用PCA直接对人脸图像进行降维,经过可视化,降维后的图像表现为一种模糊的,能大致表示人脸轮廓的图像。(2)本文的应用,使用PCA算法对深度神经网络提取的人脸特征进行降维,以节省特征值比对的计算成本。对该算法的应用:经过VGGNet提取的人脸特征为2 622维,在5 000组人脸特征上进行PCA分析。对各维度的特征值对人脸特征的表达程度进行排序,使用分离程度最大的前400维特征值便可以表达95%的人脸特征。故本文选择把人脸图像2 622维的特征值降低到400维。2.3 特征值比对降维后使用欧式距离计算身份证上的人脸图像和现场采集人脸图像之间的特征值距离,具体的计算方式如式(1)所示。在人脸检测阶段检测到人脸位置后,需要提取人脸部分的特征值。本文使用VGGNet[14]网络提取人脸特征。2.1.1 VGGNet介绍VGGNet是一种深度卷积网络,该网络的创新之处在于使用小卷积核进行卷积计算,加速了网络的收敛。2.1.2 VGGNet网络结构本文所使用的VGGNet网络结构,如图5所示。该网络共有14层,包含13个卷积层和1个全连接层。网络的输入图像的像素为224×224,经过13个卷积层提取特征后,使用全连接层连接作为网络特征值的输出层,共提取人脸特征值2 622维。式中:ρ — 欧式距离;xi、yi —分别表示2个不同图像的特征值。当两张图像特征值之间的欧式距离<100时,即认为此两人为同一个人,当两张图像特征值之间的欧式距离>100时,则判定两张图像为不同的两人。经过5 000组图像的测试,本文算法的识别正确率达95%。3 结束语本文设计了一种人脸识别算法,该算法的训练使用caffe框架, GTX-1080P的GPU进行计算,该算法共分两个阶段。a 阴暗环境 b 强逆光d 夜晚场景c 人工口闸机图3 测试结果示例图4 人脸识别阶段算法流程图人脸检测特征值提取特征值降维特征值对比图5 特征提取网络图3×3conv,643×3conv,643×3conv,1283×3conv,1283×3conv,2563×3conv,2563×3conv,2563×3conv,5123×3conv,5123×3conv,5123×3conv,5123×3conv,5123×3conv,512fc 2622Size:224poo1/2poo1/2poo1/2poo1/2poo1/2Size:112Size:56Size:14Size:7Size:282.2 特征值降维 (1)ρ10RCA2019.10总第271期
(1)人脸检测阶段,使用CelebA数据集和Faster R-CNN算法对图像中的人脸进行训练。对现场采集的旅客进站图像进行测试,测试集包含白天、夜晚、强逆光等不同场景,该阶段测试正确率达98%;(2)人脸识别阶段,使用VGGNet进行人脸部分的特征提取,提取的特征值维度达2 622维,使用PCA算法对人脸特征值进行降维,以去除人脸特征值中的噪声和冗余。计算身份证人像与进站人像特征值间的欧氏距离,通过实验把100设定为判断两幅图像是否为同一人的阈值。该阶段的识别正确率达95%。本文使用端到端的检测算法和人脸特征提取算法组合的方式进行人脸识别的研究。但是,该网络结构复杂,在CPU设备上运行时间超过2 s/帧,接下来希望对网络框架进行调整压缩,使得网络的运行时间降低到1 s内。参考文献:[1] Yang G, Huang T S. Human face detection in a complex background[J]. Pattern Recognition, 1994, 27(1):53-63.[2] Kotropoulos C, Pitas I. Rule-based face detection in frontal views[C]// IEEE International Conference on Acoustics, Speech, and Signal Processing, 2002:2537-2540.[3] 李华胜,杨 桦,袁保宗. 人脸识别系统中的特征提取[J]. 北京交通大学学报,2001,25(2):18-21.[4] 姜 军,张桂林. 一种基于知识的快速人脸检测方法[J]. 中国图象图形学报,2002,7(1):6-10.[5] 卢春雨,张长水. 基于区域特征的快速人脸检测法[J]. 清华大学学报(自然科学版),1999(1):101-105.[6] Graf H P., Chen T., Petajan E., et al. Locating faces and facial parts[C]// Proc. of International Workshop on Automatic Face- and Gesture-Recognition, 1995:41-46.[7] Leung T K, Burl M C, Perona P. Finding Faces in Cluttered Scenes using Random Labeled Graph Matching[C]// International Conference on Computer Vision, 1995:637.[8] Kirby M, Sirovich L. Application of the Karhunen-Loeve Procedure for the Characterization of Human Faces[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2002,12(1):103-108.[9] Turk M, Pentland A. Eigenfaces for recognition[J]. Journal of Cognitive Neuroscience, 1991, 3(1):71-86.[10] Ren S, He K, Girshick R, et al. Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2017, 39(6):1137-1149.[11]李 鹍,吴 宁,宋 明,等. 基于级联滤波器深度学习的铁路安检人脸识别与验证研究[J]. 铁路计算机应用,2018(6):17:20.[12] He K., Zhang X., Ren S., et al. Deep Residual Learning for Image Recognition[C]// IEEE Conference on Computer Vision & Pattern Recognition, 2016.[13] Simonyan K, Zisserman A. Very Deep Convolutional Networks for Large-Scale Image Recognition[J]. Computer Science, 2014:1-14.[14]贾成强,戴琳琳,徐海涛,等.基于人脸识别技术的铁路实名制进站核验系统研究及设计[J]. 铁路计算机应用,2018(7):49-54.研究与开发第28卷第10期景 辉等:基于Faster R-CNN的人脸识别算法研究责任编辑 徐侃春2019.10总第271期11RCA