人脸框检测模型SSH论文学习笔记

人脸框检测模型SSH论文学习笔记

原论文:《M Najibi, P Samangouei R Chellappa, et al. SSH: Single Stage Headless Face Detector[C]. 2017 IEEE International Conference on Computer Vision(ICCV), Venice, 2017, pp. 4885-4894.》
代码https://github.com/mahyarnajibi/SSH

一、模型结构

骨干网络:VGG-16

1. 结构图如下:

人脸框检测模型SSH论文学习笔记

  • 它使用了骨干网络的Conv4_3Conv5_3输出的特征图。
  • 使用三个检测器模块(Detection Module) M1M_1M2M_2 以及 M3M_3 检测人脸框的位置。这三个模块分别负责的 人脸框尺寸为:小型、中型及大型
  • 每一个检测器模块负责两个任务:分类是否是人脸回归人脸框
  • 这三个检测器的卷积stride分别为 8、16、32
  • 对于第 ii 个检测器 MiM_i,设给它输入的特征图的宽高为 Wi×HiW_i \times H_i,则它所拥有的 anchor 一共是 Wi×Hi×KiW_i \times H_i \times K_i 个;anchor的宽高比为 11,尺寸为:{Si1,Si2,...,SiKi}\{S_i^1,S_i^2,...,S_i^{K_i}\}。(论文中的实验表明,设置多个宽高比对检测的影响并不大
  • 在最后应用的推理中,使用非极大值抑制(Non-Maximum Suppression, NMS)处理所有检测器模块的输出,以获取最终的检测结果

2. 主要结构说明:

2.1 降维(Dim Red)

使用 1×11 \times 1512 的通道减少到 128

2.2 双线性插值(Bilinear Upsampling)

通过上采样的办法,将Conv5_3的特征图的尺寸与Conv4_3保持一致。

2.3 按位相加(Eltwise Sum)

即将具有相同尺寸与相同通道数的两个特征图按照位级别相加。

2.4 检测器模块(Detection Module)

2.4.1 检测器模块的结构如下:

人脸框检测模型SSH论文学习笔记

2.4.2 背景模块(Context Module)

人脸框检测模型SSH论文学习笔记
以这种方式对背景(Context)进行建模,会成比例地增加与相应层步幅的感受野,并因此增加每个检测模块的目标数量。(原文:Modeling the context in this way increases the receptive field proportional to the stride of the corresponding layer and as a result the target scale of each detection module.)

论文想原本使用的是 5×55\times57×77\times7 卷积。
为了减少参数,论文使用两个 3×33\times3 代替 5×55\times5 卷积,用三个 3×33\times3 代替 7×77\times7 卷积。

二、损失函数

Loss=k1NkciAklc(pi,gi)+λk1NkriAkI(gi=1)lr(bi,ti)Loss = \sum_k \frac{1}{N_k^c} \sum_{i \in \mathcal{A}_k} l_c(p_i,g_i) + \lambda \sum_k \frac{1}{N_k^r} \sum_{i \in \mathcal{A}_k} \mathcal{I}(g_i=1)l_r(b_i,t_i)

其中:

  • lcl_c分类的损失函数,主要作用是区分一个anchor是否覆盖了一个人脸;kk 是检测器模块的序号;Ak\mathcal{A}_k 指的是第 kk 个检测器的anchor的集合;pip_i 表示在第 kk 个检测器的第 iianchor所预测的类别;gig_i 表示与 pip_i 相关的Ground-Truth正负样例标签;NkcN_k^c 是第 kk 个检测器的anchor的数量;
  • lrl_r边界框回归损失函数,主要作用是根据Ground-Truth边界框调整anchor的位置及尺寸;对于第 iianchorbib_i 指的是待预测的维度与尺度变换的四个值,tit_i 是相应的目标Ground-Truth边界框;I()\mathcal{I}(\cdot)为示性函数,用来保证回归损失函数仅在有人脸的正样例上运行;NkrN_k^r 的计算公式为:
    Nkr=iAkI(gi=1)N_k^r=\sum_{i \in \mathcal{A}_k}\mathcal{I}(g_i=1)

当一个anchor与某个Ground-Truth边界框的 IoUIoU 大于阈值0.5时,才被分配(assigned)给相应的Ground-Truth边界框;(即含有人脸)
当一个anchor与任意Ground-Truth边界框的 IoUIoU 均小于阈值0.3时,被分配(assigned)为负样例。

三、OHEM(Online Hard Negative and Positive Mining)

对每一个检测器,考虑到相应迭代中的网络的权重,选择具有 最大得分的负样例 与具有 最小得分的正样例 作为 mini-batch
保证正样例在mini-batch中占有25%的份额。

四、训练

使用带有冲量(momentatum)与权重衰减(weight decay)的随机梯度下降法。


参考材料