机器之心编辑部

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

不久之前,腾讯优图开源了人脸检测算法 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 曲线。

理论安全防范人脸识别
41
相关数据
权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

基准技术

一种简单的模型或启发法,用作比较模型效果时的参考点。基准有助于模型开发者针对特定问题量化最低预期效果。

验证集技术

验证数据集是用于调整分类器超参数(即模型结构)的一组数据集,它有时也被称为开发集(dev set)。

计算机视觉技术

计算机视觉(CV)是指机器感知环境的能力。这一技术类别中的经典任务有图像形成、图像处理、图像提取和图像的三维推理。目标识别和面部识别也是很重要的研究领域。

腾讯机构

腾讯科技股份有限公司(港交所:700)是中国规模最大的互联网公司,1998年11月由马化腾、张志东、陈一丹、许晨晔、曾李青5位创始人共同创立,总部位于深圳南山区腾讯大厦。腾讯由即时通讯软件起家,业务拓展至社交、娱乐、金融、资讯、工具和平台等不同领域。目前,腾讯拥有中国国内使用人数最多的社交软件腾讯QQ和微信,以及中国国内最大的网络游戏社区腾讯游戏。在电子书领域 ,旗下有阅文集团,运营有QQ读书和微信读书。

http://www.tencent.com/
感受野技术

一个感觉神经元的感受野是指这个位置里适当的刺激能够引起该神经元反应的区域。感受野一词主要是指听觉系统、本体感觉系统和视觉系统中神经元的一些性质。

推荐文章
检测速度很慢就是了