笔记二 SSD(Single Shot MultiBox Detector)

一.网络结构

笔记二 SSD(Single Shot MultiBox Detector)

通过上图与YOLO网络结构对比,可以发现SSD的主要特征:

   (1)SSD采用卷积进行提取检测                         YOLO采用全连接层

(2)SSD采用多尺度feature map进行检测          YOLO单尺度

(3)SSD每个单元采用多个先验框(defult box),预测的边界框以先验框为基准      YOLO直接每个单元预测多边界框

 (3)同:端到端的one-stage方法,使用CNN提取特征

注:先验框

以下每个单元设置4个先验框

笔记二 SSD(Single Shot MultiBox Detector)

二.SSD流程:

1.模型输入size 300x300  (也可512x512,最后新增一个卷积层)

2.VGG16模型做为基础网络进行特征提取,借鉴DeepLab-LargeFOV,将VGG16全连接层fc6,fc7-->3x3conv6和1x1conv7

为配合以上变化,采用Atrous Algorithm,扩展卷积或带孔卷积,指数级扩大卷积视野,Conv6采用3x3,扩张率(dilation rate)=6。然后移除dropout层和fc8层。

3.从上图可以看到通过卷积后生成的feature map大小(38x38),(19x19),(10x10),(5x5),(3x3),(1x1)

4.然后对生成的feature map上的每个单元设置先验框,上图先验框个数8732=38x38x4+19x19x6+10x10x6+5x5x6+3x3x4+1x1x4

由于每个先验框都产生一个边界框,所以预测的边界框个数为8732,所以属于密集抽样

5.得到边界框后,在通过3x3卷积得到类别置信度和边界框位置。然后将这些数据丢到NMS,选出最合适的边框。

注:扩展卷积

3x3conv    dilation rate=2      dilation rate=4

笔记二 SSD(Single Shot MultiBox Detector)

三.Train技术

1.先验框匹配

YOLO:Truth中心落在那个单元格,该单元格与IOUmax边界框负责预测

SSD:1。对于每个Truth找到一个IOUmax先验框匹配(匹配为正样本,不匹配负样本)

           2。对于剩余未匹配先验框,如果IOU>阈值(eg.0.5)匹配,IOU<阈值不匹配

          必须先满足第一条,才能执行第二条,即使IOU<阈值,因为必须保证每个Truth都有先验框

2.损失函数

笔记二 SSD(Single Shot MultiBox Detector)笔记二 SSD(Single Shot MultiBox Detector)

3.数据扩增

扩增数据,提升性能:水平翻转,随机裁剪加颜色扭曲,随机采集块域(获取小目标训练样本)

四.预测过程

1.对于预测框,通过类别置信度和置信度过滤

笔记二 SSD(Single Shot MultiBox Detector)

2.对剩下的预测框进行解码

笔记二 SSD(Single Shot MultiBox Detector)

五 代码

SSD_tensorflow代码:https://github.com/balancap/SSD-tensorflow

详解:https://blog.csdn.net/qq1483661204/article/details/79776065

 

以上公式解释截图截取https://blog.csdn.net/xiaohu2022/article/details/79833786博客