用于小目标检测的归一化高斯Wasserstein距离(NWD)之论文阅读
摘要
检测小目标是一个非常具有挑战性的问题,因为小目标在图像中通常仅包含极少的像素。我们发现,当前最先进的检测器在小目标上的表现并不理想,主要原因在于小目标缺乏足够的外观信息。
我们的一个关键观察是,像 IoU(交并比)及其扩展形式这样的评估指标,对小目标的位置偏移非常敏感,这种敏感性会在基于 anchor 的检测器中显著降低检测性能。
为了解决这一问题,我们提出了一种用于小目标检测的新评估指标——Wasserstein 距离。具体而言,我们首先将目标框建模为二维高斯分布,然后提出了一种新的相似度度量方法,称为归一化Wasserstein距离(NWD),用于衡量两个目标框对应的高斯分布之间的相似性。
所提出的 NWD 指标可以方便地嵌入到任何 anchor-based 检测器的分配(assignment)、非极大值抑制(NMS)和损失函数中,替代传统的 IoU 指标。
我们在一个用于小目标检测的新数据集(AI-TOD)上评估了该方法,该数据集中目标的平均尺寸远小于现有的目标检测数据集。大量实验证明,当使用 NWD 指标后,我们的方法比标准的微调基线高出 6.7 个 AP 点,比当前最先进的方法也高出 6.0 个 AP 点。
代码已开源,地址为:https://github.com/jwwangchn/NWD
1 引言
在许多现实应用中,例如驾驶辅助、大规模监控和海上救援,小目标无处不在。尽管深度神经网络的发展 [21, 15, 27] 已使目标检测取得了显著进展,但这些方法大多专注于检测正常尺寸的目标。而小目标(在 AI-TOD 数据集中尺寸小于 16 × 16 像素)由于外观信息极其有限,导致难以学习具有辨别力的特征,从而在小目标检测任务中出现大量失败案例 [25, 29, 35]。
近年来,小目标检测(Tiny Object Detection, TOD)的研究主要集中在提升特征辨别力方面 [14, 37, 20, 12, 1, 19]。一些研究致力于对输入图像进行尺度归一化,从而增强小目标的分辨率及其特征 [24, 25];还有研究提出使用生成对抗网络(GAN)直接生成小目标的超分辨率特征 [12, 1, 19]。此外,特征金字塔网络(FPN)被提出用于学习多尺度特征,以实现尺度不变的检测器 [14, 37, 20]。虽然这些方法在一定程度上提升了小目标检测的性能,但通常以额外的计算代价为代价。
除了提升特征学习能力外,训练样本的选择质量在基于 anchor 的小目标检测器中也起着关键作用 [36],其中正负样本的分配尤为重要。然而,由于小目标像素稀少,其样本选择过程面临更多困难。如图 1 所示,不同尺度目标对 IoU 的敏感性差异极大。具体而言,对于一个 6 × 6 像素的小目标,即使位置有轻微偏移,IoU 也会显著下降(从 0.53 降到 0.06),从而导致标签分配错误。而对于一个 36 × 36 像素的正常目标,在相同的偏移下,IoU 仅从 0.90 降到 0.65。图 2 进一步展示了不同尺度下 IoU 与偏移的变化曲线,曲线随着目标尺寸变小下降速度越快。
值得注意的是,IoU 的这种敏感性来自于边界框位置只能进行离散变化的特性。这个现象说明:IoU 度量对目标尺度并不具备不变性,当位置偏移离散化时,会带来以下两个问题:
在基于 anchor 的检测器中,通常使用 (θp, θn) 阈值(如 RPN 中的 0.7 和 0.3)来分配正负样本。IoU 对小目标的敏感性会导致轻微的位置偏移改变 anchor 的标签,使得正负样本的特征相似,从而增加网络收敛难度。
我们还发现,在 AI-TOD 数据集中,使用 IoU 指标为每个 GT 分配到的正样本数量平均少于 1 个,因为某些 GT 与所有 anchor 的 IoU 都小于最小正样本阈值。这将导致训练阶段监督信号不足,严重影响检测器性能。
虽然一些动态样本分配策略如 ATSS [36] 能够根据目标的统计特性自适应设置正负样本的 IoU 阈值,但由于 IoU 的高敏感性,使得很难为小目标找到一个合适的阈值,因而难以提供高质量的训练样本。
鉴于此,我们提出了一种新的指标,用 Wasserstein 距离替代标准的 IoU 来衡量边界框之间的相似性。我们首先将边界框建模为二维高斯分布,然后使用我们提出的**归一化 Wasserstein 距离(NWD)**来计算其高斯分布之间的相似度。
Wasserstein 距离的主要优势在于,即使两个分布几乎不重叠,它仍能合理地衡量它们的相似性。此外,NWD 对不同尺度的目标不敏感,因此更适合小目标的相似性度量。
NWD 可应用于单阶段和多阶段的 anchor-based 检测器中。它不仅可以替代 IoU 进行正负样本分配,还可以用于非极大值抑制(NMS)和边界框回归损失中。在 AI-TOD 小目标检测数据集上的大量实验表明,我们提出的 NWD 能够持续稳定地提升多种检测器的性能。
本文的主要贡献如下:
我们分析了 IoU 对小目标位置偏移的敏感性,并提出 NWD 作为更优的边界框相似性度量方法。
我们设计了一种强大的小目标检测器,将 NWD 应用于标签分配、NMS 和损失函数中。
NWD 显著提升了主流 anchor-based 检测器在小目标检测任务上的性能,在 AI-TOD 数据集上,Faster R-CNN 的检测精度提升了 11.1% 到 17.6%。
2 相关工作
2.1 微小目标检测
以往的大多数小/微小目标检测方法大致可以分为三类:多尺度特征学习、优化训练策略以及基于GAN的检测方法 [28]。
多尺度特征学习:
最简单经典的方法是将输入图像缩放到不同尺度,并训练多个检测器,使每个检测器能在特定尺度范围内达到最佳性能。为了降低计算成本,一些研究 [18, 14, 37] 尝试在特征层面构建不同尺度的金字塔。例如,SSD [18] 利用不同分辨率的特征图进行目标检测;FPN [14] 构建了一个自顶向下的结构,并通过横向连接来融合不同尺度的特征信息,以提升检测性能。在此基础上,诸如 PANet [17]、BiFPN [26]、Recursive-FPN [20] 等方法被提出进一步增强FPN性能。此外,TridentNet [13] 构建了一个并行的多分支架构,利用不同感受野来生成尺度特定的特征图。
优化训练策略:
受“很难同时检测微小目标与大目标”这一观察启发,Singh 等人提出了 SNIP [24] 和 SNIPER [25],通过选择性训练特定尺度范围内的目标来提升检测性能。此外,Kim 等人 [10] 提出尺度感知网络(Scale-Aware Network,SAN),将来自不同尺度空间的特征映射到一个尺度不变的子空间,使检测器对尺度变化更加鲁棒。
基于GAN的检测方法:
Perceptual GAN [12] 是第一个尝试将GAN引入小目标检测的工作,它通过缩小小目标与大目标之间的特征差异来提升检测性能。Bai 等人 [1] 提出了 MT-GAN,在图像级别训练超分辨模型以增强小目标的RoI特征。此外,文献 [19] 提出了一种特征级别的超分辨方法,用于提升基于提议方法的小目标检测性能。
2.2 目标检测中的评价指标
IoU(Intersection over Union)是目前最广泛使用的边界框相似度度量指标。然而,IoU 只能在两个边界框存在重叠时计算,否则无法衡量其相似性。
为了解决这个问题,GIoU(Generalized IoU)[22] 引入了最小闭包框的惩罚项,以改进无重叠情况下的度量表现。然而,当一个边界框完全包含另一个时,GIoU 仍会退化为IoU。因此,DIoU 和 CIoU [38] 被提出,它们综合考虑了三个几何属性:重叠区域、中心点距离以及宽高比,以克服IoU和GIoU的局限性。
GIoU、CIoU 和 DIoU 主要用于非极大值抑制(NMS)和回归损失中,以替代IoU来提升目标检测性能,但在样本标签分配方面的应用却很少被探讨。
在同期研究中,Yang 等人 [32] 提出了用于方向目标检测的高斯Wasserstein距离(GWD)损失,通过衡量方向边界框之间的位置关系进行回归优化。然而,GWD 的动机是为了解决方向检测中边界不连续与类方框问题,而我们提出的方法则是为了缓解IoU在微小目标上的位置敏感性问题,并且可以在anchor-based检测器中的所有部分替代IoU使用。
2.3 标签分配策略
为微小目标的真实框(gt boxes)分配高质量的锚框(anchors)是一项具有挑战性的任务。一种简单的方法是降低IoU阈值以选择更多正样本。虽然这种做法可以让微小目标匹配到更多的锚框,但会导致整体训练样本的质量下降。
近年来,许多研究尝试使标签分配过程更加自适应,以提升检测性能 [6]。例如:
Zhang 等人 [36] 提出了 自适应训练样本选择(Adaptive Training Sample Selection, ATSS) 方法,通过统计一组锚框的 IoU 值,自动计算每个gt的正/负样本阈值。
Kang 等人 [9] 提出了 概率锚框分配(Probabilistic Anchor Assignment, PAA),假设正负样本的联合损失分布满足高斯分布,从而进行样本选择。
此外,最优传输分配(Optimal Transport Assignment, OTA) [6] 将标签分配过程从全局角度建模为一个最优传输问题。
然而,这些方法都使用IoU作为边界框之间相似度的衡量标准,且主要集中在标签分配中阈值的设定问题,这在微小目标检测(Tiny Object Detection, TOD)中并不适用。
相比之下,我们的方法专注于设计一种更优的评价指标,可以在微小目标检测器中替代IoU使用,从而提高检测性能。
3 方法
受IoU本质上是用于衡量两个有限样本集合相似性的Jaccard相似系数这一事实启发,我们设计了一种更适用于微小目标的度量方式 —— 基于Wasserstein距离的新指标。由于Wasserstein距离即使在两个分布没有重叠的情况下也能稳定地反映其差异,因此相比IoU在衡量微小目标之间的相似度时具有更好的性质。具体方法如下
3.3 基于 NWD 的目标检测器
我们提出的 NWD 度量可以轻松集成到任何基于锚框(anchor-based)的检测器中,用来替代原本使用的 IoU。为了便于说明,这里以经典的基于锚框的检测器 Faster R-CNN 为例,描述如何使用 NWD。具体来说,所有原本依赖 IoU 的三个部分将被替换或改进为基于 NWD 的形式:正/负样本标签分配、非极大值抑制(NMS)和回归损失函数。详情如下
4 实验
4.1 与其他基于 IoU 的度量方法的比较
如第 2 节所述,目前已有多种基于 IoU 的度量方法可用于衡量边界框之间的相似性。在本研究中,我们在相同的基础网络(即 Faster R-CNN)上重新实现了上述四种度量方法(即 IoU、GIoU、CIoU 和 DIoU),并将我们提出的 NWD 纳入对比,用以评估它们在微小目标检测任务中的性能表现。具体来说,这些度量方法分别被应用在标签分配(Label Assignment)、**非极大值抑制(NMS)和回归损失函数(Loss Function)**中。AI-TOD 数据集上的实验结果如表 1 所示。
标签分配方面的比较
需要说明的是,我们同时修改了 RPN 和 R-CNN 中的标签分配模块所用的度量函数。实验结果表明,NWD 达到了最高的 AP(16.1%),相比使用 IoU 时提升了 9.6% 的 APt(针对 tiny 对象的 AP),这表明基于 NWD 的标签分配策略能够为微小目标提供更高质量的训练样本。
为了进一步分析性能提升的本质,我们进行了统计实验:在使用相同默认阈值的情况下,分别统计了 IoU、GIoU、DIoU、CIoU 和 NWD 每个 ground-truth(gt)框所匹配到的平均正样本 anchor 数量,结果如下:
IoU:0.72
GIoU:0.71
DIoU:0.19
CIoU:0.19
NWD:1.05
可以发现,只有 NWD 能确保每个 gt 匹配到足够数量的正样本 anchors。此外,虽然通过降低 IoU 阈值也可以人为增加正样本数量,但我们发现即使经过阈值微调,基于 IoU 的微小目标检测器的最终性能仍然不如基于 NWD 的检测器。相关细节将在补充材料中进一步探讨。造成这一差异的根本原因是:NWD 能有效缓解 IoU 对目标位置微小偏移的敏感性问题。
NMS(非极大值抑制)方面的比较
在这组实验中,我们仅修改了 RPN 的 NMS 模块,因为只有 RPN 阶段的 NMS 会直接影响检测器的训练过程。实验结果表明,不同度量方式在训练阶段用于去除冗余预测框,也会对检测性能产生影响。
具体来说,NWD 在 NMS 中实现了 11.9% 的最佳 AP,相比常用的 IoU 提高了 0.8%。这表明在微小目标检测中,NWD 是一种更有效的冗余框抑制度量标准。
损失函数方面的比较。
需要说明的是,我们在 RPN 和 R-CNN 的损失函数部分都进行了修改,这两个模块的损失函数都会影响检测器的收敛情况。实验结果表明,基于 NWD 的损失函数实现了最高的 AP,为 12.1%。
4.2 消融实验(Ablation Study)
本节中,我们以 Faster R-CNN [21] 为基础模型,其由两个阶段组成:RPN 和 R-CNN。我们提出的方法可以分别应用于 RPN 和 R-CNN 中的三个模块:标签分配(Label Assignment)、NMS(非极大值抑制) 和 损失函数(Loss Function),因此一共有 6 个模块可以从 IoU 度量切换为 NWD 度量。
为验证我们所提方法在不同模块中的有效性,我们设计了以下两组消融实验:
- 单模块替换实验(只将 NWD 应用于一个模块)
实验结果如表 2 所示。与基线方法相比,将 NWD 应用于 RPN 的标签分配模块可带来 6.2% 的最高 AP 提升,而应用于 R-CNN 的标签分配模块则带来 3.2% 的次高提升。这说明:
基于 IoU 的标签分配策略对微小目标训练样本分配的负面影响最为明显;
我们提出的基于 NWD 的标签分配方法显著提高了分配质量。
此外,从表中可以观察到,在 6 个模块中,有 5 个模块使用 NWD 后性能提升,进一步验证了我们方法的普遍有效性。
而 R-CNN 中 NMS 模块使用 NWD 后性能略有下降,可能是由于默认的 NMS 阈值不合适,需要进一步调参以获得最佳效果。
- 多模块联合替换实验
表 3 显示了将 NWD 同时应用于多个模块的实验结果。以 12 个训练 epoch 为例:
无论将 NWD 应用于 RPN、R-CNN 还是所有模块,检测性能均有显著提升;
当将 NWD 应用于 RPN 的三个模块(标签分配、NMS、损失函数)时,性能最佳,AP 达到 17.8%;
然而,当将 NWD 应用于全部六个模块(RPN + R-CNN)时,AP 反而下降了 2.6%,相比仅使用 RPN 部分的 NWD。
为分析性能下降的原因,我们进一步增加了一组实验,将训练时长延长至 24 个 epoch。结果显示,性能差距从 2.6% 缩小到 0.9%,说明:
当在 R-CNN 中也使用 NWD 时,网络需要更长时间来收敛。
因此,在接下来的实验中,我们只将 NWD 应用于 RPN,以在 更短训练时间内实现显著性能提升。
4.3 主要实验结果(Main Results)
为验证 NWD 在微小目标检测(Tiny Object Detection, TOD)中的有效性,我们在 AI-TOD [29] 和 VisDrone2019 [4] 两个微小目标检测数据集上进行了实验。
VisDrone 上的主要结果
除了 AI-TOD,我们还在包含大量不同场景微小目标的 VisDrone2019 [4] 数据集上进行了实验,以验证 NWD 检测器的泛化能力。
实验结果如表 5 所示:
所有基于锚框的检测器在使用 NWD 后相较于原始方法都有明显性能提升。
总之,实验表明 NWD 不仅可以有效提升现有检测器在微小目标上的性能,而且具有良好的通用性与推广能力。
第五章 结论
在本文中,我们观察到 基于 IoU 的度量对微小目标的位置偏差非常敏感,这严重影响了微小目标的检测性能。为了解决这一问题,我们提出了一种新的度量方法,称为归一化Wasserstein距离(Normalized Wasserstein Distance,NWD),用于衡量微小目标的边界框之间的相似性。
在此基础上,我们进一步设计了一种基于 NWD 的新型微小目标检测器,将 NWD 融入到基于锚框的检测器中的标签分配、非极大值抑制(NMS)以及损失函数模块中,以替代原有的 IoU 度量。
实验结果表明,我们提出的方法能够大幅提升微小目标检测的性能,并在 AI-TOD 数据集上达到了当前最优水平