论文:RetinaFace: Single-stage Dense Face Localisation in the Wild
官方代码:https://github.com/deepinsight/insightface/tree/master/detection/retinaface,是用 Mxnet 实现的。
pytorch版本代码:https://github.com/biubug6/Pytorch_Retinaface
总结:
(1)不仅实现了人脸检测,还实现了人脸关键点检测;
(2)是一个 anchor-base 的方法;
摘要:
RetinaFace 利用联合超监督和自我监督多任务学习的优势,对不同尺度的人脸进行像素级的人脸定位;
主要贡献:
(1)我们在WIDER FACE数据集上手动标注了5个面部标志,并观察到在这个额外监督信号的帮助下,hard脸检测的显著改进。
(2)我们进一步添加一个自监督网格解码器分支,以预测像素级三维形状面信息与现有的监督分支并行。
介绍:
主要贡献:
(1)单阶段方法,像素级的人脸定位,该算法采用多任务学习策略,同时预测人脸评分、人脸框、五个面部地标以及每个人脸像素的三维位置和对应关系;
(2)在WIDER FACE数据集的 hard子集中的AP值,胜过双阶段的方法;
(3)在IJB-C数据集上,RetinaFace能帮助提高ArcFace的精度,这表明更好的人脸检测方法能提高人脸识别的进度;
(4)提供了一个轻量化的人脸骨干网络,可以在CPU上实时运行。
(5)已经发布了额外的注释和代码,以促进未来的研究
网络结构:
其中,context modules 不是很懂。
损失函数:
一共有4个相关的损失函数,分别为分类损失,box回归损失,面部关键点回归损失,稠密回归损失。
分类损失:使用的是二进制的softmax损失
box回归损失:使用的是smooth-L1损失
训练细节:
实验:
代码结果:
官方版本:
只能训练,但是不能评估,不知道怎么运行评估代码
Pytorch_Retinaface版本:
==================== Results ====================
Easy Val AP: 0.9070763216528187
Medium Val AP: 0.8816503588820671
Hard Val AP: 0.7382727979487236
=================================================
// 评估FDDB错误,原因是 eval_fddb 不能下载。