1.ssd是单次预测,相比计算损失再预测的双阶段,ssd上的是单次完成,速度更快。相比于rcnn系列的先产生先验框进行修正得到候选框再进行分类与预测,ssd直接产生先验框的坐标值进行分类和计算损失。
2.multibox,设置了不同尺寸(38×38,19×19,10×10,5×5,3×3,1×1)的特征图,满足了不同尺度的目标的检测。
3..ssd的模型框架。backbone采用vgg16,并且在这基础上改进,FC6和FC7两个全连接层被换成了卷积层,同时为了提取更高语义的特征,在VGG16后又增加了多个卷积层,最后利用特定几层得到的特征图进行卷积运算得到分类和回归的预测结果。
4.长宽比采用了a = 1 , 2 , 3 , 1 / 2 , 1 / 3 五种比例。
5.对正负样本的操作
设置一个阈值(0.5),大于这个阈值的框为正样本,其它框作为负样本鉴定为背景。但是负样本还是远大于正样本,因此采用了难样本挖掘。难样本挖掘的具体操作是计算出所以负样本的损失进行排序,选取损失较大的TOP-K个负样本,这里的K设为正样本数量的3倍。在Faster-RCNN中是通过限制正负样本的数量来保证样本均衡,SDD则采用了限制正负样本的比例。对于留下的预测框执行NMS算法,过滤掉那些重叠度较大的预测框。最后剩余的预测框就是检测结果了。
6.使用了光学变换和几何变换进行数据增强。
7.损失值的计算分为了类别损失与位置损失
Lconf(x,c)为类别损失,公式表示如下
如果需要预测n个类别则需要n+1个输出,多的一个是背景。
Lloc(x,l,g)为位置损失,公式表示如下:
计算分类置信损失的时候,SSD采用交叉熵损失;计算定位损失时采用Smoth-L1损失。