TinaFace:人脸检测新纪录
共 2389字,需浏览 5分钟
·
2020-12-02 12:13
极市导读
作者设计了一个简易人脸检测模型TinaFace,该模型基于RetinaNet,相比RetinaNet只做了很小的改动。文章展示了该模型在单模型backbone仅为ResNet50的情况下的数据结果,都达到了当前的state of the art,文章附有该模型代码的开源地址。>>加入极市CV技术交流群,走在计算机视觉的最前沿
这几年人脸检测的benchmark越刷越高,方法也越来越复杂,提出的模块或者方法大都专门为人脸检测设计,不易复现和使用,比如DSFD里的FEM、PAL、IAM,ASFD里的AutoFEM、PAL、IAM、DRMC loss,HAMBox里的PA、OAM、RAL等等。
WIDER FACE验证集hard结果
WIDER FACE测试集hard结果
鉴于此,我们设计了一个简单而又强大的人脸检测模型——TinaFace(https://github.com/Media-Smart/vedadet/tree/main/configs/trainval/tinaface),该模型基于RetinaNet,相比RetinaNet只做了很小的改动:
将BN换成GN; 加了一个IoU预测分支; 在backbone上嵌入了DCNv1; 将框回归的loss从smooth l1 loss替换为DIoU loss。
在仅使用ResNet50作为backbone的情况下,TinaFace在WIDER FACE的验证集和测试集中的hard上达到了当前的state of the art。我们只看hard的原因在于WIDER FACE的easy和medium都包含在hard之中,hard体现的是一个人脸检测器在所有人脸上的检测效果。
具体来说,在单模型,backbone仅为ResNet50的情况下。
1、验证集上
1.1、不使用TTA的TinaFace:TinaFace的AP为93.0%,比基于ResNet152的ASFD(使用TTA)高0.5%,比基于ResNet152的DSFD(使用TTA)高1.8%;
1.2、使用TTA的TinaFace:TinaFace的AP为93.4%,比基于ResNet50的HAMBox(使用TTA)高0.1%。
2、测试集上
2.1、不使用TTA的TinaFace:TinaFace的AP为92.1%,与基于ResNet152的ASFD(使用TTA)一样,比基于ResNet152的DSFD(使用TTA)高2.1%;
2.2、使用TTA的TinaFace:TinaFace的AP为92.4%,比基于ResNet50的HAMBox(使用TTA)高0.1%。
TinaFace非常简单,基于RetinaNet,所添加的模块在在通用的目标检测框架(比如mmdetection、vedadet(https://github.com/Media-Smart/vedadet))中都是现成的。而且训练不需要大batch,即使你的显存只有11G,也可以复现TinaFace。也正因为TinaFace使用的模块都非常经典、成熟,TinaFace也会比较容易部署。
我们的代码开源地址为TinaFace,基于vedadet,里面提供当前最好结果的权重,以及训练、测试、推理代码,无论大家是想做研究、打比赛、还是仅仅想体验state of the art的效果,这个repo都能满足你。
vedadet能做到的不仅于此,vedadet是我们基于mmdetection开发的单阶段目标检测框架,适用任意目标检测任务,无论是人脸检测还是通用目标检测。vedadet提供训练、测试、推理特性,后续会支持转ONNX/TensorRT(https://github.com/Media-Smart/volksdep),以及基于TensorRT的Python前端SDK(https://github.com/Media-Smart/flexinfer)或者C++前端SDK(https://github.com/Media-Smart/cheetahinfer)。
想了解实验细节的朋友可以参见论文TinaFace: Strong but Simple Baseline for Face Detection(https://arxiv.org/abs/2011.13183)。实验中使用的数据分析工具我们也开源了——volkscv(https://github.com/Media-Smart/volkscv)。
推荐阅读