人脸识别技术都是基于人脸关键特征提取对比完成识别的,其中,特征的完整性是算法成败的一个极为关键的因素,但是当受到外界干扰较多,外界的条件发生明显变化的时候,由于传统方法过于依赖明显的、完整的图像特征,一旦由于人脸发生遮挡,造成部分特征的消失,导致人脸图像特征不完整时,这种算法就会失效,导致无法和库中人脸信息进行对比。遮挡造成的人脸识别的困难主要体现在由遮挡所引发的特征损失、对准误差和局部混叠等方面。
作者 | 刘东平、谢远伦、言有三
编辑 | 言有三
01 常见人脸遮挡方式【1】
引发面部遮挡的原因主要有三种:
1.1光线遮挡:由于不均匀的或极度强烈的外部光照所引起的遮挡。图a
1.2实物遮挡:覆盖在人脸上的物品,如帽子,眼镜,围巾等。图b
1.3自遮挡:是由于人体姿势导致的,如侧脸。图c
02 人脸遮挡对人脸识别的影响
下面我们看一组图片:
通过眼睛我们很容易判断上面一组图片都是同一人。但是我们的人脸识别的应用能判断出他们是同一人吗?
接下来我们将把上面的图片通过百度AI和腾讯AI进行对比
2.1百度AI对比结果
2.2腾讯AI对比结果
通过百度AI和腾讯AI我们可以看到遮挡对人脸验证的结果影响非常大,特别是第四组图,由于面纱的遮挡,腾讯AI判断图片中没有人脸,但是同一组照片,百度AI却给出了71.75%的相似度判定。这也说明了不同的算法,对遮挡处理的结果差别很大。
03 数据集
虽有很多的人脸数据集,但是专门用于人脸遮挡这个问题的却很少。MAFA【3】是其中最大的,它包含30,811个无遮挡图像和35,806个有遮挡图像,包含各种方向和尺度的遮挡,数据集并未开源。
遮挡后的人脸,眼睛基本不会被遮挡的,需要眼睛看东西,所以还是相对稳定的特征点,下面是其中一个遮挡的例子。
04 人脸识别遮挡传统方法【1】
主流的方法有:子空间回归、鲁棒误差编码与鲁棒特征提取等三类。
4.1子空间回归
子空间回归方法将不同类别的人脸划分为不同的子空间,遮挡是一个独立的子空间,那么有遮挡的人脸图像是不含遮挡的人脸与遮挡的叠加,就可以把有遮挡人脸图像识别问题视作将无遮挡的人脸图像和遮挡各自回归到它们所属的子空间的问题。
子空间回归方法中最具代表性的方法是稀疏表示分类方法和协同表示分类方法,具体的细节,可以参考文献【1】。子空间回归方法的主要困难在于遮挡子空间的构建。
4.2鲁棒误差编码
鲁棒误差编码方法主要包括“加法模型”和“乘法模型”。 “加法模型”认为有遮挡图像是原始的不含遮挡的人脸图像与由遮挡引发的误差e的合成体,即y=y0+e,着重考虑如何将误差e从有y中分离出来。
“乘法模型”将有遮挡的图像看成是无遮挡的y0与遮挡的拼接,并且只有y0可以精确重构。着重考虑如何分离其有遮挡区域和无遮挡区域,具体细节参考文献【1】。
4.3鲁棒特征提取
一幅人脸图像所包含的特征通常极为丰富,既包括颜色、亮度、纹理、方向等低阶特征,也包括姿态 、表情、年龄、人种等高阶特征,鲁棒的特征提取 方法就是需要对这些特征进行分解。比如Gabor特征是在多个尺度和多个方向上分解,属性特征是分解为多个可描述的属性。分解后,可以降低特征之间的相互干扰,从而为机器学习提供足够精细的特征。
传统的鲁棒特征有代表性的比如梯度脸,以及将子空间学习引入深度学习的PCANet框架和将卷积神经网络的卷积层引入经典的“特征图-模式图-柱状图”的特征提取框架FPH 框架。尽管并没有对光照变化和遮挡做任何先验性假设和显式处理,甚至没有用到大规模的训练数据,PCANet的神经元响应却对光照变化和遮挡等表现出了很强的鲁棒性,关于更具体的细节请参考文献【2】。
05 深度学习【3-4】
我们下面给大家介绍两个思路。第一个,来源于【3】的思路,是尝试对遮挡区域的特征进行修复。【4】的思路,是如何设计和使用Attention的机制去识别没有被遮挡的人脸,这也是两个基本的研究方向,下面分别做说明。
5.1 对遮挡区域进行恢复
上图就是文【3】解决方案的框架。从上图我们可以看出,包括3个模块。
(1)Proposal Module人脸候选区域提取模块,这就是三个卷积层加一个全连接层的基本结构,为了能够召回更多的遮挡人脸,选择了比较低的阈值生成了大量人脸候选区域。随后使用VGGFace提取4096维的特征进行归一化。我们可以知道,这个特征即含有有用信息也含有噪声信息。
(2)Embedding Module 这个模块主要实现对被遮挡的人脸特征恢复,抑制特征中的噪声信息,它将Proposal Module提取出来的描述子,采用LLE方法,转化为相似度描述子。随后,在一个利用了大量无遮挡人脸和遮挡人脸得到的特征池中利用knn寻找匹配。
(3)Verification Module 则可以利用被修复的人脸特征进行人脸区域验证,对人脸位置和尺度进行微调。
5.2 基于attention的方法定位遮挡
通过合理的Anchor设置或者是合理的大感受野,我们可以隐式地学到遮挡区域的人脸,为了减少误召回,可以考虑用segmentation或者是attention的机制去处理。
上面就是它的基本结构,借鉴于RetinaNet。首先通过FPN结构提出特征,然后会另开一支去学习attention,之后对attention做一个E指数的操作乘到原来的feature map上,加强可见区域信息。后面是一个类似于fast R-CNN两支操作:一支做classification,一支做regression。 Anchor setting设置可以保证每个人脸都有足够的感受野以及足够的context信息。底下这个attention的subnet,它可以通过有监督的信息,学到visible的information,也就能提高对遮挡物体检测的能力。一些该文的细节,包括以下:
Anchor setting
文章中先统计了一下Wider face数据集,发现大概80%以上的人脸其实都是集中在16 pixel到406 pixel这样的量级上面,还有约10%的量级是在8pixel到16pixel,如下图:
要考虑到如何让anchor去覆盖这么大的一个区域,他们选择了1和1:1.5,其实是潜在地考虑了正脸和侧脸情况。与传统的每一层只有一个anchor的铺设方式不同,采用每层3个scale,以2 ^ -1/3 步进。
attention整体框架
采用将bounding box的区域填1,直接作segmentation去学的思路。由于大量的ground truth是没有遮挡的,当发生遮挡时,最后学出来的segmentation会对于这些未遮挡的信息更加敏感。另外在attention网络里面,做完attention之后,不是简单的点乘到原来的feature map上面,而是先做了一个E指数的操作,再去点乘到feature map上面。这样做就不是只保留attention高量的部分,而是对高量的部分做一些增强,这样能够很好地保留它原有的context信息,同时也能够突出它自身那个可见区域的信息。
这是一个有监督的attention结构,对不同的层赋予不同的anchor level的监督信息。
除了以上两条思路外,还有一些其他的方案,不再一一展开。
06 解决人脸遮挡的现实意义
6.1 提升门禁系统识别准确率,方便人们的生活
受安全保护的地区可以通过人脸识别辨识试图进入者的身份。人脸识别系统可用于企业、住宅安全和管理。如人脸识别门禁考勤系统,人脸识别防盗门等。门禁系统采用网络信息加密传输,支持远程进行控制和管理,可广泛应用于银行、军队、公检法、智能楼宇等重点区域的门禁安全控制,但是参与这些活动的人,其面部特征并不都是标准完整的。在面部特征不完整的情况下,也能对其进行精准的识别,将会极大的提高工作效率和用户体验。
6.2 增强身份识别
可在机场、体育场、超级市场等公共场所对人群进行监视,例如在机场安装监视系统以防止恐怖分子登机。在恐怖分子有伪装的情况下,例如戴口罩、墨镜、帽子等,如果人脸识别技术能对遮挡部分进行补全,就可以在机场或车站安装系统以抓捕在逃案犯。
参考文献:
[1]李小薪、梁荣华有遮挡人脸识别综述:从子空间回归到深度学习
[2] Chan T H, Jia K, Gao S, et al. PCANet: A simple deep learning baseline for image classification?[J]. IEEE Transactions on Image Processing, 2015, 24(12): 5017-5032.
[3]Ge S, Li J, Ye Q, et al. Detecting masked faces in the wild with lle-cnns[C]//The IEEE Conference on Computer Vision and Pattern Recognition (CVPR). 2017: 2682-2690.
[4]Wang J, Yuan Y, Yu G. Face Attention Network: An effective Face Detector for the Occluded Faces[J]. arXiv preprint arXiv:1711.07246, 2017.
[5] https://github.com/polarisZhao/awesome-face
如果想加入我们,后台留言吧
转载文章请后台联系
侵权必究
技术交流请移步知识星球
更多请关注知乎专栏《有三AI学院》和公众号《有三AI》
网友评论