整理过R-CNN,Fast R-CNN,Faster R-CNN,Mask R-CNN,YOLO,今天组会汇报了目标检测另一主要的框架SSD,原本打算像之前一样,写一些论文要点,后发现几篇优质博客,写的极为透彻,相比之下,发现自己对paper的理解并没有那么透彻,还需努力,特别要加强动手实践能力,只有结合代码才能知道细节。
相关链接
Paper: http://arxiv.org/abs/1512.02325
Code: https://github.com/weiliu89/caffe/tree/ssd
Slides:http://www.cs.unc.edu/~wliu/papers/ssd_eccv2016_slide.pdf
相关博文推荐:
一文读懂Faster R-CNN(结合论文多看几遍,收获颇多)
Single Shot MultiBox Detector(SSD)
背景介绍
SSD是Wei Liu在ECCV2016年提出的一种目标检测算法,提出之时,相比Faster R-CNN有明显的速度优势,相比YOLO又有明显的mAP优势,但是现在已经被一系列Faster R-CNN改进版以及YOLO v2,v3超越了(上个月刚出的YOLO v3,速度快到不行,要拜读一下)。
上面这张图,可以看出SSD在速度和mAP两方面还是trade off的,并且目标检测就两大块,R-CNN系列的Two-Stage以及YOLO和SSD系列的Single Shot。
方法概括
- 从YOLO中继承了将detection转换为regression的思路,实现end-to-end检测
- 基于Faster R-CNN中的anchor box,提出相似的default box
- 加入基于SPPNet的检测方式,在多个大小不同的feature map上同时进行softmax分类和位置回归。(这也是论文最核心的贡献)
方法细节
Architecture
之前YOLO在卷积层后接全连接层,检测时只利用了最高层feature map,而SSD采用金字塔结构进行检测,检测时利用了6个大小不同的feature maps(上图架构和代码有些差别),在多个feature maps上进行分类和回归。
Default box
SSD中default box和Faster R-CNN中的anchor box非常类似,具体介绍见一文读懂Faster R-CNN,不过有一些不同之处:
Faster R-CNN中设置9个不同尺寸大小和长宽比的anchor boxs,SSD中是6个,有部分feature maps是4个,至于为什么,可能是实验得出。
SSD中由于涉及多个feature map,因此每个feature map对应的default box的min_size和max_size由以下公式决定(m是feature map数量,m=6):