论文地址:RetinaFace: Single-stage Dense Face Localisation in the Wild

一、概况

本篇论文提出的RetinaFace属于single-stage的人脸检测器,它结合了额外监督和自监督多任务学习的优点。它主要有以下五点贡献:

1. 在WIDER FACE数据集上标注了5个人脸的landmarks,并且在这个额外监督信号的帮助下,提升了hard face的检测效果。

2. 添加了自监督的mesh decoder分支,与已有的监督分支并行预测像素级的3D形状人脸信息。

3. 在WIDER FACE hard测试集上,平均精度超过当前最先进的算法1.1%,达到91.4%。

4. 在IJB-C测试集上,RetinaFace能够改善现有方法(ArcFace)的人脸验证结果。

5. 采用轻量级的backbone,RetinaFace可以在单个CPU上实时运行VGA分辨率的图像。

【论文学习记录】RetinaFace: Single-stage Dense Face Localisation in the Wild

二、多任务损失函数

【论文学习记录】RetinaFace: Single-stage Dense Face Localisation in the Wild

其中, 【论文学习记录】RetinaFace: Single-stage Dense Face Localisation in the Wild是训练的第 【论文学习记录】RetinaFace: Single-stage Dense Face Localisation in the Wild个anchor

【论文学习记录】RetinaFace: Single-stage Dense Face Localisation in the Wild是人脸分类损失

【论文学习记录】RetinaFace: Single-stage Dense Face Localisation in the Wild表示第 【论文学习记录】RetinaFace: Single-stage Dense Face Localisation in the Wild个anchor是人脸的置信度

【论文学习记录】RetinaFace: Single-stage Dense Face Localisation in the Wild是人脸为1,非人脸为0

【论文学习记录】RetinaFace: Single-stage Dense Face Localisation in the Wild是人脸定位框回归损失,是使用中心归一化后的损失(smooth-L1)

【论文学习记录】RetinaFace: Single-stage Dense Face Localisation in the Wild表示预测的人脸定位框的坐标

【论文学习记录】RetinaFace: Single-stage Dense Face Localisation in the Wild表示groundtruth的人脸定位框的坐标

【论文学习记录】RetinaFace: Single-stage Dense Face Localisation in the Wild是人脸landmark回归损失

【论文学习记录】RetinaFace: Single-stage Dense Face Localisation in the Wild表示预测的5点人脸landmark

【论文学习记录】RetinaFace: Single-stage Dense Face Localisation in the Wild表示groundtruth的5点人脸landmark

【论文学习记录】RetinaFace: Single-stage Dense Face Localisation in the Wild是dense回归损失

控制损失平衡的三个参数【论文学习记录】RetinaFace: Single-stage Dense Face Localisation in the Wild分别设置为0.25,0.1和0.01。

三、Dense Regression分支

论文直接利用了Mesh Decoder,是一种基于快速局部谱滤波的图卷积。

【论文学习记录】RetinaFace: Single-stage Dense Face Localisation in the Wild

二维卷积对欧式网格感受野计算加权和,而图卷积是计算连接两个顶点的最小边数。

定义彩色的face mesh

【论文学习记录】RetinaFace: Single-stage Dense Face Localisation in the Wild

其中,【论文学习记录】RetinaFace: Single-stage Dense Face Localisation in the Wild是一系列包含人脸形状和纹理信息的顶点集合

【论文学习记录】RetinaFace: Single-stage Dense Face Localisation in the Wild是编码点间连接状态稀疏矩阵

定义图拉普拉斯算子

【论文学习记录】RetinaFace: Single-stage Dense Face Localisation in the Wild

其中,【论文学习记录】RetinaFace: Single-stage Dense Face Localisation in the Wild是对角矩阵

【论文学习记录】RetinaFace: Single-stage Dense Face Localisation in the Wild

核为【论文学习记录】RetinaFace: Single-stage Dense Face Localisation in the Wild的图卷积可以表示为K阶截断的递归切比雪夫多项式。

【论文学习记录】RetinaFace: Single-stage Dense Face Localisation in the Wild

其中,【论文学习记录】RetinaFace: Single-stage Dense Face Localisation in the Wild是切比雪夫系数向量

【论文学习记录】RetinaFace: Single-stage Dense Face Localisation in the Wild是在缩放的拉普拉斯算子【论文学习记录】RetinaFace: Single-stage Dense Face Localisation in the Wild下的k阶切比雪夫多项式

设,【论文学习记录】RetinaFace: Single-stage Dense Face Localisation in the Wild

那么就可以递归的计算

【论文学习记录】RetinaFace: Single-stage Dense Face Localisation in the Wild

其中,【论文学习记录】RetinaFace: Single-stage Dense Face Localisation in the Wild【论文学习记录】RetinaFace: Single-stage Dense Face Localisation in the Wild

在预测出形状和纹理参数【论文学习记录】RetinaFace: Single-stage Dense Face Localisation in the Wild之后,使用一个有效的3D差分mesh renderer将一个coloured-mesh 【论文学习记录】RetinaFace: Single-stage Dense Face Localisation in the Wild映射到二维图像平面,此过程要使用相机参数【论文学习记录】RetinaFace: Single-stage Dense Face Localisation in the Wild和补光参数【论文学习记录】RetinaFace: Single-stage Dense Face Localisation in the Wild

一旦得到了渲染的2D人脸【论文学习记录】RetinaFace: Single-stage Dense Face Localisation in the Wild,就可以像素级的比较渲染的人脸和原来的2D人脸之间的差异。

【论文学习记录】RetinaFace: Single-stage Dense Face Localisation in the Wild

其中,W,H是裁剪块【论文学习记录】RetinaFace: Single-stage Dense Face Localisation in the Wild的宽和高。

四、实验

4.1 数据集

WIDER FACE数据集包含32203张图片,共393703个人脸标注框,在尺度、姿态、表情、遮挡和照明上变化很大。

WIDER FACE的划分是训练集40%,验证集10%,测试集50%,并且划分为Easy,Medium和Hard三个等级。

论文作者根据标注人脸landmarks的难易程度将数据划分为5个等级。

【论文学习记录】RetinaFace: Single-stage Dense Face Localisation in the Wild

【论文学习记录】RetinaFace: Single-stage Dense Face Localisation in the Wild

4.2 实现细节

【论文学习记录】RetinaFace: Single-stage Dense Face Localisation in the Wild

特征金字塔获取5层多尺度特征【论文学习记录】RetinaFace: Single-stage Dense Face Localisation in the Wild,其中【论文学习记录】RetinaFace: Single-stage Dense Face Localisation in the Wild来自ResNet的残差结构【论文学习记录】RetinaFace: Single-stage Dense Face Localisation in the Wild【论文学习记录】RetinaFace: Single-stage Dense Face Localisation in the Wild是在【论文学习记录】RetinaFace: Single-stage Dense Face Localisation in the Wild的基础上接一个3x3,stride=2的卷积。【论文学习记录】RetinaFace: Single-stage Dense Face Localisation in the Wild是ResNet-152在ImageNet-11k数据集上预训练的分类网络,【论文学习记录】RetinaFace: Single-stage Dense Face Localisation in the Wild是用“Xavier”方法随机初始化的。

受SSH和PyramidBox的启发,论文在每层金字塔的后面也加入了Context Module,用以增大感受野和加强建模能力。采用的是可变卷积网络(DCN)对每个尺度的输出添加后处理模块。

损失权重部分,负样本只用分类损失,正样本则计算多任务损失,添加1x1的卷积进行训练,mesh decoder直接使用预训练模型。

Anchor的设置见下表。

【论文学习记录】RetinaFace: Single-stage Dense Face Localisation in the Wild

训练时,与标注框的IOU大于0.5的匹配为TP,小于0.3的匹配为FP,中间未匹配部分在训练时忽略。为解决样本不均衡问题,对负样本按照损失值排序,按照与正样本3:1的比例挑选靠前的部分。

数据增广采用的策略是从原图中随机抠取正方形区域,并resize到640x640,正方形抠选区域的边长为原图最小边的0.3~1,如果某人脸标注框的中心在抠选区域内,则保留该标注为当前抠选区域中的有效人脸,同时对图像按照0.5的概率进行随机水平翻转及颜色空间变换。

训练参数:

4张NVIDIA Tesla P40(24GB)显卡

SGD optimiser

momentum 0.9

weight decay 0.005

batch size 8 x 4

learning rate, 初始1e-3,5 epochs后1e-2,55 epochs后1e-3,68 epochs后1e-4,共迭代80个epochs。

4.3 实验结果

【论文学习记录】RetinaFace: Single-stage Dense Face Localisation in the Wild

显示多任务学习有助于提高性能。

【论文学习记录】RetinaFace: Single-stage Dense Face Localisation in the Wild

另外,作者还设计了light-weight模型。

【论文学习记录】RetinaFace: Single-stage Dense Face Localisation in the Wild

相关文章: