2020-02-27

RetinaFace


一、论文地址

https://arxiv.xilesou.top/pdf/1905.00641.pdf

什么是RetinaFace?

RetinaFace是一种人脸检测方案,这个方案利用self-supervised和extra-supervised多任务学习的优势,可以实现像素级、多尺度的人脸的检测。

二、论文亮点:

1. 手动标记了WIDER FACE数据库的人脸landmarks(5个点),基于extra-supervised分支明显提升了Hard WIDER FACE 的检测;

2. 提出了self-surpervised mesh decoder分支,可以预测出像素级的3D人脸信息;

3. 在WIDER FACE hard test dataset, 利用RetinaFace可以比最好的方案提高1.1%,可以达到91.4%;

4. 在IJB-C test set数据集上,RetinaFace可以提高ArcFace的人脸验证结果;

5. 通过使用轻量级骨干网络,RetinaFace可以在单核CPU上实时检测VGA-分辨率的图片。

三、介绍

       自动人脸检测可以用于很多场景,人脸属性识别(性别,年龄)、人脸身份认证。传统的人脸检测只是给出人脸检测框;这里我们定义的face localization包含人脸检测、人脸对准、像素级人脸解析、3D dense correspondense regression。这里的face localization可以提供不同尺度的人脸位置信息。

       受到通用目标检测方案和深度学习技术的发展,人脸检测技术最近获得了长足发展。与目标检测不同,人脸检测的特点是:smaller ratio variation (from 1:1 to 1:1.5), but larger scale variation (from several pixels to thousand pixels)。当前主流先进技术聚焦在单阶段模型设计上,这被证明是有效的,并且比双阶段模型响应速度快。基于这个思想,我们设计了单阶段人脸检测框架,并期初了先进的dense face localisation method,利用来自self-surpervised和extra-surpervised信号的多任务损失函数。其方案图如下所示:


       典型的人脸检测包含classification loss 和 box regression loss. Chen et al提出了JDA,联合face detection和alignment的级联框架,通过观察发现对齐后的人脸可以给face classification提供更好的特征。受到 Chen et al 研究成果的鼓舞, MTCNN 和 STN同时检测人脸和人脸的landmark(5个点)。由于训练数据的限制,JDA,MTCNN,STN等都未验证额外的landmarks监督是否对小人脸检测有意义。所以我们将要回答的第一个问题就是,通过额外的landmark监督信号是否可以提升当前最好的性能(90.3% on the WIDER FACE hard test set)?

       在Mask R-CNN中,通过在现有的bouding box recognition and regression 分支中并行添加 predicting object mask分支,发现这种方法可以明显的提升检测性能。这也证实了dense pixel-wise annotations对提升检测有帮助。但不幸的是,对于像WIDER FACE这种有挑战的人脸数据库,不太可能完成密集人脸标注(即便采用更多的landmarks或者是语义片段)。因为监督信号很难被获取到,问题是我们是否可以采用非监督的方法进一步提高人脸检测?

       在FAN中,an anchor-level attention map被提出用于提高遮挡人脸检测。然而,提出的attention map非常粗糙并且不包含语义信息。最近,self-supervised 3D morphable models 可以实现有意义的3D人脸建模(in-the-wild)。特别是Mesh Decoder联合shape和texture上采用graph convolutions,可以实时工作。然而,将mesh decoder应用在single-stage detector的主要挑战是:(1)相机的参数很难被准确的估计;(2)联合latent shape和texture representation是从single feature vector(1*1 Conv on feature pyramid)中被预测,而不是从 RoI pooled feature,这表明了the risk of feature shift。这篇文章中,我们通过使用self-supervision learning的方式的mesh decoder去预测 pixel-wise 3D face shape,并且与已存在的supervised分支并行。

四、相关工作

Image pyramid v.s. feature pyramid:

       分类器利用滑动窗口模式应用于密集图片网格,可以被追述几十年时间。 Viola-Jones在图像金字塔中采用级联链的方式识别人脸,并拥有实时效率,这是里程碑式的工作,使得尺度不变式的人脸检测框架得到了广泛采纳。虽然通过在图像金字塔上采用滑动窗口的方法是领先的检测模式,但是随着特征金字塔的出现、sliding-anchor作用于特征金字塔迅速成为人脸检测的主流模式。

two-stage v.s. single-stage:

       当前的人脸检测方式直接继承了通用目标检测方法中的优秀成果,同样人脸检测可以分为两个类别:1)单阶段方法(如SSD,RetinaNet)和两阶段方法(如 Faster R-CNN)。

       其中两阶段方法采用“proposal and refinement”机制具有很好的定位精读,相反,单阶段方法密集采样人脸的位置和尺度,这样会导致在训练阶段出现严重的正负样本不均衡现象。为了处理这种不均衡,sampling和re-weighting等方法被广泛使用。与双阶段方法相比,单阶段方法更加有效,并且拥有更高的召回率,但是会导致更高的FPR(false positive rate)和影响定位精度

       Context Modelling可以通过增强模型上下文推理能力来提高微小人脸识别能力,SSH和PyramidBox等在特征金子塔中应用上下文模块可以从 Euclidean grids中增大感受野。

       为了增大CNN网络非刚性变换模型的能力,可变卷积网络(deformable convolution network)采用新型的变形层去建模几何变换。WIDER FACE Challenge 2018比赛表明rigid(expansion) and non-rigid(deformation) context modelling are conplementary and orthogonal to improve the performance of face detection.

Multi-task Learning: 

       联合面部检测和校准被广泛用于生成校准的人脸用于人脸分类。在Mask R-CNN中,通过增加predicting an object mask分支可以明显的提高检测性能。Densepose采纳了与Mask-RCNN一致的结构,在选择的区域中获得dense part labels and coordinates. 然而,the dense regression brach通过监督学习进行训练,此外,the dense branch was a small FCN applied to each RoI to predict a pixel-to-pixel dense mapping。

五 RetinaFace

5.1 Multitask Loss

对于任意训练anchor i,我们将多任务损失函数简化如下:

(1)对于分类损失,pi是anchor i为真实人脸的概率,如果anchor i 是positive anchor, 则pi*为1,若anchor i是 negative anchor,则pi*为0。Lcls是Softmax Loss.

(2) 对于Face box regression loss,Lbox, 其中 ti = {tx, ty, tw, th}表示预测box的坐标,ti* = {tx*, ty*, tw*, th*}表示和positive anchor对应的ground truth坐标。我们归一化the box regression targets(i.e. centre location, width and height), 并且使用Lbox = R(ti - ti*).这里R()采用强健的损失函数(如smooth - L1)。

(3) 对于Facial Landmark regression loss, 其中 li = {lx1, ly1, ..., lx5, ly5}表示预测的five facial landmarks, li*={lx1*,ly1*, ..., lx5*,ly5*}表示和positive anchor对应的ground truth 坐标,这里使用的loss函数与Face box regression loss基本一致。

(4) Dense回归参考后面详解。

其中三个参数系数的值分别是0.25,  0.1,  0.01。

5.2 Dense Regression Branch

Mesh Decoder

       我们直接采用论文【70,40】中的mesh decoder(mesh卷积和mesh 上采样),这是一种基于fast localised spectral filtering的图卷积方法。为了实现进一步的加速,我们使用与论文【70】类似的联合shape和texture的decoder,相对而言论文【40】值使用了decoded shape。

       接下来我们将会简单解释图卷积的概念,并概述为什么它可以被用于fast decoding. 如图Fig.3(a)所示,2D卷积就是在Eucligeangrid感受野内的“kernel-weight neighbour sum”。类似地,图卷积采用类似的概念,如图Fig.3(b)所示。然而,边缘距离是通过在图上计算边缘连接两个顶点的最小数量。按照论文【70】定义a coloured face mesh, 其中是一组面顶点,包含joint shape and texture information.是稀疏连接矩阵,编码两个顶点之间的链接状态。

图拉普拉斯算子定义如下:,其中D是对角矩阵。

       参照论文【10,40,70】采用kernel的的图卷积可以被表示为按顺序K截断的递归切比雪夫多项式。

Differentiable Renderer

你可能感兴趣的:(2020-02-27)