IEEE2020论文:用于小物体检测的多尺度特征图的增强和融合

摘要:

       近年来,深度卷积神经网络在计算机视觉领域的目标识别和目标检测任务上取得了突破性进展,在准确率和速度上都取得了不错的成绩。但是在目标检测领域,小物体的检测还是比较困难的,在通用数据集MS COCO上的准确率很低。本文简要回顾了多尺度物体检测算法的一些工作,然后提出了一种基于多尺度特征图的特征增强和融合方法,提高了MS COCO上小物体的检测精度。

一、介绍

       目标检测是计算机视觉领域的核心问题之一。它旨在找到图像中所有感兴趣的对象并确定它们的位置和类别。特征提取是目标检测的重要步骤。基于深度学习的方法是当今的主流。它使用卷积神经网络来提取图像的深层特征信息,然后基于它进行分类等其他操作。

       基于深度学习的经典检测算法都是对卷积神经网络提取的顶级特征图进行分类和预测,使得这些算法对多尺度物体,尤其是小物体没有很强的特征表达能力。卷积神经网络架构中的下采样形成了一个自然的特征金字塔,因此我们可以获得不同尺度的特征图。这些多尺度特征图的有效组合可以大大提高检测性能。

       在SSD中,提出深层的小尺度特征图语义信息强,适用于分类任务。然而,高维语义信息不能提供足够的位置信息,容易导致检测性能不佳。大尺度特征图具有丰富的详细和强大的定位信息。如果我们想提高小物体的检测性能,不能只使用顶层的特征图。从某种意义上说,考虑多尺度特征图可能是解决方案。

      在本文中,我们提出了一种充分利用深度卷积网络生成的多尺度特征图的方法。首先,在特征提取网络生成的自然金字塔上,进行多次下采样和上采样,使金字塔中包含的特征信息尽可能丰富。其次,对这些增强的特征图进行上下文语义信息融合,以便它们可以包含多个尺度的信息。使用所提出的方法后,我们的算法将公共数据集 MS COCO 上的小对象的 mAP 提高了约 1.7%。

      本文的其余部分安排如下。首先,在第二部分,我们简要介绍了小物体检测领域的相关工作,以及多尺度检测中的相关算法。其次,在第三部分,我们受现有多尺度检测算法的启发,设计了一种新的特征融合方法。接下来,在第四部分,我们对设计的方法进行了实验和评估。最后,在第五部分,我们简要总结了我们所做的工作。

二、相关工作

2.1、Single Shot Multi-Box Detector Series(SSD)系列

       与现有的检测算法对单尺度特征图进行预测操作相比,SSD采用多尺度检测策略,复用不同层前向传播产生的多尺度特征图,因此没有额外的计算开销。它在特征图金字塔上构造多个检测头,并为回归检测分配相应尺度的默认框。它在不同尺度的不同特征图上检测物体,在一定程度上抵抗物体尺寸的变化,为网络赋予更多的鲁棒性。SSD结构虽然没有利用多尺度之间特征信息的流动,但开始探索不同尺度信息的意义,并通过多尺度、多层次的检测,赋予这个意义一个明确的任务,以提高网络的规模。为了避免使用低级特征图,SSD从上到下构建了一个特征金字塔,并添加了一些新层。然而,那些丢失的高分辨率特征图是小物体识别所必需的。

       DSSD 提出了一种自顶向下的网络结构,它使用反卷积代替传统的双线性插值上采样。它在预测阶段引入残差单元,优化候选框回归和分类任务输入的特征图,与SSD相比,大大提高了小物体和密集物体的检测精度。

       RSSD 改进了SSD算法的特征融合方法。它通过对原始网络进行前向池化和反向反卷积,极大地提高了特征丰富度。虽然添加了这些方法,但速度比SSD慢,准确度有所提高。它还解决了SSD为同一个物体绘制多个检测边界框的问题,增加了特征图的数量,这对小物体检测性能也有帮助。

2.2、特征金字塔网络系列

       图像金字塔是图像的一种多尺度表达。解释具有多种分辨率的图像是一种有效但简单的概念结构。其结构如图1所示。图像的金字塔是一系列的图像,其分辨率以金字塔的形状逐渐降低,并且源自同一原始图像。它是通过逐步降采样得到的,直到达到某个终止条件才停止采样。我们将图像层比作金字塔。级别越高,图像越小,分辨率越低。

IEEE2020论文:用于小物体检测的多尺度特征图的增强和融合_第1张图片

       如图2所示,FPN 采用的策略是通过自上而下的路径和水平连接将低分辨率强语义特征图和高分辨率弱语义特征图结合起来。该方法同时使用高级语义信息和低级位置信息,这在小物体检测中起着关键作用。

IEEE2020论文:用于小物体检测的多尺度特征图的增强和融合_第2张图片

       NAS-FPN 希望通过自动学习生成最合适的多尺度特征表示。其思想是设计一个合理的RNN搜索空间,在搜索空间中任意融合基本的多尺度特征图,将融合结果加入到原空间进行下一次迭代搜索,直到找到检测性能更好的特征金字塔结构,其中检测将在此基础上进行。该方法还提高了小物体的检测性能。

2.3、从其他角度思考

数据增强:深度学习的性能在某种意义上依赖于大量的训练数据,小目标检测的性能也可以通过增加训练集中小目标样本的类别和数量来提高。论文Augmentation for small object detection中提出了两种简单直接的方法:一种是使用过采样策略;另一个是解决同一张图片中小物体数量少的问题。它使用分割掩码来查找小对象,然后复制和粘贴以增加它们的数量。当然,这个过程也加入了一些旋转和缩放,注意不要遮挡其他物体。

特征生成: Perceptual GAN 算法利用GAN对小物体生成超分辨率特征,然后将这些超分辨率特征叠加在特征图上的原始小物体上,增强小物体特征的表达,提高检测效果小物件的表现。

模型训练:机器学习有一个重点。模型预训练的分布应该尽可能接近测试输入的分布。SNIP 训练的方法是在训练阶段只使用合适大小的物体样本,其anchor的尺度和ground truth的尺度相近,来训练检测器。尺度过小或过大的锚将被丢弃。在预测阶段输入多尺度图像。所以总有一个合适的anchor size,选择最合适的尺度进行预测。

感受野: Trident Networks 的思想是基于检测特征图的感受野应该与被检测物体的尺度匹配,从而设计不同的感受野分支来学习不同尺度的物体。由于没有使用FPN的结构,使用中尺度预测时,大尺度检测精度不会大幅下降,计算量也小很多。此外,由于参数共享,即使是单尺度预测精度也不会像 FPN 那样明显下降。

IOU 阈值: Cascade R-CNN 主要关注阈值问题。因为训练过程中需要正负样本,判断依据很大程度上取决于阈值。IOU阈值过大会造成正负样本数量不匹配,过低会降低质量。该网络加入了多阶段结构,在训练过程中不断提高阈值,保证数量平衡,提升质量。

三、方法

3.1、特征增强

IEEE2020论文:用于小物体检测的多尺度特征图的增强和融合_第3张图片

       特征提取网络以 VGGNet 为例。原始的 Faster R-CNN 目标检测网络结构将特征金字塔的最后一层发送到 RPN 进行训练。如图3(a)所示,是Original VGGNet的骨干网络。它使用 5 段卷积提取特征信息,生成自然特征金字塔。每经过一段卷积后,进行下采样,特征图的大小发生变化。是原来的一半,同时提取的图像特征更抽象。然而,这种网络结构只使用了最高级别的语义特征。虽然信息丰富,但是在特征提取的过程中,小物体的表达会被弱化四倍。

       图3(b)显示了只有池化特征增强的网络结构,图3(c)显示了只有反卷积的网络结构。它们在一定程度上增强了特征,增强了特征信息的丰富性,也增加了特征图中的通道数。我们根据RSSD中提到的rainbow concatenation方法将两者叠加,得到图3(d)中的网络结构。与原始图3(a)中的骨干网络相比,可以看出池化和反卷积后得到的网络特征信息得到了极大的增强。

3.2、特征融合

       经过上面对多尺度问题的讨论,参考FPN中提出的多尺度信息融合的结果,检测性能会有很大的提升。本文基于Faster R-CNN检测算法,设计了一种提高小物体检测效果的方法。其网络结构示意图如图4所示。

IEEE2020论文:用于小物体检测的多尺度特征图的增强和融合_第4张图片

       首先,从上一节中,我们得到了具有增强特征的骨干网络结构,并将其特征层记录为conv1~conv5。之后,我们将对这个新的骨干网络进行特征融合操作。

       其次,我们在新的 VGGNet 的最后四个特征层上进行通道转换,以增加特征层中的通道数。经过处理后,conv2~conv5分别生成了C2~C5的四个特征层。

       最后,高层特征层将被上采样并与低层特征层融合。我们将最后一个特征层表示为 P5,它可以直接从 C5 中获得。然后P5进行上采样后与C4特征融合,得到的特征层记为P4。P4上采样后与C3融合得到P3。根据类似的操作也可以得到P2。经过一系列的上采样和融合,我们有了最终的网络结构,然后我们就可以将P2~P5发送到RPN层进行训练。

3.3、尺寸匹配

       在池化、反卷积和上采样的过程中,特征图的大小是本文最关心的问题。在池化过程中,使用了与原始VGGNet相同的最大池化方法,因此在后续的特征层融合中没有出现问题。但是,上采样过程需要非常小心。池化策略减少2倍并向上取整,即原始特征图大小6×6和5×5会得到相同的结果,即3×3的特征图。但是在上采样时,简单地将结果加倍只会得到 6×6 的特征图。如果原始特征图大小为5×5,在特征融合时会遇到大小不匹配的问题,无法进行。

       为了解决这个问题,我们使用了一种在模型上采样期间动态计算并指定输出大小的策略。这样,在每张图片的每次迭代中,每次上采样后的输出都可以完全匹配,在融合特征图层的过程中不会出现尺寸不匹配的问题。

       本文得到的模型经过特征增强和特征融合后,结合了原始VGGNet网络的上下文信息,大大提高了特征图的分辨率。可以获得的小物体信息比原来的网络还多。性能甚至更好。

四、实验

       为了评估所提出方法的性能,我们选择了以 VGGNet 为骨干网络的 Faster R-CNN 目标检测算法,并在 MS COCO 2014 数据集上进行了实验。MS COCO 2014 数据集由80个对象类组成,每个图像都带有标注的地面真实位置和相应的类信息.训练集为 coco_2014_train + coco_2014_valminusminival,测试集为 coco_2014_minival。我们在 TensorFlow 深度学习框架下在硬件平台 NVIDIA GTX TITAN X GPU 上进行了实验。

       在我们的训练过程中发现,增强的网络特征层在多次池化、反卷积和上采样过程中会消耗大量时间,并且前两个特征层的网络参数通常设置为不参与训练,并且与这两个特征层的融合意义不大。理想情况下,传入 RPN 网络的最佳选择是 P2~P5 特征层,但网络训练因此会变得特别慢。因此,最后只选择了 P4 送到 RPN 网络进行训练。P4 比原始图像大小小八分之一,并且包含足够的上下文信息,这些信息都在可接受的范围内。

       经过训练,我们得到了 490 k 步的模型结果。同时,我们发现随着训练时期的增加,模型继续获得更好的结果。由于时间和资源限制,训练在 490k 步时停止。此时网络已经收敛。

       从表1可以看出,增强型Faster R-CNN物体检测算法成功提升了小物体检测性能。准确率从 11.9% 提高到 13.6%,从表2可以看出,与原始网络相比,速度没有明显损失。

IEEE2020论文:用于小物体检测的多尺度特征图的增强和融合_第5张图片

IEEE2020论文:用于小物体检测的多尺度特征图的增强和融合_第6张图片

       本文通过前向卷积和池化提取高层语义信息,这对分类非常重要。然后,对提取的高层特征进行逐层上采样和特征融合,导致特征图的放大和计算量的不明显增加,从而获得更多关于小物体的信息,这使模型对他们更有效。

       在 coco_2014_minival 数据集上测试模型后,我们对一些图像进行了一些可视化工作。图5显示了增强模型在一些包含小物体的图像上的可视化结果。

       从图5(a)可以看出,原始模型在检测像素模糊的物体时,无法正确识别和检测特定信息,而增强模型对像素模糊的检测效果更好。在小物体检测过程中,增强模型可以比原模型识别出更多的小物体,但不能识别出所有的物体。初步估计是小物体之间的距离很小,边界相互重叠,导致模型难以识别。

       从​​​​​​​图5(b)可以看出,当图像包含太多小物体并且它们彼此靠近时,原始模型无法正确识别它们。虽然增强模型识别出它们,但它们被视为一个整体,这可能是由于数量众多且边界紧密。这两个问题导致模型在整体池化后错误识别小对象。对于具有高速和像素模糊的小物体,例如​​​​​​​图5(b)第三行中的棒球,增强模型在检测没有干扰和像素模糊的小物体时具有很高的鲁棒性。

       在实验过程中,为了检测到更多小物体的信息,让增强模型对小物体更加敏感,本文还修改了RPN生成的anchor的尺寸,使其尺寸更适合小物体。但是结果并不理想,因为anchors的减少使得模型对小物体真的很敏感,而原来的中大物体的检测结果变得很差,整体准确率像FPN一样下降了。因此,训练一个适合各种尺度物体的模型仍然是一项需要进一步研究的工作。

五、结论

       本文提出了一种改进的小物体检测方法,该方法增强了多尺度特征并融合了它们之间的上下文语义信息。在通用数据集 MS COCO 上的测试表明,该方法确实可以以大致相同的速度提高小物体检测的准确性。

       小目标检测准确率低是公认的问题,主要是因为网络多次池化后小目标的信息会大量丢失,但它也必须具有高级特征的语义信息才能进行分类,这就造成了矛盾在检测过程中。通过池化获得高级语义特征和上采样来提高小对象特征图的分辨率是一个不错的想法,也是一个值得进一步研究的方向。

你可能感兴趣的:(深度学习,神经网络,机器学习)