微信扫一扫
分享到朋友圈

腾讯优图开源人脸检测算法DSFD,刷新两项数据集纪录

作者:机器之心 来源:机器之心 公众号
分享到:

04-10

机器之心报道

机器之心编辑部

不久之前,腾讯优图开源了人脸检测算法 DSFD(Dual Shot Face Detector),该算法相关论文已经被计算机视觉顶级会议 CVPR 2019 接收,刷新了人脸检测数据集 WIDER FACE 和 FDDB 新纪录。


  • Github 开源地址:https://github.com/TencentYoutuResearch/FaceDetection-DSFD

  • 论文公开地址:https://arxiv.org/abs/1810.10220v2


DSFD 人脸检测算法简介


算法是在图像上,检测出人脸的位置(通常以矩形框形式输出),是人脸配准、人脸属性识别、人脸核身、人脸检索等技术的基础。据腾讯优图介绍,此次提出的 DSFD 人脸检测算法,主要有 3 点创新:


(1)设计了一种新的「特征增强」模块(FEM:Feature Enhance Module)


FEM 在采用 Top-Down 层间信息融合的同时,在同一「」内做了更多的 enhancement。因此在 width and depth 上学习到了更有效的 context 和 semantic 信息。


(2)提出了「分层锚点渐进」式的监督(PLA:Progressive Anchor Loss)


模型采用 2 个层级(hierarchy),基于第一层(low-level)和第二层(high-level)的差异性,适配了不同尺寸的 anchor。在训练过程中,PAL 对整个模型形成了更有效的监督。


(3)设计了一种「改进的锚点匹配策略」(Improved Anchor Matching Strategy)


One-stage detector 由于在输出层分配有密集的 anchor,anchor 与 face 匹配的好坏直接影响训练效果。优图的研究人员 data augmentation 过程中充分考虑了不同大小的 face 和各个 anchor 的关系,提出了一种新的法。


图注:算法整体流程图


下面两张图都展示 DSFD 人脸检测的效果,它们在不同尺度、姿态、遮挡、模糊、装扮和光照等条件下有很不错的效果。下图蓝色的检测框表示检测置信度超过了 0.8。



项目怎么用


整个实现项目是建立在 PyTorch 上的,Torch 版本为 0.3.1。项目不依赖特殊库,只需要 Python 3.6 和 CuDNN 等就行了。如果需要使用该项目,我们可以直接通过 Git 下载(下载后的根目录表示为$DSFD_ROOT):


git clone https://github.com/TencentYoutuResearch/FaceDetection-DSFD.git
cd FaceDetection-DSFD
export CUDA_VISIBLE_DEVICES=0


我们可以直接下载 WIDER FACE 和 FDDB 数据集,并利用预训练的模型测试效果。在 WIDER FACE 数据集训练的 DSFD 模型可在以下地址下载:


  • 腾讯微云:https://share.weiyun.com/567x0xQ

  • Google Drive:https://drive.google.com/file/d/1WeXlNYsM6dMP3xQQELI-4gxhwKUQxc3-/view?usp=sharing


以上的预训练权重需要放在$DSFD_ROOT/weights/目录中,项目中的 demo.py 展示了如何使用 DSFD 模型检测人脸,并将检测结果打印出来。如下是检测人脸的命令行:


python demo.py [--trained_model [TRAINED_MODEL]] [--img_root  [IMG_ROOT]] 
               [--save_folder [SAVE_FOLDER]] [--visual_threshold [VISUAL_THRESHOLD]] 
    --trained_model      Path to the saved model
    --img_root           Path of test images
    --save_folder        Path of output detection resutls
    --visual_threshold   Confidence thresh


除此之外,项目还可以通过内置测试代码评估预训练模型在 WIDER FACE 和 FDDB 数据集的效果,感兴趣的读者可查阅原 GitHub 项目。


实验结果


腾讯优图的研究员在 WIDER FACE 和 FDDB 两个流行的面部检测基准上评估了 DSFD 模型。该模型只使用 WIDER FACE 的训练集进行训练,然后在两个基准上进行评估,没有更多的精调。


如下图 6 所示,在所有的 SOTA 面部检测器中,在三个子集上的平均精度(AP)上 DSFD 取得了最好的表现,也就是在验证集上分别为 96.6% (简单)、95.7% (一般) 和 90.4% (困难),在测试集上为 96.0% (简单)、95.3% (一般) 和 90.0% (困难)。


图 6:在 WIDER FACE 验证和测试集上的精度-召回曲线。


如下图 7 所示,DSFD 在连续、非连续 ROC 曲线上都取得了 SOTA 表现,也就是当假正例数量为 1000 时得分分别为 99.1%、 86.2%。


图 7:在 FDDB 数据集上与主流 SOTA 方法的对比。第一排两张图展示了没有额外注释的 ROC 曲线结果,第二排两张图展示了带有额外注释的 ROC 曲线。



本文为机器之心报道,转载请联系本公众号获得授权

✄------------------------------------------------

加入机器之心(全职记者 / 实习生):hr@jiqizhixin.com

投稿或寻求报道:content@jiqizhixin.com

广告 & 商务合作:bd@jiqizhixin.com

阅读38736
检测 
举报0
关注机器之心微信号:almosthuman2014

用微信扫描二维码即可关注
声明

1、头条易读遵循行业规范,任何转载的稿件都会明确标注作者和来源;
2、本文内容来自“机器之心”微信公众号,文章版权归机器之心公众号所有。

评论
更多

文章来自于公众号:

机器之心

微信号:almosthuman2014

邮箱qunxueyuan#163.com(将#换成@)
微信编辑器
免责声明
www.weixinyidu.com   免责声明
版权声明:本站收录微信公众号和微信文章内容全部来自于网络,仅供个人学习、研究或者欣赏使用。版权归原作者所有。禁止一切商业用途。其中内容并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。如果您发现头条易读网站上有侵犯您的知识产权的内容,请与我们联系,我们会及时修改或删除。
本站声明:本站与腾讯微信、微信公众平台无任何关联,非腾讯微信官方网站。