当前位置:   article > 正文

SSD简述_ssd 实例分割

ssd 实例分割

引言

  本文提出了SSD,它不对边界框假设的像素或特征进行重采样,并且与其他方法有一样精确度。这对高精度检测在速度上有显著提高(在VOC 2007测试中,59fps和 74.3%的mAP,与Faster R-CNN 7FPS和 73.2%的mAP或者YOLO 45 FPS和63.4%的mAP相比)。速度的根本改进来自消除边界框提出和随后的像素或特征重采样阶段。改进包括使用小型卷积滤波器应用于网络后期的多个特征映射中,以执行多尺度检测,通过这些修改,特别是使用多层进行不同尺度的预测,使得可以使用相对较低的分辨率输入实现高精度,进一步提高检测速度。

相关工作

  在图像中有两种建立的用于目标检测的方法,一种基于滑动窗口,另一种基于区域建议分类。然而,在R-CNN结合选择性搜索区域建议和基于后分类的卷积网络带来的显著改进后,区域建议目标检测方法变得流行。最初的R-CNN方法已经以各种方法进行了改进。第一套方法提高了后分类的质量和速度,因为它需要对成千上万的裁剪图像进行分类,这是昂贵和耗时的。SPPNet显著加速了原有的R-CNN方法。它引入了一个空间金字塔池化层,该层对区域大小和尺度更鲁棒,并允许分类层重用多个图像分辨率下生产的特征映射上计算的特征。Fast R-CNN扩展了SPPNet,使得它可以通过最小化置信度和边界框回归的损失来对所有层进行端到端的微调,最初在MultiBox中引入学习目标。第二套方法使用深度神经网络提高了建议生成的质量。在MultiBox中,基于低级图像特征的选择性搜索区域建议直接被单独的深度神经网络生成的建议所取代。这进一步提高了检测精度。但是导致了一些复杂的设置,需要训练两个具有依赖关系的神经网络。Faster R-CNN将选择性搜索提出替换为区域建议网络(RPN)学习到的区域建议,并引入了一种方法,通过交替两个网络之间的微调共享卷积层和预测层将RPN和Fast R-CNN结合在一起。通过这种方式,使用区域建议池化中级特征,并且最后的分类步骤代价较低。SSD与Faster R-CNN中的区域提出网络(RPN)非常相似,因为也使用一组固定的边界框进行预测,类似于RPN中的锚边界框。但不是使用这些来池化特征并评估另一个分类器,而是为每一个目标类别在每个边界框中同时生成一个分数。因此,该方法避免了将 RPN与Fast R-CNN合并的复杂性,并且更容易训练,更快且更直接地集成到其他任务中。

方法

  SSD方法基于前馈卷积网络,该网络产生固定大小的边界框集合,并对这些边界框中存在的目标类别实例进行评分,然后进行非极大值抑制步骤来产生最终的检测结果。早期的网络层基于用于高质量图像分类的标准架构(在任何分类层之前被截断)。然后,SSD将辅助结构添加到网络中以产生具有以下关键特征的检测:
  用于检测的多尺度特征映射:将卷积特征层添加到截取的基础网络的末端。这些层在尺度上逐渐减小,并允许在多个尺度上对检测结果进行预测。SSD使用6个不同特征图检测不同尺度的目标。低层预测小目标,高层预测大目标。
  采用卷积做检测:每个添加的特征层(或者任选的来自基础网络的现有特征层)可以使用一组卷积滤波器产生固定的检测预测集合。这些在图2的SSD架构的上部指出。对于具有 p 通道的大小为 mn 的特征层,潜在检测的预测参数的基本元素是 33p 的小核得到某个类别的分数,或者相对默认框坐标的形状偏移。在应用卷积核的 MN 的每个位置,它会产生一个输出值。边界框偏移输出值是相对每个特征映射位置的相对默认框位置来度量的。
在这里插入图片描述
  默认边界框和长宽比:对于网络顶部的多个特征映射,SSD将一组默认边界框与每个特征映射单元相关联。默认边界框以卷积的方式平铺特征映射,以便每个边界框相对于其对应单元的位置是固定的。在每个特征映射单元中,预测单元中相对于默认边界框形状的偏移量,以及指出每个边界框中存在的每个类别实例的类别分数。具体而言,对于给定位置处的 k 个边界框中的每一个,计算 c 个类别分类和相对于原始默认边界框形状的 4个偏移量。这导致在特征映射中的每个位置周围应用总共(c+4) k 个滤波器,对于 mn 的特征映射取得(c+4)kmn个输出。
  训练SSD和训练使用区域提出的典型检测器之间的关键区别在于,需要将真实信息分配给固定的检测器输出集合中的特定输出。
  匹配策略:在训练过程中,需要确定哪些默认边界框对应实际边界框的检测,并相应的训练网络。对于每个实际边界框,从默认边界框中选择,这些框会在位置,长宽比和尺度上变化。首先将每个实际边界框与具有最好的IOU的边界框相匹配。与MultiBox不同的是,SSD将默认边界框匹配到IOU高于阈值0.5的任何实际边界框,这简化了学习问题,允许网络为多个重叠的默认边界框预测高分,而不是要求它只挑选具有最大重叠的一个边界框。
  训练目标函数:SSD训练目标函数来自于MultiBox目标,但扩展到处理多个目标类别,设 Xij = {1,0} 是第 i 个默认边界框匹配到类别 p 的第 j 个实际边界框的指示器。在上面的匹配策略中,有sigmai Xij >=1 。总体目标损失函数是定位损失(loc)和置信度损失(conf)的加权和:
在这里插入图片描述
  其中N是匹配的默认边界框的数量,如果N=0,则将损失设为0。定位损失是预测框l与真实框g参数之间的 Smooth L1损失:
在这里插入图片描述
  置信度损失是在多类别置信度(c)上的Softmax损失:
在这里插入图片描述
  为默认边界框选择尺度和长宽比:为了处理不同的目标尺度,一些方法(《Overfeat: Integrated
recognition, localization and detection using convolutional networks》、《Spatial pyramid pooling in deep convolutional networks for visual recognition》)建议处理不同尺寸的图像,然后将结果合并。然而,通过利用单个网络中几个不同层的特征映射进行预测,作者认为可以模拟相同的效果,同时还可以跨所有目标尺度共享参数。以前的工作(《Fully convolutional networks for semantic segmentation》、《Hypercolumns for object segmentation and fine-grained localization》)已经表明,使用底层的特征映射可以提高语义分割的质量,因为底层会捕获输入目标的更多细节。同样,(《Looking wider to see better》)表明,从特征映射上添加全局上下文池化可以有助于平滑分割结果,受这些方法的启发,本文使用较低和较高的特征映射进行检测。图1显示了框架中使用的两个示例性特征映射(8
8 和 4*4)。
在这里插入图片描述
  难例挖掘:在匹配步骤之后,大多数默认边界框为负例,尤其是当可能的默认边界框数量较多时。这在正的训练实例和负的训练实例之间引入了显著的不平衡。本文不使用所有负例,而是使用每个默认边界框的最高置信度损失来排序他们,并挑选最高的置信度,以便负例和正例之间的比例至多为3:1,实验发现这会导致更快的优化和更稳定的训练。
  数据增强:为了使模型对各种输入目标大小和形状更鲁棒,每张训练图像都是通过以下选项之一进行随机采样的:
  ①使用整个原始输入图像;
  ②采样一个图像块,使得目标与目标之间的最小IOU为 0.1,0.3,0.5,0.7或0.9;
  ③随机采样一个图像块。
  主要采用的技术有水平翻转(horizontal flip),随机裁剪加颜色扭曲(random crop & color distortion),随机采集块域(Randomly sample a patch)(获得小目标训练样本)。

实验

  在VOC 2007 test (4952张图像)上比较了Fast R-CNN和Faster R-CNN。所有的方法都在相同的预训练好的 VGG16网络上进行微调。实验结果如表1所示:
在这里插入图片描述
  Fast 和 Faster R-CNN 使用原始图像和水平翻转来训练。SSD更广泛的抽样策略,类似于YOLO。从表2可以看出,采样策略可以提高 8.8%的mAP。Fast 和 Faster R-CNN 受益可能从中受益较小,因为他们在分类过程中使用了一个特征池化步骤,这对通过设计的目标变换来说相对鲁棒。
在这里插入图片描述
  SSD的主要贡献是在不同的输出层上使用不同尺度的默认边界框。为了衡量所获得的优势,实验结果如表3所示:
在这里插入图片描述

  PASCAL VOC 2012实验结果
在这里插入图片描述
  COCO实验结果
在这里插入图片描述
  ILSVRC结果:这里没有实验结果图,只是提到将在COCO上应用的相同网络架构应用于ILSVRC DET数据集,使用ILSVRC 2014 train和val 1来训练SSD 300模型,在 val2 数据集上实现 43.4 mAP,再一次证明了SSD是用于高质量实时检测的通用架构。
  SSD没有如Faster R-CNN中后续的特征重采样步骤,小目标的分类任务对SSD来说相对困难,数据增强有助于显著提升性能,特别是在PASCAL VOC等小数据集上。表6显示了数据增强的效果:
在这里插入图片描述
  表7显示了SSD,Faster R-CNN和YOLO在推断时间之间的比较。
在这里插入图片描述

总结

  本文提出了SSD,采用VGG16作为基础模型,改进点主要有
  ①使用多尺度特征图进行目标检测。在backbone后面增加几层卷积层,特征图的分辨率逐层降低。使用这些多个不同分辨率的特征图用于目标检测。低层特征图有学习到的是精细的表层特征,高层特征图学习到的是抽象的特征。使得低层特征图有利于检测小目标,高层特征图有利于检测到大目标。
  ②使用先验包围框。和RPN的anchor box选择很类似,SSD在每个feature map上都选择不同的default box,对于用于检测的特征图的每个像素,设置一组不同长宽比例和大小的先验包围框。对于每个包围框,预测相对于先验包围框的偏移以及该框对每个类别的置信度。
  ③空洞卷积。去除全连接层fc8,fc6 和 fc7层转换为卷积层,pool5不进行分辨率减小,在fc6上使用空洞卷积弥补损失的感受野,并且增加了一些分辨率递减的卷积层。
  这篇论文和其他论文写作上不同点在于,首先介绍自己的工作,在第四章才介绍相关工作。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/551317
推荐阅读
相关标签
  

闽ICP备14008679号