【论文笔记】:S3FD: Single Shot Scale-invariant Face Detector

&Title:

&Summary

提出了一种实时人脸检测器,称为单镜头不变量人脸检测器(SFD),它通过单个深度神经网络在各种人脸尺度上表现出色,特别是对于小脸。具体来说,我们试图解决基于锚的探测器随着物体变小而急剧恶化的常见问题。
我们在以下三个方面做出了贡献:

  1. 提出了一个规模公平的人脸检测框架,以便很好地处理不同规模的人脸。我们在各种各样的图层上平铺锚点,以确保所有面部比例都具有足够的检测功能。此外,我们设计了基于有效感受野的锚尺度和提出的等比例间隔原理;
  2. 通过规模补偿锚匹配策略提高小面孔的召回率;
  3. 通过max-out背景标签降低小脸的误报率。

因此,我们的方法在所有常见的人脸检测基准上实现了最先进的检测性能,包括AFW,PASCAL面,FDDB和WIDER FACE数据集,并且可以在Nvidia Titan X上以36 FPS运行(Pascal )用于VGA分辨率图像。

&Research Objective

解决随着物体变小,基于锚的探测器的性能急剧下降的问题.(小物体目标检测问题)

基于锚点的物体检测方法[26,38]通过对一系列预设的锚点进行分类和回归来检测物体,这些预先设定的锚点是通过在图像上定期平铺具有不同比例和纵横比的箱子集合而生成的。这些锚点是关联的 一个[38]或几个[26]卷积层,其空间大小和步幅大小分别确定锚的位置和间隔。 锚定关联层被卷积以分类和对齐相应的锚点。 与其他方法相比,基于锚点的检测方法在复杂场景中更加稳健,并且它们的速度对于对象数量是不变的。 然而,如[12]所示,随着物体变小,基于锚的探测器的性能急剧下降。

&Problem Statement

在这里插入图片描述

如图(a)所示,对于检测层网络来说,步长对应的感受野较大,小尺度人脸能够表达出的特征少之又少;
如图(b)所示,锚框与感受野的大小不能很好的匹配,同时锚框、感受野都不能很好的匹配到小尺度人脸区域;

为解决上述问题,我们提出了一个规模公平的人脸检测框架。我们将锚点平铺在各种各样的层上,这些层的步幅大小从4到128像素不等,这保证了各种比例的面具有足够的检测功能。此外,我们根据有效的感受野[29]和新的等比例间隔原理设计了不同层上16到512像素的尺度的锚,这可以确保不同层的锚与其相应的有效感受野相匹配 - 不同尺度的锚点均匀分布在图像上。

如图( c)所示,由于锚框大小实际上都是固定的,所以落在这些固定大小之外的人脸就不能很好的检测到;

为了提高这些被忽略面的召回率,我们提出了一个具有两个阶段的尺度补偿锚匹配策略。 第一阶段遵循当前的锚匹配方法,但调整更合理的阈值。 第二阶段通过比例补偿确保每个面部比例都匹配足够的锚点

如图(d)所示,如果想要检测到小尺度人脸,相对于大尺度人脸,那么就注定会有更多的小尺度、不包含人脸的背景锚框。

例如,在我们的规模公平框架中,超过75%的负锚来自最低的conv3 3层,用于检测小面。 在本文中,我们为最低检测层提供了最大背景标签,以降低小脸的误报率。

以上几点是论文所提出的问题,也就是论文创新点所重点关注和改善的几个地方。

&Method(s)

整体框架网络

在这里插入图片描述

  • Base Convolutional Layers 这个方框内用的是VGG16的框架,不过只取到了Pool5层;
  • Extra Convolutioal Layers 原本应该是VGG16的全连接层fc6、fc7被换成了卷积层,当然我们知道,通过设计卷积层卷积核大小与前一层特征图相等,也能实现全连接的功能;同时后面也额外加上了4层卷积层;
  • 左下角的Detection Layers就是一个抽象的概念了,其实就是Base、Extra方框内的一些卷积层被指派为检测层了;
  • Normalization Layers:这个图上没标,其实就是对Base方框里被选中的几个检测层进行了L2 normalization;
  • Predicted Convolutional Layers 就是预测层了,其中每个卷积层分别承担着不同尺度的人脸的检测任务,分别预测锚框的偏移量和所属类别的置信率;论文所声称的适用于不同尺度人脸的功能就是这样实现的了;
  • Max-out BG label:这个就是专门为了Con3_3而设计的了,目的是筛选出大部分的背景锚框;
  • Multi-task Loss Layers:就是损失层,分类用softmax loss,回归用smooth L1 loss。

Scale-equitable framework(规模公平框架)

Q:怎么能让网络适用于不同尺度的人脸?

A:既然不同尺度的人脸在同一层上的特征区域不同,那就在不同层上分别进行检测就是了。
首先看下表:(6个检测分支对应的空间stride、anchor以及感受野(RF)的大小)
在这里插入图片描述
上表所表示的网络之所以如此设计,主要考虑下列两个因素:

在这里插入图片描述

  • 有效感受野
    只看图(a),对于整个黑色方框来说,其整体是一个理论上的能够对最终输出产生影响的感受野,也就是大家通常意义上所理解的感受野,真~感受野,那么有效感受野就是图中心的白色点点,这些是实际上能够对最终输出产生影响的区域,也就是所谓的有效感受野,真~真~感受野。因此,在图(b)中,黑色虚线框是正常的感受野,蓝色虚线圆就是我们的有效感受野,而红色实线框就应该是我们的锚框的大小;

  • 等比例间距原则(Equal-proportion interval principle)
    看图(c ),对于锚框是n×n的,固定锚框之间的间隔是n/4,而n/4也正式对应的这一layer的stride size。于是这就成了我们的等比例间距原则:不同尺度的锚框在图像上都有相等的密度,从而使得不同尺度的脸能够大体上匹配到相等数量的锚框。

Scale compensation anchor matching strategy(尺度补偿锚框匹配策略)

在这里插入图片描述
如上图所示,平均匹配到的anchor数量约为3,太少;与anchor size差距较远的人脸匹配成功的数量尤其少(tiny face + outer face)。为了改善这种状况,主要采取了下列两种手段:

  • 将原有的匹配阈值由0.5降到0.35,以此来增加更多的成功匹配。 (但该策略只能提高平均匹配数量,但不能改善tiny face和outer face。)
  • 选出所有IOU大于0.1得到anchor并进行排序,从中选TOP N。(N为平均成功匹配数量。)

处理后的效果如下:
在这里插入图片描述

Max-out background label(“最大者胜”的背景标签)

下表是一张640x640图片上所能产生的不同size的anchor的数量,显然尺寸小的anchor占了绝大比例,这也是false positive的主要来源。
在这里插入图片描述
为了减少小目标所产生的false positive,文中采用了下面的方法来加强对小目标的区分:
在这里插入图片描述
在conv3_3层(小目标产生最多的层),输出通道数为,其中 ,而其它所有检测层的输出通道数均为(2+4),表示二分类和4个bounding box坐标。 中包含了1个正样本的概率以及个负样本概率,我们从负样本概率中选出最大值与正样本概率一起完成之后的softmax二分类。 这种看似多余的操作实际上是通过提高分类难度来加强分类能力。

&Evaluation

&Conclusion

文章的第一个scale创新就是ssd中就有的东西。人脸尺度修正策略简单的说就是通过小阈值来提高召回率,然后再辅之一些后处理。Max-out的策略,不像OHEM,focal loss那样创新性高。

参考

推荐

发布了52 篇原创文章 · 获赞 50 · 访问量 3万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 技术黑板 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览