神经网络: SSD目标检测网络解析

一、SSD(Single Shot MultiBox Detector)简介

       SSD是2016年ICCV的一篇论文,是目前为止主要的目标检测算法。

       算法的主要优点:

  • 速度比Faster-Rcnn快,精度比Yolo高。在兼顾速度的同时,精度也很高。
  • 为提高准确率在不同特征图下面(不同尺度下面)进行结果的预测,特征金字塔预测方式。
  • 采用了END-TO-END 的训练方式,即使分辨率比较小的图片,分类结果也很准确。

 

二、SSD效果好的原因

       虽然SSD算法已经出来两年了,但至今仍目标检测算法中应用最广泛的算法。SSD效果好主要由三点原因:1,多尺度;2,设置了多种高宽比的 Default Box、  3,数据增强。

 

       1、多尺度

        SSD网络结构:

神经网络: SSD目标检测网络解析_第1张图片

        由SSD网络结构可以看出,SSD使用了6个不同特征图检测不同尺度的目标。低层预测小目标,高层预测大目标。

神经网络: SSD目标检测网络解析_第2张图片

        作者在论文中通过实验验证,采用多个特征图做检测能够大大提高检测精度,从上述表格可以看出来,采用6个特征图检测的时候, mAP准确度为74.3%;而只采用 conv7 做预测,mAP准确度只有62.4%。

      2、 设置了多种宽高比的 Defalut Box

神经网络: SSD目标检测网络解析_第3张图片

     在特征图的每个像素点处,生成不同宽高比的 Default Box (Anchor Box),论文中设置的宽高比为{1,2,3,1/2,1/3}。假设每个像素点有 K 个 Default Box, 需要对每一个 Default Box 进行分类和回归,其中用于分类的卷积核个数 C*K(C表示类别数),回归的卷积核个数为 4*K。 SSD300中 Default Box 的数量:(38*38*4 + 19*19*6 +5*5*6 +3*3*4 + 1*1*4)= 8732

      为什么设置Default Box?

      理论感受野和有效感受野

       简单的说明理论感受野和有效感受野,详细参看论文:Understanding the Effective Receptive Field in Deep Convolutional Neural Networks。

        影响某个神经元输出的输入区域就是理论感受野,也就是我们平时说的感受野,但该输入区域的每个像素点对输出的重要性不同,越靠近中心的像素点影响越大,呈高斯分布,也就是说只有中间的一小部分区域对最后的输出有重要的影响,这个中间的一小部分区域就是有效感受野

神经网络: SSD目标检测网络解析_第4张图片

       图a中,整个黑色区域就是理论感受野(TRF),中间呈高斯分布的白色点云区域就是有效感受野(ERF);图b中,图中黑色虚线区域对应理论感受野,蓝色虚线部分对应有效感受野,红色实线框是Anchor大小,他比理论感受野小很多,但是能够匹配有效感受野。

        每一层的Default Box 设置了每一层特征图的有效感受野,然后使用这些Default Box 与 Ground Truth进行匹配来确定特征图上每个像素点的实际的有效感受野的Label(包含分类Label和回归Label),分别用于分类和 Boundingbox 回归。说的简单点,Default Box就是用来确定特征图上每个像素点实际的有效感受野的Label。

        了解Default Box 的作用后就比较容易理解SSD的本质:SSD对6个特征图上所有的Default Box进行分类和回归,其实就是对6个特征图对应的实际的有效感受野进行分类和回归,说得更加通俗一点,这些有效感受野其实就是原图中的滑动窗口,所以SSD本质上就是对所有滑动窗口进行分类和回归。这些滑动窗口图像其实就是SSD实际的训练样本。知道SSD的原理后我们发现深度学习的目标检测方法本质与传统的目标检测方法是相同的,都是对滑动窗口的分类。 

        为什么要设置多种宽高比的Default Box?

        我们知道Default Box 其实就是SSD 的实际训练样本,如果只设置宽高比为1 的Default Box,最多只有1个 Default Box 匹配到,如果设置更多的宽高比的Default Box,将会有更多的Default Box匹配到,就也就是相当于有更多的训练样本参与训练,模型训练效果越好,检测精度越高。

        

神经网络: SSD目标检测网络解析_第5张图片

 

       作者实验表明:增加宽高比为1/2,2,1/3,3的Default Box,mAP从71.6%提高到了74.3%。

 

      3、数据增强

      SSD中使用了两种数据增强的方式:

     放大操作: 随机crop,patch与任意一个目标的IOU为0.1,0.3,0.5,0.7,0.9,每个patch的大小为原图大小的[0.1,1],宽高比在1/2到2之间。能够生成更多的尺度较大的目标。

    缩小操作: 首先创建16倍原图大小的画布,然后将原图放置其中,然后随机crop,能够生成更多尺度较小的目标。

神经网络: SSD目标检测网络解析_第6张图片

神经网络: SSD目标检测网络解析_第7张图片

       作者实验表明,增加了数据增强后,mAP从65.5提高到了74.3。

 

参考链接:

https://blog.csdn.net/qianqing13579/article/details/82106664

https://blog.csdn.net/donkey_1993/article/details/81460386

https://www.cnblogs.com/MY0213/p/9858383.html

https://blog.csdn.net/u014380165/article/details/79332528

 

 

 

 

 

 

你可能感兴趣的:(深度学习)