摘要

  SSD (Single Shot Multibox Detector):
  是目前最好的目标检测算法之一,它具有精度高、速度快的优点。然而SSD的特征金字塔检测方法难以融合不同尺度的特征。
  FSSD:
  本文提出特征融合SSD(Feature Fusion Single Shot multi - box Detector, FSSD),这是一种改进的特征融合算法,采用了一种新型的、轻量级的特征融合模块,可以在速度稍有下降的情况下显著提高SSD的性能。特征融合模块,将不同层的不同尺度的特征拼接在一起,然后通过一些下采样块生成新的特征金字塔,并将新特征金字塔反馈给多盒检测器,预测最终的检测结果。
  实验:
  FSSD准确性和速度方面优于许多最先进的目标检测算法

1 介绍

  目标检测:
  目标检测是计算机视觉的核心任务之一。近年来,为了提高目标检测任务的准确性和速度,提出了大量基于ConvNets的检测方法。但目标检测的尺度变化对于所有的检测器来说仍然是一个关键的挑战。
  多尺度目标检测:
  如图所示,有几种方法被提出来解决多尺度目标检测问题。
  (a)对不同尺度的图像使用ConvNet生成不同尺度的特征图,效率非常低。
  (b)选取一种尺度特征图,但创建了不同尺度的锚框(anchor)来检测多尺度目标,该方法被Faster RCNN、RFCN等采用,但固定的感受野大小限制了检测太大或太小的物体
  ©自顶向下的结构,已经被证明在FPN、DSSD和SharpMask中工作得很好。  当有很多层需要组合在一起时,逐层融合特征的效率不够高。

  SSD:
  基于卷积神经网络的目标检测器的主要缺点是目标识别与定位之间的矛盾。随着卷积神经网络的加深,特征图可以表示更多具有平移不变性的语义信息,这有利于物体识别,但不利于物体定位。为了解决这一问题,SSD采用特征金字塔来检测不同尺度的目标,VGG16作为骨干网络,采用特征步长为8的Conv4 3检测小目标,采用特征步长为64的Conv8 2检测大目标。这种策略是合理的,因为小目标在浅层不会丢失太多的位置信息,而大目标在深层也可以很好地定位和识别。但问题是由浅层生成的小目标特征缺乏足够的语义信息,导致小目标检测性能较差,此外小目标检测也严重依赖上下文信息。
  FSSD:
  针对上述问题,本文提出特征融合SSD(Feature Fusion SSD),在传统SSD的基础上增加一个轻量级、高效的特征融合模块。首先定义了特征融合模块的框架,提取了影响特征融合性能的关键因素。特征融合模块的架构如下:将不同层的不同尺度的的特征进行投影拼接,然后使用批量归一化层对特征值进行归一化。然后附加一些降采样块来产生新的特征金字塔,并将其反馈给多盒检测器来产生最终的检测重结果。
  FSSD结果对比:
  使用这种架构,FSSD在性能上比传统的SSD有很大的提高,但是速度上的损失很小,尤其对小目标效果更佳。此外FSSD也优于许多先进的基于VGGNet的目标探测器,包括 ION和Faster RCNN ,特征融合模块在目标检测方面也优于FPN。
  本文贡献:
  (1)定义了特征融合框架,研究确定特征融合模块结构的因素。
  (2)我们引入了一种新颖的、轻量级的方法来合并不同层的特征图和生成特征金字塔,以充分利用特征。
  (3)通过定量和定性实验,证明了FSSD在速度略有下降的情况下比传统SSD有显著的改善。FSSD可以在PASCAL VOC数据集和MS COCO数据集上实现最优秀的性能。

2 相关工作

  基于区域的检测器(两阶段检测器):
  得益于深层ConvNet的强大功能,OverFeat和R-CNN等目标检测器的准确率开始有了很大的提高。
  (1)OverFeat在图像金字塔的滑动窗口中应用ConvNet作为特征提取器。
  (2)R-CNN使用选择性搜索或边缘盒生成的区域建议,从预先训练的卷积神经网络中生成基于区域的特征,并采用支持向量机进行分类。
  (3)SPPNet采用空间金字塔池化层,允许分类模块重用ConvNet特征,而不管输入图像分辨率如何。
  (4)Fast R-CNN对卷积神经网络进行端到端分类和位置回归损失训练。
  (5)Faster R-CNN用区域建议网络(RPN)取代选择性搜索。RPN用于生成候选边界框(锚框),同时过滤掉背景区域。在此基础上用另一小型网络进行分类和包围盒定位回归。
  (6)R-FCN用位置敏感的ROI Pooling(PSROI)代替了Faster RCNN中的ROI Pooling,在精度和速度两方面提高了检测器的质量。
  (7)Deformable Convolutional Network提出了Deformable convolution和Deformable PSROI来进一步提高RFCN的准确度。
  单阶段目标检测器:
  (1)YOLO (you only look once)将输入图像分成几个网格,并对图像的每个部分进行定位和分类。得益于这种方法YOLO可以以很高的速度运行目标检测,但精度不够令人满意。
  (2)YOLOv2是YOLO的一个增强版本,它通过删除全连接的层来改进YOLO,并采用像RPN这样的锚框。
  (3)SSD是另一种高效的单阶段目标检测器。如图所示SSD通过两个3×3卷积层预测默认包围盒的类分数和位置偏移量。为了检测不同尺度的目标,SSD增加了一系列逐步变小的卷积层,生成金字塔特征图,并根据层的感受野大小设置相应的锚框大小。然后用NMS对最终检测结果进行后处理。由于SSD直接从原始ConvNet特征图中检测目标,它可以实现实时目标检测和处理,比大多数其他最先进的目标检测器更快。

  (4)DSSD增加SSD+ResNet-101的反卷层,引入额外的大尺度上下文。然而由于模型的复杂性,速度较慢。
  (5)RSSD通过池化和级联的方式使用rainbow concatenation,充分利用特征金字塔中各层之间的关系,以略微降低速度的方式提高准确率。
  (6)DSOD研究了如何从零开始训练一个目标检测器,并设计了一个DenseNet体系结构来提高参数效率。
  ConvNet中使用特征融合的算法:
  有很多方法试图利用多层特征来提高计算机视觉任务的性能。
  (1)HyperNet 、 Parsenet和ION在预测结果之前将多层特征连接起来。  (2)FCN 、U-Net、堆叠沙漏网络也使用跳跃连接来关联低层和高层特征映射,以充分利用合成信息。
  (3)SharpeMask[和FPN引入自顶向下的结构,将不同级别的特征结合在一起,以提高性能。

3 方法

  卷积神经网络具有良好的提取金字塔特征的能力,从金字塔低层到高层具有更多的语义信息。传统SSD将这些不同层的特征视为同一层次,直接从它们生成目标检测结果,这种策略使得SSD既缺乏捕获局部细节特征的能力,也缺乏捕获全局语义特征的能力。但检测器需要将上下文信息和它们的详细特征合并来确认小目标,因此使用微小结构合成特征是提高卷积神经网络目标检测精度的一个重要解决方案。

3.1 特征融合模块

  前人特征融合:
  已有很多算法试图观察和充分利用金字塔特征。最常用的方法如下图所示,FPN和DSSD采用了这种自上而下横向连接的特征融合方法,经验证传统检测器的性能得到了很大的提高,但这种设计需要多个特征融合过程,且右侧的新特征只能融合左侧相应层的特征和其上(高)层对应的特征,此外潜在特征和多特征逐元素处理也会耗费大量的时间。

  本文特征融合:
  提出了一个轻量级和高效的特征融合模块来处理这一任务,用合适的方法一次性融合不同层次的特征,并从融合的特征中生成特征金字塔。
  在设计特征融合模块时,有几个因素需要考虑。在接下来的部分中对它们进行研究。假设Xi, i∈C是将要融合的源特征图,特征融合模块可以描述为:

  Ti表示各源特征图拼接前的变换函数。φf代表特征融合函数。φp代表生成特征金字塔的函数。φc,l代表从提供的特征金字塔中预测目标的方法。
  本文重点关注应该融合或不融合的层的范围(C),如何融合所选择的特征图(T和φf)以及如何生成金字塔特征(φp)。
  C(应该融合的层的范围): 传统的基于VGG16的SSD300中,选择VGG16中的conv4 3、fc 7和新增加的层conv6 2、conv7 2、conv8 2、conv9 2生成的特征来进行目标检测,对应的特征尺寸分别为38×38、19×19、10×10、5×5、3×3、1×1。我们认为空间大小小于10×10的特征图没有需要合并的信息,所以我们层的范围设置为conv3 3 conv4 3、fc 7和conv7 2(我们设置conv6 2的步长为1,conv7 2特征图的大小等于10×10)。根据4.1.1节的分析,conv3 3对精度没有任何好处,所以不融合这一层。
  φf(特征融合函数): 将不同的特征图合并在一起主要有两种方法——串联和按元素求和。按元素进行求和要求特征映射应该具有相同的大小,这意味着我们必须将特征映射转换到相同的通道,这限制了融合特性映射的灵活性,所以我们使用串联,并且实验表明串联的结果要比按元素求和的结果更好。
  ==T(特征图拼接前的变换函数):==为了简单有效地将不同尺度的特征连接起来,我们采用了以下策略:①首先对每一源特征层进行Conv 1×1的特征维数降维;②然后将conv4 3的feature map的大小设置为基本feature map的大小,这意味着我们最小的特征步长是8。由conv3 3生成的特征图向下采样为38×38,最大池化为2×2,最大池化大步为2;③对于尺寸小于38×38的特征图,使用双线性插值,将特征图的大小调整为与conv4 3对应的特征图相同的大小,这样所有的特征在空间维度上大小相同。
  φp(生成特征金字塔的函数): 采用传统SSD的方法,利用金字塔特征生成目标检测结果。我们测试了三种不同的结构,并比较结果以选择最佳的一种。

3.2 训练

  两种主要的训练方法:
  1)首先由于FSSD是基于SSD模型的,可以采用经过良好训练的SSD模型作为预训练模型;
  2)另一种训练FSSD的方法与传统SSD算法相同,使用VGGNet训练。从实验可以看出这两种方法对最终结果的影响不大,但是用VGG16从头训练FSSD的结果略好于用SSD模型预训练FSSD的结果。但是用SSD模型预训练FSSD比用预先训练好的VGGNet模型训练FSSD收敛更快。此外FSSD收敛速度也比传统SSD快。为了在有限的时间内测试算法,默认使用第一种方法对FSSD进行训练。
  训练目标:
  与SSD相同。使用中心编码类型对包围盒进行编码,并与SSD具有相同的匹配策略、硬负挖掘策略和数据增广策略。

4 实验

  为了公平的比较FSSD和传统SSD,实验都是基于VGG16,它和SSD一样经过预处理。在PASCAL VOC 2007, 2012和MS COCO数据集上进行实验。在VOC 2007和VOC 2012中,如果预测的边界盒与ground truth的交并比(IOU)大于0.5,则预测的边界盒是正确的。采用平均精度(mAP)作为评价检测性能的指标。

4.1 PASCAL VOC2007上的消融实验

  研究特征融合模块的一些重要设计因素。将PASCAL VOC 2007与输入尺寸300×300的结果进行了比较,在这些实验中结合2007年训练集和2012年训练集(VOC07+12)的数据对模型进行训练,并在VOC 2007测试集上进行测试,结果主要汇总在表中。

4.1.1 要融合的层的范围

  在表中比较了不同融合层的FSSD。当我们融合所有的特征映射(conv3 3, conv4 3, fc 7和conv7 2)时,VOC2007测试集(第2行)上的映射是78.6%。有趣的是如果我们删除conv3 3,映射增加到78.8%(第5行),这意味着从conv3_3向下采样的特征映射(其特征步长为4)对最终的性能没有好处。

4.1.2 特征融合:串联或逐元素求和

  在表中,使用拼接融合特征可以得到78.6%的mAP(第2行),而逐元素求和只能得到76.3%(第7行),结果表明拼接优于逐元素的求和。

4.1.3 特征值是否归一化

  来自不同层的特征图总是有不同的值范围。在传统SSD中,作者采用l2归一化的方法从conv4_3尺度化特征图。因为我们想要使用一种简单而有效的方法来缩放特征映射,所以我们在拼接过程之后添加一个批归一化层(BN)。表2(第2行和第6行)的结果表明,使用批归一化层重新缩放特征图可以带来0.7%的mAP改进。

4.1.4金字塔特征提取器设计

  比较了三种不同结构的金字塔特征提取器,如图所示。有两种生成低分辨率特征图的块:1)简单块(一个Conv3×3后跟一个ReLU);2)瓶颈块,瓶颈块首先使用Conv 1×1来降低特征维数,并被传统的算法所摒弃。
  (a)由几个简单的块组成,利用融合特征预测物体。
  (b)与(a)相同,只是没有直接使用融合特征进行预测。
  (c ) 用(b)中的瓶颈块代替了简单块,
  实验表明:(b)结构优于其他两种设计。

4.2 PASCAL VOC测试结果

  FSSD的架构:
  根据4.1节的消融研究,FSSD的架构定义如下:FSSD300的输入大小为300×300;采用VGG16作为骨干网络;所有原始特征图都被1×1的卷积层转换成256个通道;fc_7和conv7_2的特征图都插值到38×38大小;转换后的特征被连接(串联)在一起,然后使用一个批归一化层(BN),以规范化特征值;依次添加多个下采样块(包括一个3×3的stride 2卷积层和一个ReLU层),生成金字塔特征。
  PASCAL VOC2007训练结果:
  使用VOC2007训练和VOC2012训练来训练FSSD,FSSD300可以达到78.8%的mAP,比传统的SSD300提高了1.1点。另外, FSSD300结果也高于DSSD321,尽管DSSD321使用ResNet-101作为骨干网络,其性能比VGG16要好。用COCO作为训练数据,FSSD300的性能可以进一步提高到82.7%,比DSOD和SSD300分别高出1%和1.5%。 FSSD512也将SSD512从79.8%提高到80.9%,这也比RSSD512高一点。DSSD512在精度方面优于FSSD512,但我们认为ResNet-101骨干网在这方面起着至关重要的作用,然而我们的FSSD512比DSSD512快得多。
   DSOD 以一种特殊的方式研究目标检测任务:从头训练一个目标检测器。在未使用预先训练好的VGGNet模型的情况下,采用VGG16的常规SSD只能实现69.6%的mAP。从零开始训练的FSSD也提高了性能,大幅提高了3.1分,尽管这个结果不如DSOD,但FSSD使用VGGNet网络,而DSOD更多关注的设计骨干网络更好的性能和DSOD训练更多的迭代(约4倍比SSD)。
  PASCAL VOC2012训练结果:
  在PASCAL VOC2012上,使用VOC2012 trainval、VOC2007 trainval test和MSCOCO对 FSSD进行训练,并在VOC2012测试集上进行测试。训练超参数除训练集外与VOC2007上的实验相同。 采用COCO的FSSD300可以达到82.0% mAP,比常规SSD(79.3%)提高2.7个百分点。此外 FSSD512可以实现84.2% mAP,比传统SSD(82.2%)高出2个百分点。在提交时,FSSD512在VOC2012的所有单级物体探测器排行榜上排名第一。

4.3 MS COCO测试结果

  COCO测试结果 :FSSD 300在测试 集上达到27.1%,高于SSD300*300(25.1%),差距很大。此外FSSD512(31.8%)比传统SSD(28.8%)高出3个百分点。尽管 FSSD512略低于DSSD513,但值得注意的是,FSSD在小目标上的mAP仍然高于DSSD513,这证明了FSSD的特征融合模块在小目标检测上比DSSD的FPN模块更强大。

4.4 带有特征融合模块的轻量级目标检测器

  为了说明特征融合模型的泛化能力,我们设计了一种基于MobileNet的轻型FSSD。选取特征步长为8、16和32的特征映射生成融合特征。为了减少检测器中的参数,将特征提取器中的卷积层替换为深度卷积块。用与基于VGGNet的检测器相同的训练策略来训练轻型FSSD。结果表明轻型FSSD优于传统的MobileNet SSD,有1.1%的改善,而有更少的参数。结果证明特征融合模块的灵活性和嵌入式设备的潜力。

4.5 速度

  FSSD在SSD模型上增加了额外的层,FSSD消耗了大约25%的额外时间,但与DSSD和DSOD相比,我们的方法仍然快得多。FSSD比大多数目标检测算法更快,同时具有竞争的准确性。

4.6 相较于SSD的性能提升

  FSSD性能优于传统SSD,主要表现在两个方面:1)首先,FSSD降低了重复检测同一目标的多个部分或将多个目标合并到单个目标的概率;;2)其次,FSSD在小目标检测上的表现更好。一方面相对于大目标,小目标只能激活网络中较小的区域,在检测过程中位置信息容易丢失。另一方面对小物体的识别更多地依赖于它周围的环境,由于SSD只检测来自浅层的小目标(如conv4 3),其感受野太小,无法观察更大的上下文信息,导致SSD在小目标上的性能较差,FSSD可以综合观察所有受益于特征融合模块的物体。FSSD比SSD成功地检测到更多的小目标。

5 结论和未来工作

  本文:
  提出了FSSD,一种通过在SSD上应用一个轻量级、高效的特征融合模块来增强SSD的方法。首先,研究了融合不同特征并生成金字塔特征图的框架。实验结果表明,将不同层次的特征图串联在一起,可以很好地充分利用特征图。然后利用stride 2进行多层卷积,融合特征图,生成金字塔特征。
  结果:
  在VOC PASCAL和MSCOCO上的实验证明, FSSD大大改进了传统SSD,在精度和效率方面优于其他几种最先进的目标探测器。
  未来:
  用ResNet 和DenseNet[等更强大的骨干网络来增强FSSD,用特征融合模块代替Mask RCNN中的FPN也是一个有趣的研究领域。

【目标检测】FSSD论文理解相关推荐

  1. 【R-CNN论文翻译】目标检测经典论文R-CNN最新版本(v5版)全面中文翻译

    R-CNN目标检测的奠基性文章,学习目标检测必看的经典论文之一,后续有Fast R-CNN,Faster R-CNN一系列论文. 目前网上能找到的论文翻译版本要么不全,要么不是最新版本的(论文从201 ...

  2. 单阶段目标检测重要论文总结

    文章目录 一.Yolov1 1.论文简介 2.检测原理 3.结构设计 4.疑难问题 5.论文总结 二.Yolov2 1.论文简介 2.更好.更快.更强 1)为什么更好? 2)为什么更快? 3)为什么更 ...

  3. 目标检测经典论文——Fast R-CNN论文翻译(中英文对照版):Fast R-CNN(Ross Girshick, Microsoft Research(微软研究院))

    目标检测经典论文翻译汇总:[翻译汇总] 翻译pdf文件下载:[下载地址] 此版为纯中文版,中英文对照版请稳步:[Fast R-CNN纯中文版] Fast R-CNN Ross Girshick Mic ...

  4. 目标检测经典论文——Fast R-CNN论文翻译(纯中文版):Fast R-CNN(微软研究院)

    目标检测经典论文翻译汇总:[翻译汇总] 翻译pdf文件下载:[下载地址] 此版为纯中文版,中英文对照版请稳步:[Fast R-CNN中英文对照版] Fast R-CNN Ross Girshick 微 ...

  5. 目标检测经典论文——R-CNN论文翻译(纯中文版):用于精确物体定位和语义分割的丰富特征层次结构(技术报告(第5版))

    目标检测经典论文翻译汇总:[翻译汇总] 翻译pdf文件下载:[下载地址] 此版为纯中文版,中英文对照版请稳步:[R-CNN中英文对照版] 用于精确物体定位和语义分割的丰富特征层次结构 技术报告(第5版 ...

  6. 对象检测目标小用什么模型好_[目标检测] YOLO4论文中文版

    点击上方 蓝字 关注我呀! [目标检测] YOLO4论文中文版 文章目录 YOLO4论文中文版 摘要 1.介绍 2.相关工作 2.1.目标检测模型 2.2.Bag of freebies 2.3.Ba ...

  7. 一文看尽10篇目标检测最新论文(MetaOD/P-RSDet/MatrixNets等)

    前言 恰逢 2020年,本文再次更新近期值得关注的最新检测论文.这次分享的paper将同步推送到 github上,欢迎大家 star/fork(点击阅读原文,也可直接访问): https://gith ...

  8. 一文看尽10篇目标检测最新论文(SpineNet/AugFPN/LRF-Net/SABL/DSFPN等)

    点击上方"CVer",选择加"星标"或"置顶" 重磅干货,第一时间送达 前言 一周前 Amusi 整理了 目标检测(Object Detec ...

  9. 目标检测基本概念理解之IoU(交并比)以及Python代码实现

    目标检测基本概念理解之IoU(交并比) 交并比理解 Python代码实现 计算IoU,矩形框的坐标形式为xyxy 计算IoU,矩形框的坐标形式为xywh 交并比理解 在检测任务中,使用交并比(Inte ...

  10. 显著性目标检测SOD论文大盘点

    显著性目标检测SOD论文大盘点 2020/6/15 图像SOD Hierarchical Saliency Detection cvpr2013 salient detection by multi- ...

最新文章

  1. java多个mapreduce_一个简单的MapReduce示例(多个MapReduce任务处理)
  2. day 96 关于分页的使用
  3. 单精度浮点数与十六进制转换
  4. [Liunx]Linux安装screenfetch
  5. 法拉第未来:投资者声明中存在不一致之处 贾跃亭降薪
  6. 基于jQ+CSS3页面滚动内容元素动画特效
  7. Webpack打包构建太慢了?试试几个方法
  8. python程序员面试自我介绍_如何拿到面试公司一半Offer——我的Python求职之路
  9. centos 安装mysql5.6.12_CentOS6.4+MySQL-5.6.12 安装详解
  10. Struts2-2.了解struts.xmlpackageactionresult的name属性
  11. HTML button标签
  12. 怎么将windows上的文件传到Ubuntu
  13. 基于Docker搭建Gitlab
  14. openwrt qca9886 ath10k只能连32台设备问题解决
  15. kum酷喵机器人框架pro2.2开源
  16. 美国纽约大学计算机专业排名,纽约大学计算机工程专业排名第40(2020年USNEWS美国排名)...
  17. 读书项目:ePub标准介绍
  18. 洛谷P3987 我永远喜欢珂朵莉~(set 树状数组)
  19. Javascript对日期的进行加、减操作
  20. c语言protect,PROTECT应该包含什么作业?

热门文章

  1. SLS-日志服务分析查询
  2. Python中json模块的load/loads方法实战及参数详解
  3. 使用fui(Find Unused Imports)扫描工程中不用的类
  4. NSQ简介及连接模式
  5. 【SSM】No converter for class 后端500
  6. 计算机输入法知识讲解,26、认识输入法--电脑基础知识
  7. 吕骋退场渡鸦终结,这里有你不知道的中国智能音箱的玩法
  8. 中国制造的新成就,中国在先进面板技术上取得领先优势
  9. msm8916 MDP(mobile display processor) 简介
  10. 从C语言来理解文件系统