前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >A full data augmentation pipeline for small object detection based on GAN

A full data augmentation pipeline for small object detection based on GAN

作者头像
狼啸风云
发布2023-10-07 15:53:23
2960
发布2023-10-07 15:53:23
举报

摘要

 小物体(即32×32像素以下的物体)的物体检测精度落后于大物体。为了解决这个问题,我们设计了创新的体系结构,并发布了新的数据集。尽管如此,许多数据集中的小目标数量不足以进行训练。生成对抗性网络(GAN)的出现为训练体系结构开辟了一种新的数据增强可能性,而无需为小目标注释巨大数据集这一昂贵的任务。 在本文中,我们提出了一种用于小目标检测的数据增强的完整流程,该流程将基于GAN的目标生成器与目标分割、图像修复和图像混合技术相结合,以实现高质量的合成数据。我们的流水线的主要组件是DS-GAN,这是一种基于GAN的新型架构,可以从较大的对象生成逼真的小对象。实验结果表明,我们的整体数据增强方法将最先进模型的性能提高了11.9%AP@。在UAVDT上5 s和4.7%AP@。iSAID上的5s,无论是对于小目标子集还是对于训练实例数量有限的场景。

1、介绍

随着大型训练数据集的发布和细胞神经网络架构的不断改进,随着GPU计算能力的不断提高,目标检测器的准确性逐年取得了很大进步。

 在这条线上,小物体检测作为一个领域脱颖而出,人们越来越感兴趣。这主要是因为许多下游任务要求早期检测物体以迅速采取行动:自动驾驶汽车或无人机上的感应和躲避等应用程序需要检测尽可能远的物体,或卫星图像分析,其中几乎所有物体的大小都只有几个像素。也就是说,以前的所有应用程序都要求尽快识别物体,即当它们在图像中几乎看不见时。与[3]中的工作一样,最近基于CNN的物体检测器在从小于32×32像素到图像大小的宽范围内提供了高精度。尽管有这些改进,但现有的解决方案在小对象方面往往表现不佳。

 检测这种小物体的问题有两个:(i)在深度细胞神经网络架构中,特征图通常越深,分辨率就越低,当物体太小,可能会在过程中丢失时,这会适得其反;(ii)最流行的数据集,如MS COCO或ImageNet,将注意力集中在较大的物体上。虽然为了解决第一个问题,每年都会提出新的解决方案,但第二个问题主要是通过生成新数据集的繁琐任务来解决。

 我们已经注意到一些原因,这些原因要求在公共数据集中有大量的小目标来训练小目标检测器。首先,包含小物体的相对较少的图像将潜在地使任何检测模型偏向于更多地关注中型和大型物体。此外,小目标中稀缺的特征阻碍了模型的泛化,缺乏很大的可变性。最后,目标越小,它可以出现的地方就越多,增加了目标背景的多样性,并要求在训练中有更多的上下文可变性。

 此外,有证据[14]表明,良好的数据争抢可以在不改变网络架构的情况下提升深度模型,以实现最先进的性能。尽管数据增强已被证明可以显著提高图像分类,但其在物体检测方面的潜力尚未得到彻底研究。因此,考虑到为目标检测注释图像的额外成本,数据扩充可能在提高通用目标检测的性能方面发挥重要作用。

 GAN的出现为数据扩充领域带来了一种新的方法。这类模型是以对抗性的方式训练的,其中一个网络(生成器)试图通过生成新的图像来欺骗另一网络(鉴别器)。生成器试图提供越来越类似于现实世界中的示例。

用于目标检测的数据增强提出了两个主要挑战:(i)生成新目标和(ii)集成这些目标以使其适应新场景。前者主要通过重用不同位置的现有目标或通过重新缩放函数调整其比例来解决。然而,已经证明,与真实世界的物体相比,常见的重缩放函数会导致伪影,这些伪影会显著扭曲重缩放的物体。后者可以通过目标分割方法来处理,以清除原始背景,然后将目标插入合理的位置,同时调整颜色一致性。在小对象的情况下,还有一个额外的问题,即分割方法的性能急剧下降。此外,许多流行的数据集不包含正确训练分割模型的分割基本事实。

 由于所有这些原因,在本文中,我们提出了一个用于小目标数据扩充的完整流程。我们的管流程将视频数据集作为输入,并返回相同的数据集,但带有新的合成小目标(图1)。假设是,从可以在大量数据集中找到的较大目标的视觉特征开始,可以生成高质量的合成小目标,并将其放入现有图像中。为此,管道具有以下阶段:(i)通过GAN从大目标生成小目标;(ii)通过光学流在图像中寻找逻辑位置;(iii)通过修复和混合技术集成小物体。本文所述的主要贡献有:

•用于小目标数据扩充的完整管道,能够使用较大的目标自动生成小目标,并以一致的方式将它们放置在现有背景中。

•下采样GAN(DS-GAN),一种生成对抗性网络架构,可将大型目标转换为高质量的小型目标。

•在视频数据集UAVDT和图像数据集iSAID上进行了广泛的实验,其中改进了最先进的基本结果方法。

2、相关工作

 本文提出的小目标数据增强方法是基于几个计算机视觉任务的。执行流程从一个GAN开始,该GAN从较大的目标生成合成的小目标。这个过程可以看作是解决了图像超分辨率的对立。然后,分割网络获得输入目标的像素,并且该掩模适用于新生成的小目标。同时,图像中的新位置是利用光学流获得的。合成目标可以替换也可以不替换图像中现有的小目标。如果是这样,则通过修复将真实的场景从场景中移除。最后,将物体放置在选定的位置,并通过图像混合进行调整,以适应新的背景。

小目标检测

 小物体检测是指改进对那些尺寸较小且服务较差的物体的检测,通常定义为检测尺寸低于32×32像素的物体[7]。常见对象检测的实际趋势是更深入地识别更复杂的语义,但不包含详细视觉特征的小目标可能会在深度网络中丢失。更复杂的架构,如FPN或区域上下文网络,部分缓解了这个问题。

 此外,另一个限制是,大众化测试集中在较大的目标上,而较小的目标被低估了。在某种程度上,这种限制已经被UAVDT、VisDrone2019VID等视频数据集的出现所减少,尤其是USC GRAD STDdb,它们是具有很大比例小对象的视频数据集。

 对抗性学习试图通过恶意输入或通过两个或多个目标相反的网络进行对抗性攻击来欺骗模型。因此,可以将这些样本添加到训练集中,以改善学习决策边界中的薄弱环节。对抗性训练的原则导致了流行的GAN。该模型由两个网络组成,这两个网络在对抗性过程中训练,其中一个网络(生成器)迭代生成假图像,另一个网络在真图像和假图像之间进行区分。因此,对抗性损失迫使生成的图像原则上与真实图像无法区分。

 提高小物体检测精度的一种方法是提高物体分辨率,例如使用感知GAN或SOD MTGAN。已经提出了一种基于GANs的类似技术来改进对微小人脸或小规模行人的检测。我们的方法不同,因为它在训练集中对对象进行下采样以进行数据扩充,而且它的优点是GAN只需在训练过程中执行。之前的提议要求在推理过程中也执行GAN生成器——检测小物体——因为它们的检测器需要超分辨率图像。

 数据扩充

数据增强策略被广泛用于训练视觉模型,以最大限度地减少训练和测试子集之间的偏差,即产生更通用的模型。数据扩充主要有两种类型:基本的图像处理和生成合成方法。基本操作是简单的操作,因此深度学习设计通常将其中许多结合起来。对于目标检测,图像镜像和以目标为中心的裁剪是最广泛使用的[25]。生成合成目标的一个简单解决方案是通过随机复制粘贴来增加小目标实例的数量。这种方法的问题有两个:(i)物体的特征保持不变,(ii)物体的位置和规模可能不符合上下文,例如天空中的汽车。第二个问题在[16]中通过一种称为AdaResampling的自适应增强策略来解决,该策略在逻辑上增强了实例。

 在[27]中,他们通过两个模块增加了给定数据集中的人物实例数量:形状引导变形和环境适应。前者通过改变给定进入者的形状来产生数据扩充。后者通过混合使人适应背景。然而,它们保持了对象的分辨率,因此没有解决分辨率不匹配的问题。

 另一种解决方案是通过对抗性训练来学习可能增强的空间。在[28]中,作者引入了PTGAN来在数据集之间转移人员,以解决经典的领域差距问题。然而,这对数据集中目标的大小是匹配的,因此可以在不进行下采样的情况下使用像CycleGAN这样具有额外约束的解决方案。此外,在他们的环境中,人是足够大的物体,可以被准确地分割,这使得用这样的分割来输入PTGAN成为可能。此外,PTGAN不处理对象定位,即在进行转移的数据集的图像中包括新人的位置。DetectorGAN基于CycleGAN,它执行图像到图像的转换,将无目标图像转换为有对象图像,反之亦然。尽管如此,DetectorGAN并没有将物体放置在图像中的相干位置,也没有对小物体进行测试。

 图像超分辨率

图像超分辨率包括从LR图像中估计HR图像的任务。实现最终图像的技术可以使用视频的一系列连续帧或单个图像。多个基于图像(或经典)的解决方案大多是基于重建的算法,这些算法试图通过模拟图像形成模型来解决混叠伪影。这些模型高度依赖于LR图像之间的运动估计,因此在现实应用中更不稳定。此后,我们将仅描述单图像超分辨率方法。

在卷积神经网络出现之前,单图像超分辨率技术从简单的基于预测的方法(产生纹理过于平滑的解决方案)到试图通过利用不同先验来解决这些缺点的方法。随着CNN的巨大成功,所有的努力都转向了这个方向。在这个范围内,Dong等人[32]使用双三次插值来提升输入图像,并馈送三层深度全卷积网络,以实现最先进的SR性能。感知损失的定义[33],而不是低水平的像素误差测量,代表了一个显著的改进。感知损失函数使用另一个预先训练的CNN(如VGG)在计算的特征图上应用L2损失,以增加感知相似性,从而恢复视觉上更令人信服的HR图像。最近,GANs进一步提升了图像超分辨率的结果。

 尽管GANs取得了进展,但为了训练这些网络,有必要拥有LR和HR图像对。大多数方法使用双线性插值来获得LR图像,如[17,18]所示,但对于真实世界的低分辨率图像,它们不能产生良好的结果。为了解决这一问题,Bulat等人[17]定义了两个连续的GAN,其中第一个GAN学习如何将HR图像降级为LR图像,第二个GAN使用这些LR图像来学习标准图像超分辨率。

 图像修复

图像修复是一种保护过程,其中损坏、退化或缺失的部分被填充以呈现完整的图像。与图像超分辨率相同,由于鉴别器迫使生成器在数据集中填充相干数据,因此GANs的建立可以带来更好的修复结果。具体而言,Pathak等人[35]引入了一种上下文编码器,该编码器以L2像素重建损失和生成对抗性损失作为目标函数进行训练,以完成固定大小的大中心区域。最近,Yu等人[36]提出了一种新的上下文注意力层,在训练过程中借用遥远空间位置的特征,以提高最终表现。

 图像混合

图像混合的目标是从一个或多个源图像的部分或全部叠加创建合成图像,优化空间和颜色一致性,使合成图像看起来尽可能自然。图像混合的一个特定例子是将源图像的前景区域粘贴到特定位置的目标背景中。默认的方法是从源图像中复制像素并将其粘贴到目标图像上,但由于合成边界的突然强度变化,这会产生明显的伪影。

 Burt和Adelson[37]介绍了拉普拉斯金字塔,一种感兴趣图像的多分辨率表示。源图像被分解为一组带通滤波的分量图像,然后在每个分辨率带内独立连接,最后将不同的级别相加。因此,当粗糙特征出现在边界附近时,这些特征会在相对较大的距离内逐渐混合,而不会模糊或以其他方式降低边界附近的图像细节。

3、小目标数据增强

 图2显示了用于小目标检测的数据增强的流水线的体系结构。该架构的目的是增加视频数据集中的小对象的数量。我们的系统由两个过程组成:小目标生成,包括目标下采样和对象分割,以及将小目标集成到图像中,包括位置选择、目标修复和对象混合。

 通过这些组件,系统能够从真实的HR目标生成SLR目标;这些SLR目标将具有与真实LR目标相似的特征。然后,它们被插入图像中看似合理的位置,而不强制帧之间的任何时间一致性。以下是应用于输入视频数据集的流程执行的步骤(图2):

小目标生成过程从HR目标生成SLR目标及其相应的遮罩。 1、目标下采样从具有其上下文的HR目标生成SLR目标。

2、目标分割计算输入HR对象分割掩码,并将其转换为SLR目标。 •小目标集成过程为SLR目标选择最佳位置,并将其插入图像中: 1、位置选择器选择一些真实LR目标存在的可能位置,或者存在于先前或连续帧中,并通过光学流动和重叠比较LR和HR目标的方向和形状来优化位置和SLR目标匹配。 2、目标修复会删除将要替换的目标。

3、目标混合对匹配位置中的每个SLR目标进行复制粘贴,并执行混合操作以缓解场景上的突然边界变化和颜色强度。

 我们的系统提供的最终结果是一个新的数据集,该数据集使用相同的视频图像创建,但填充了越来越多的单反物体,取代了固定数量的SLR目标。

3.1、小目标生成

3.1.1、小目标生成

我们设计了一种下采样GAN(DS-GAN),以克服双线性插值或最近邻等已知方法获得SLR目标时性能较差的问题。DS-GAN是一种生成对抗性网络,它学习将HR目标正确地降级为SLR目标,以增加目标检测的训练集。

 在这个下采样问题中,目的是根据具有下采样因子r的输入HR目标来估计SLR目标。要解决的问题是一个不成对的问题,其中HR目标没有相应的LR对,但网络必须学习整个LR子集的特征分布,同时保持原始HR目标的相似视觉外观。对于具有C个颜色通道的图像,HR的大小为W×H×C,而LR和SLR都用

来描述。因此,为了训练所提出的GAN,需要两个不同的图像集:(i)由真实大目标(HR目标)组成的HR子集和(ii)由真实小目标(LR目标)构成的LR子集。LR和HR子集都可以取自同一数据集,或者如果需要更多样本,则可以取自任何额外的数据集。

  我们的DS-GAN架构如图3所示。生成器网络(G)将与噪声向量(z)连接的HR图像作为输入,并生成比输入小4×的单反图像(r=4)。例如,一个128×128的对象将导致一个32×32的目标。噪声向量是从正态分布中随机采样的,并且它被附加到输入图像。这允许从单个HR目标生成多个SLR目标,从而对HR图像将受到多种类型的LR噪声影响的事实进行建模。根据[15]的方法,我们进一步定义了鉴别器网络(D),我们以交替的方式与生成器(G)一起对其进行优化。

 生成器是一个编码器-解码器网络——见图3——由六组残差块组成[1]。每组具有两个相同尺寸的残差块,如[38]所述,具有预激活和批量归一化功能。为了实现4倍的缩小,由池化层执行的四个2倍的下采样步骤被放置在前四组中的每一组的末尾,由反褶积层执行的两个2倍上采样步骤被放在最后两组中的每个的末尾。

 鉴别器(见图3)遵循相同的残差块结构(没有批量归一化),然后是完全连接层和S形函数。鉴别器包括具有两个2×下采样步长的六个残差块。两种架构的组成细节如图3所示。使用这种架构,我们的目标是训练G生成以HR样本为条件的SLR样本。为了实现这一点,为对抗性损失选择的目标函数是铰链损失[39]:

其中

是LR子集分布,

是要通过替代优化学习的生成器分布。

的定义为

,其中

是HR子集。这个公式背后的总体思想是,它允许以欺骗D为目标训练G,即训练来区分单反和单反图像。通过这种方法,我们的生成器可以学习创建与真实LR图像高度相似的SLR样本,从而难以按D进行分类。 

 相应地,我们通过优化损失函数

来训练

,定义为:

 其中,

是对抗性损失,

是L2像素损失,λ是平衡两个分量的权重的参数。

 对抗性损失

基于鉴别器的概率定义为:

 其中

是HR子集,z是噪声向量。对抗性损失是以不成对的方式计算的,使用LR子集使SLR目标被真实世界的伪影污染。

使输入HR和输出SLR之间的

距离最小化:

 其中W和H表示输入HR大小,r是下采样因子,AvgP是将HR输入映射到输出G(b,z)分辨率的平均池函数。使用平均池化层在SLR目标和下采样到输出SLR分辨率的HR目标之间以成对的方式计算

 该组件旨在保持合成目标的外观与原始HR目标相似。此外,为了解决鉴别器训练的稳定性,我们通过频谱归一化技术对其权重进行归一化[39]。

3.1.2、目标分割

 要在新场景中集成SLR目标,必须从其背景中提取前景目标。选择用于目标分割的方法是调整在公共数据集MS COCO上训练的Mask R-CNN框架,以从HR目标中获得掩码(图4)。由于小目标的分割结果性能较差,我们建议从大目标中获取掩码,并将其应用于小目标。这只需通过因子r调整大小即可实现。这是可能的,因为像素损失(等式(4))迫使生成器保持视觉目标的外观,即姿势、方向、大小等。图4显示了HR对SLR目标的遮罩适应性。

添加这个过程解决了三个问题:(i)管道并不将其性能限制在具有掩码地面真相的对象的存在上,这在许多流行的数据集中是缺失的,因为注释非常昂贵;(ii)优化了小对象分割,因为分割方法对小对象的性能显著下降;以及(iii)不需要使用SLR对象来生成分割掩模——SLR对象不包含足够的上下文来获得适当的掩模(图4)。

3.2、小目标集成

3.2.1、位置选择器

在执行用于目标检测的数据增强时,图像内位置的选择是一个关键问题。如果该位置是随机选择的,则目标周围的新上下文可能会适得其反,即背景不匹配可能导致更多的误报。原因是检测器不仅学习对象特征,还学习上下文特征,使用背景先验知识来帮助自己。

 为了根据图像背景对合适的位置进行采样,必须满足三个前提:(i)要有一个合理的背景——例如,必须将汽车放在路上——;(ii)方向必须与场景相匹配,例如,汽车的方向必须与道路的方向相匹配;以及(iii)比例必须根据框架的消失点。小物体不能放在前景中。如上所述,帧之间的对象不需要时间一致性;我们只要求对象在帧内具有可感知的空间位置。使用时间一致性会限制目标-背景对的数量,导致数据增强系统的效果较差。

 因此,为了满足这些要求,我们提出的定位程序也基于三种技术:物体的空间记忆以获得合理的背景,光学流以匹配方向,以及重叠以匹配尺度。物体的空间记忆旨在收集在当前帧中放置SLR目标的合理位置。LR目标在当前帧中的所有位置都是有效的候选位置。此外,只要与当前帧中的目标不重叠,前一帧和后一帧中的LR目标位置就可以放置SLR目标——这不适用于图像数据集。光学流动和重叠旨在将每个候选位置与最接近方向和大小的SLR目标配对——对于图像数据集,只考虑重叠。 我们利用光学流来计算两帧内物体的视在运动(图5):(i)我们检测FAST关键点[40];(ii)通过透视变换来稳定相机运动;(iii)通过光学流连接每个边界框内

之间的特征点;(iv)通过将每个物体的所有点平均为运动矢量来计算每个物体的运动角,单位为英尺。两个目标之间的重叠是通过IoU计算的。

 给定运动方向的角度以及与HR和LR目标相关联的尺寸,每个可能的位置从其产生的LR目标获得该信息,并且从其原始HR目标获得每个SLR目标。然后,每个位置和SLR目标配对将通过最大化它们之间的重叠和运动方向相似角度来给出。算法显示了每个视频的位置选择器方法:

•输入:该算法将时间

的每个帧f内的数据集(GT)中的目标的集合(包括LR和HR子集)、DS-GAN生成器G从HR目标中获得的SLR目标的集合以及搜索范围τ作为输入。 •输出:该算法为每个空闲空间

返回SLR目标的关联

可以链接到多个

•空间记忆(第4–17行):给定时间t的帧f,放置SLR目标(

s_j
s_j

)的可能空位(

E_t
E_t

)将是从

的帧中存在LR物体(

s_j
s_j

)的空位(第4行)-

始终有效(第6行)。对于间隔

的每个帧ft,算法检查

目标是否与当前帧

的任何目标或已选择的任何空间(Et)重叠(第9-15行)。否则,将

作为新的空位添加到

(第17行)。因此,每个可能的空点

对应于LR目标的位置(

)。 τ的值将受到视频数据集的影响,更具体地说,还会受到摄像机运动的影响。相机移动得越多,τ的值就越小,以避免背景失配。如果相机运动过快,则前一帧或后一帧中对象的位置可能对应于图像中的错误位置,例如人行道上的汽车。

•目标关联(第18-28行):通过最大化运动方向和重叠,为每个空点

计算最佳

•光学流:对于视频数据集中的每个地面实况LR和HR目标,通过光学流预先计算与其运动矢量相关的角度(α)(图5)-线(20和22)。如在分割步骤中一样,可以从其原始HR目标

导出

运动向量。考虑到SLR和LR子集,与每对

的运动相似性

由下式给出:

•重叠:同样地,

大小可以从其原始HR目标

导出。然后,使用IoU计算

之间的重叠。最后,选择第i个SLR目标来填充位置

将由下式给出:

3.2.2、图像修复

 位置选择器程序将每个以英尺为单位的

视为一个空点

,用于填充

。在这些情况下,在插入其对之前,必须通过修复移除与

相关联的

。这确保了新生成的目标随后与作为修复结果的均匀背景混合。为此,我们使用DeepFill[36]进行图像修复。DeepFill是一种基于生成模型的方法,可以利用周围的图像特征来合成新的图像结构。 Deep fill将帧

f_t
f_t

和掩码

m_t
m_t

作为输入,并返回相同的图像

f_t
f_t

,但填充了空区域。为了生成与帧

f_t
f_t

相关联的掩码

m_t
m_t

将考虑所选LR目标

的边界框,使得其中包含的那些像素将被模糊(

)。

  该生成器包括用于两个不同目的的两个编码器-解码器网络。第一个网络-粗网络-旨在进行初始粗预测,第二个网络-预测网络-将粗预测作为输入,并预测最终结果

。这两个网络的原因很直观:重建网络比具有缺失区域的原始图像看到更完整的场景,因此其编码器可以比粗糙网络更好地学习特征表示。

 由于

可能被其他物体包围,因此在没有物体的图像中借用远处的图像特征是很有趣的。这是由DeepFill解决的,两个并行的重建网络编码器在末端连接到一个解码器中。标准编码器专门专注于通过逐层(扩展)卷积重新定义局部内容,而注意力编码器则试图捕捉背景兴趣特征。

 3.2.3、插入和混合

 作为最后阶段,流水线将通过等式(6)获得的相应SLR目标

混合在前一步骤中获得的每个

点中的一个

修复图像上,以生成

。首先,将分割后的对象

放置在选定的位置

中。然后,为了使合成图像看起来尽可能自然,需要混合步骤来提高颜色一致性并软化目标边缘。我们采用了Burt和Adelson引入的拉普拉斯金字塔将SLR目标混合到视频帧中。

 这种混合方法将修复的视频帧

、复制粘贴的图像

和指出混合位置的掩模图像

作为输入。在修复阶段,

中的模糊像素是边界框地面实况内的像素,但在

中,模糊像素是来自SLR分割像素的像素。算法详细说明了获得最终合成视频帧的过程:

1.通过将

中的每个

目标复制粘贴到

上来创建时间图像

(第3行)。通过标记属于

的像素来生成掩码

(第4行)。

2.计算

的高斯金字塔的p能级(第5–9行)。每个高斯金字塔级别都是对前一个级别进行模糊和下采样的结果。

3.根据高斯金字塔,计算 

 的拉普拉斯金字塔(第10-13行)。每个拉普拉斯金字塔级别是将上采样和模糊的前一个级别减去每个高斯金字塔级别的结果。拉普拉斯金字塔中的较小级别与高斯金字塔中的更小级别相同。

4.接下来,拉普拉斯金字塔的每个级别根据对应的高斯级别的

进行混合(线16)。掩模集合(MT)被预先反转以匹配尺寸(线14)。

5.最后,从这个混合金字塔中,通过上采样和模糊每个级别并将其添加到下一个级别来重建输出图像

(第18-21行)。

4、实验

 在本节中,我们介绍了数据集、评估指标和实现细节,以验证我们的方法。

 4.1、DS-GAN

在本实验中,将DSGAN生成的单反对象与单反对象进行比较,以获得最大的相似性,并与调整大小函数进行比较:线性插值、双三次插值、最近邻居和Lanczos[41]。为此,将使用两个指标来验证DS-GAN生成的合成对象的质量:Frechet起始距离(FID)和目标分类。 FID是用于比较为真实图像和生成图像计算的特征向量的流行度量。FID评分总结了两组在使用预先训练的图像分类模型计算的原始图像的计算机视觉特征统计方面的相似程度。得分越低,两组的相似性就越大,这意味着他们有更多相似的统计数据,这就是我们DS-GAN的目的。

 为了支持上述指标,我们还训练了一个LR目标分类器,用于区分背景(负)和LR目标(正)。我们采用这种度量,因为它更接近于完整管道的目标,即改进小物体检测。一方面,将LR训练集作为正示例,将背景集作为负示例来训练分类器。另一方面,SLR集用于正面示例,并保持与负面示例相同的背景。我们已经生成了不同的SLR集合,一个用于每个调整大小函数,另一个用于DS-GAN。所有学习的模型都是用LR测试子集和不同的背景进行评估的。精度越高,综合生成的目标的质量就越好。

 DS-GAN生成器架构的最终步长比固定大小的输入图像(r=4)小4倍。大多数流行的数据集——MS COCO、UAVDT、VisDrone——都将小于32×32像素的对象视为小对象。因此,我们将训练DS-GAN学习如何将HR目标减少到该范围。

 我们在UAVDT数据集上用汽车类别验证了我们的小物体检测方法的数据扩充。之所以选择该数据集,是因为整个对象集都是车辆,这使我们能够隔离特定类别的结果,并在测试集中提供大量小实例。从数量上讲,UAVDT包括23829帧训练数据和16580帧测试数据,分别属于30个和20个≈1024×540分辨率的视频。这些视频是用无人机平台在不同的城市地区录制的。UAVDT包括总共394633个用于训练的汽车实例,其中107091个被认为是在小子集内(52.38%),以及总共361055个用于测试的汽车实例。其中274438个被考虑是在小个子集内(76.01%)。

 考虑到UAVDT中的摄像机运动会略微改变连续帧的外观,在本节中,仅选择10%的视频帧进行训练,以避免过度拟合。用于评估DS-GAN的数据集的详细信息如下:

 •真实HR子集:为了获得HR目标,我们从48×48到128×128像素中选择这些目标,并在面积较小的目标中添加上下文以获得128×128的像素面积。这些条件导致UAVDT数据集中总共有517个HR对象。为了获得更大的数量,我们还选择了VisDrone数据集中具有相同限制的汽车。VisDrone是一个与无人机飞行数据集性质非常相似的数据集,即用无人机记录的高分辨率视频。加入两个数据集后,HR对象的总数为5731。一些人力资源示例如图6(左)所示。

 •真实LR训练子集:为了获得LR目标,我们选择32×32以下的目标,并使用有效的上下文覆盖32×32像素的区域。这导致共有18901个目标来自UAVDT训练集——这些对象是UAVDT子集的一部分,其中冗余实例已被丢弃。然而,为了模拟小目标稀缺的场景,LR子集将仅由UAVDT数据集的大约25%的视频组成。选定的视频共包括5226个LR目标。一些LR示例如图6(右)所示。

 •真实LR测试子集:为了评估DS-GAN和管道的性能,我们使用了来自UAVDT测试集的274438个小对象,这些对象具有足够的上下文,覆盖了32×32像素的区域。

为了训练DS-GAN,我们通过应用随机图像处理来增强训练数据,以增加多样性。我们为每个HR目标提供从正态分布采样的不同噪声向量(z),以便模拟各种图像退化类型。DS-GAN在1000个时期内进行训练,鉴别器和生成器之间的更新率为1:1,并使用Adam进行优化,参数为β1=0和β2=0.9。我们将基础学习率设置为1e-4,在训练阶段将其降低两次,降低系数为10。我们在等式中使用λ=0.01。(2)在图像生成过程中平衡两个分量的相关性——lGadv比lpixel高两个数量级。因此,对抗性损失有助于学习用来自LR子集的噪声和伪影污染HR输入,并且像素损失有助于保留原始输入的视觉特征。

图7 a和b显示了评估DS-GAN在UAVDT的LR测试子集上生成的合成对象质量的实验结果。我们的方法与主要的重缩放函数进行了比较:线性和双三次插值、最近邻和Lanczos[41]。参考值是通过在LR训练子集(蓝条)上训练的模型获得的。

图7中的FID值使用Inception-v3[44]中的最终平均池特征进行测量。与LR测试子集相比,LR训练对象的参考值为27.62。图7的图表显示了通过任何重新缩放函数获得的小对象如何导致值超过100,这相对于参考值来说是一个较差的性能。DS-GAN为LR测试对象生成的SLR对象的FID值为45.15。 该FID值显示了DS-GAN生成的对象如何比通过简单的重新缩放函数获得的目标具有更好的质量,即,与真实目标更相似。

为了补充FID距离,我们用每个定义的子集训练了一个分类网络(在ImageNet[8]上预先训练的ResNet-50),并用LR测试子集对其进行了测试。图7B再次显示了DSGAN生成的单反物体如何提供比重新缩放函数(≈74%)高得多的精度(83.06%),并且非常接近LR训练子集获得的参考精度(85.16%)。 这些结果验证了[17,18]中得出的结论,因为重新缩放函数引入了使输出对象与真实世界对象显著不同的伪影。尽管这些差异在视觉上并不明显——正如我们将在图9(左)中看到的那样——但它们是通过细胞神经网络内的层来识别的(Inception-v3和ResNet-50)。DS-GAN通过学习现实世界物体中发现的不同人工制品,显著改善了这一问题。

4.2、数据增强流程

 为了评估我们用于小物体检测的数据增强的管道,如图所示。2,我们使用了最初由MS COCO数据集定义的UAVDT检测指标,即

之间的关系。采用STDnet[4]、FPN[3]和CenterNet[45]作为基线检测网络。

 DS-GAN的实施细节如前一节所述。另一个需要训练的组件是用于图像修复的DeepFill。在这种情况下,默认参数[36]用于在UAVDT数据集上训练模型。我们已经设置τ=40作为位置选择器的帧搜索范围。图2所示管道的其余组件也采用其默认值进行了配置。

我们详细介绍了STDnet、FPN和CenterNet在小型物体UAVDT测试集上获得的结果。所有模型的训练阶段都是从与DS-GAN训练相同的25%的视频中进行的,目的是模拟具有少量LR目标的场景,直到整个无人机识别训练集。这里,LR标签意味着没有应用数据增强来进行训练,因此图像直接来自标准的UAVDT训练集。LR+内部。和LR+SLR标签意味着与LR中的真实目标相同的图像,并且还分别使用双线性插值和DSGAN用流水线生成的合成目标替换真实LR对象来复制这些图像。因此,在LR+Interp。合成物体的数量等于LR物体的数量。

 我们没有对流程的不同组成部分的影响进行消融研究,但DS-GAN,因为如果没有分割,这个过程将是不完整的,它将在没有位置选择的情况下创建不连贯的场景,或者生成的合成小物体在没有修复或混合的情况下,在背景环境中会有伪影。

 表1研究了不同数据增强方法对训练阶段小对象数量减少的场景的影响。因此,第一行仅指25%的视频中包含的真实对象的使用。使用DS-GAN的数据扩充将FPN的性能提高了4.9%

和11.9%

,STDnet在[.5,.95]秒和10.3%时分别增加4.4%和4.4%

,和CenterNet分别增加了4.2%

和11.6%

表1,第1行和第4行。需要注意的是,合成物体的性质会产生最大的影响。如果它们不包含用于学习模型的有用信息,它们将不会提高性能,甚至恶化性能,如表1中的双线性插值方法所示。 从通过双线性插值重新缩放对象的数据扩充到DS-GAN生成的合成对象的改进分别为3.6%AP

和8.2%

在FPN中,3.7%

和9.3%

在STDnet中为5秒,在[.5,.95]秒时为7.7%

,在

时为13.7%。CenterNet中的5 s-表1,第2行和第3行。

 图8详细说明了FPN和STDnet在训练阶段使用不同百分比视频的扩展结果,还显示了AP如何在训练阶段通过增加单反对象的数量×n而变化。这些图旨在显示由于不同百分比的训练视频(使用真实LR对象)的数据增强而带来的改进。基于我们的数据增强方法,这些解决方案在AP方面有了很大的改进——单反的数量越多,改进就越大——尤其是在训练视频的百分比较低的情况下。随着训练视频百分比的增加,改进程度降低,因为训练集中有更多的真实目标。从使用50%的视频开始,AP显示出较小的改进率,添加SLR目标的增益也是如此。 也就是说,当添加更多具有真实目标的训练图像时,性能不会提高,因此尝试使用数据增强技术是无用的。

 不出所料,随着训练实例的增加,AP也在增加。然而,如上所述,从50%的视频的改进要低得多,从50%视频的25.9%

移动到FPN和整个UAVDT训练集的26.8%

(左蓝线)。类似地,具有数据增强的训练模型的性能随着对象的添加而增加,但在训练视频的50%以上,相对于基线的增益较低。在STDnet的情况下也可以得出同样的结论(蓝线,右)。

此外,这些模型能够利用单反物体数量不断增加的优势,直到达到进展停止的点——相对于单反物体为9倍。合成单反×3以上的新物体需要复制图像并交换合成物体,因为没有足够的空位可以插入单反物体。这减少了上下文的可变性,从而提高了性能。 最后,我们想强调生成的合成对象是如何不断提高性能的,即使是对于完整的训练集(100%),它们也能提高

。相反,双线性插值生成的对象不能提供信息,甚至会损害模型的学习(绿线)。这证明了我们的管道为小物体检测的数据增强所产生的合成数据集的高质量。

 作为定性结果,图9将来自简单重缩放函数的合成对象与DS-GAN生成的合成对象以及真实LR对象进行了比较。通过简单的重新缩放获得的对象似乎被人为地定义为模糊的伪影。DS-GAN中的物体看起来更接近真实的LR物体,因为它们包含伪影,并被低分辨率小物体特征污染。图10显示了不同UAVDT场景下完整管道的结果。 

 我们还在iSAID数据集上测试了数据扩充流程。iSAID拥有1869张来自15个类别的高分辨率航空图像,其中1411张用于训练,458张用于测试。由于管道需要训练和测试几个子集——一个真实的HR子集,以及一个真正的LR训练和测试子集——我们选择了每个子集中有足够数量目标的类别。选择用于训练的目标数量约为注释目标总数的15%——LR子集为6628个对象,HR子集为1405个目标。

 表2显示了与iSAID上的基线相比,我们的增强方法的FPN检测器的结果。使用DS-GAN的数据扩充将FPN的性能分别提高了2.6%

和4.7%

。根据类别,AP

在1.5(船)到8.2(游泳池)之间增加。此外,DS-GAN不会损害大目标检测的性能(

),甚至可以改进中等目标检测(

),因为较大的小目标在大小上接近较小的中等目标。

 尽管DS-GAN在iSAID上的性能很好,但它并不像在UAVDT上那样令人印象深刻。我们认为这有两个原因。首先,iSAID是一个图像数据集,因此与UAVDT等视频数据集相比,DS-GAN的位置选择器插入合成对象的位置更少。第二个原因是,iSAID包含的航拍图像比无人机视频拍摄的更远,对于更大的物体(物体经历了更高的尺度变化),因此无人机视频中小物体的纹理比iSAID要好得多。生成具有准备用于训练对象检测器的合成对象的数据集的运行时间相当快。小目标生成,包括GAN的执行和目标分割,每秒创建12.6个目标。  将小目标集成到图像中,包括位置选择、对目标修复和目标混合,每秒插入10.1个目标。

 5、结论

 我们设计了一种新的流程,用于小物体检测的数据增强。流程将数据集作为输入,并返回相同的数据集,其中图像填充有带注释的小合成目标。所提出的流水线需要HR和LR目标来训练DS-GAN,还需要用于HR目标的经过训练的对象分割系统。基于通过GANs的超分辨率的方法还需要HR和LR对象进行训练[21-24]。然而,与基于超分辨率的方法相比,我们的建议具有优势,因为GAN只需要在训练阶段执行,就可以生成合成LR对象,因此在推理时——小目标检测——只需要运行目标检测器。另一方面,基于超分辨率的流水线需要在推理阶段执行GAN的生成器和目标检测器。

 DS-GAN生成的小目标的质量已经以一种孤立的方式得到了验证。实验表明,与具有非常遥远的FID值的简单下采样目标相比,SLR对象的FID值非常接近真实LR目标的FID。此外,我们通过训练一名标准的CNN分类器得出了同样的结论。因此,我们确定DS-GAN生成的小目标促进了小目标分类。相反,通过直接重新缩放大对象生成的小对象对于识别小目标的数据增强是无用的,因为这些函数引入的伪像与真实世界中的小目标有很大不同。

 所提出的数据增强流水线方法提高了最先进模型在UAVDT和iSAID数据集上检测小物体的性能。UAVDT测试集的结果显示改进了10.3–11.9 AP

,取决于检测器,在训练小目标的数量有限的情况下——只考虑了25%的视频。对于iSAID,改进为4.7 AP@。对于其中只有15%的目标被包括在LR子集中的场景。这些结果验证了最初的假设,即当数据集包含很少的小目标时,所提出的数据增强技术可以提高检测器的性能。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 摘要
  • 1、介绍
    • 2、相关工作
      • 小目标检测
      • 3、小目标数据增强
        • 3.1、小目标生成
          • 3.1.1、小目标生成
          • 3.1.2、目标分割
        • 3.2、小目标集成
          • 3.2.1、位置选择器
        • 3.2.2、图像修复
          •  3.2.3、插入和混合
      • 4、实验
        •  4.1、DS-GAN
          • 4.2、数据增强流程
          •  5、结论
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档