2016-ECCV-SSD

整理过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,速度快到不行,要拜读一下)。
2016-ECCV-SSD

上面这张图,可以看出SSD在速度和mAP两方面还是trade off的,并且目标检测就两大块,R-CNN系列的Two-Stage以及YOLO和SSD系列的Single Shot。

方法概括

  1. 从YOLO中继承了将detection转换为regression的思路,实现end-to-end检测
  2. 基于Faster R-CNN中的anchor box,提出相似的default box
  3. 加入基于SPPNet的检测方式,在多个大小不同的feature map上同时进行softmax分类和位置回归。(这也是论文最核心的贡献)

方法细节

Architecture

2016-ECCV-SSD
之前YOLO在卷积层后接全连接层,检测时只利用了最高层feature map,而SSD采用金字塔结构进行检测,检测时利用了6个大小不同的feature maps(上图架构和代码有些差别),在多个feature maps上进行分类和回归。

Default box

SSD中default box和Faster R-CNN中的anchor box非常类似,具体介绍见一文读懂Faster R-CNN,不过有一些不同之处:

  1. Faster R-CNN中设置9个不同尺寸大小和长宽比的anchor boxs,SSD中是6个,有部分feature maps是4个,至于为什么,可能是实验得出。

  2. SSD中由于涉及多个feature map,因此每个feature map对应的default box的min_size和max_size由以下公式决定(m是feature map数量,m=6):


    sk=smin+smaxsminm1(k1),k[1,m]

    在论文中,smin=0.2smax=0.9

Training

Loss:

SSD loss和Faster R-CNN loss其实是一样的,分为classfication loss和location loss两部,具体介绍见一文读懂Faster R-CNN
2016-ECCV-SSD

2016-ECCV-SSD
Matching strategy:

在训练时,ground truth boxes与default boxes按照如下方式进行配对:

  1. 找到与每一个ground truth box有最大IoU的default box,保证一一配对
  2. 剩余没有配对的default box中,选择与任意ground truth box的IoU大于0.5的default box作为正样本
  3. 配对到的就是positive,没有配对到的就是negative

Hard negative mining:

由于负样本很多,需要去掉一部分负样本,整张图经过网络,根据confidence score排序default box,选择confidence score高的box进行训练,这样筛选出来的负样本也会更难识别,并且最终正负样本比例为1:3

Data augmentation:

数据增强,即没一张训练图像,随机的进行如下几种选择:

  1. 使用原始的图像
  2. crop图像上的一部分,与物体之间最小的IoU为:0.1,0.3,0.5,0.7,0.9
  3. 随机crop

方法的局限性

  1. 需要人工设置default box的min_size,max_size和aspect_ratio值,调参依靠经验
  2. 小目标检测一般,作者认为SSD使用低层feature map去检测小目标,存在提取不充分的问题