小目标检测(小目标检测综述)

本篇文章给大家谈谈小目标检测,以及小目标检测综述对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

反无人机侦测红外小目标的检测算法通常为什么算法

先检测后跟踪的检测算法和盯大先跟踪后检测的算法。反无人机侦测红外小目标的检测算法通常为 先检测后跟踪的检测算法和先跟踪后检测的算法。先检测后跟踪的检测算法态则轿和先跟踪后检测的算法简洁高效,复杂度低、易于帆肆硬件实现,满足高实时性的应用需求。

详细解读TPH-YOLOv5 | 让目标检测任务中的小目标无处遁形

1 简介

针对无人机捕获场景的目标检测是最近比较流行的一项任务。由于无人机在不同高度飞行,目标尺度变化较大,这样给模型的优化也带来了很大的负担。此外,在无人机进行高速低空飞行时,也会带来密集目标的运动模糊问题。

图1 小目标与密集问题

为了解决上述2个问题,本文提出了 TPH-YOLOv5 。 TPH-YOLOv5 在YOLOv5的基础上增加了一个prediction heads 来检测不同尺度的目标。然后通过探索Self-Attention的预测潜力使用了Transformer Prediction Heads(TPH)代侍戚野替原来的prediction heads。同时作者还集成了卷积块Attention模型(CBAM)来寻找密集场景下的注意力区域。

为了进一步改进 TPH-YOLOv5 ,作者还提供了大量有用的策略,如数据增强、多尺度测试、多模型集成和使用额外的分类器。

在VisDrone2021数据集上的大量实验表明,TPH-YOLOv5在无人机捕获场景上具有良好的性能和可解释性。在DET-test-challenge数据集上,TPH-YOLOv5的AP结果为39.18%,比之前的SOTA方法(DPNetV3)提高了1.81%。在VisDrone Challenge 2021中,TPH-YOLOv5与YOLOv5相比提高了约7%。

本文的贡献如下:

2 前人工作总结 2.1 Data Augmentation

数据增强的意义主要是扩展数据集,使模型对不同环境下获得的图像具有较高的鲁棒性。

Photometric和geometric被研究人员广泛使用。对于Photometric主要是对图像的色相、饱和度和值进行了调整。在处理geometric时主要是添加随机缩放、裁剪、平移、剪切和旋转。

除了上述的全局像素增强方法外,还有一些比较独特的数据增强方法。一些研究者提出了将多幅图像结合在一起进行数据增强的方法,如MixUp、CutMix和Mosaic。

MixUp从训练图像中随机选取2个样本进行随机加权求和,样本的标签也对应于加权求和。不同于通常使用零像素mask遮挡图像的遮挡工作,CutMix使用另一个图像的区域覆盖被遮挡的区域。Mosaic是CutMix的改进版。拼接4幅图像,极大地丰富了被检仔型测物体的背景。此外,batch normalization计算每层上4张不同图像的激活统计量。

在TPH-YOLOv5的工作中主要是结合了MixUp、Mosaic以及传统方法进行的数据增强。

2.2 Multi-Model Ensemble Method

我们都知道深度学习模型是一种非线性方法。它们提供了更大的灵活性,并可以根据训练数据量的比例进行扩展。这种灵活性的一个缺点是,它们通过随机训练算法进行学习,这意味着它们对训练数据的细节非常敏感,每次训练时可能会得到一组不同的权重,从而导致不同的预测。 这给模型带来了一个高方差 。

减少模型方差的一个成功方法是训练多个模型而不是单一模型,并结合这些模老喊型的预测。

针对不同的目标检测模型,有3种不同的ensemble boxes方法:非最大抑制(NMS)、Soft-NMS、Weighted Boxes Fusion(WBF)。

在NMS方法中,如果boxes的overlap, Intersection Over Union(IoU)大于某个阈值,则认为它们属于同一个对象。对于每个目标NMS只留下一个置信度最高的box删除其他box。因此,box过滤过程依赖于这个单一IoU阈值的选择,这对模型性能有很大的影响。

Soft-NMS是对NMS进行轻微的修改,使得Soft-NMS在标准基准数据集(如PASCAL VOC和MS COCO)上比传统NMS有了明显的改进。它根据IoU值对相邻边界box的置信度设置衰减函数,而不是完全将其置信度评分设为0并将其删除。

WBF的工作原理与NMS不同。NMS和Soft-NMS都排除了一些框,而WBF将所有框合并形成最终结果。因此,它可以解决模型中所有不准确的预测。本文使用WBF对最终模型进行集成,其性能明显优于NMS。

2.3 Object Detection

基于CNN的物体检测器可分为多种类型:

一些检测器是专门为无人机捕获的图像设计的,如RRNet、PENet、CenterNet等。但从组件的角度来看,它们通常由2部分组成,一是基于CNN的主干,用于图像特征提取,另一部分是检测头,用于预测目标的类和Box。

此外,近年来发展起来的目标检测器往往在backbone和head之间插入一些层,人们通常称这部分为检测器的Neck。接下来分别对这3种结构进行详细介绍:

Backbone

常用的Backbone包括VGG、ResNet、DenseNet、MobileNet、EfficientNet、CSPDarknet53、Swin-Transformer等,均不是自己设计的网络。因为这些网络已经证明它们在分类和其他问题上有很强的特征提取能力。但研究人员也将微调Backbone,使其更适合特定的垂直任务。

Neck

Neck的设计是为了更好地利用Backbone提取的特征。对Backbone提取的特征图进行不同阶段的再处理和合理使用。通常,一个Neck由几个自底向上的路径和几个自顶向下的路径组成。Neck是目标检测框架中的关键环节。最早的Neck是使用上下取样块。该方法的特点是没有特征层聚合操作,如SSD,直接跟随头部后的多层次特征图。

常用的Neck聚合块有:FPN、PANet、NAS-FPN、BiFPN、ASFF、SAM。这些方法的共性是反复使用各种上下采样、拼接、点和或点积来设计聚合策略。Neck也有一些额外的块,如SPP, ASPP, RFB, CBAM。

Head

作为一个分类网络,Backbone无法完成定位任务,Head负责通过Backbone提取的特征图检测目标的位置和类别。

Head一般分为2种:One-Stage检测器和Two-Stage检测器。

两级检测器一直是目标检测领域的主导方法,其中最具代表性的是RCNN系列。与Two-Stage检测器相比One-Stage检测器同时预测box和目标的类别。One-Stage检测器的速度优势明显,但精度较低。对于One-Stage检测器,最具代表性的型号是YOLO系列、SSD和RetaNet。

3TPH-YOLOv53.1 Overview of YOLOv5

YOLOv5有4种不同的配置,包括YOLOv5s,YOLOv5m, YOLOv5l和YOLOv5x。一般情况下,YOLOv5分别使用CSPDarknet53+SPP为Backbone,PANet为Neck, YOLO检测Head。为了进一步优化整个架构。由于它是最显著和最方便的One-Stage检测器,作者选择它作为Baseline。

图2 THP-YOLOv5整体架构

当使用VisDrone2021数据集训练模型时,使用数据增强策略(Mosaic和MixUp)发现YOLOv5x的结果远远好于YOLOv5s、YOLOv5m和YOLOv5l, AP值的差距大于1.5%。虽然YOLOv5x模型的训练计算成本比其他3种模型都要高,但仍然选择使用YOLOv5x来追求最好的检测性能。此外,根据无人机捕获图像的特点,对常用的photometric和geometric参数进行了调整。

3.2 TPH-YOLOv5

TPH-YOLOv5的框架如图3所示。修改了原来的YOLOv5,使其专一于VisDrone2021数据集:

图3 TPH-YOLOv5模型结构 微小物体的预测头

作者统计了VisDrone2021数据集,发现它包含了很多非常小的目标,所以增加了一个用于微小物体检测的预测头。结合其他3个预测头,4头结构可以缓解剧烈的目标尺度变化带来的负面影响。如图3所示,添加的预测头(Head 1)是由low-level、高分辨率的feature map生成的,对微小物体更加敏感。增加检测头后,虽然增加了计算和存储成本,但对微小物体的检测性能得到了很大的提高。

Transformer encoder block

图4 Transformer Block

用Transformer encoder块替换了YOLOv5原版中的一些卷积块和CSP bottleneck blocks。其结构如图4所示。与CSPDarknet53中原有的bottleneck blocks相比,作者认为Transformer encoder block可以捕获全局信息和丰富的上下文信息。

每个Transformer encoder block包含2个子层。第1子层为multi-head attention layer,第2子层(MLP)为全连接层。每个子层之间使用残差连接。Transformer encoder block增加了捕获不同局部信息的能力。它还可以利用自注意力机制来挖掘特征表征潜能。在VisDrone2021数据集中,Transformer encoder block在高密度闭塞对象上有更好的性能。

基于YOLOv5,作者只在头部部分应用Transformer encoder block形成transformer Prediction head(TPH)和backbone端。因为网络末端的特征图分辨率较低。将TPH应用于低分辨率特征图可以降低计算和存储成本。此外,当放大输入图像的分辨率时可选择去除早期层的一些TPH块,以使训练过程可用。

Convolutional block attention module (CBAM)

CBAM是一个简单但有效的注意力模块。它是一个轻量级模块,可以即插即用到CNN架构中,并且可以以端到端方式进行训练。给定一个特征映射,CBAM将沿着通道和空间两个独立维度依次推断出注意力映射,然后将注意力映射与输入特征映射相乘,以执行自适应特征细化。

图5 CBAM注意力机制

CBAM模块的结构如图5所示。通过本文的实验,在不同的分类和检测数据集上将CBAM集成到不同的模型中,模型的性能得到了很大的提高,证明了该模块的有效性。

在无人机捕获的图像中,大覆盖区域总是包含令人困惑的地理元素。使用CBAM可以提取注意区域,以帮助TPH-YOLOv5抵制令人困惑的信息,并关注有用的目标对象。

Self-trained classifier

用TPH-YOLOv5对VisDrone2021数据集进行训练后,对test-dev数据集进行测试,然后通过可视化失败案例分析结果,得出TPH-YOLOv5定位能力较好,分类能力较差的结论。作者进一步探索如图6所示的混淆矩阵,观察到一些硬类别,如三轮车和遮阳三轮车的精度非常低。

图6 检测混淆矩阵

因此,作者提出了一个Self-trained classifier。首先,通过裁剪ground-truth边界框并将每个图像patch的大小调整为64 64来构建训练集。然后选择ResNet18作为分类器网络。实验结果表明,在这个Self-trained classifier的帮助下,所提方法对AP值提高了约0.8%~1.0%。

4实验与结论

最终在test-set-challenge上取得了39.18的好成绩,远远高于VisDrone2020的最高成绩37.37。

图9 检测结果图

小目标检测的方法总结

一、图片输入层面

基于以上结论,采用多尺度训练过程中,要在避免那些极小的和极大的(多尺度后)带来的不好的影响时,考虑保证目标有足够的多样性。所以在进行多尺度训练过程中,将每种输入尺度下,不满足要求的proposal以及anchor忽略。论文中使用了三种尺度如图所示,比一般的多尺度训练的尺度跨度要大。

二、 Neck部分(采用金字塔结构改进方案的)

一般意义的FPN网络结构是最右边似的结构,而本文中采用的结构则是

该方法首先无疑是增加了计算量,优点就是最终输出的每一层的特征不是一个线性的变换(应该想表述的说不是从一层特征直接到另一层特征),而是使用共享的多层特征。最终相比RetinaNet提升一个点左右吧,效果一般。VisDrone2020检测的冠军团队采用了这个结构

该文章利用多个TUM模块试图更充分构建的特征金字塔的网络结构,靠前的TUM提供浅层特征,中间的歼哪TUM提供中间层特征,靠后的TUM提供深层特征,通过这种方式能够多次将深层浅层特征融合,参数量多了。和RetinaNet对比可以看到,512输入,都不采用multi-scale推理,mAP由33提升到37.6,小目标精度也提升了一点;以参数量和计算量堆砌的精度提升,不是好方法。

文章认为不同层的重要程度应该和嫌租目标的绝对尺度分布有关系,所以在FPN自上而下融合的时候,加入了一个尺度因子用来平衡金字塔不同层的重要性。个人感觉意义不大,实际提升也不明显。氏者码

三、 Head部分的改进方案

在VisDrones上的冠军方案和若干其他方案都采用了这种“双头部”的方案。soft-NMS似乎可以提升几个点。

四、 小目标目前检测不好,主要原因不是小,应该是小且和背景接近,对比度不高。所以可以借鉴伪装物体检测的思路;

[img]

目标检测小目标/多尺度难题

场景 :目标检测中存在尺寸很小的目标,或同时存在大小差距很大的目标,小目标由于下采样/数量少丢失风险大

方案一:构造传统多尺度图像空间

    在传统的图像处理,多尺度问题通常通过上/下采样得到不同分辨率图像,构造多尺度图像空间,在各层使用不同大小检测器进行检测。可认为是密集采样检测,无法有效区分小目标与背景干扰。

方案二:提高神经网络训练集小目标样本占比,或提升小目标样本的loss权重

    神经网络学习训练数据的分布,如果小目标太少,容易在网络参数的优化中被稀释,因此提升小样本目标的占比属于基础且高性价比操作:

2.1 copy paste

    随机选择目标,copy并缩小后paste到新的训练样本中,以增加小样本数量

2.2 mosaic

   扰数 将原始样本进行多合一拼接,达到下采样效果,同时改变目标的尺寸、位置、形态,增加每张图中小样本的数量。

2.3 oversampling

    训练过程中过采样包含小尺度目标的图像,即更多使用包含小目标进行训练,且增加程度Rate可调节。

方案三:增加anchor的覆盖范围

    基于anchor的目标检测中,anchor的存在降低了坐标回归的难度,同时也一定程度上缓绝首决定了网络检测的范围,因此在网络设定anchor的时候,更多的设置小尺寸的anchor,将对网络在不同尺度捕获小目标起到积极作用。此外,小目标的回归难度显著大于大目标,因此计算小目标的Anchor IoU时,阈值可适当降低。

方案四:提升不同尺度的feature的融合程度

    神经网络的核心是对输入数据进行特征表征,以适应label监督的分布,FPN与传统图像多尺度空间的思路类似,不同之处在于:1、不同尺度层之间存在特征的融合;2、各层特征由网络动态学习得到,而传统多尺度空间是静态的特征。

方案五: 提高输入分辨率,预训练+finetuning

    放大输入图像+使用高分率图像预训练再在小图上微调,在实践中要优于专门针对小目标训宏桐练一个分类器。同时必须控制下采样率,避免小目标信息丢失。

方案六:结合anchor和anchor-free的方法

    在FSAF中结合了anchor和anchor-free两条检测分支,anchor分支根据预设的anchor size可以检测绝大部分预期的目标,anchor-free的分支对于anchor范围外的目标(例如小目标)可以起到补充检测的作用。

如果同一场景中,目标尺度差异过大,可采用两个模型来检测,针对小目标进行调小iou阈值,以保留更多的小目标,检测结果后处理合并。

小目标检测相关技巧总结

小目标问题在物体检测和语义分割等视觉任务中一直是存在的一个难点,小目标的检测精度通常只有大目标的一半。

CVPR2019论文: Augmentation for small object detection 提到了一些应对小目标检测的方法,笔者结合这篇论文以及查阅其它资料,对小目标检测相关技巧在本文进行了部分总结。

小目标的定义: 在MS COCO数据集中,面积小于 32*32 的物体被认为是小物体。

小目标难以检测的原因: 分辨率低,图像模糊,携带的信息少。由此所导致特征表达能力弱,也就是在提取特征的过程中,能提取到的特征非常少,这不利于我们对小目标的检测。

1、由于小目标面积太小,可以放大图片后再做检测,也就是在尺度上做文章,如FPN(Feature Pyramid Networks for Object Detection),SNIP(An Analysis of Scale Invariance in Object Detection – SNIP)。

Feature-Fused SSD: Fast Detection for Small Objects, Detecting Small Objects Using a Channel-Aware Deconvolutional Network 也是在多尺度上做文章的论文。

2、在Anchor上做文章(Faster Rcnn,SSD, FPN都有各自的anchor设计),anchor在设置方面需要考虑三个因素:

anchor的密度: 由检测所用feature map的stride决定,这个值与前景阈值密切相关。

anchor的范围: RetinaNet中是anchor范围是32~512,这里应根据任务检测目标的范围确定,按需调整anchor范围,或目标变化范围太大如MS COCO,这时候应采用多尺度测试。

anchor的形状数量: RetinaNet每个位置预测三尺度三比例共9个形状的anchor,这样可以增加anchor的密度,但stride决定这些形状都是同样的滑窗步进,需考虑步进会不会太大,如RetinaNet框架前景阈值是0.5时,一般anchor大小是stride的4倍左右。

该部分anchor内容参考于:

3、在ROI Pooling上做文章,文章SINet: A Scale-Insensitive Convolutional Neural Network for Fast Vehicle Detection 认为小目标在pooling之后会导致物体结构失真,于是提出了新的Context-Aware RoI Pooling方法陆腊。

4、用生成对抗网络(GAN)来做小目标检测:Perceptual Generative Adversarial Networks for Small Object Detection。

1、从COCO上的统计图可以发现,小目标的个数多,占到了41.43%,但是含有小目标的图片只有51.82%,大目标所占比例为24.24%,但是含有大目标的图像却有82.28%。这说明有早郑滑一半的图像是不含小目标的,大部分的小目标都集中在一些少量的图片中。这就导致在训练的过程中,模型有一半的时间是学习不到小目丛念标的特性的。

此外,对于小目标,平均能够匹配的anchor数量为1个,平均最大的IoU为0.29,这说明很多情况下,有些小目标是没有对应的anchor或者对应的anchor非常少的,即使有对应的anchor,他们的IoU也比较小,平均最大的IoU也才0.29。

如上图,左上角是一个anchor示意图,右上角是一个小目标所对应的anchor,一共有只有三个anchor能够与小目标配对,且配对的IoU也不高。左下角是一个大目标对应的anchor,可以发现有非常多的anchor能够与其匹配。匹配的anchor数量越多,则此目标被检出的概率也就越大。

实现方法:

1、Oversampling :我们通过在训练期间对这些图像进行过采样来解决包含小对象的相对较少图像的问题(多用这类图片)。在实验中,我们改变了过采样率和研究不仅对小物体检测而且对检测中大物体的过采样效果

2、Copy-Pasting Strategies:将小物体在图片中复制多分,在保证不影响其他物体的基础上,增加小物体在图片中出现的次数(把小目标扣下来贴到原图中去),提升被anchor包含的概率。

如上图右下角,本来只有一个小目标,对应的anchor数量为3个,现在将其复制三份,则在图中就出现了四个小目标,对应的anchor数量也就变成了12个,大大增加了这个小目标被检出的概率。从而让模型在训练的过程中,也能够有机会得到更多的小目标训练样本。

具体的实现方式如下图:图中网球和飞碟都是小物体,本来图中只有一个网球,一个飞碟,通过人工复制的方式,在图像中复制多份。同时要保证复制后的小物体不能够覆盖该原来存在的目标。

网上有人说可以试一下lucid data dreaming Lucid Data Dreaming for Multiple Object Tracking ,这是一种在视频跟踪/分割里面比较有效的数据增强手段,据说对于小目标物体检测也很有效。

基于无人机拍摄图片的检测目前也是个热门研究点(难点是目标小,密度大)。

相关论文:

The Unmanned Aerial Vehicle Benchmark: Object Detection and Tracking(数据集)

Drone-based Object Counting by Spatially Regularized Regional Proposal Network

Simultaneously Detecting and Counting Dense Vehicles from Drone Images

Vision Meets Drones: A Challenge(数据集)

1:

2:

3:

4:

5:

6:

7:

“多尺度”目标检测问题

在目标检测任务中,被橘饥升测目标的大小经常是不固定的,自动驾驶相关检测任务可能要同时检测大卡车与小狗;工业质检相关检测任务可能要同时检测布料的大面积撕裂与小穿孔;医疗病灶检测任务可能要同时检测大小不一的病灶。在被测物体尺度相差极大时,模型通常难以对极大和极小的物体同时进行检测。

首先,要知道为什么被测物体尺度相差过大会造成模型精度降低。物体检测领域中各个模型的骨干网络,无外乎不是使用多层卷积逐步提取图像深层信息,生成多层特征图,并基于深层特征图做定位、分类等进一步处理。

在这“由浅至深”的特征提取过程中,浅层特征具有较高的分辨率,可以携带丰富的几何细节信息,但感受野很小且缺乏语义信息,与之相反的是,深层特征具备较大的感受野以及丰富的语义信息,但分辨率不高,难以携带几何细节信息。 此时假设我们将模型继续加深,超深层特征中将具有极大的感受野,被测物体的语义信息也会因被周遭环境信息所稀释而降低。

如果训练数据中同时包含尺度极大和极小的被测物体,那么会发生什么呢?

如上图所示,假设模型一共有100层,大小目标的细节信息都随着模型层数的加深而衰退。对于语义信息而言,由于小目标尺度小,随着模型层数的增多(下采样次数的增多),语义信息可能在25层即提取完毕,之后随着层数的继续增加,小目标的语义信息也会快速被环境信息所稀释;而大目标尺度大,可能要在50层才能提取到足够的语义信息,但此时小目标的语义信息已经丢失的差不多了。

那么这个网络的深度应定为25层,还是50层,亦或是37层呢?定25层则对小目标的检测效果好而大目标检测能力差;定50层则反之;定37层则两类目标的检测能力较为均衡但都不在最好的检测状态。而这就是“多尺度”目标检测问题的根源所在。

以下是面对尺度变化范围过大导致精度降低的几种常见策略。

由同一肢或张图像生成的多张不同分辨率图像的集合,由大到小摞在一起,就是图像金字塔。图像金字塔可以通过对图像不断地进行梯次向下采样,直至达到某个终止条件而获得,这个过程看似十分简单,但是它可以十分有效的从多分辨率的角度来解释图像。图像金字塔的底部是待处理图像的高分辨率表示,而顶部是图像的低分辨率近似。

使用图像金字塔来解决“被测物体尺度变化幅度大导致模型精度降低“问题的过程可以看做是:将一张图片处理成图片金字塔后,随着金字塔层级的变化,单个被测物体也会生成由大到小的多种尺度。在将这些不同尺度的图片传入模型之后,即使模型只擅长对某一尺度范围内的物体进行识别,不论被测物大或小,总能在金字塔的某一层中被缩放至模型擅长处理的尺度范围内。请你思考一下,“图像金字塔”方法有哪些优缺点?

这种处理方法虽然通过多尺度的特征提取,解决了被测物体尺度变化范围过大的问题,但是会大幅增加内存占用量,导致复杂的网络难以进行训练;会大幅增加模型运算量,导致模型推理时间变长。

金字塔特征层级可以看做是一个特征图化的图像金字塔。模型一般浅层的特征图较大,后面会逐渐采用stride=2的卷积或者pool来降低特征图大小,可将前面较大的特征图和后面较小的特征图都用来做检测。

单次检测器模型(SSD)就尝试使用了金字塔特征层级的结构,SSD的“附加特征层(Extra Feature Layers)”中的特征图经由多次下采样,形成了不同尺度的4层特征图,而后在正向传播过程中重复使用这四层特征图分别进行预测,因此“金字塔特征层级”不会增加模型运算量,可看作是零计算成本的。但是与此同时,SSD没有重复使用VGG-Base中的特征图,而是再网络中的最高层之后添加几个新层,以此构建金字塔,因此它错过了重复使圆老用特征层级中更高分辨率特征图的机会,但这些更高分辨率的特征图对于检测小目标很重要。

FPN的全称是Feature Pyramid Networks,即“特征金字塔网络”,总体结构如上图所示。FPN是一个利用深度卷积神经网络中固有的多尺度特征图,通过加入侧向连接和上采样,来以极小的附加计算量构建不同尺度的具有高级语义信息的特征金字塔的网络结构。

对于物体检测模型而言,FPN结构并不是模型中独立的一个模块,而是作为原始Backbone的附加项,融合在卷积神经网络之中。FPN结构可分为Bottom-up pathway和Top-down pathway and lateral connections两条主线,下面将以ResNet作为原始Backbone,为大家讲解FPN结构是如何运作的。

Bottom-up pathway即为由下至上的通路,也就是FPN结构图左侧的结构,它等价于标准ResNet骨干网络。首先回顾一下ResNet网络结构:

ResNet18网络的原始输入大小是(224x224),随后经由stride=2的卷积层或池化层,将特征图大小逐步缩放至(112x112)、(56x56)、(28x28)、(14x14)、(7x7)(忽略最后的Average pool、Fc、Softmax层),此时的特征图根据分辨率由大到小一次排开,就形成了一个特征金字塔的结构。此时可将这每个bolck的输出按顺序标记为{C1,C2,C3,C4,C5}。

Top-down pathway and lateral connections又可分为“由上至下的通路”以及“侧向连接”两部分,也就是FPN结构图右侧的结构。这部分的运算规则可表示为:

运算规则1:通过侧向连接取左侧Bottom-up pathway的顶层输出C5(size=7x7),经由1x1的卷积调整通道数(论文中将此通道数调整为256以便Faster RCNN后续计算)后,所得的结果即为Top-down pathway and lateral connections结构的顶层,可标记为M5(size=7x7)。

运算规则2:通过侧向连接取左侧的输出C4(size=14x14),并将所得的M5通过最近邻值插值法进行2倍上采样(size=14x14),再将C4与上采样的结果进行加和,所得结果可标记为M4(size=14x14)。

以此类推,后续还可运算求得M3(size=28x28)、M2(size=56x56)(M1理论上可求,但是由于C1仅由原图经一次卷积所得,几乎不具备任何语义信息,因此一般不做计算)。运算完成后,结构图可表示为:

上述步骤所获得的结果可按顺序标记为{M2,M3,M4,M5}。但这还不是最终的输出结果,因为上采样过程中产生的混叠效应会对后续预测造成影响,所以还需对所有经由上采样得到的特征图进行一次3x3的卷积,来消除混叠效应造成的影响并获得最终的输出结果,输出结果可标记为{P2,P3,P4,P5}。由于M5并不是由上采样所得,故只需对{M2,M3,M4}做卷积即可。

上图展示的即为FPN结构的全部计算流程。

数据增强是一种提升小目标检测性能的最简单和有效的方法,通过不同的数据增强策略可以扩充训练数据集的规模,丰富数据集的多样性,从而增强检测模型的鲁棒性和泛化能力。常见的数据增强方法如下图所示:

数据增强这一策略虽然在一定程度上解决了小目标信息量少、缺乏外貌特征和纹理等问题,有效提高了网络的泛化能力,在最终检测性能上获得了较好的效果,但同时带来了计算成本的增加。而且在实际应用中,往往需要针对目标特性做出优化,设计不当的数据增强策略可能会引入新的噪声,损害特征提取的性能,这也给算法的设计带来了挑战。

生成对抗学习的方法旨在通过将低分辨率小目标的特征映射成与高分辨率目标等价的特征,从而达到与尺寸较大目标同等的检测性能。前文所提到的数据增强、特征融合和上下文学习等方法虽然可以有效地提升小目标检测性能,但是这些方法带来的性能增益往往受限于计算成本。例如Noh等人提出了新的特征级别的超分辨率方法,该方法通过空洞卷积的方式使生成的高分辨率目标特征与特征提取器生成的低分辨率特征保持相同的感受野大小,从而避免了因感受野不匹配而生成错误超分特征的问题。

“FPN是一个利用深度卷积神经网络中固有的多尺度特征图,通过加入侧向连接和上采样,来以极小的附加计算量构建不同尺度的具有高级语义信息的特征金字塔的网络结构。”

1.FPN结构与标准的单特征图输出的卷积神经网络进行比较:单特征图输出的卷积神经网络只输出最后一次特征图,容易丢失小目标的细节信息。

2.FPN结构与图像金字塔进行比较:FPN结构利用深度卷积神经网络中固有的多尺度特征图,不需要对原始图片做多级缩放,极大地减少了计算量。

3.FPN结构与金字塔特征层级进行比较:SSD中的金字塔层级没有使用原始骨干网络中的底层特征图,造成了部分细节信息的丢失,且特征图是随着正向传播过程直接生成的,深层特征图的语义信息无法与浅层结构信息进行结合。而FPN不仅保留了底层特征图的细节信息,还通过“由上至下”的结构将深层的语义信息与浅层的几何细节信息进行融合。

综上所述,FPN在标准卷积神经网络“由下至上”的数据流向基础上,通过横向连接的方式补充了“由上至下”的数据流向,这一结构可有效的丰富底层特征图中包含的语义信息,且FPN结构的金字塔是由Conv2开始计算,使底层几何细节信息特别丰富,尤其是小目标的位置信息,对小目标的召回率的提高有很大的帮助。

1.复制增强:KISANTAL M,WOJNA Z,MURAWSKI J,et al. Augmentation for small object detection[EB/OL].(2019‑02‑19)[2019‑02‑19]. .

2.自适应采样:CHEN C, ZHANG Y, LV Q, et al. RRNet: A hybrid detector for object detection in drone‑captured images[C]// Proceedings of the IEEE/CVF International Conference on Computer Vision Workshops. Los Alamitos: IEEE, 2019: 100‑108.

3.尺度匹配:YU X, GONG Y, JIANG N, et al. Scale match for tiny person detection[C]// Proceedings of the IEEE/CVF Winter Conference on Applications of Computer Vision. Los Alamitos: IEEE,2020: 1257‑1265.

4.缩放与拼接:CHEN Y,ZHANG P,LI Z,et al.Stitcher: Feedback‑driven data provider for object detection[EB/OL].(2020‑04‑26)[2021‑03‑14]. .

5.自学习数据增强:ZOPH B, CUBUK E D, GHIASI G, et al. Learning data augmentation strategies for object detection[C]//Proceedings of European Conference on Computer Vision. Cham: Springer, 2020: 566‑583.

6.生成对抗学习:NOH J, BAE W, LEE W, et al. Better to follow, follow to be better: Towards precise supervision of feature super-resolution for small object detection[C]// Proceedings of the IEEE/CVF International Conference on Computer Vision. New York: IEEE, 2019: 9725-9734.

7.FPN:LIN T Y, DOLLÁR P, GIRSHICK R, et al. Feature pyramid networks for object detection[C]// Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. New York: IEEE, 2017: 2117-2125.

8.图像金字塔:ADELSON E H,ANDERSON C H,BERGEN J R,et al.Pyramid methods in image processing[J].RCA Engineer,1984,29(6): 33‑41.

9.ZOU Z,SHI Z,GUO Y,et al.Object detection in 20 years: A survey[EB/OL].(2019‑05‑13)[2019‑05‑16]. . [百度学术]

关于小目标检测和小目标检测综述的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

标签列表