目录
本篇文章基于24年的一篇综述论文总结而来,文章如下:
一、背景
小目标通常是指与整个图像相比尺寸和面积相对较小的物体或实体,并且小目标的定义可能根据应用场景和数据集而变化。学术研究中小物体的定义可以分为两类:
- 相对定义:边界框面积与图像面积的中值比例在0.08%到0.58%之间。
- 绝对定义:MS-COCO数据集[15]中的小物体被定义为分辨率小于32×32像素的物体。除此之外,还有其他基于绝对尺度的定义,例如在航拍图像数据集 DOTA和人脸检测数据集 Wider Face 中,其中像素值范围在 [10,50] 之间的物体被定义为小物体物体,在 Tiny Person 数据集中,小物体被定义为像素值范围在 [20,32] 之间的物体。
目前在小物体检测领域,即使是最先进的网络,小物体和正常尺寸物体的检测精度方面存在明显差距。例如:
- CoDETR(一种基于查询的检测器)在 COCO 数据集上检测小物体时的准确度比较大物体低31.3%。
- 另一个例子是 DEYO,它结合了 YOLOv5 和 DETR,在 COCO 数据集上检测小物体的 AP 仅为 33.4。这个结果明显较低,与中型和大型物体的检测相比分别相差 31.5 AP 和 10.6 AP。
造成这些情况的原因是小物体尺寸小、分辨率低、对比度不够。尺寸小意味着物体特征信息有限,分辨率低意味着小物体的细节信息不够清晰,对比度低意味着小物体的边缘特征和纹理特征不够明显,无法与背景区分开来。
二、检测难点
- 小物体覆盖的像素较少,表明用于检测的特征不足,特征表示较弱。
比如在YOLOv8中,采用了倒金字塔结构,通过不同分辨率的特征图进行预测。然而,在低分辨率下进行预测时,由于分辨率较低,小目标的细节可能会被忽略,导致小目标特征的提取不充分。 - 通用目标检测器的区域提议阶段中较大的锚尺寸会导致小目标受到较少的关注。
- 很难将小物体与背景中的噪声杂波区分开并准确定位其边界。
由于尺寸较小,对象可能出现在输入图像的任何位置,例如角落或与其他对象重叠的区域。 - AP和mAP可能不适合评估小目标检测的性能,因为即使图像中边界框的微小移动也会导致IoU值的巨大差异。
三、主流改进方法
3.1 基于改进数据增强的小目标检测算法
3.1.1 监督数据增强方法
- 定义:利用训练样本的标签(ground truth)指导数据增强操作,通过一系列变换和增强,保持标签信息的一致性,增加数据集的数量和多样性。
- 方法:
- 图像缩放和拼接:通过缩放和拼接图像,帮助模型更好地理解目标的上下文信息,克服小目标的分辨率限制。
- 复制粘贴方法:通过在图像中多次复制和粘贴小目标,扩展数据集。对于小物体,单个小图像可能无法提供足够的上下文信息来进行准确的检测和识别。通过将几张小图像组合成一张大图像,可以丰富小物体的数据集。
- AutoAugmentImage和Mixup:AutoAugmentImage根据不同数据集自适应选择合适的数据增强策略;Mixup通过混合两个训练样本生成新的训练样本,丰富数据集,增强模型的鲁棒性。
3.1.2 无监督数据增强方法
- 定义:不依赖标记信息,通过生成超分辨率训练数据来增加数据集的多样性和数量(超分辨率可能带来还原结果不真实现象)
- 方法:
- EESRGAN:结合GAN和Transformer技术,利用Transformer块替换生成器中的CNN密集连接块,提高小目标的分辨率,特别是在道路目标、遮挡车辆和密集区域的表现。
- Perceptual GAN:通过感知生成对抗网络将小目标的表示提升到超分辨率形式,减少小目标和大目标之间的差异,提高小目标检测性能,但计算成本增加。
- SOD-MTGAN:端到端多任务生成对抗网络,生成器生成超分辨率图像,多任务判别器同时判别真实高分辨率图像和假图像,并预测目标类别,减少资源消耗,降低GAN的计算成本。SOD-MTGAN在COCO数据集的小目标子集上取得了最高性能(24.7%)。
- DS-GAN:基于GAN的数据增强管道,通过引入噪声向量生成大量超分辨率小目标,并插入到原始高分辨率数据集中,丰富数据集,提高CenterNet的检测精度。
- SAHI算法:利用滑动窗口(亲测有效)概念,通过patch-assisted fine-tuning和slice-assisted hyper-inference技术,将小目标检测任务转化为中等和大目标检测任务,提高TOOD算法在VisDrone数据集上的检测精度,但增加了计算成本。
3.2. 基于改进特征提取的小目标检测算法
随着神经网络深度的增加,每一层的感受野逐渐增大,能够感知更大尺度的目标和上下文信息(此时适合分类,不适合检测),但同时图像分辨率降低,导致细节语义信息的丢失,从而影响小目标检测的准确性。传统的固定感受野大小的卷积核可能无法有效捕获小目标信息,而较大的步幅或池化操作也容易导致小目标信息的丢失。
3.2.1. 扩张卷积
扩张卷积通过增大感受野的同时保持较高的分辨率,有助于捕获全局上下文和局部细节。在小目标检测中,这种方法有助于在不降低特征图分辨率的情况下,保留小目标的细节信息,并获得更多的上下文信息。
- CAB Net通过并行多分支扩张卷积层来扩展感受野,同时保持特征图分辨率,从而增强了小目标检测的性能。
- DFSSD通过在卷积层中引入不同膨胀率的扩张卷积,增强了第三级特征图的感受野,保留了更多的语义和边缘信息,提升了小目标检测的效果。
3.2.2. 特征增强
为了增强模型对小目标的特征提取能力,研究者提出了特征增强模块。例如,一些方法通过学习小目标的边缘信息来补偿小目标特征的不足,从而提高SSD检测器的性能。
3.2.3. 多尺度特征提取
小目标通常出现在不同尺度和比例的图像中,这使得传统的特征提取模块可能无法有效识别这些多尺度的小目标。为了解决这一问题,许多方法在设计中引入了多尺度特征提取模块。
- Zhang等人提出的金字塔分割注意力模块能够在更细粒度的层次上有效提取多尺度空间信息。
- SODNet的自适应空间并行卷积模块通过平行卷积不同通道的特征图来捕获多尺度局部上下文信息,并通过跳跃连接融合特征图,增强了小目标的空间表示。
3.2.4. 注意力机制
注意力机制模拟人类视觉认知系统,使模型能够在处理输入数据时专注于相对重要的部分。在小目标检测中,引入注意力机制能帮助模型集中关注小目标周围的重要特征,从而提高小目标检测的准确性。
- Lim等人通过在两层浅卷积层中加入二阶段注意力模块,改善了SSD检测小目标的准确性,在VOC2007训练集上提高了3.1%的检测精度。
- Wei等人提出的双边注意力机制结合了空间和通道维度的自注意力机制,增强了模型对小目标上下文信息的理解,进而提高了检测性能。
3.3 基于改进特征融合的小目标检测算法
在目标检测中,小目标的检测面临多种挑战,因为浅层特征图分辨率高但语义信息不足,深层特征图包含丰富的语义信息但分辨率较低。为了提高小目标检测的性能,需要对不同尺度或层次的特征图进行融合。以下是几种常见的改进特征融合策略。
3.3.1 特征金字塔融合
特征金字塔融合旨在合并不同层次或尺度的特征,以检测不同大小的物体。常见的改进方案包括:
- FPN(Feature Pyramid Network):通过自上而下的金字塔结构和横向连接,融合低分辨率的语义特征和高分辨率的空间特征,有效地提高了小目标检测性能。
- PANet:在FPN的基础上引入了自下而上的特征融合,充分利用浅层的位置信息,增强了特征融合效果。
- MLFPN:通过多级特征聚合和尺度级特征融合模块,改进了多尺度信息提取,提升了小目标检测精度。
- RSOD:在FPN基础上加入了改进的空间金字塔池化(SPP),通过多分支合并局部和全局特征,提升了小目标检测精度。
- ABFPN:设计了跳跃连接和扩张卷积(ASPP)模块来扩大感受野,减少小目标信息的丢失。
- PRB-FPN:通过并行双向融合特征金字塔结构,增强小目标细节,提升小目标检测准确度。
- QueryDet:使用级联稀疏查询机制减少计算复杂度,同时提高小目标检测的准确性。
3.3.2 跨尺度特征融合
跨尺度特征融合结合了不同尺度的特征信息,以获取更全面、细致的特征。常见方法包括:
- BiFPN:基于PANet结构,采用双向特征融合和加权机制,提升了小目标检测的鲁棒性,特别适用于尺度变化和遮挡问题。
- 轻量级多尺度增强网络:通过多尺度输入图像特征增强中低层次特征的语义信息,从而提升小目标检测的精度。
- 多尺度特征融合网络:采用双向融合路径和跨层融合,充分利用不同尺度的信息,提高了对小目标的鲁棒性。
- CFP(Centralized Feature Pyramid):通过显式的视觉中心调整深层特征和浅层特征,增强了小目标的检测精度。
3.3.3 空间与通道注意力融合
空间和通道注意力机制用于加强模型在空间和通道上的信息处理能力。常见方法包括:
- CBAM(Convolutional Block Attention Module):结合空间注意力和通道注意力,提升了对小目标的关注,增强了检测精度。
- YOLOv3-HA:引入了轻量级的子空间注意力模块,通过通道注意力抑制干扰信息,提升了小目标检测精度。
- SD-YOLO:结合空间注意力和通道注意力,进一步提高了小目标的检测精度,特别是在速度上具有优势。
- DAM-YOLO X:基于PANet框架,嵌入双边模块融合空间与通道信息,通过自注意力模块增强小目标检测的关注度,提升了检测准确度。
3.4 基于改进损失函数的小目标检测算法
在回归任务中,小目标对整体损失贡献较小,易被忽略。
在分类任务中,正负样本分布不均,影响训练效果。
解决方法:
- 改进 IoU 及其变体,使模型更敏感于小目标位置偏移。
- 优化分类损失函数,通过权重平衡关注难以分类的样本。
3.4.1 边界框回归损失(IoU 与其变体)
- IoU 的改进变体:
- GIoU:解决梯度消失问题。
- DIoU:加入中心点距离,优化回归速度和准确性。
- CIoU:综合考虑以下三点,进一步提升效果:
- 重叠区域;
- 中心点距离;
- 宽高比校正。
- CIoU 损失公式:通过权衡以上三点,提升对大中目标的检测性能。
3.4.2 CIoU 的优化与小目标检测改进
(1)CIoU 的问题:
- 小目标在整体损失中权重较低,易被忽视。
(2)改进方法:
- Soft-CIoU:
- 通过平方根形式降低中心点距离的权重。
- 减弱大目标对损失的主导作用。
- EIoU:
- 优化宽高比例校正,使宽高比例的变化单独计算。
- 更适合小目标的检测。
- Alpha-EIoU:
- 使用 Wasserstein 距离建模边界框分布。
- 核心思想:将边界框表示为高斯分布,衡量分布之间的相似性。
- 优点:
- 提升对边界框偏移的鲁棒性。
- 更适用于小目标检测。
- Normalized Wasserstein Distance (NWD):
- 将 Wasserstein 距离归一化。
- 实验效果:显著提升小目标检测性能,相较传统 IoU 更优。
3.4.3 分类损失的改进
(1)Focal Loss:
- 问题:传统分类损失未充分关注难分类样本,容易受正负样本比例失衡影响。
- 改进:
- 增大难分类样本的损失权重。
- 减弱易分类样本的贡献,优化网络性能。
(2)Varifocal Loss (VFL):
- 在 Focal Loss 基础上进一步优化:
- 分解损失公式,将 IoU 部分与类别分布分离。
- 增大正样本权重,减少负样本对损失的影响。
- 效果:提升了小目标分类的检测能力。
(3)结合前景-背景平衡策略:
- 新的前景-背景联合损失函数:
- L_pixel:优化预测框和真实框的像素级相似性。
- L_map:关注预测的特征图与真实特征图的整体匹配。
3.5 基于改进训练策略的小目标检测算法
3.5.1 无监督小目标检测算法
- 问题:传统方法过于依赖标注数据,但小目标缺乏明显语义特征,标注数据少。
- 解决方法:采用无监督学习,从未标注的大型数据集中自动提取特征,模仿人眼感知。
- 无监督检测算法通过逐层转换图像特征,将原始样本特征映射到新特征空间,自动学习高阶视觉特征。
- 示例:
- Sparse Autoencoder (SAE):在跨领域图像中提取高层视觉特征,应用于小目标检测。
- 优缺点:减轻对标注数据的依赖,但训练和推理速度较慢。
3.5.2 端到端训练策略
- 问题:传统方法将目标检测任务分解为多个子任务,分阶段训练,导致信息丢失和错误传播。
- 解决方法:采用端到端训练策略,整体优化模型,最大限度保留和传递特征信息。
- 例子:
- GAN 结合检测:
- 边缘增强的超分辨率 GAN 同步进行目标检测与超分辨率,提升检测性能(COWC 数据集精度达 95.5%)。
- DETR(2020):
- 将目标检测视为集合预测任务,消除了 NMS 和 anchor 生成过程,实现真正的端到端检测。
- 问题:对高分辨率小目标的收敛速度较慢,复杂度高。
- 改进:Deformable DETR 使用可变形注意力模块替代 Transformer 注意力模块,聚合多尺度特征,提升检测速度和精度。
- 在 COCO 数据集上,Deformable DETR 对小目标检测精度比 DETR 高 5.9%,收敛速度更快。
- GAN 结合检测:
- 例子:
3.5.3 密度裁剪训练策略
- 问题:小目标往往分布在稀疏区域,传统模型难以准确检测。
- 解决方法:
- 生成小目标周围的高密度复制数据,专注于高密度区域,减少对无目标区域的计算,提高检测速度。
- 例子:
- CZ Det:一种高效级联缩放检测器,利用密度裁剪策略放大高密度区域作为数据增强,与原图结合后送入检测器处理,显著提升小目标检测精度。
3.5.4 迁移学习
-
问题:小目标数据稀缺且标注成本高,难以构建大规模高质量数据集。
-
解决方法:利用迁移学习从源领域数据集中提取特征,适配小目标检测任务。
- 迁移学习能够克服源域与目标测试数据分布不一致的问题。
-
案例:
- 基于模拟数据:
- 使用 AirSim 工具生成大量标注数据,结合 YOLOv5 模型进行预训练,并在真实数据上微调,提升性能。
- 域自适应 Faster R-CNN:
- 在 Faster R-CNN 中加入图像级和实例级适应模块,减少训练与测试数据分布差异,提高泛化能力。
- TranSDet:
- 基于元学习的动态分辨率自适应方法,结合 Shifted Feature Aggregation (SFA-FPN) 模块,有效增强小目标检测。
- 预训练视觉模型 EVA:
- 基于 Vision Transformer 的预训练模型,处理 2960 万无标注图像,并在 COCO 数据集的小目标检测任务中取得 48.5% 的 mAP。
- 基于模拟数据:
-
总结:迁移学习适用于数据稀缺、标注成本高的任务,可广泛应用于小目标检测及其他机器学习任务(如情感分类、缺陷检测等)。
3.5.5 无锚点小目标检测方法
-
问题:传统基于锚点的算法在小目标检测中表现不佳,原因包括:
- 锚点标注困难,正负样本不平衡;
- 依赖锚点超参数配置,需使用 NMS,增加计算复杂度。
-
解决方法:采用无锚点方法,直接预测边界框坐标,更适合小目标的形状和尺寸变化,检测更快更准。
- 基于中心点的无锚点方法:
- 直接预测目标中心坐标和边界框尺度信息。
- 案例:
- FCOS:通过像素点直接预测目标框的边界距离,避免锚点设计。
- Unbiased TeacherV2:利用“置信度”作为伪标签过滤指标,与 FCOS 相比小目标检测精度提高 10.83%。
- CSPNet:基于行人特征的中心和尺度学习,在低分辨率、小尺度场景中表现优异。
- 基于关键点的无锚点方法:
- 通过关键点预测生成边界框。
- 案例:
- CenterNet:预测目标中心点的热图,再获取边界框信息,达到真正的端到端处理(COCO 数据集小目标 mAP 达 42.4%)。
- CenterNet++:引入三关键点(左上、右下、中心)预测和中心池化机制,改进小目标检测精度。
- FE-CenterNet:增加特征增强模块,结合坐标注意机制,提升对小目标的感知能力。
- 基于中心点的无锚点方法:
-
无锚点检测的优点:
- 不需预定义锚框,避免形状限制;
- 降低检测头复杂度,减少计算量;
- 更适合小目标姿态估计等任务。