ScaleFace —— 尺度友好人脸检测

来源:互联网 发布:新概念英语 软件 编辑:程序博客网 时间:2024/06/14 17:23

一篇关于如何处理多尺度人脸检测的文章。 从核心方法上来说和SSD没有本质的区别,只不过在实现细节上做了一些更为细致的工作。

文章链接: 《Face Detection through Scale-Friendly Deep Convolutional Networks》

1. 方法介绍

这里写图片描述

如上图,采用ResNet网络,输入单张图片。 在网络不同阶段引出分支,然后后接RPN和Fast R-CNN。 共有3个分支,每个分支只负责检测对应范围的人脸。

2. 要点介绍

(1)网络结构与检测目标尺度的关系

文章做了下面的对比实验:使用不同层级的特征检测指定尺度范围的人脸。

结论:不同层级的特征适用于检测不同尺度的人脸。 这一点其实很好理解,我们可以从网络自带的空间分辨率上去探讨这件事。 网络后期,经过多次spatial pooling,每一个输出都将和原图一块更大的ROI区域有关,因此更适宜检测大目标。

(2)如何划分人脸尺度范围

人脸尺度范围的划分需要结合网络结构,然后,通过实验确定。

因此,最终划分为3个分组: \([10,40],\quad[40,140],\quad [140,1300]\)

(3)如何训练

这也是本文方法和SSD的一个重要不同,即针对不同分组只用对应尺度的样本进行训练。

这里写图片描述

  • (1) 每个分支只处理对应尺度的样本,其他样本直接忽略;
  • (2) 输入图像最长边限定为小于等于1300;
  • (3) IOU大于0.5认为是正样本,IOU处于 [0,0.1] 和 [0.1,0.3]的负样本按1:1选用;
  • (4)训练时proposal保留2000,测试时保留500。

3. 实验结果

速度一般偏低,性能中上偏高。

在FDDB上的指标:

在Wider Face 上的指标:

速度测试:

原创粉丝点击