SSD¶
Note
SSD stands for single shot multibox detector,是一个简单、快速且被广泛使用的目标检测模型。
模型¶
如下图所示,SSD主要由一个基础网络块和若干多尺度特征块串联而成。
基础网络用于从输入图像中提取特征,一般使用深度卷积神经网络,比如说 ResNet。
基础网络输出的高与宽较大,这样基于该特征图生成的锚框数量较多,可用于检测尺寸小的物体,接下来每一个多尺度特征块都会使高宽变小,适用于检测尺寸更大的物体。
类别预测层¶
设目标类别的数量为 \(q\),这样锚框就有 \(q + 1\) 个类别,其中0类是背景。
设特征图的高和宽分别为 \(h\) 和 \(w\),若以每个点为中心生成 \(a\) 个锚框,共 \(hwa\) 个锚框,若使用全连接层作为输出,很容易参数过多。
因此我们使用保持高和宽不变的卷积层,使用卷积层的通道数来输出预测的类别,共 \(a(q + 1)\) 个通道。
边界框预测层¶
与类别预测层类似,不同的是,这里需要为每个锚框预测4个偏移量,而不是 \(q + 1\) 个类别。