人脸框检测模型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. 结构图如下:

在这里插入图片描述

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

2. 主要结构说明:

2.1 降维(Dim Red)

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

2.2 双线性插值(Bilinear Upsampling)

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

2.3 按位相加(Eltwise Sum)

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

2.4 检测器模块(Detection Module)

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

Detection Module

2.4.2 背景模块(Context Module)

Context Module
以这种方式对背景(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 × 5 5\times5 5×5 7 × 7 7\times7 7×7 卷积。
为了减少参数,论文使用两个 3 × 3 3\times3 3×3 代替 5 × 5 5\times5 5×5 卷积,用三个 3 × 3 3\times3 3×3 代替 7 × 7 7\times7 7×7 卷积。

二、损失函数

L o s s = ∑ k 1 N k c ∑ i ∈ A k l c ( p i , g i ) + λ ∑ k 1 N k r ∑ i ∈ A k I ( g i = 1 ) l r ( b i , t i ) 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) Loss=kNkc1iAklc(pi,gi)+λkNkr1iAkI(gi=1)lr(bi,ti)

其中:

  • l c l_c lc分类的损失函数,主要作用是区分一个anchor是否覆盖了一个人脸; k k k 是检测器模块的序号; A k \mathcal{A}_k Ak 指的是第 k k k 个检测器的anchor的集合; p i p_i pi 表示在第 k k k 个检测器的第 i i ianchor所预测的类别; g i g_i gi 表示与 p i p_i pi 相关的Ground-Truth正负样例标签; N k c N_k^c Nkc 是第 k k k 个检测器的anchor的数量;
  • l r l_r lr边界框回归损失函数,主要作用是根据Ground-Truth边界框调整anchor的位置及尺寸;对于第 i i ianchor b i b_i bi 指的是待预测的维度与尺度变换的四个值, t i t_i ti 是相应的目标Ground-Truth边界框; I ( ⋅ ) \mathcal{I}(\cdot) I()为示性函数,用来保证回归损失函数仅在有人脸的正样例上运行; N k r N_k^r Nkr 的计算公式为:
    N k r = ∑ i ∈ A k I ( g i = 1 ) N_k^r=\sum_{i \in \mathcal{A}_k}\mathcal{I}(g_i=1) Nkr=iAkI(gi=1)

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

三、OHEM(Online Hard Negative and Positive Mining)

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

四、训练

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


参考材料

猜你喜欢

转载自blog.csdn.net/qq_29695701/article/details/105354067
今日推荐