摘要
虽然在不受控条件下的人脸检测已经取得了非常显著的进展,在自然环境下准确有效的人脸检测依然具有挑战。本文提出了一种单级(single-stage)人脸检测器:RetinaFace. 通过联合外监督(extra-supervised)和自监督(self-supervised)的多任务学习,RetinaFace对各种尺度条件下的人脸可以做到像素级别的定位。本文作了以下几个贡献:
1、 我们手工标注了WIDER FACE数据集上的五点,在外监督信号的辅助下获得了难人脸检测的显著提升。(https://zhuanlan.zhihu.com/p/101600780)
2、添加了一个自监督网格编码分支,用于预测一个逐像素的3D人脸信息。该分支与已存在的监督分支并行。
3、在WIDER FACE测试集上,RetinaFace(AP = 91.4%)比最好的模型AP高出1.1%
4、在IJB-C测试集上,RetinaFace使当前最好的ArcFace在人脸认证(face verification)上进一步提升(TAR=89.59 FAR=1e-6)
5、通过利用轻量级的骨架网络,RetinaFace可以在单一CPU上对一张VGA分辨率的图像实时运行
标注和代码获取地址
Deep Insightinsightface/tree/master/RetinaFace
本节概念:TAR True Accept Rate 正确接受率; FAR False Accept Rate 错误接受率 ;
VGA分辨率:图像大小640x480 HD图像:1920x1080 4K图像:4096x2160
1 介绍
自动人脸定位是人脸图像分析如人脸属性(表情,年龄,ID识别)的先决步骤。人脸识别传统的窄定义为:在没有任何尺度和位置先验信息的条件下估计人脸的包围框。然而在本文中,人脸定位是一个更宽泛的定义,包括人脸检测,人脸对齐,像素级别的人脸分解以及3D密度回归。那种密集的人脸定位可以为所有不同尺度的人脸提供准确的人脸位置信息。
与通用的目标检测方法不同的是,人脸检测的特征宽高比变化很小(1:1到1:1.5),但是尺度变化非常大(从几个像素到几千个像素)。最近最好的方法关注于单级设计,在特征金字塔上进行密集的人脸位置和尺度采样,相比两级级联方法,这种设计获得了不错的性能和速度提升。依据这种路线,我们提升的单级人脸检测框架,并且通过利用强监督和自监督型号的多任务损失,提出了当前最好的密集人脸定位方法。思想如图1:
图 1:单级逐像素人脸定位方法利用外监督和自监督的多任务学习同时包含人脸框分类及回归分支。每个positive anchor输出:人脸得分,人脸框,5个人脸关键点,投射的图像平面上的3D人脸顶点
特别的,人脸定位训练过程包含分类和人脸框回归损失。在一个联合级联框架中将人脸检测和对齐结合,获得的人脸形状可以为人脸分类提供更好的特征。基于这种思想,MTCNN和STN同时检测人脸和五个关键点。基于训练数据的限制,JDA,MTCNN ,STN并没有验证小人脸是否可以从5个关键点的外监督中受益。本文想要回答的一个问题是,是否可以通过5个关键点重建的外监督信号将WIDER FACE难测试集当前最好的性能90.3%向前推进。
在Mask R-CNN中,通过增加目标淹没的分支并与检测框识别和回归分支并行,检测性能显著提升。这证实了密集像素级别的标注对于提升检测性能也有用。然而,WIDER FACE中具有挑战的人脸无法获取密集的人脸标注。既然监督信号不易获取,那么问题就变成了我们是否可以利用无监督的方法进一步提升人脸检测呢。
FAN提出一个anchor级别的注意力图来提升遮挡人脸检测。然而,提出的注意力图比较粗糙且不包含语义信息。最近,自监督3D形变模型获得了不错的自然条件下的3D人脸。特别的,Mesh Decoder利用在形状和纹理上的图卷积获得了超实时的速度。然而,将mesh decoder应用到单级检测器上的最大挑战是:(1)相机参数很难准确估计(2)联合潜在形状和纹理估计是从一个简单的特征向量预测的(特征金字塔上的1x1卷积)而不是通过RoI池化特征,这样就存在特征漂移的风险。本文通过对于一个像素级3D人脸形状的自监督学习与存在的监督分支并行,利用网络编码(mesh decoder)分支。
总之,主要贡献:
- 基于单级设计,提出一个新的像素级人脸定位方法RetinaFace,利用多任务学习策略同事预测人脸评分,人脸框,5个段建店以及对应于每个人脸像素的3D位置。
- 在WIDER FACE难子集上,Ret