APP下载

基于Faster R-CNN的人脸识别算法研究

2019-10-23阎志远戴琳琳李贝贝

铁路计算机应用 2019年10期
关键词:降维特征值人脸

景 辉 ,阎志远,戴琳琳,李贝贝

(中国铁道科学研究院集团有限公司 电子计算技术研究所, 北京 100081;)

人脸识别是一种判别人脸图像是否属于同一个人的生物识别技术。通过图像采集器采集人脸图像,并能自动检测到人脸的位置和判别人脸图像之间相似度。人脸识别技术具有高可实施性和高可接受度的优点。近年来,人脸识别技术的研究趋于成熟,目前在金融、电商、城市安防、移动终端等各行业都不同程度地应用了人脸识别技术。人脸识别算法包含2个阶段,第1个阶段是人脸检测阶段,该阶段主要完成人脸的定位和提取;第2阶段是人脸识别阶段,该阶段首先在检测到的人脸图像上提取人脸特征,并通过特征值之间的欧式距离判断身份证人像与待检人像是否属于同一人。

人脸的检测定位是人脸识别的第1步,其准确程是人脸识别算法正确率的基础。因为,人脸特征提取阶段是在第1步检测人脸位置的基础上进行的。一般来说,人脸的检测定位方法可以划分为基于模板的方法、 基于人为设计特征的方法和基于分类器的方法这3类。

基于模板的方法[1-5]是以典型人脸为基础的人脸检测方法。典型的人脸模板是学者根据多年的研究经验而来的。他们提出典型的规律进行人脸描述,包括人脸的特征和特征之间的关系。基于模板的人脸检测算法适用于只从正面采集人脸的形式,受拍摄角度影响极大,算法鲁棒性较低,无法满足大规模使用的要求。

基于人为设计特征的方法[6-7]与基于模板的方法相反,该方法不是寻找人脸固定的模式,而是寻找人脸固定特征,包括组成人脸的器官和皮肤等通用特征,通常使用边缘特征、颜色特征和纹理特征等。该方法的问题是人为设计的特征鲁棒性较差,在光照、遮挡、干扰物等出现时,算法无法较好的进行人脸检测。故本文采用Faster R-CNN算法,以增强算法的鲁棒性。

基于分类器的方法[8-9]首先使用人脸图像和非人脸图像对分类器进行训练,使得该分类器能正确判断图像是否为人脸图像。然后,使用该分类器在整幅图像上按照从上到下从左到右的顺序在图像上进行扫描判别,每个局部图像都会得出是否为人脸的置信度。对于置信度高的位置,可以判定此处包含人脸。该方法的问题是需要对待检的图像进行全局扫描,对于较大的图像,耗时较长。本文采用的Faster R-CNN算法中包含RPN网络,能在这方面有所改善。

1 人脸检测

1.1 人脸检测算法设计

本文使用Faster R-CNN[10]作为人脸检测算法。

Faster R-CNN的基本结构,如图1所示。

图1 Faster R-CNN的基本结构

Faster R-CNN由以下4个部分组成。

(1)卷积层。作为一种CNN网络目标检测方法[11],Faster R-CNN中的卷积层使用ResNet[12]为特征提取网络,该层中网络提取了图像的特征图,该特征图被共享用于后续RPN(Region Proposal Networks)层和全连接层。在训练过程中神经网络可以自动学习提取人脸特征的卷积核。随着层数的加深,卷积核能表示更高级的人脸特征。其中,低级的人脸特征为颜色、纹理、边缘等基础特征; 随着特征层的加深,逐渐可以学习人脸器官,包括鼻子、眼睛和嘴巴等的特征;由这些特征组合成整张人脸的特征。

(2)RPN网络。用于生成目标候选区域,该层通过softmax判断目标候选区域属于目标或背景,再利用目标坐标框位置回归修正目标候选区域获得精确的目标候选区域。其中,坐标位置回归网络使用目标的左上角坐标和长宽4个参数来表示一个目标的位置。

(3)Roi Pooling层。该层收集输入的特征图和目标候选区域,综合这些信息后提取候选目标区域的特征图,送入后续全连接层判定目标类别。

(4)分类器(Classification)。利用候选目标区域的特征图计算候选目标区域的类别,再次通过目标的坐标框位置回归获得目标最终的精确位置。

Faster R-CNN的网络结构,如2图所示。

图2 Faster R-CNN网络结构

本文采用名人人脸属性数据集(CelebA,Celeb Faces Att-ribute)作为网络的训练集和验证集,该数据集中共有10 177个来自全球不同种族的人,共有202 599张图片。该数据集中的图像均为名人,且每张图像上仅为一人,脸部区域较大,所以训练出的人脸检测网络更倾向于检测距离镜头近的人脸图像,使用矩形框进行人脸的标注。

1.2 人脸检测算法测试

本文使用车站人脸识别闸机和人工窗口真实拍摄的图像进行算法测试,共测试10 000张图像,包含5 000位旅客。在本文的任务中,算法的检测目标为闸机前和进站窗口前待检的旅客[13]。在统计正确率时,该位置的旅客人脸检测正确,即认为本帧图像检测正确。在该测试数据集中,包含多种场景的旅客检票环境,包含白天、夜晚、强逆光等人脸检测难度较大的场景,各场景的检测结果,如图3所示。在此数据集上本文人脸检测算法的检测正确率达98%。

2 人脸识别

在人脸检测阶段,本文使用的算法较好的对人脸部分进行了定位提取。在此基础上需要设计人脸识别算法对进站图像与身份证图像是否为同一人进行判断。在人脸识别阶段的算法流程图,如图4所示。

图3 测试结果示例

图4 人脸识别阶段算法流程图

2.1 特征提取

在人脸检测阶段检测到人脸位置后,需要提取人脸部分的特征值。本文使用VGGNet[14]网络提取人脸特征。

2.1.1 VGGNet介绍

VGGNet是牛津大学计算机视觉组和DeepMind公司共同研发一种深度卷积网络,该网络的创新之处在于使用小卷积核进行卷积计算,加速了网络的收敛。

2.1.2 VGGNet网络结构

本文所使用的VGGNet网络结构,如图5所示。该网络共有14层,包含13个卷积层和1个全连接层。网络的输入图像的尺寸为224×224,经过13个卷积层提取特征后,使用全连接层连接作为网络特征值的输出层,共提取人脸特征值2 622维。

图5 特征提取网络图

2.2 特征值降维

经过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 特征值比对

降维后使用欧式距离计算身份证上的人脸图像和现场采集人脸图像之间的特征值距离,具体的计算方式如下公式所示。当两张图像特征值之间的距离<100时,即认为此两人为同一个人,当两张图特征值之间的距离>100时,则判定两张图像为不同的两人。经过5 000组图像的测试,本文算法的识别正确率达95%。

3 结束语

本文设计了一种人脸识别算法,该算法的训练使用caffe框架, GTX-1080P的GPU进行计算,该算法共分两个阶段。

(1)人脸检测阶段,使用CelebA数据集和Faster R-CNN算法对图像中的人脸进行训练。对现场采集的旅客进站图像进行测试,测试集包含白天、夜晚、强逆光等不同场景,该阶段测试正确率达98%;

(2)人脸识别阶段,使用VGGNet进行人脸部分的特征提取,提取的特征值维度达2 622维,使用PCA算法对人脸特征值进行降维,以去除人脸特征值中的噪声和冗余。计算身份证人像与进站人像特征值间的欧氏距离,通过实验把100设定为判断两幅图像是否为同一人的阈值。该阶段的识别正确率达95%。

本文使用先进的端到端的检测算法和人脸特征提取算法组合的方式进行人脸识别的研究。但是,该网络结构复杂,在CPU设备上运行时间超过2 s/帧,接下来希望对网络框架进行调整压缩,使得网络的运行时间降低到1 s内。

猜你喜欢

降维特征值人脸
混动成为降维打击的实力 东风风神皓极
利用LMedS算法与特征值法的点云平面拟合方法
有特点的人脸
一起学画人脸
单圈图关联矩阵的特征值
Helicobacter pylori-induced inflammation masks the underlying presence of low-grade dysplasia on gastric lesions
迭代方法计算矩阵特征值
降维打击
三国漫——人脸解锁
求矩阵特征值的一个简单方法