其他分享
首页 > 其他分享> > RetinaFace: Single-stage Dense Face Localisation in the Wild(自然场景下的单阶段密集人脸定位)

RetinaFace: Single-stage Dense Face Localisation in the Wild(自然场景下的单阶段密集人脸定位)

作者:互联网

        论文代码:https://github.com/deepinsight/insightface/tree/master/RetinaFace.

        自然场景下精确和高效的人脸定位仍是一个挑战。该文提出了一种robustsingle-stage人脸检测器:RetinaFace,它利用联合的额外监督(贡献1)和自监督多任务学习(贡献2),在不同尺度的人脸上进行像素化的人脸定位。

五个方面贡献:

  1. WIDER FACE数据集上手工标注了五个面部标志,并观察到在这种额外的监督信号的帮助下,人脸检测有了显著的改善。
  2. 添加了一个自监督网格编码分支,用于预测一个逐像素的3D人脸信息。该分支与已存在的监督分支并行。
  3. WIDER FACE测试集上,RetinaFace的平均精度(AP)比目前的平均精度(AP)高出1.1% (AP = 91.4%)。
  4. IJB-C测试集上,RetinaFace使当前最好的ArcFace在人脸认证(face verification)上进一步提升(TAR=89.59 FAR=1e-6)。

通过采用轻量级骨干网,RetinaFace可以在单核CPU下实时运行VGA分辨率的图像。

5.结论         该文研究了图像中 任意比例的人脸同时密集定位和对齐这一具有挑战性的问题,并提出了 RetinaFace。并在当前最具挑战性的人脸检测基准测试中有最好的检测效果。此外,当 RetinaFace与最新的人脸识别实践相结合时,它明显地提高了准确性。这些数据和模型已经公开提供,以促进对这一主题的进一步研究。 1.引言
        自动人脸定位是人脸图像分析如人脸属性(表情,年龄,ID识别)的先决步骤。人脸定位狭义上可能指的是传统的人脸检测,它旨在于在没有任何尺度和位置先验下估计人脸检测框。然而,该文指的是人脸定位的广义定义,包括人脸检测、人脸比对( face alignment)、像素化人脸解析和3D密集对应回归(3D dense correspondence regression)。这种密集的面部定位为所有不同的尺度提供了精确的面部位置信息。         受通用目标检测方法的启发,这些检测包含了深度学习的所有最新进展,人脸检测近年来取得了显著进展。与一般的目标检测不同,人脸检测特征比例变化更小(从1:1到1:1.5),但范围变化更大(从几个像素到1000像素)。最新的先进方法集中于single stage设计,该设计在特征金字塔上密集采样面部位置和尺度,与两阶段方法相比,展示了有前景的性能和更快的速度。依据这种路线,我们提升的单级人脸检测框架,并且 通过利用强监督和自监督信号的多任务损失,提出了当前最好的密集人脸定位方法。思想如图1:

        图1。提出的单阶段像素级别人脸定位方法采用额外监督(extra-supervised)和自监督多任务学习,与现存的box分类和回归分支并行。每个正锚(positive anchor)输出是:(1)一个人脸得分;(2)一个人脸框;(3)五个人脸landmarks;(4)投影在图像平面上的密集3D人脸顶点。

        通常,人脸检测训练过程包含分类和box回归损失。Chen等人基于对齐的脸型为人脸分类提供了更好的特征的观察,提出将face detection and alignment结合在一个联合级联框架中。受到

[6] (D. Chen, S. Ren, Y. Wei, X. Cao, and J. Sun. Joint cascade face detection and alignment. In ECCV, 2014. 1, 2) 的启发,MTCNN和STN同时检测脸部和五个面部标志。由于训练数据的限制,JDA、MTCNN和STN还没有验证tiny人脸检测是否可以受益于对五个面部标志的额外监督。在本文中,我们旨在回答的问题之一是,我们是否可以通过使用由五个面部标志构建的额外监督信号,来推动目前在WIDER FACE hard test set[60]上的最佳表现(90.3%[67])。

        在Mask R-CNN中,通过在已有的分支进行边界框识别和回归的同时增加预测对象掩模的分支,检测性能得到了显著提高。这证实了密集的像素级的标注也有助于改进检测。不幸的是,对于WIDER FACE具有挑战性的面部,不可能进行密集的面部注释(以更多标注或语义片段的形式)。由于有监督信号不易获得,问题在于我们是否可以应用无监督方法来进一步改善人脸。

        FAN提出了一种anchor级别的注意图来改善遮挡人脸的检测。然而,所提出的注意力图非常粗糙,且不包含语义信息。不过最近,自监督的3D 形态模型已经实现了不错的自然环境下三维人脸建模。特别是网格解码器通过在形状和纹理上利用图卷积来实现实时速度。然而,将网格解码器应用到单阶段的结构中的挑战有: (1)相机参数难以准确估计(2) 联合潜在形状和纹理是单一的特征向量中预测的(特征金字塔上的1×1 Conv),而不是ROI池化特征,这会有特征转移的风险。在本文中,我们使用了一个通过自监督学习的网格解码器分支,用于与现有的监督分支并行地预测像素级的3D人脸形状。总的来说我们的主要贡献如下:

2.相关工作
图像金字塔vs特征金字塔:

        最早的滑动窗口可以追溯到几十年前(即将分类器应用在一个密集的图像网格中)。Viola-Jones的里程碑式工作探索了级联链,可以实时高效地从图像金字塔中剔除虚假的人脸区域,这种尺度不变的人脸检测框架开始被广泛采用。虽然图像金字塔上的滑动窗口是主要的检测范式,但随着特征金字塔的出现,多尺度特征图上的滑动锚点迅速占据了人脸检测的主导地位。
两阶段vs .单阶段:
        目前的人脸检测方法继承了一般目标检测方法的一些成果,可以分为两类:两阶段方法(如FAST R-CNN)和单阶段方法(如SSD和RetinaNet)。两阶段的方法采用了“建议和改进(proposal and refinement)”机制,具有很高的定位精度。而单阶段法密集采样人脸位置和尺度,导致训练过程中正样本和负样本极不平衡。为了处理这种不平衡,广泛采用了采样和re-weighting的方法。与两阶段法相比,单阶段法效率更高,召回率更高,但存在假阳性率更高、定位准确性下降的风险。
上下文建模:
        为了增强模型捕捉tiny人脸时的上下文推理能力,SSH和PyramidBox在特征金字塔上应用上下文模块来扩大欧几里得网格中获取的感受野。为了增强CNNs的非刚性变换建模能力,可变形卷积网络(DCN)采用了一种新的可变形层来建模几何变换。2018年的WIDER Face Challenge的冠军解决方案表明,刚性(扩展)和非刚性(变形)上下文建模是互补和正交的,可以提高人脸检测的性能。
多任务学习:
        人脸检测与对齐的结合被广泛应用,因为对齐后的人脸形状为人脸分类提供了更好的特征。在Mask R-CNN中,通过在已有的分支中并行添加一个预测对象掩码的分支,显著提高了检测性能。Densepose采用了Mask-RCNN的架构,获得每个选定区域内的稠密部分标签和坐标。稠密回归分支是通过监督学习来训练的。此外,密集分支是一个小的FCN应用于每个RoI,以预测像素到像素的密集映射。

3.RetinaFace

3.1多任务损失
        对于每一个训练的 anchor  i , 最小化多任务损失函数:

    \large L = L_{cls}(p_{i}, p_{i}^{*}) + \lambda_{1}p_{i}^{*}L_{box}(t_{i}, t_{i}^{*}) +\lambda_{2}p_{i}^{*}L_{pts}(l_{i}, l_{i}^{*}) +\lambda_{3}p_{i}^{*}L_{pixel}             (1)

(1)  人脸分类损失  L_{cls}(p_{i}, p_{i}^{*}) ,其中 p{_{i}} anchor  i 为人脸的预测概率,并且 \large p_{i}^{*} 对于positive anchor 是1,对于 negative anchor 是0。 分类损失 L_{cls} 是二分类(脸/不是脸)的 softmax loss。 

(2)人脸边框回归损失 \large L_{box}(t_{i}, t_{i}^{*}), 其中 \large t_{i} = \left \{ t_{x}, t_{y}, t_{w}, t_{h}\right \}和 \large t_{i}^{*} = \left \{ t_{x}^{*} ,t_{y}^{*},t_{w}^{*}, t_{h}^{*}\right \}表示预测框和 与positive anchor相关的真实框的坐标。按照文献【16】标准化方框回归目标(即中心位置、宽度和高度)  并且使用 \large L_{box}(t_{i}, t_{i}^{*}) = R(t_{i}-t_{i}^{*}),这里 R是 文献【16】定义的smooth-L1 损失函数。 

(3)人脸关键点回归损失  \large L_{pts}(l_{i}, l_{i}^{*}), 其中 \large l_{i} = \left \{ l_{x1}, l_{y1}, ..., l_{x5}, l_{y5}\right \}{_{i}}   和 \large l_{i}^{*} = \left \{ l_{x1}^{*} ,l_{y1}^{*}, ... , l_{x5}^{*}, l_{y5}^{*}\right \}{_{i}} 分别表示 预测的五个人脸关键点和 与正anchor 有关的真实值。与 box centre 回归相似,五个人脸关键点回归也采用基于anchor 中心的目标归一化方法。

(4) 密集回归损失\large L_{pixel} (参考公式3)。

损失平衡参数 \large \lambda _{1} - \lambda _{3} 设为 0.25、0.1和 0.01,意味着我们增加了来自监督信号 更好的边框和关键点定位的重要性。

[16] R. Girshick. Fast r-cnn. In ICCV, 2015. 1, 3

待续:

标签:RetinaFace,Dense,检测,像素,监督,人脸,Face,anchor
来源: https://blog.csdn.net/hymn1993/article/details/121679084