小目标检测
参考论文:地址
小目标定义
- 相对尺度定义
从目标与图像的相对比对小目标进行定义。Chen等提出了一个针对小目标的数据集,对小目标进行定义:同一类别中,所有目标实例的相对面积,即边界框面积与图像面积之比的中位数在0.08%~0.58%之间。如在640×
480
\times480
16
×
16
16\times16
42
×
42
42\times42
除了Chen的定义,其他的相对定义有:
- 目标边界框的宽高与图像的宽高比例小于一定值,通用值为0.1
- 目标边界框与图像面积的比值开方小于一定值,通用值为0.03
- 根据目标实际覆盖像素与图像总像素之间比例对小目标进行定义
相对尺度的定义存在问题,如这种定义方式难以有效评估模型对不同尺度目标的检测性能,同时容易受到数据预处理与模型构型的影响。
- 绝对尺度定义
从目标绝对像素大小对小目标进行定义。目前最为通用的定义来自MS COCO数据集,将小目标定义为分辨率小于32
×
32
32\times32
为什么是32
×
32
32\times32
- 人类在图像上对于场景能有效识别的彩色图像像素大小为
32
×
32
32\times32
32
×
32
32\times32
- VGG网络从输入图像到全连接层的特征向量经过了5个最大池化层,因此,对于特征向量上的“一点”对应于输入图像
32
×
32
32\times32
除了MS COCO数据集,还有其他小目标的绝对尺度定义:
- 航空图像数据集DOTA和人脸检测数据集WIDER FACE将像素范围在[10,50]之间的目标定义为小目标
- 行人识别数据集CityPersons,针对行人,将小目标定义为高度小于75像素的目标
- 基于航空图像的小行人数据集TinyPerson将小目标定义为像素值范围在[20,32]之间的目标,而且进一步将像素值范围在[2,20]之间的目标定义为微小目标。
小目标检测面临的挑战
- 可利用特征少。小目标的分辨率较低,可视化信息少,难以提取到具有鉴别力的特征,且极易被环境因素干扰。
- 定位精度要求高。小目标在图像中覆盖的面积小,在预测过程中,预测边界框偏移一个像素点都会造成很大的误差。同时,现在检测算法大多基于Anchor,在训练时,匹配小目标的Anchor数量远少于大目标,导致模型更侧重于大目标的检测,难以检测小目标。
- 现有数据集小目标占比少。现有的数据集大多针对大尺寸目标,小目标较少,MSCOCO中虽然小目标占比较高,但分布不均。再加上小目标难以标注,一方面来源于小目标在图像中不易被关注,另一方面对标注误差非常敏感。
- 样本不均衡。为了定位目标,现有的方法大多是预先在图像的每一个位置生成一系列的Anchor,在训练中,通过设定固定的阈值来判断Anchor是否属于正样本。当人工设定的Anchor与小目标的真是边界差异较大时,小目标的训练正样本将远远小于大目标的正样本,导致模型忽略对小目标的检测。
- 小目标聚集。相对于大目标,小目标容易出现聚集现象,当小目标聚集出现时,聚集区域相邻的小目标无法区分。当同类的小目标密集出现时,预测的边界框还可能由于后处理的NMS将大量正确预测的边界框过滤导致漏检。
- 网络结构。现有的算法在设计时更关注大目标的检测效果,针对小目标的优化较少,同时大多算法基于Anchor设计,对小目标检测不友好。在训练中,小目标由于训练样本少,进一步减弱了网络对小目标的学习能力。
研究思路
数据增强
数据增强是提升小目标检测效果最简单有效的方法。通过扩充小目标样本的规模,增强模型的鲁棒性和泛化能力。
针对小目标的数据增强策略有:
- 尺度匹配。根据不同目标尺寸进行裁剪,缩小不同大小目标之间的差距。
- 复制增强。通过在图像上多次复制粘贴小目标的方式来增加小目标的训练样本数目,从而提高检测效果。
- 自适应重采样策略。该策略基于预训练的语义分割网络对目标图像进行考虑上下文信息的复制,以解决简单复制过程中出现的背景不匹配和尺度不匹配问题。
- 对图像进行缩放拼接。将数据集中的大尺寸目标转换为中等尺寸目标,中等尺寸目标转换为小尺寸目标,提高了小目标的数量。
- 自适应学习法。Zoph提出了一种通过自适应学习如强化学习选择最佳的数据增强策略。
多尺度学习
小目标与常规的目标相比可利用的像素少,难以提取到好的特征,随着网络深度的增加,小目标的特征信息和位置信息逐渐丢失,难以被网络检测。这些特性导致小目标同时需要深层语义信息与浅层表征信息,而多尺度学习将这两种相结合,是一种提升小目标检测性能的有效策略。
使用多尺度检测的主要思路:
-
空洞卷积和可变卷积,通过获取不同感受野大小可以获得不同尺度的信息。
-
图像金字塔,通过输入不同尺度的图像,对不同尺度大小的目标进行检测。但是图像金字塔对计算机算力和内存都有极高的要求,使用的较少。图a
-
多尺度目标检测。利用较浅的特征图来检测较小的目标,用较深的特征图检测较大的目标,如SSD算法。图b
-
统一多尺度深度卷积网络,使用反卷积层提高特征图的分辨率。
-
ION(Inside-outside network)。从不同尺度特征图中裁剪出同意感兴趣区域的特征,然后综合这些多尺度特征进行预测,以达到提升检测性能的目的。
-
与5类似,HyperNet,多尺度融合网络,通过综合浅层的高分辨率特征和深层的语义特征以及中间层特征的信息显著提高召回率。图c
-
特征金字塔FPN。FPN引入了一种自底向上、自顶向下的网络结构,通过将相邻层的特征融合以达到特征增强的目的。图d
-
多层次特征融合算法,即特征融合SSD,在SSD的基础上引入上下文信息。但是基于SSD的特征金字塔方法需要从网络的不同层抽取不同尺度的特征图进行预测,难以充分融合不同尺度的特征。
-
特征融合单次多箱探测器。使用一个轻量级的特征融合模块,联系并融合各层特征到一个较大的尺度,然后在得到的特征图上构造特征金字塔用于检测。
-
使用上采样和跳跃连接在训练过程中提取不同网络深度的多尺度特征,防止小目标经过多层网络特征丢失。
多尺度特征融合同时考虑了图像的浅层表征信息和深层的语义信息,有利于小目标的检测,但同时增加了额外的计算量,并且在特征融合的过程中难以避免干扰噪声的影响。
上下文学习
在真实世界中,目标与场景、目标与目标存在共存关系,利用这种上下文信息可以提升小目标的检测性能。
- 基于隐式上下文特征学习的目标检测。隐式上下文特征是指目标区域周围的背景特征或者全局的场景特征。实际上,卷积神经网络中的卷积操作在一定程度上已经考虑了目标区域周围的隐式上下文特征。
提出的方法有:
- 基于多尺度上下文特征增强的目标检测方法。首先在图像中生成一系列的目标候选区域,然后在目标周围生成不同尺度的上下文窗口,最后使用这些窗口中的特征来增强目标的特征表示。如图a
- 门控双向卷积神经网络。该网络同样在目标候选区域的基础上生成包含不同尺度上下文的支撑区域,不同之处在于该网络让不同尺度和分辨率的信息在生成的支撑区域之间相互传递,从而综合学习到最优的特征。
- 强化上下文模型网络。利用双空洞卷积结构来节省参数量的同时,通过扩大有效感受野来强化浅层上下文信息,并在较少破坏原始目标检测网络的基础上灵活作用于网络中浅预测层。
上述方法大多依赖于上下文窗口的设计或受限于感受野的大小,可能导致重要上下文信息的丢失。一些方法尝试将全局的上下文信息融入到目标检测模型中,如图b。对于基于深度学习的方法,主要通过较大的感受野、卷积特征的池化或把全局上下文看作一种序列信息3种方式来感知全局上下文。
- 基于循环神经网络的上下文传递方法。利用循环神经网络从四个方向对整个图像中的上下文信息进行编码,并将得到的4个特征图进行串联,从而实现对全局上下文的感知。然而,该方法使模型变得复杂,并且模型的训练严重依赖于初始化参数的设置。
- 上下文微调网络。首先通过计算相似度找到与目标区域相关的上下文区域,然后利用这些上下文区域的特征来增强目标区域特征。
- Barnea将上下文的利用视为一个优化问题,讨论了上下文或其他类型的附加信息可以将检测分数提高到什么程度,并表明简单的共现性关系是最有效的上下文信息。
- 层次上下文嵌入框架。该框架可以作为一个即插即用的组件,通过挖掘上下文线索来增强候选区域的特征表达,从而提升最终的检测性能。
- 面向光学遥感目标的全局上下文检测模型,该模型通过全局上下文特征与目标中心点局部特征相结合的方式生成高分辨率热点图,并利用全局特征实现目标的预分类。
- 统一的实例分割框架,利用像素级的监督来优化检测器,并通过多任务的方式联合优化目标检测和实例分割模型。尽管通过语义分割可以显著提高检测性能,但是像素级的标注是非常昂贵的。
- 生成伪分割标签,通过利用伪分割标签来于优化检测器。
- 无监督的分割方法,在无像素级的标注下通过联合优化目标检测和分割来增强用于目标检测的特征图。
基于全局上下文的方法在目标检测中已经取得了较大的进展,但如何从全局场景中找到有利于提升小目标检测效果的上下文信息仍然是研究难点。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mgV0MPIV-1639448541397)(https://note.youdao.com/yws/res/0/WEBRESOURCEb6a673130de9f29c84049ae9afce3380)]
- 基于显示上下文推理的目标检测。显示上下文推理是指利用场景中明确的上下文信息来辅助推断目标的位置或类别,例如利用场景中天空区域与目标的上下文关系来推断目标的类别。上下文关系通常指场景中目标与场景或者目标与目标之间的约束和依赖关系(见图3(c))。提出的方法有:
- 自适应上下文建模和迭代提升。一个任务的输出作为另一个任务的上下文来提高检测效果。
- 基于空间上下文。该方法捕捉上下文和感兴趣目标之间的空间关系,有效的利用了上下文区域的外观特征。
- Reasoning-RCNN,通过构建知识图谱编码上下文关系,并利用先验的上下文关系来影响目标检测。
- 空间记忆网络。空间记忆实质上是将目标实例重新组合成一个伪图像表示,并将伪图像表示输入到卷积神经网络中进行目标关系推理,从而形成一种顺序推理体系结构。
- 基于注意力机制实现轻量级目标关系网络。通过引入不同物体之间的外观和几何结构关系来做约束,实现物体之间的关系建模。该网络无需额外的监督,并且易于嵌入到现有的网络中,可以有效地过滤冗余框,从而提升目标的检测性能。
- 上下文连接多尺度特征。使用网络不同深度层级中的附加特征作为上下文,辅以注意力机制聚焦于图像中的目标。
基于上下文的方法充分利用了图像中与目标相关的信息,能够有效提升小目标检测的性能。但是,已有方法没有考虑到场景中的上下文信息可能匮乏的问题,同时没有针对性地利用场景中易于检测的结果来辅助小目标的检测。
生成对抗学习
生成对抗学习的方法旨在通过将低分辨率小目标的特征映射成与高分辨率目标等价的特征,从而达到与尺寸较大目标同等的检测性能。可以通过结合生成对抗网络提高小目标的分辨率,缩小目标之间的尺度差异,增强小目标的特征表达,提高小目标的检测效果,也可以使用GNN生成图像,进行数据增强。
- Li等提出了一种专门针对小目标检测的感知GAN方法,该方法通过生成器和鉴别器相互对抗的方式来学习小目标的高分辨率特征表示。在感知GAN中,生成器将小目标表征转换为与真实大目标足够相似的超分辨表征。同时,判别器与生成器对抗以识别生成的表征,并对生成器施加条件要求。该方法通过生成器和鉴别器相互对抗的方式来学习小目标的高分辨率特征表示。这项工作将小目标的表征提升为“超分辨”表征,实现了与大目标相似的特性,获得了更好的小目标检测性能。
- MTGAN,多任务生成对抗网络。在MTGAN中,生成器是一个超分辨率网络,可以将小模糊图像上采样到精细图像中,并恢复详细信息以便更准确地检测。判别器是多任务网络,区分真实图像与超分辨率图像并输出类别得分和边界框回归偏移量。此外,为了使生成器恢复更多细节以便于检测,判别器中的分类和回归损失在训练期间反向传播到生成器中。MTGAN由于能够从模糊的小目标中恢复清晰的超分辨目标,因此大幅度提升了小目标的检测性能。
- 针对现有的用于小目标检测的超分辨率模型存在缺乏直接的监督问题,Noh等提出一种新的特征级别的超分辨率方法,该方法通过空洞卷积的方式使生成的高分辨率目标特征与特征提取器生成的低分辨率特征保持相同的感受野大小,从而避免了因感受野不匹配而生成错误超分特征的问题。
基于生成对抗网络的模型通过增强小目标的特征信息可以显著提升检测性能,而且使用GNN超分小目标无需特殊的结构设计,可以很容易的和现有的模型结合。但是生成对抗网络难以训练、不易在生成器和鉴别器之间取得好的平衡,而且生成器在训练过程中产生样本的多样性有限,训练到一定程度后对性能提升效果不明显。
idea,无人机飞行中,随着飞行高度的增加,所有地面目标被成比例缩小,目标的尺度差异较小,可以使用GNN对目标进行超分,然后对超分后的图像进行检测
无Anchor机制
现有的Anchor设计难以获得平衡小目标召回率与计算成本之间的矛盾,而且这种方式导致了小目标的正样本与大目标的正样本极度不均衡,使得模型更加关注于大目标的检测性能,从而忽视了小目标的检测。极端情况下,设计的锚框如果远远大于小目标,那么小目标将会出现无正样本的情况。而且Anchor的使用引入了大量的超参数,使得网络难以训练,不易提升小目标的检测性能。因此,基于无Anchor的机制成为了研究热点,并在小目标检测上取得了较好的效果。现在无Anchor的方法主要有两种:
- 基于角点。基于角点的检测器通过对从卷积特征图中学习到的角点分组来预测目标边界框。提出的方法有:
- DeNet将目标检测定义为估计目标4个角点的概率分布,包括左上角、右上角、左下角和右下角(见图4(a))。首先利用标注数据来训练卷积神经网络,然后利用该网络来预测角点分布。之后,利用角点分布和朴素贝叶斯分类器来确定每个角点对应的候选区域是否包含目标。
- PLN(Point linking network)。PLN首先回归与DeNet相似的4个角点和目标的中心点,同时通过全卷积网络预测关键点两两之间是否相连,然后将角点及其相连的中心点组合起来生成目标边界框。PLN对于稠密目标和具有极端宽高比率目标表现良好。但是,当角点周围没有目标像素时,PLN由于感受野的限制将很难检测到角点。
- CornerNet。CornerNet将目标检测问题转换为角点检测问题,首先预测所有目标的左上和右下的角点,然后将这些角点进行两两匹配,最后利用配对的角点生成目标的边界框。CornerNet系列具有更简洁的检测框架,在提高检测效率的同时获得了更高的检测精度。但是仍然会因为错误的角点匹配预测出大量不正确的目标边界框。
- 基于中心点。
- CenterNet。CenterNet首先预左上角和右下角的角点以及中心关键点,然后通过角点匹配确定边界框,最后利用预测的中心点消除角点不匹配引起的不正确的边界框。
- ExtremeNet。ExtremeNet首先使用一个标准的关键点估计网络来预测最上面、最下面、最左边、最右边的4个极值点和中心点,然后在5个点几何对齐的情况下对它们进行分组以生成边界框。
ExtremeNet和CornerNet等基于关键点的检测网络都需要经过一个关键点分组阶段,这降低了算法整体的速度。
- 将目标建模为其一个单点,即边界框中心点,无需对构建点进行分组或其他后处理操作。然后在探测器使用关键点估计来查找中心点,并回归到所有其他对象属性,如大小、位置等。这一方法很好地平衡了检测的精度与速度。
- RepPoints。提供了更细粒度的表示方式,使得目标可以被更精细地界定。同时,这种方法能够自动学习目标的空间信息和局部语义特征,一定程度上提升了小目标检测的精度。
- FoveaBox受到人眼的中央凹(视网膜中央区域,集中了绝大多数的视锥细胞,负责视力的高清成像)启发,提出了一种直接预测目标存在的可能性和边界框坐标的方法,该方法首先预测目标存在的可能性,并生成类别敏感语义图,然后为每一个可能包含目标的位置生成未知类别的边界框。由于摆脱了锚框的限制,FoveaBox对于小目标等具有任意横纵比的目标具备良好的鲁棒性和泛化能力,并在检测精度上也得到了较大提升。
- FCOS(Fully convolutional one‑stage)。使用语义分割的思想来解决目标检测问。
- 特征平衡与细化网络,采用直接学习编码边界框的一般无锚策略,消除锚框对于检测性能的负面影响,并使用基于语义信息的注意力机制平衡不同层次的多个特征,达到了最先进的性能。
- 基于特殊注意力机制的特征金字塔网络,该网络能够根据不同大小目标的特征生成特征金字塔,进而更好地处理多尺度目标检测问题,显著提升了小目标的检测性能。
其他优化策略
- 过采样策略,通过增加小目标对于损失函数的贡献,以此提升小目标检测的性能。
- 增加专用于小目标的锚框数量来提高检测性能。增加锚框数量对于提升小目标检测精度十分有效,同时也额外增加了巨大的计算成本。
- 级联。采用从粗到细的检测理念:用简单的计算过滤掉大多数简单的背景窗口,然后用复杂的窗口来处理那些更困难的窗口。Cascade R‑CNN,通过级联几个基于不同IoU阈值的检测网络达到不断优化预测结果的目的。
- 分阶段检测,通过不同层级之间的配合平衡漏检与误检之间的矛盾。比如双重探测器,其中第一尺度探测器最大限度地检测小目标,第二尺度探测器则检测第一尺度探测器无法识别的物体。
- 分割前后景。区分重要区域与非重要区域。
- 优化损失函数。在网络的训练过程中,小目标更容易受到随机误差的影响。针对这一问题进行了改进,提出一种依据目标尺寸设定不同权重的损失函数,实现了小目标检测性能的提升。针对类别不均衡问题,在RetinaNet中提出了焦距损失,有效解决了训练过程中存在的前景‑背景类不平衡问题。针对小目标容易出现的前景与背景不均衡问题,Deng等则提出了一种考虑前景‑背景之间平衡的损失函数,通过全局重建损失和正样本块损失提高前景与背景的特征质量,进而提升了小目标检测的性能。
- 多接受域和小目标聚焦弱监督分割网络,通过使用多个接收域块来关注目标及其相邻背景,并依据不同空间位置设置权重,以达到增强特征可辨识性的目的。
- 将多目标检测任务重新表述为边界框的密度估计问题,提出了一种混合密度目标检测器,通过问题的转换避免了真值框与预测框匹配以及启发式锚框设计等繁琐过程,也一定程度上解决了前景与背景不平衡的问题。
版权声明:本文为CSDN博主「WAChiZhou」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/HuaBother/article/details/121921241
暂无评论