SSD:Single Shot MultiBox Detector
wei liu 在ECCV2016上发表,对于300*300网络使用Nvidia Titan X在VOC2007测试集上达到74.3%map以及59FPS。
Faster RCNN存在的问题
1。对小目标检测效果很差,只是在一个特征层预测,特征层已经被抽样到一个非常高的层次,细节信息保留就越少,比较抽象。
2。模型大,检测速度较慢,关键两步走,rpn和fasterrcnn共进行两次预测,twostage网络的通病。
SSD
VGG16
对应VGG16中conv5_3,maxpooling前,
预测特征层一:对应vgg16conv4_3,将pool5由2*2-s2改成3*3-s1,特征矩阵高和宽不会改变和conv5_3保持一致。
预测特征层二:经过3*3*1024conv和1*1*1024
预测特征层三:经过1*1*256和3*3*512-s2
预测特征层四:经过1*1*128和3*3*256-s2
预测特征层五:经过1*1*128和3*3*256-s1
预测特征层六:经过1*1*128和3*3*256-s1
六个特征层预测不同目标,在第一个检测相对较小的目标,大目标相反
8*8保留细节更多一些(猫),4*4 (狗)
Default Box的scal以及aspect设定
较大和较小的物体占少数,中等物体占多数
六个特征层先验框的个数为8732个,不同特征层上进行不同尺度预测所得的box基本可覆盖原图像
predictor的实现
对m*n*p的特征层都使用3*3*p的卷积核层进行预测
对每个box生成c(包括背景类别)个类别分数和4个坐标偏移量(在fasterrcnn中针对每个类别分4个回归参数),即(c+4)*kmn个
正负样本的选取
正样本
1.对每个gtbox匹配每个与它iou最大的defaultbox
2.对任意的defaultbox只要与任何一个gtbox的iou值大于0.5也认为是正样本
负样本
鉴于正样本个数有限,样本个数极不平衡,对于所有剩下的样本计算confidence loss选取排在前面的负样本,正负样本比例1:3
损失计算:类别损失和定位损失