ECCV2016, 紧接着CVPR16的YOLOv1出的, 在速度不低于YOLOv1的基础上, 精度提升了很多。
主要的改进点:
1. 多尺度检测, 这点其实在后面FPN等网络种都验证了, 多尺度的feature map检测对精度提升很关键。低分辨率的feature map检测大物体, 高分辨率的检测小物体。SSD300共用了6个feature map。
2. 引入RPN的anchor机制。在YOLOv1中, 整幅图化作7*7网格, 每个网格只有两个bbox,一个才98个boxes。这里每个像素有6个anchors, 具体的,SSD300中一共预测:4x38x38 + 6x(19x19 + 10x10 + 5x5) +4x3x3 + 4x1x1 = 8732个boxes, 相当稠密。
3. 将YOLO后面的fc层改为卷积层。 fc参数太多了。
训练:
ground truth box和anchor的匹配:对每个gt, 将它分配给IOU最大的anchor;此外还分配给任何IOU大于一定阈值(0.5)的anchors。如果匹配失败, 就是负样本。这样anchors和gt之间是多对多的匹配关系。