Face Paper:Scale-Friendly论文详解
一篇关于如何处理多尺度人脸检测的文章。 从核心方法上来说和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],[40,140],[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 上的指标:
速度测试: