【论文笔记】:Learning Rich Features at High-Speed for Single-Shot Object Detection

&Title:

【论文笔记】:Learning Rich Features at High-Speed for Single-Shot Object Detection_第1张图片
ICCV 2019

  • Learning Rich Features at High-Speed for Single-Shot Object Detection
  • 代码

&Summary

作者设计了一个one-stage检测框架,它结合了微调预训练模型和从零开始训练的优点。该框架包括一个预训练过的标准backbone网络,一个轻量级的从零开始训练的辅助网络。此外,作者认为通常使用的自顶向下的金字塔表示只关注于将高级语义从顶层传递到底层,因此在检测框架中引入了一个双向网络,它可以有效地传递中低层次和高层次的语义信息。

提出的方法相比baseline在AP指标上分别提高了7.4%和4.2%。在COCO测试集上,固定300×300输入,本文提出的以ResNet为backbone的检测器在单级推理方面超过了现有的单级检测方法,AP达到了34.3 ,在一个Titan X GPU上时间为19毫秒,同时兼顾了精度和速度。

one-stage目标检测有通用的策略:利用一个经过ImageNet预训练的backbone完成分类任务,利用一个自上而下的特征金字塔表示形式处理尺度变化问题。

&Research Objective

主要研究目标是提升小目标检测精度

  • 引入“从零开始”训练的思想,以减少分类和定位之间的任务差距
  • 引入双向网络,有效传递中低层次和高层次的语义信息

&Problem Statement

  • 小目标检测的难点
    小目标检测是一个具有挑战性的问题,它既需要精确描述对象的低层/中层信息,也需要区分目标对象与背景或其他对象类别的高级语义信息。

    近来的one-stage探测器的目标是获得与two-stage相近的检测精度。尽管在大中型目标上效果较好,但这些探测器在小目标上的性能却低于预期。例如,当使用一个500×500的输入时,使用RetinaNet在COCO数据集上, AP为47,但在小目标上,AP只有 14。

  • 预训练网络的利弊
    主流的one-stage目标检测框架的通用策略是:利用一个经过ImageNet预训练的backbone完成分类任务。然后利用检测目标的数据集进行微调,从而达到快速收敛的效果。但是目标检测中的分类任务和定位任务之间仍然存在较大差异,尤其是在目标框重叠阈值高的情况下。

    在ICCV2019Kaiming He的最新论文中,也对利用ImageNet进行预训练然后fine-tune这种模式进行了思考,并且认为从零开始训练检测模型,有助于精确定位。但是另一方面,与典型的基于微调的网络相比,从零开始训练非常深的网络需要的训练时间要长得多。

&Method(s)

本文引入一个新的检测框架,优势互补,将预训练和从零开始学习的优点结合起来,组成了一个标准网络,该网络使用一个预训练的backbone和一个从零开始训练的辅助网络。辅助网络为标准的预训练网络提供低/中级信息的补充,有利于中小目标的检测。

网络结构

【论文笔记】:Learning Rich Features at High-Speed for Single-Shot Object Detection_第2张图片
图3(a)显示了由三个主要组件组成的总体架构:标准SSD网络,轻量级暂存网络(LSN)和双向网络。如前所述,标准SSD使用预先训练的网络主干。因此,我们将来自标准SSD层的功能(conv4 3,FC 7,conv8 2,conv9 2,conv10 2和conv11 2)称为主干功能,因为它们源自预先训练的网络主干。我们采用VGG-16作为骨干网。轻量级暂存网络(LSN)产生低/中级特征表示,然后将其注入到后续标准预测层的主干特征中以改善其性能。然后,将当前层和前一层的结果特征以自下而上的方式组合到我们的双向网络中。我们双向网络中的自顶向下方案包含独立的并行连接,以将高级语义信息从网络的较后一层注入到前一层。

LSN轻量级辅助网络

【论文笔记】:Learning Rich Features at High-Speed for Single-Shot Object Detection_第3张图片
LSN网络与SSD特征层紧密相连,用于构造低层/中层特征表示,称为LSN特征。图中DS表示下采样。

SDS VS LDS

如下图所示,现有的特征提取策略是:从主干网络中提取特征,在多个卷积块和最大池化层的重复堆叠中提取特征,以此产生语义信息丰富的特征。
【论文笔记】:Learning Rich Features at High-Speed for Single-Shot Object Detection_第4张图片
这种特征提取方式有利于图像分类任务,因为分类任务要求的是平移不变性的即目标位置发生变化,最后输出的类别信息也应该一致。
但是在目标检测任务中,由于不仅仅有分类的要求,还需要进行目标的定位,因此更需要准确的轮廓信息,而特征中的低层,中层特征正是包含这种轮廓边缘信息,对于目标检测十分重要。

如下图,为了弥补主干网络在提取特征过程中的损失,本文提出了LSN特征提取方案。首先经过一个较大的下采样率进行池化操作,将输入图片的size调整到SSD中第一层的输入size,然后被送入到一个轻量级的连续操作LSO(Light-weight-serial operations)中去,LSO包括卷积层、BN层、ReLU层等结构。
【论文笔记】:Learning Rich Features at High-Speed for Single-Shot Object Detection_第5张图片
LSN是参数是随机初始化的。它遵循类似于标准SSD的金字塔特征层次结构

双向网络

自底向上网络

下图是bottom-up网络的结构示意,结合backbone和来自LSN特征,将不同层次的特征以前级联的方式进行前向传播,得到前向特征。将此任务称为自底向上的特征传播,用B表示。Former-Layer feature 是前一层的B(因为是级联)。
【论文笔记】:Learning Rich Features at High-Speed for Single-Shot Object Detection_第6张图片

自上向下网络

为了进一步将高级语义信息从后一层注入到前一层,引入了自上而下的网络。如下图所示,该网络将所有后续层的所有特性连接到当前层,它通过网络中独立的并行连接来传递高级语义。将上层的所有特征进上采样到当前层的尺寸(独立并行连接),然后融合,再与本层的特征进行融合。
【论文笔记】:Learning Rich Features at High-Speed for Single-Shot Object Detection_第7张图片
注:在自上而下的网络中,如果本身处于特征中的最高层,就不需要融合任何底层特征。这意味着最高层的前向特征被直接用作预测。

&Evaluation

【论文笔记】:Learning Rich Features at High-Speed for Single-Shot Object Detection_第8张图片
对比于RetinaNet来说,对于小目标的检测数量有明显的增加。
【论文笔记】:Learning Rich Features at High-Speed for Single-Shot Object Detection_第9张图片
虽然基于two-stage的网络可以获得更高的精度,但是它们的计算开销很大,通常需要较大的输入分辨率,并且处理图像的时间通常超过100毫秒。例如,Cascade R-CNN的AP达到42.8,但是处理图像需要141ms。本文的检测器具有速度和精度的良好平衡。
【论文笔记】:Learning Rich Features at High-Speed for Single-Shot Object Detection_第10张图片
由上图可以看出,本文的方法对小目标的检测性能提升十分明显。

&Conclusion

提出了一种one-stage的目标检测方法,该方法由标准SSD网络、轻量级随机初始化网络(LSN)和双向网络三部分组成。

LSN是从零开始训练的,产生的特征用来补充主干网络得到的特征。双向网络的设计目的是在检测网络中同时传递中低层次和高层次的语义信息。在COCO和UAVDT数据集上的实验结果表明,本文提出的方法达到了精度和速度的良好均衡。

&Notes

Contributions

  • 首先,我们引入了一个轻量级的暂存器网络(LSN),该设备从零开始进行训练,将降采样后的图像作为输入,并将其通过几个卷积层以有效地构建低/中级特征。 然后将这些低/中级功能与经过预先训练的主干一起注入到标准检测网络中。
  • 此外,我们引入了双向网络,该双向网络在检测网络内传播低/中层和高层语义信息。

双向网络与FPN结构相比的不同点:

  1. 双向网络中的自底向上方案以级联的方式将前一层的特征传播到后一层
  2. FPN中的top-down通路通过级联操作逐层融合了许多CNN层。在双向网络的top-down通路,预测层通过独立的并行连接进行融合,而不是逐层逐层的级联/顺序融合。

Thinks

  • 本文虽然说是引入了一个从头开始训练的LSN网络,以及一个所谓的双向网络,其实质其实就是增加了来自浅层的小目标信息。
  • 现在的双向网络,双向FPN等大量出现了,说明了“双向”的作用对于精度的提升效果还是很明显的,完全可以换个名头,继续做“双向”的提升,额,大部分人也都是这个想法我猜……
  • 关于LSN,之前看了一篇IPG-Net,是引入了图像引导网络,也类似于增加一个辅助网络,个人觉得,其目的也跟本文方法一样,也是增加浅层图像的小目标信息,这个应该也是本文提升小目标检测精度的主要原因。
  • ……

你可能感兴趣的:(#,小目标检测,#,特征层面,计算机视觉,深度学习)