醋醋百科网

Good Luck To You!

ESSD论文解读

论文题目:Enhancement of SSD by concatenating feature maps for object detection

1. 前言

今天要介绍 一个 SSD 的改进算法 R-SSD,先看一下 SSD 的网络结构图吧。

带有特征图维度信息的更清晰的骨干网络和 VGG16 的对比图如下:

2. 出发点

一般来说,深度神经网络的特征图数量越多,我们获得的性能一般会更好。但是这并不一定代表着简单的增加特征图的数量就能使得效果变好,这一点在实验部分有说明。这篇论文在 SSD 的基础上并没有改变 BackBone 网络,即还是应用稍加修改的 VGG16 为 BackBone。这篇论文的贡献是提出了新的特征融合方式来提升了 SSD 的效果,这一改进使得 SSD 可以充分利用特征,虽然速度稍慢于原始的 SSD 算法,但 mAP 却获得了较大的提升。

3. 介绍

传统的 SSD 算法通过不同层的特征来做检测,使得其对尺度变化有较好的鲁棒性,在速度和精度的 Trade-Off 上也做得比较好,但是 SSD 有 2 个明显的问题:

  • 在 SSD 中,不同层的特征图都是独立作为分类网络的输入,因此容易出现相同物体被不同大小的框同时检测出来的情况。
  • 对小目标的检测效果比较差,当然这也是大多数目标检测算法的通病了。

因此,这篇算法也主要从这两点出发来改进传统的 SSD 算法。首先,本文利用分类网络增加不同层之间的特征图联系,减少重复框的出现。然后,增加特征金字塔中特征图的个数,使得网络可以检测更多的小目标。下面的Figure5(a),(b)分别展示了 SSD 算法出现的上述22 个问题,而Figure5(c),(d)分别展示了本文提出的 R-SSD 算法的改进效果图。

4. Rainbow SSD 核心原理

下面的 Figure3 展示了几种不同的特征融合方式。

我们来尝试解析一下这些图都表示什么?

  • Figure3(a):这表示使用pooling方式的特征图融合,我们可以看到(a)最左边的38×3838×38的特征图将其做一个pooling之后和接下来那个19×1919×19 的特征图进行 concate,获得了那个一个红加一个橙的特征图。后面同理。。
  • Figure3(b):这表示使用反卷积的方式进行特征融合,注意这里是从右边的1×11×1 的紫色特征图往左做 concate,因为反卷积是升维,所以从右至左。
  • Figure3(c):表示同时使用 Pooling 和反卷积做特征融合。 这个结构就是本文的 Radinbow SSD 的核心了,即同时从左至右(pooling,concate)和从右至左(deconvolution,concate)。

可以看到 Rainbow SSD 里融合后的特征图色彩很像彩虹,这大概就是这个名字的由来了。另外一个关键点是在做 concate 之前都会对特征图做一个 normalization 操作,因为不同层的特征图的 scale 是不同的,本文中的 normalization 方式采用 Batch Normalization。由于 Figure3 中的特征融合方式比较特殊,这就导致融合后的每一层特征图的个数都是相同的,都为28162816,因此可以共享部分参数,具体来说就是 default boxes 的参数共享

下面的 Table1 展示了和 SSD 算法中的 default boxes 的数量对比。

5. 实验结果

下面的 Table3 展示了不同的实验对比结果,同时 Table2 表示只在原始的 SSD 基础上增加不同特征层数量的 I-SSD 算法。通过 Table3 的实验结果可以看出虽然 ISSD 也获得了不错的效果,但是它的 FPS 却偏低。本文的 Rainbow SSD 效果和 FPS 都表现不错。R-FCN 虽然效果不错,但是速度上不占优势。

下面的 Figure4 展示了在 VOC 2007 test 上的 PR 曲线。

下面的 Table4 则展示了 AP 和 mAP 的详细对比。

下面的 Table5 展示了不同 Scale 的目标召回率的对比,可以看到 Rainbow SSD 对小目标检测的召回率提升更加明显。

6. 总结

这篇论文提出了一种 rainbow concatenation 方式来组合特征,在增加不同层之间特征图关系的同时也增加了特征图的个数。这种融合方式不仅解决了传统 SSD 算法存在的重复框问题,同时一定程度上解决了小目标的检测问题。

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言