论文:SSH: Single Stage Headless Face Detector
论文链接:https://arxiv.org/abs/1708.03979
代码链接:https://github.com/mahyarnajibi/SSH
这篇ICCV2017关于人脸检测的文章提出SSH(single stage headless)算法有效提高了人脸检测的效果,主要改进点包括多尺度检测、引入更多的上下文信息、损失函数的分组传递等,思想比较简洁,效果也还不错。
SSH的网络结构如Figure2所示,整体设计是在VGG的基础上进行了改进,改进主要考虑2点:1、尺度不变性(scale-invariant)。输入图像中待检测的人脸尺度变化范围是比较大的,SSH需要在一个网络中同时检测不同尺度的人脸。2、引入更多的上下文信息(context)。更多的上下文信息对于人脸检测而言无疑是有帮助的。
尺度不变性是通过不同尺度的检测层实现,类似SSD、FPN等目标检测算法。具体而言一共有3个尺度的检测模块,检测模块(detection module)M1、M2、M3的stride分别是8、16、32,从图中也可以看出M1主要用来检测小尺寸人脸,M2主要用来检测中等尺寸人脸,M3主要用来检测大尺寸人脸。每个检测模块都包括分类和回归两个支路,用来输出人脸检测框。检测模块M2是直接接在VGG的conv5_3层之后,而检测模块M1的输入包含了较多的特征融合操作和维度缩减操作(dim red模块,将输入通道从512缩减为128,从而减少计算量)。
引入更多的上下文信息是通过在检测模块中嵌入context module实现的,context module的结构如Figure4所示,这部分通过扩大感受野达到引入更多上下文信息的目的,有点类似图像分割中常用的dilated