小目标增强(Augmentation for small object)
Posted 相思似海深,旧事如天远
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了小目标增强(Augmentation for small object)相关的知识,希望对你有一定的参考价值。
小物体检测的增强
摘要:在近些年来,目标检测已经有了长足的进步。尽管有很大改进,但是在小目标和大目标检测性能方面还是有巨大的差距。我们在具有挑战性的数据集MS-COCO上分析了目前性能最好的模型Mask-RCNN。我们发现小目标真实框和预测框的重叠部分远远小于希望的IOU临界值。我们猜测这是由于两个原因引起的:(1)只有少部分图像包含小目标;(2)尽管每张图像中都出现了小目标,但是它们表现得不够。因此我们建议过采样这些包含小目标的图像并且通过多次复制黏贴小目标来增强每张图像。这将能够让我们对检测器在大目标和小目标检测的质量之间进行权衡。我们评估了不同的粘贴增强策略,并且最终与目前最好的思想相比(数据集为MS COCO),我们实现了在实例分割方面相对提高了9.7%,在小目标检测方面提高了7.1%。
论文地址:https://arxiv.org/pdf/1902.07296.pdf
1.前言
在图像中检测目标是现在计算机视觉研究中最基本的一项任务,它经常作为许多真实世界研究的开始点,包括机器人学、自动驾驶汽车、卫星和航空图像分析,在医学图像上定位器官位置和质量。这个目标检测的重要问题最近得到了许多改进。在MS COCO目标检测竞赛中的冠军已经把平均精度(AP)从2015年的0.373提高到了2017年的0.525(在最基本的挑战测度IOU=.50:.05:.95),同样地,在MS COCO实例分割挑战上的实例分割问题也得到了很大改进。尽管有了很大改进,但是目前的解决办法在小目标检测上还是经常表现不佳,其中小目标在MS COCO上定义为如表一。它能说明在大目标和小目标检测性能方面有巨大差距。见图1的实例列举了在MS COCO实例分割挑战的最高等级子任务,相似的问题出现在实例分割任务中,比如见图2在目前最好的模型Mask-RCNN上的采样预测,它丢失了大多数的小目标。
图1:MS COCO实例分割挑战的最高子任务,检测度量标准AP小目标比大目标小了2-3倍
表1:在MS COCO上对小目标、中等目标和大目标的定义
图2:用Mask-RCNN采样预测,尽管能够看清可靠的内容,但系统丢失了很多小目标,比如,数百只鸟只检测到了六只鸟
小目标检测在许多下游任务中非常重要。为了让自动驾驶汽车变得安全,从车上的高分辨率景图检测小和远的目标是有必要的。许多目标,比如交通信号、行人,通常在高分辨率图像中是不可见的。在医学图像上,早期检测质量和发现肿块对于做出精确的早的诊断是非常重要的,特别是一些因素在图像上大小只有几个像素。小目标检测同样有益于自动化工厂检查,可以通过定位看到材料表面存在的小缺陷。另一个应用就是卫星图像分析,汽车、船舶和房屋能够有效的标注。每像素分辨率平均表示0.5米到5米,这些物体只有几像素大小。换句话说,小目标检测和分割要有更多的注意力,这需要在现实世界中部署更多的复杂系统。因此,我们提出了一个新想法来提高小目标检测。
我们关注目前最好的检测器Mask-RCNN,数据集为MS COCO。首先,我们观察到在数据集上相对比较少有图像上包含小目标,任何检测模型都有潜在的偏差,会更多的关注中等或者大目标。第二,被小目标覆盖的区域更小,意味着缺乏小目标位置的多样性,我们猜测当它们出现在图像中很少会被探索的部分时,这会让目标检测模型在测试时很难检测小目标。
2.相关工作
目标检测 更快的基于区域卷积神经网络(Faster R-CNN),基于区域的全卷积网络(R-FCN)和单点检测器(SSD)是目标检测最主要的三种方法,它们区别在于是否或在哪使用了候选区域。Faster R-CNN和它的变体设计用于不同尺寸的物体,不同区域裁剪合并成一个分辨率。然而,这发生在深度卷积网络内部,可能会导致裁剪框不能完美的匹配物体,在实践中会损害性能。SSD最近发展到了DSSD,在SSD解码部分把卷积调换成上采样低分辨率特征,以此来增加内部的空间分辨率。同样地,特征金字塔网络(FPN)的解码器类型子网络掺入到Faster R-CNN。
实例分割 实例分割超过了目标检测,要求预测每个目标确切的掩膜。多任务网络级联(MNC)建立了预测级联和掩码改进。FCIS是一个全卷积模型,可计算出每个感兴趣的区域的位置敏感分数图。并且它是一个学习像素嵌入的全卷积方法。Mask R-CNN掺入到FPN模型分支用来预测掩码和引进新的不同裁剪操作用来目标检测和实例分割。
图3.通过人工粘贴复制增强小目标的例子。正如我们在例子中看到的一样,在同样的图片中复制有更高的机会看到小目标周围的信息
小目标 检测小目标可能通过增加输入图片分辨率寻址,或者从低分辨率图像中融合高分辨率特征和高维特征,然而会增加计算支出和在小目标大目标寻址不平衡。使用生成对抗网络(GAN)在卷积网络中提取特征不能区分交通信号和行人检测里的小目标和大目标。在一个候选区域网络里基于不同的分辨率层使用不同大小的锚框。通过锚框尺寸的正确部分转换图像特征来弥补他们的不同,裁剪小目标候选来增加内容。
图4.不同尺寸的锚框匹配真实框的示意图。小目标被很少的锚框匹配到。为了克服这个问题,我们提出通过人工黏贴复制小目标来增强图像,因此在训练过程中有更多的框匹配到了小目标。
3.检测小目标的识别问题
在这个部分,我们首次回顾在我们实验中用到的MS COCO数据集和目标检测模型。接下来我们会讨论MS COCO数据集的问题和训练过程中框的匹配过程,那有助于不同的小目标检测。
表2:在基于RPN的Mask R-CNN里MS COCO数据集目标数据和匹配框
3.1 MS COCO
我们实验中使用MS COCO检测数据集。MS COCO2017检测数据集包含118287张训练图片,5000张验证图片和40670张测试图片。从80个种类标注了860001个真实边界框和36781个实例掩膜。
在MS COCO检测挑战中,基本评价标准就是平均精度(AP)。通常,AP定义为真阳性样本和阳性样本的比率,对于所有的召回值。因为检测一个物体需要正确定位和正确分类,正确的分类结果只有当预测掩膜或者预测框IOU超过0.5才会被记作真阳性检测。AP分数由80个种类和10个IOU临界值平均计算,平均在0.5到0.95之间。指标还包括不同尺度目标测量的AP。在这个工作中,我们感兴趣的就是小目标的AP。
3.2 Mask R-CNN
在我们的实验中,我们使用具有ResNet-50主干的Mask R-CNN实现和线性尺度规则来调整设置学习超参数。我们使用比基线更短的训练计划。我们训练自己的模型使用4个GPU来跑36000次迭代,用0.01作为基本学习率。对于优化,我们使用随机梯度下降方法,动量设置为0.9,权重衰减系数设置为0.0001。学习率在经过24000次和32000次两次迭代训练后,降为原来的0.1倍。其他所有参数配置保持与基线Mask R-CNN+FCN+ResNet-50相同。
网络中的区域候选阶段在我们的调查研究中特别重要。我们使用特征金字塔网络(FPN)来生成目标候选。它用50个锚框预测目标候选,其中有五个尺度(322,642,1282,2562,5122)和三个长宽比(1,0.5,2)。一个框如果对于任何真实框IOU超过0.7或者有更高的IOU超过真实边界框接受为正标签。
图5:Mask-RCNN网络中训练时正向分配给ground truth objects的锚点(IoU > 0.5)。有必要强制至少一个锚被积极分配给每一个ground truth对象,即使欠条低于阈值。否则,就像上面的两张图片一样,大多数小物体将会被遗漏,并且永远不会被训练。其他图像正在验证我们正在解决的问题。大的物体比小的物体有更多积极的锚点。
3.3 在MS COCO数据集上通过Mask R-CNN进行小目标检测
在MS COCO数据集上,在训练集中41.4%为小目标,34.4%为中等目标,24.2%为大目标。另一方面,只有一半的训练图片包含任何小目标,有70.07%的训练图片包含中等目标,82.28%训练图片包含大目标。见表2的目标计数和图像。这证实了小目标检测的第一个小问题:这里只有很少的样本包含小目标。
第二个问题就是对每个种类大小考虑总的目标区域。被标注的像素只有1.23%属于小目标。中等大小目标区域比小目标大超过8倍,有10.18%的像素被标注,大部分的像素,82.28%被标注为大目标。任何在这个数据集训练的检测器都没有足够的小目标,无论是在图像和像素上。
在这个部分叙述之前,每个在候选区域网络的预测框接受为正标签,当它有比真实边界框更高的IOU或者对于任何真实框IOU超过0.7。这个过程高度偏向大目标,大目标跨多滑动窗口位置,拥有高IOU的大量锚框,然而小目标可能只匹配单个锚框并且低IOU,正如表2列出来的一样,只有29.96%锚框正确匹配小目标,有44.49%锚框正确匹配大目标。从另一个角度来看,它暗示这里2.54个锚框匹配一个大目标,一个锚框匹配一个小目标。此外,平均最大IOU显示,即使小目标最好的匹配锚框,它的IOU值仍然很低。小目标平均最大IOU只有0.29,中等目标和大目标最好匹配锚框大约是小目标的两倍,分别是0.57,0.66。我们通过可视化一些例子在图5阐释这种现象。这些观察表明小目标对计算候选区域损失贡献很少,这就让整个网络偏向于大目标和中等目标。
4.过采样和增强
我们正在通过明确地解决我们在上一节中概述的MS COCO数据集的小目标相关问题来提高小目标检测器的性能。特别是,我们过度采样包含小对象的图像,并执行小对象增强,以鼓励模型更多地关注小对象。虽然我们使用Mask R-CNN评估所提出的方法,但它通常适用于任何其他目标检测网络或框架,因为过采样和增强都是作为数据预处理完成的。
过采样我们通过在训练[4]时对这些图像进行过采样来解决包含小目标的图像相对较少的问题。这是一种简单而直接的方法来缓解MS COCO数据集的这一问题,并提高了小目标检测的性能。在实验中,我们改变过采样率,研究过采样不仅对小目标检测的影响,而且对大中型目标检测的影响。
增强在过采样的基础上,我们还引入了聚焦于小对象的数据集增强。MS COCO数据集中提供的实例分段掩码允许我们从其原始位置复制任何对象。然后复制粘贴到不同的位置。通过增加每幅图像中小目标的数量,匹配的锚点数量也随之增加。这反过来又提高了小目标在训练过程中对RPN损失函数计算的贡献。
在将对象粘贴到新位置之前,我们对其应用随机变换。我们通过改变对象的大小±20%和旋转它±15◦缩放对象。我们只考虑非遮挡的对象,因为粘贴不相交的分割掩模与不可见的部分之间,往往导致更不现实的图像。我们确保新粘贴的对象不与任何现有的对象重叠,并且距离图像边界至少5个像素。
在图4中,我们图示了所提出的增强策略,以及它如何在训练过程中增加匹配的锚点的数量,从而更好地检测小目标。
5.实验设置
5.1 过采样
在第一组实验中,我们研究了包含小物体的过采样图像的效果。我们在2、3和4之间改变过采样率。为了提高效率,我们不使用实际的随机过采样,而是离线创建多个带有小对象的图像副本。
5.2 增强
在第二组实验中,我们研究了使用增强对小目标检测和分割的影响。我们复制并粘贴每个图像中的所有小目标一次。我们还对带有小物体的图像进行过采样,以研究过采样和增强策略之间的相互作用。
我们测试三种设置。在第一个设置中,我们用复制粘贴的小对象替换每个带有小对象的图像。在第二种情况下,我们复制这些增强图像来模拟过采样。在最终设置中,我们保留原始图像和增强图像,这相当于用小对象对图像进行两倍的过采样,同时用更多的小对象来增强副本。
5.3 复制黏贴策略
复制粘贴小对象有不同的方法。我们考虑三种不同的策略。首先,我们在图像中选取一个小对象,并在随机位置复制粘贴多次。其次,我们选择许多小对象,并在任意位置复制粘贴每一个对象一次。最后,我们将每个图像中的所有小对象在随机位置复制粘贴多次。在所有的情况下,我们使用上面的第三个增强设置;也就是说,我们既保留原始图像,也保留它的增强副本。
表3:不同过采样率的实验。我们观察到,无论检测小物体的比率如何,过采样都有帮助。这个比率允许我们在小物体和大物体之间进行权衡。
5.4 粘贴算法
粘贴小对象的副本时,有两点需要考虑。首先,我们必须决定粘贴的对象是否会与任何其他对象重叠。虽然我们选择不引入任何重叠,但我们通过实验验证了这是否是一个好策略。其次,是否执行附加程序来平滑粘贴对象的边缘是一种设计选择。与没有进一步处理相比,我们实验了不同滤波器大小的高斯模糊边界是否有帮助。
6.结果和分析
6.1 过采样
通过在训练期间更频繁地采样小目标图像(见表3),可以提高小对象分割和检测上的应用程序。观察到的最大增益是3倍过采样,这将小目标的平均精度提高了1%(对应提高了8.85%)。虽然中等对象规模的性能受影响较小,但大对象检测和分割性能始终受到过采样的影响,这意味着必须根据大小对象之间的相对重要性来选择比率。
6.2 增强
在表4中,我们给出了使用建议的增强和过采样策略的不同组合的结果。当我们用包含更多小对象的副本(第二行)用小对象替换每个图像时,性能会显著下降。当我们以两倍的倍数对这些增强图像进行过采样时,对小对象的分割和检测性能又恢复了损失,尽管总体性能仍然比基线差。然而,当我们在一个增强的验证集上评估这个模型,而不是原来的模型时,我们看到小目标的性能增加了38%,这表明训练后的模型有效地过渡到“粘贴”的小对象,但不一定过渡到原始的小对象。我们认为这是由于粘贴造成的伪像,如不完美的对象遮罩和背景亮度差异,这些对神经网络来说相对容易发现。最好的结果是通过结合过采样和以p = 0.5(原始+aug)的概率进行增强来实现的,原始与增强的小对象之比为2:1。这种设置产生了比单独过采样更好的结果,证实了所提出的粘贴小对象策略的有效性。
表4:增强实验。当带有小目标的原始图像及其带有复制粘贴的小目标的副本用于训练时,就小对象和整体而言,实现了最佳性能。
表5:单个对象的复制粘贴。我们观察到,通常最好只复制粘贴单个对象几次(1倍或2倍),尤其是为了实现高整体性能
6.3 复制黏贴策略
单个对象的复制粘贴在表5中,我们看到复制粘贴单个对象会在小对象上产生更好的模型,但是,代价是大图像上的性能略有下降。这些结果本身也比两倍过采样要好。然而,性能已经在1或2次黏贴达到了顶峰。多次添加同一个对象不会产生任何性能改进。
表6:多个对象的复制粘贴。相对于单个对象的复制粘贴,多做几份比较好(3倍)。
表7:所有小对象的复制粘贴。每个小对象最好只做一个副本,这个策略并没有比多次复制粘贴多个(但不是全部)对象的策略表现更好。
多个对象的复制粘贴 从表6可以看出,每个图像复制粘贴多个小对象比只复制粘贴一个对象要好。在这种情况下,我们可以看到每个对象最多粘贴三次的好处。
最后,表7列出了复制粘贴每个图像中所有小对象的结果。我们发现在对所有对象进行一次扩充时,分割和检测的结果都是最好的。我们怀疑这背后有两个可能的原因。首先,通过拥有所有小对象的多个副本,原始对象与粘贴的小对象的比率迅速降低。第二,每个图像中的对象数量成倍增加,这导致训练图像和测试图像之间更加相当大的不匹配。
6.4 粘贴算法
如表8所示,随机粘贴到图像中,而不考虑其他对象已经占据的区域,会导致小图像的性能较差。
表8:不同粘贴算法的结果。我们观察到,在复制粘贴小目标时,不引入任何重叠是至关重要的,并且高斯模糊粘贴对象的边缘是不可取的。
它证明我们的设计选择是正确的,以避免粘贴的对象和现有对象之间的任何重叠。此外,粘贴对象边缘的高斯模糊没有显示出任何改善,这表明粘贴对象最好保持原样,除非采用更复杂的融合策略。
7. 结论
我们研究了小目标检测问题。我们表明,小对象平均精度差背后的一个因素是训练数据中缺少小对象的表示。对于现有的最先进的目标检测器来说尤其如此,该检测器需要存在足够的目标,以便在训练期间预测锚能够匹配。为了克服这个问题,我们提出了两个策略来扩充原始的MS COCO数据库。首先,我们表明在训练过程中,通过对包含小对象的图像进行过采样,可以很容易地提高小对象的性能。其次,提出了一种基于复制粘贴小对象的增强算法。我们的实验证明,与当前技术水平相比,实例分割的相对改进为9.7%,小对象的对象检测的相对改进为7.1%。正如实验所证实的那样,所提出的一套增强方法提供了大小物体预测质量之间的权衡。
以上是关于小目标增强(Augmentation for small object)的主要内容,如果未能解决你的问题,请参考以下文章
论文导读Selecting Data Augmentation for Simulating Interventions
自然语言处理中数据增强(Data Augmentation)技术最全盘点
Tensorflow2数据增强(data_augmentation)代码
《计算机视觉和图像处理简介 - 中英双语 + 代码实践版》:数据增强在计算机视觉中的作用-Data Augmentation