【读点论文】Oriented Tiny Object Detection: A Dataset, Benchmark, and Dynamic Unbiased Learning
本文针对**有向微小目标检测**这一复杂且研究不足的问题,系统提出了**AI-TOD-R 数据集**(现有有向目标检测数据集中目标尺寸最小,平均仅 10.6 像素)、涵盖全监督和标签高效范式的**基准**,并发现现有方法存在 “置信目标更置信、微小目标被边缘化” 的**学习偏差**;为此设计**动态粗到精学习(DCFL)方案**,通过动态更新先验位置、平衡样本数量与质量实现无偏学习,该方法在 8
Oriented Tiny Object Detection: A Dataset, Benchmark, and Dynamic Unbiased Learning
Abstract
- 检测定向微小物体的外观信息有限,但在现实应用中普遍存在,仍然是一个复杂且尚未充分探索的问题。为了解决这个问题,我们在本研究中系统地引入了新的数据集、基准和动态的从粗到精的学习方案。我们提出的数据集 AI-TOD-R 具有所有定向物体检测数据集中最小的物体尺寸。基于 AITOD-R,我们提出了一个涵盖广泛检测范式的基准,包括完全监督和标签高效的方法。通过调查,我们发现各种学习管道中存在学习偏差:自信的物体变得越来越自信,而易受攻击的微小物体则进一步被边缘化,从而阻碍了它们的检测性能。为了缓解这个问题,我们提出了动态粗到精学习(DCFL)方案来实现无偏学习。 DCFL 动态更新先前位置,以更好地与定向微小物体的有限区域对齐,并以平衡不同物体形状的数量和质量的方式分配样本,从而减轻先前设置和样本选择中的偏差。在八个具有挑战性的物体检测数据集上进行的大量实验表明,DCFL 实现了最先进的准确性、高效率和卓越的多功能性。数据集、基准测试和代码可在以下位置获取:AI-TOD-R.
- 本文针对有向微小目标检测这一复杂且研究不足的问题,系统提出了AI-TOD-R 数据集(现有有向目标检测数据集中目标尺寸最小,平均仅 10.6 像素)、涵盖全监督和标签高效范式的基准,并发现现有方法存在 “置信目标更置信、微小目标被边缘化” 的学习偏差;为此设计动态粗到精学习(DCFL)方案,通过动态更新先验位置、平衡样本数量与质量实现无偏学习,该方法在 8 个异质数据集上验证了SOTA 精度、高效率和强通用性,且不增加推理时的参数与计算开销。
INTRODUCTION
-
当观察接近相机属性(例如焦距和分辨率)的物理极限时,捕获的图像将不可避免地包含极小尺度的物体。这种情况虽然极端,但在从微观视觉(例如,医学和细胞成像 )到宏观视觉(例如,无人机和卫星成像 )的现实应用中很普遍。在这些专业领域中,成像通常采用俯视视角来更准确地捕捉物体的主要特征,从而使它们以任意方向出现。
-
检测任意方向的微小物体是实现对这些场景的智能理解的基本但极具挑战性的一步。与此同时,众多风险敏感型应用需要精确、稳健地检测具有方向信息的微小物体,例如交通监控 、边境监视 、医疗诊断 和缺陷识别 。不幸的是,以前的研究主要集中在检测通用对象或任意方向的对象。
-
当涉及检测定向微小物体这一更具挑战性的任务时,现有方法往往难以提供令人满意的性能。通常,DOTA-v2 中 77% 的对象尺寸范围为 10 2 − 50 2 10^2 -50^2 102−502 像素,而最先进 (SOTA) 性能 仍低于 30% AP@50:5:95。作为社区中的一个难题,更糟糕的是缺乏旨在促进检测方法开发的特定任务数据集和基准。到目前为止,只有一个最近发布的针对相关研究的数据集(SODA-A),其研究重点主要集中在小尺度物体而不是微小尺度物体。
-
这项工作向更严峻的挑战迈出了一步,从数据集、基准和方法的角度系统地探索了面向微小物体检测问题。图 1 直观地概括了这项工作。为了进一步突破极微小物体定向物体检测的界限,我们贡献了一个专门用于定向微小物体检测的新数据集,名为 AI-TODR(第 III 节)。

- 外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
- 图1.本文系统地介绍了面向微小目标检测的挑战性任务,包括AI-TOD-R数据集、基准测试和动态的从粗到精的学习管道。来自AITOD-R的典型注释示例和本基准涵盖的检测范例,其中“L.“、“U.”、“S. L."和“C. L.”表示标记的、未标记的、稀疏标记的和粗略标记的图像,较低:面向对象检测的学习范例比较与现有技术(左)相比,我们提出的流水线(右)通过动态更新的先验知识和从粗到细的样本学习方案,减轻了对面向微小对象的学习偏差。
-
AI-TOD-R的平均物体尺寸仅为 10.6 2 10.6^2 10.62 像素,是定向物体检测的最小物体尺寸数据集。这个具有挑战性的数据集是使用半自动注释过程建立的,通过向 AITOD-v2 补充方向信息并确保高注释质量。然后,我们使用 AI-TOD-R 对不同的对象检测范例进行基准测试,以研究不同的检测范例在定向微小对象上的表现(第四节)。该基准与现有技术的区别在于,我们打破了完全监督的范式,并研究监督和标签有效的方法,以满足更广泛和更实际的应用。我们的研究结果表明,通用物体检测器在面对极其微小的物体时往往会表现出异常结果。值得注意的是,学习偏差在各种方法中总是出现。对象的微小尺寸和低置信度特征使得它们在模型训练过程中很容易被抑制或忽略。
-
普通的优化过程将不可避免地使它们陷入明显有偏差的先验设置和有偏差的样本学习困境,严重阻碍定向微小物体检测的性能(第 IV-D 节)。为了解决这个问题,我们提出了一种新方法:动态粗到精学习(DCFL),旨在为定向微小物体提供无偏的先验设置和样本监督(第五节)。一方面,我们将静态先验重新表述为自适应更新先验,从而引导更多先验位置朝向微小物体的主要区域。另一方面,动态从粗到细的样本学习将标签分配分为两个步骤:粗略步骤为不同大小和方向的对象提供不同的正样本候选,而精细步骤保证了用于预测的高质量正样本。
-
我们在八个异构基准上进行了实验,包括面向微小/小型物体检测(AITOD-R、SODA-A [10])、大量微小物体的面向物体检测(DOTA-v1.5 、DOTA-v2 )、多尺度面向物体检测(DOTA-v1 、DIORR )和水平物体检测(VisDrone 、MS COCO )。我们的结果表明 DCFL 明显优于现有的微小物体检测方法(第六节)。
-
此外,我们的结果突出了 DCFL 的三个特征:(1)无成本改进:对各种数据集的大量实验表明,DCFL 在推理过程中无需添加任何参数或计算开销即可提高检测性能。 (2) 多功能性:DCFL 方法可以插入一级和二级检测管道中,并提高其在定向微小物体上的性能。除了定向微小物体之外,DCFL 还增强了一般小物体的检测性能。(3)公正的学习。通过剖析训练过程,我们揭示了 DCFL 如何实现无偏学习——自适应更新先验以更好地与微小物体的主要区域保持一致,同时平衡不同尺度的样本数量和质量。
-
为了解决定向微小物体检测这一具有挑战性的任务,本文对我们之前的会议版本[Dynamic coarse-to-fine learning for oriented tiny object detection]进行了全面的扩展。除了之前发表的方法论贡献之外,该期刊扩展还引入了一些额外的进步:
- 建立用于定向微小物体检测的特定任务数据集,具有定向物体检测数据集中最小的物体尺寸,弥补了这一具有挑战性的领域的资源缺乏。
- 创建涵盖各种对象检测范例的基准,包括完全监督和标签高效的方法,揭示了这些方法中针对定向微小对象的学习偏差。
- 通过将 DCFL 插入一阶段和两阶段方法来展示 DCFL 的多功能性,并通过在 SODA-A 数据集上进行验证来验证其在小型目标检测上的泛化能力。
-
有向微小目标的定义:尺寸小于 16×16 像素,常见于航拍、医疗成像等场景,需同时捕捉位置与朝向信息。定位了有向微小目标(<16×16 像素)检测的 3 大核心痛点,这也是 DCFL 算法构建的出发点:
- 先验设置偏差:传统静态先验(如锚框、特征点)的位置的步长(≥8 像素)与微小目标尺寸不匹配,先验难以覆盖目标核心区域;
- 样本选择偏差:微小目标特征少、置信度低,在静态样本分配中被边缘化,正样本数量远少于大目标,且低质量样本易被误判为负样本;
- 适配性差:现有方法未兼顾 “微小尺寸” 与 “任意朝向” 的双重特性,难以平衡检测精度与效率。
-
DCFL 算法的构建逻辑是:围绕 “无偏学习” 核心,通过 “动态优化先验” 和 “粗到精样本筛选”,针对性解决上述痛点,同时保证算法可嵌入现有单 / 两阶段检测器,无需重构网络。
-
DCFL 方法设计,解决先验设置偏差和样本选择偏差;两大核心模块,动态先验(PCB):嵌入检测头,通过扩张卷积捕捉上下文,偏移预测更新先验位置,适配微小目标区域。动态粗到精样本学习
- 粗匹配(CPS):跨相邻 FPN 层构建候选集,用 GJSD(广义詹森 - 香农散度)度量高斯分布相似度,保证样本多样性
- 精匹配(MPS+DGMM):结合分类分数与 IoU 计算 PT 值筛选中等候选,用双高斯模型(几何中心 + 语义中心)约束样本质量
RELATED WORKS
A. Small and Oriented Object Detection Datasets
-
小型和微小物体检测数据集。由于缺乏专门的数据集,早期对小目标检测(SOD)的研究主要基于通用或某些特定任务数据集中的小目标。例如,通用物体检测数据集 MS COCO 、人脸检测数据集 WiderFace 、行人检测数据集 EuroCity Persons 和无人机视图数据集 VisDrone 都包含大量可以辅助相关研究的小物体。由于SOD性能长期以来一直处于困境,SOD专用数据集的建立越来越受到关注。 TinyPerson 是第一个专为微小规模人体检测而设计的数据集。 AI-TOD 是第一个用于微小物体检测的多类别数据集。 DTOD 不仅解决了物体的微小尺寸问题,还解决了它们的密集堆积问题,使这一挑战变得更加复杂。最近,第一个大规模SOD数据集SODA 及其基准的推出进一步凸显了针对SOD进行针对性研究的必要性。
-
面向对象检测数据集。定向对象检测是视觉检测的一个重要方向,因为方向信息以最少的附加参数显着减少了边界框中的背景区域。多尺度数据集DOTA-v1/1.5/2 、和DIORR 被广泛用于性能基准测试,其中DOTA-v2的特点还在于其大量的小物体。除了这些通用数据集之外,还引入了特定于任务的数据集来剖析一些有针对性的问题。例如,一些数据集是为了研究特定类别而建立的(例如,HRSC2016 、UACS-AOD 、VEDAI ),一些数据集是为细粒度目标检测而设计的(例如,FAIR1M ),而一些数据集是针对特定模态而提出的(例如,SSDD )。同时,还有针对其他对物体方向敏感的场景设计的数据集,包括文本、零售和裂缝检测。
B. Oriented Object Detection
-
事先设计。锚定机制是经典的现有设计,可以促进通用目标检测器和定向目标检测器的训练。作为一项开创性工作,旋转 RPN 通过为每个特征点预设 54 个具有不同尺度和角度的锚点,将水平锚点扩展到定向目标检测领域。尽管这种方法通过覆盖广泛的 gt 形状来提高召回率,但它会增加计算成本。之后,RoI Transformer 学习将 RPN 生成的水平提案转换为定向提案,在简化锚点设计的同时实现更准确的特征对齐。为了实现更简单、更高效的框架,Oriented R-CNN 设计了一个定向 RPN,它直接基于水平锚点预测定向提案。最近,一阶段的目标检测器逐渐出现,包括基于锚点的检测器和基于框的先验以及无锚点的检测器和基于点或基于查询的先验。
-
标签分配。标签分配过程将先验位置分为正学习样本或负学习样本,在对象检测中发挥着关键作用[36]-[39]。在定向目标检测领域,已经提出了多种方法来提高标签分配的质量。 DAL 通过将匹配度定义为动态重新加权锚点的软标签来解决输入先验 IoU 和输出预测 IoU 之间的不一致问题。最近,SASM 引入了形状自适应样本选择和测量策略,根据对象的形状和方向准确地分配标签。类似地,GGHL 提出用单个二维高斯热图拟合实例的主体,以动态方式划分和重新加权样本。此外,Oriented Reppoints 通过评估点的质量、改进检测性能来改进 RepPoints 。
C. Tiny Object Detection
-
样本学习。微小物体通常与静态锚点匹配度较低或特征点先验覆盖范围有限,从而导致缺乏正样本。在通用对象检测中,自适应标签分配策略 ATSS 隐式地协调了不同尺度对象的正样本数量。 NWD-RKA和RFLA明确针对微小物体的样本学习问题,提出了基于分布的相似性测量和样本分配策略,以实现尺度平衡学习。最近,CFINet 通过采用动态锚选择和级联回归来生成高质量的提案,从而提高了小物体的检测性能。
-
功能增强。小物体本身显示的特征非常有限,因此一些研究提出利用外部内容通过超分辨率或 GAN 来增强小物体的特征。其中,PGAN是将GAN应用于小物体检测的开创性工作。此外,Bai等人引入了MT-GAN,它训练图像级超分辨率模型来改善小物体的RoI特征。 CFINet 还通过模仿高质量特征来增强小物体的特征表示。其他利用超分辨率进行小物体检测的著名方法包括等作品。
-
Metric design. 在 IoU 等通用位置指标下,微小物体通常对边界框扰动的容忍度较低。为了解决整个检测流程中 IoU 引发的问题,设计了专门的指标来更好地处理微小物体。为了提高标签分配性能,DotD 、NWD 、RFLA 和 KLDet 等系列工作引入了基于中心或基于分布的度量。这些方法减轻了基于重叠的测量引起的样本不平衡问题。另一方面,旨在实现尺度不变、评估一致和边界连续位置回归的损失度量也为改进微小物体检测提供了有价值的见解。
-
尽管取得了这些进展,现有文献在处理极其定向的微小物体方面仍存在不足。首先,仍然缺乏特定于任务的数据集和基准,旨在检测具有挑战性但普遍存在的微小物体。其次,当前的检测范例无法同时管理定向微小物体检测中的先验偏差和样本偏差,从而导致性能不佳。在这项工作中,我们的目标是通过以下方式弥合这些差距:1)进一步突破数据集中对象大小的限制和定向对象检测的基准;2)提出无偏的先验更新和样本学习管道,使检测器能够在训练期间受到更多高质量的定向微小对象样本的监督。
AI-TOD-R DATASET
A. Semi-automatic Annotation
-
由于特征弱且数量大,任意方向的微小物体很容易与背景混淆,使得人工标注过程困难且费力。为了保证高标注质量并降低标注成本,我们采用半自动标注协议,该协议由三个基本步骤组成:基于算法的粗标记、手动细化和质量双重检查。该过程的图示如图 3 所示。
-

-
图3. AI-TOD-R的标记过程。粗标签由H2 RBox-v2自动生成,最终标签由人工标记和验证获得。
-
-
第一步,我们使用弱监督检测器通过 HBB 微小物体检测数据集生成 OBB 预测。在此工作之前,我们的 AI-TOD-v2 以其极小的物体尺寸、多源图像和高质量的 HBB 注释为特点,为 AITOD-R 奠定了基础。同时,最近出现的弱监督方法能够仅在 HBB 监督下预测 OBB ,在 DOTA 数据集 上实现与完全监督方法竞争的性能。结合现有数据集和方法的优点,我们使用SOTA弱监督方法H2RBox-v2 基于AI-TOD-v2数据集生成OBB预测,作为初始注释。
-
在第二步中,我们手动细化算法生成的初步注释以修复错误。尽管当前的弱监督方法可以在 HBB 监督下提供 OBB 预测,但它们在微小物体上的性能仍远不能令人满意,特别是在弱、密集物体的场景中。现有算法往往会产生假阴性和不准确的预测,如图 3 所示。因此,我们通过以下方法手动调整初始注释来修复错误注释。首先,我们选择一些典型的图像,并召集专家借助AI-TODv2的视觉结果对其进行重新标注,建立标注指南。根据本指南,我们培训具有计算机视觉背景的志愿者来进行大规模调整。鼓励志愿者调整他们有信心的不准确预测,并记下他们不确定的病例的图像 ID。然后通过团队讨论和投票来解决这些不确定的情况。
-
最后,我们呼吁专家和志愿者仔细检查每张图像并找出低质量的注释。然后我们将这些图像重新分发给志愿者进行重新注释。协作团队将算法初始注释与细致的手动细化相结合,确保了数据集的高质量。
B. Statistical Analysis
-
AI-TOD-R是目前定向物体检测领域最小物体尺寸的数据集,共包含8个类、28,036张图像、752,460个带有定向边界框和类别标签的物体。数据集分为训练集、验证集、训练验证集和测试集。接下来,我们对该数据集的特征与类似数据集进行全面的统计分析和比较评估。
-
物体尺寸极小。如表一所示,AI-TOD-R的平均目标尺寸仅为 10.6 2 10.6^2 10.62 像素,是所有数据集中最小的。详细的对象尺寸分布如图 2(a) 所示,其中大多数对象聚集在微小尺度(<16 × 16 像素)内。与之前针对通用定向物体检测或小型定向物体检测提出的数据集不同,极小的平均物体尺寸和大量的微小物体使得AI-TODR成为专用于定向微小物体检测任务的具有挑战性的数据集。
-

-
图2. AI-TOD-R的统计分析。从左到右,我们分别显示了数据集的对象大小分布,对象角度分布,每个图像的对象数量分布和类大小分布。“类大小分布”的箱形图显示了每个类内对象绝对大小的平均值和标准差。
-
-
任意对象方向。我们使用 OpenCV 定义来分析物体旋转角度的分布。物体的旋转角度定义为边界框与水平轴之间的角度,范围为(0, 90° ]。数据集的物体角度分布如图2(b)所示。AI-TOD-R包含大量跨不同旋转角度的物体,展示了其任意方向的特征。这一特性有助于检测器学习对不同旋转角度具有鲁棒性的物体表示。
-
每幅图像有大量物体。除了微小的尺度和任意的方向之外,该数据集的另一个显着特征是每幅图像中的对象数量较多。航空图像以广阔的视野捕获布局信息,导致每张图像覆盖大量物体。根据图 2©,AI-TODR 中的图像可以包含超过 2000 个对象,大多数图像包含超过 100 个对象。每幅图像中大量的微小物体显着增加了训练和推理过程中的计算负担,从而需要有利于实际应用的高效检测器设计。
-
类别分布不平衡。与许多通用对象检测或面向对象检测数据集一样,AI-TOD-R 中也存在类不平衡挑战。这种不平衡反映在每个类别的对象数量2 和对象大小分布(图 2(d))中。这种不平衡描述了现实世界的类分布,并且还需要能够实现类平衡检测性能的稳健的面向对象检测器。
C. Label Visualization
- 图 4 显示了 AI-TODR 数据集的典型样本。这些典型样本展现了数据集的特征,包括极小物体尺度、任意方向、密集排列和复杂场景。特别是,可视化注释揭示了用定向边界框表示微小对象的独特优势。使用定向边界框来表示对象允许注释框更紧密地包围对象的主要区域。这一优势在密集区域中尤为明显,其中旋转的边界框可以显着减少相邻对象边界之间的重叠,从而防止网络在这些区域的学习和预测过程中出现混乱。此外,定向边界框可以捕获运动物体(例如运动中的车辆或海上船舶)的方向信息,为下游应用提供更丰富的信息。
-

-
图4. AI-TOD-R中标注的可视化。与AI-TOD-v2相比,使用定向边界框表示微小对象可以显著降低背景噪声,这一优势在密集排列的场景中尤为明显。除了极小的对象尺寸,AI-TOD-R还引入了其他挑战,如密集排列,弱特征表示和不平衡的类分布。
-
AI-TOD-R BENCHMARK
- 在本节中,我们提出了 AI-TOD-R 的综合基准,包括完全监督的面向对象检测方法以及由半监督对象检测(SSOD)、稀疏注释对象检测(SAOD)和弱监督对象检测(WSOD)方法组成的标签高效方法。
-

-
表1.不同方法的学习偏差分析。第一列和第二列分别研究质量和数量的不平衡。结果从模型的最后一个训练时期采样。
-
A. Implementation Details
-
对于完全监督的方法,AI-TODR 上的实验按照 AI-TOD 系列的默认设置进行。我们使用AI-TOD-R的train-val集进行训练,使用其测试集进行评估,并保留图像尺寸为800×800进行训练和测试。批量大小和学习率分别设置为 2 和 0.0025。我们仅使用随机翻转作为所有实验的数据增强。
-
对于标签有效的方法,我们重新组织训练标签和时间表以适应不同的范式。半监督对象检测 (SSOD) 方法随机保留 AI-TOD-R 训练集图像中 10%、20% 和 30% 的注释作为训练注释。我们遵循 SOOD 的默认设置,批量大小为 6(未标记数据与标记数据的比例为 1:2),学习率为 0.0025。此外,我们保持与完全监督的 40 轮设置相同的批量大小 × 迭代总数。稀疏注释对象检测 (SAOD) 随机保留 AI-TOD-R 的 trainval 集中所有对象的 10%、20% 和 30% 注释作为训练标签。
-
我们使用 2 的批量大小和 0.0025 的学习率,并保持与完全监督的 40 轮设置相同的批量大小 × 迭代总数。此外,弱监督目标检测(WSOD)主要将train-val集的注释从OBB切换为HBB,并将其他设置保留为完全监督设置。除非另有说明,所有其他设置均保留为其基准方法。
B. Results of Fully-supervised Methods
-
在表二中,我们对各种定向物体检测器的定向微小物体的检测性能进行了基准测试。为了更好地比较和分析各种检测范式在面向微小物体检测任务上的特点,我们对它们进行分类介绍。
-
基本架构。基于先前的设置和阶段数,面向对象检测架构可以分为密集(#1, 2),密集到稀疏(#3,4,5)和稀疏(#6, 7)范式。密集范式通常是指对每个特征点产生密集预测的单阶段方法,密集到稀疏方法使用第一阶段生成稀疏提案(例如 RPN),并在第二阶段将提案提炼为最终预测(例如 R-CNN),而稀疏范式主要基于 Transformer,通过一组稀疏查询来推理对象的类别和位置。
-
在稠密范式中,FCOS-O通过将gt覆盖点标记为正样本来释放IoU约束分配,比基于anchor的稠密方法表现更好。受益于更高分辨率(P2)的 FPN 和特征插值 RoI Align,稠密到稀疏方法的性能略优于稠密方法,但代价是更高的计算需求。与其他范式相比,最先进的稀疏方法(#7)在定向微小物体上逐渐表现良好,这主要归功于其根据高级通用检测器定制的训练策略以及针对任意定向物体优化的旋转可变形注意力。
-
盒子表示和损失设计。基于普通回归的损失存在与评估指标不一致、边界不连续性和类似正方形的问题等问题,从而引发了大量的框表示研究。在这里,定向微小物体检测也受益于这些改进的表示及其引发的损失函数。基于高斯的损失(#8、9)消除了边界不连续性问题,并强制优化目标与评估指标之间的对齐,基于 RetinaNet-O 基线将 AP 略微提高了约 1 个点。值得注意的是,基于点集的方法(#10、16、17)对于检测定向微小物体特别有效,这可能归因于可变形点对极端几何特征的表示鲁棒性。
-
样本选择策略。正样本选择的质量直接影响训练过程中的监督信息,在微小物体检测中发挥着至关重要的作用。通过自适应地确定每个 gt 的正锚阈值,ATSS-O 将 RetinaNet-O 基线提升了 3.6 个点。通过根据对象的排列和形状信息动态评估样本质量,CFA 和 SASM 分别获得了 11.4% 和 12.4% 的良好性能。样本选择策略(#15-17)带来的这些显着改进进一步凸显了面向微小物体的定制样本分配方法的重要性。
-
骨干选择。我们通过研究更深层次的架构、视觉Transformer、大卷积核和旋转等方差来分析各种主干网对定向微小物体检测的影响。与通用目标检测不同,面向微小目标检测并没有受益于更深的主干架构(#18 vs. #5)或大卷积核(#20 vs. #5),其中这些改进的主干保留了与基本 ResNet-50 类似的 AP。这种有趣的现象很大程度上归因于微小物体的有限和局部信息表示。经过网络更深层次的多次下采样,微小物体的有限信息进一步丢失。此外,大卷积核的大感受野很难适应或收敛到极小的感兴趣区域。相比之下,根据我们的实验,移位窗口Transformer(Swin Transformer )和旋转等效特征提取(ReDet )也可以使定向微小物体受益。
C. Results of Label-efficient Methods
-
标签高效的目标检测旨在简化注释成本(例如数量、难度),同时对齐甚至超越完全监督方法的性能。标签高效方法对定向微小物体显示出巨大的需求和潜力,因为它们的注释过程非常费力和困难。在这里,我们研究了以下三种主要的标签效率范式,其在 AI-TOD-R 数据集上的结果列于表 III。
-

-
表III关于AI-TOD-R的标签有效方法的主要结果通过在来自其训练集的定向边界框(OBB)注释或水平边界框(HBB)注释的不同比率下进行训练,在AI-TOD-R的测试集上进行描述。SSOD、SAOD和WSOD分别表示半监督对象检测、稀疏注释对象检测和弱监督对象检测。
-
-
半监督目标检测(SSOD)。 SSOD 通过利用珍贵的带注释图像和大量未标记图像来有效地训练目标检测器,从而减轻注释负担。当前最先进的方法采用具有伪标签方式的师生网络架构。令人惊讶的是,仅使用 30% 的标记图像和剩余的未标记图像,最先进的 SSOD 方法:SOOD(40 个时期)已经实现了与使用全集注释的完全监督单阶段对应物(即具有 1× 的 FCOS-O)竞争的性能。这揭示了SSOD方法在面向微小尺度物体上的巨大潜力和应用价值。
-
稀疏注释对象检测(SAOD)。 SAOD 方法建议在整个训练集中随机注释一定比例的对象,以实现标签高效学习。我们采用经典的 SAOD 方法来进行面向微小物体检测(即联合挖矿 )。尽管使用相同数量的带注释对象,SSOD 方法的性能优于所测试的 SAOD 方法。这种性能差距可能是由于联合挖矿没有利用先进的师生网络,从而限制了其有效性。
-
弱监督目标检测(WSOD)。标签高效对象检测的另一个流行方向使用更容易访问的粗级注释来进行精细级预测。其中,研究的主导方向在于使用水平边界框监督进行定向框预测(例如,H2RBox )。通过先进的训练策略,实验表明,仅使用 HBB 监督已显示出与 OBB 监督的单阶段基线(例如 FCOS-O)相当的性能。
-
简而言之,标签有效的方法在定向微小物体检测任务中表现出了优异的性能。与单阶段完全监督基线相比,SSOD 和 WSOD 方法使用更少的注释进行训练,表现出非常有竞争力的性能。这些发现证明了在定向微小物体检测领域进一步探索标签有效方法的重要应用价值和潜力。
D. Uncovering Learning Bias
-
尽管检测范例存在差异,但一个一致的发现是,定向微小物体的检测性能仍然明显低于常规尺寸物体的检测性能。为了更清楚地了解造成这种性能差距的根本原因,我们从直接驱动模型训练的角度进行统计分析:不同尺度的对象的样本学习过程(即输入样本和输出预测)。
-
具体来说,我们研究训练时不同大小对象的先验匹配度(输入)和后验置信度得分(输出)。结果如图 5 所示,通过计算分配给不同尺度对象的正样本数量(上方折线图)以及模型针对不同大小对象的后验置信度得分(下方条形图),显示了不同检测器的先前样本选择结果。
-

-
图5.样本学习偏差的说明。SOOD 在半监督对象检测管道下使用10%标签进行训练。
-
-
我们在图 5 中的分析表明,定向微小物体经常在各种检测管道中面临偏见的困境。在先前的水平上,小尺度物体接收到的正样本明显少于大尺度物体。这种现象很大程度上归因于有限的特征图分辨率、次优测量和标签分配策略。具体来说,相邻特征点与其对应的先前位置(例如锚框/点)之间的步幅受到特征图分辨率的约束。例如,典型的单级检测器中先前位置的跨度至少为 8 个像素。与较大物体相比,这种稀疏且固定的先验设置从根本上限制了微小物体的候选样本数量,从而导致先验设置存在偏差。
-
此外,定向微小物体通常与稀疏先验框(例如,RetinaNet-O )具有较低的相似性,或者覆盖很少的先验点(例如,FCOS-O ),这加剧了问题。在通用样本选择策略(例如MaxIoU、中心采样)下,最终分配给微小物体的正样本数量进一步减少,导致严重的样本偏差问题。
-
这种针对定向微小物体的学习偏差也反映在后验预测中的高不确定性水平上,如图 5 的下半部分所示。低置信度分数可能会进一步加剧针对定向微小物体的学习偏差。在监督学习中,一些方法提出选择或重新加权置信样本,这将由于其高不确定性水平而进一步削弱定向微小物体。在标签高效学习中,基于预测分数的阈值用于选择伪标签。这种尺寸引起的偏差也会在此过程中被放大,因为具有较高后验置信度分数的常规物体更有可能被选择作为伪标签进行训练,而微小尺寸的物体被忽略并且缺乏训练,从而扩大了微小物体和常规物体之间的差距。
-
这项研究自然提出了一个问题:我们能否开发一种方法来实现对不同对象的无偏学习?以下部分通过引入由动态更新的先验设置和动态从粗到细的样本选择方案组成的新学习管道来解决这个问题。我们的先验设置通过将先验初始化适应对象的主要区域来打破固定先验位置的限制,并且我们的样本选择方法通过为面向训练的微小对象提供更多、更高质量的正样本来改进分配规则。
METHOD
-
在本节中,我们首先提供我们的方法与现有技术的范例比较。接下来,我们描述了我们提出的 DCFL 中核心组件的细节(即动态先验、粗略先验匹配和精细后验匹配)。图 6 显示了所提出方法的概述。
-

-
图6.所提出的方法的概述。所提出的DCFL学习方案可以适用于面向微小目标检测的一级和两级检测流水线。左:PCB的特征提取过程和先验更新过程。右:动态粗到细样本学习的示意图。
-
优化方向 针对痛点 无负担设计细节 动态先验(PCB) 小目标先验失配、密集目标先验重叠 推理时不更新先验,参数不变 粗到精样本筛选 小目标样本稀缺、密集目标样本混淆 仅训练时筛选,推理时无计算 模块化兼容 检测器适配性差、推理开销增加 复用原有架构与损失,零修改集成
-
A. Pipeline Overview
-
静态先验→动态先验。目前,定向目标检测主要通过密集的一级检测器(例如 RetinaNet-O)或密集到稀疏的两级检测器(例如 Oriented R-CNN)来解决。与架构不同,它们的检测过程都是从一组密集先验 P ∈ R W × H × C P ∈ \R^{W×H×C} P∈RW×H×C (W × H:特征图的大小,C:每个特征点的先验信息数量)进行初始化,并通过深度神经网络(DNN)将集合重新映射为最终检测结果 D,可以简化为:
-
D = D N N d ( P ) , ( 1 ) D = DNN_d(P), (1) D=DNNd(P),(1)
-
其中DNNd由主干和检测头组成。检测结果D主要可以分为两部分:分类分数 D c l s ∈ R W × H × A D_{cls} ∈ \R^{W×H×A} Dcls∈RW×H×A(A表示类别号)和框位置 D r e g ∈ R W × H × B D_{reg} ∈ \R^{W×H×B} Dreg∈RW×H×B(B是框参数号)。
-
-
这种静态先验建模对于微小物体存在严重的先验偏差问题:先验位置大多偏离物体的主体(第一部分)。为了适应这些微小物体的极端尺寸和任意几何形状,我们结合了先前位置的迭代更新过程,并在每次迭代中动态地改进它。这将先验转换为动态集 P(表示动态项),从而导致重新表述的检测过程:
-
D = D N N d ( D N N p ( P ) ∣ z D y n a m i c P r i o r P ˜ ) , ( 2 ) D = DNNd( DNNp(P) | {z } Dynamic Prior P˜ ), (2) D=DNNd(DNNp(P)∣zDynamicPriorP˜),(2)
-
DNNp 是一个可学习的块,合并在检测管道中以更新先验。
-
-
静态样本学习→动态由粗到细的样本学习。为了训练 DNNd,需要解决先验集 P 和 gt 集 GT 之间的适当匹配,以便为 P 分配正/负标签并监督网络学习。现有的分配策略可以分为静态策略和动态策略。对于静态分配(例如 RetinaNet ),位置标签 G 的集合是通过手工制作的匹配函数 Ms 获得的,并且特定图像的集合在每个时期保持相同,其公式为:
-
G = M s ( P , G T ) , ( 3 ) G = M_s(P, GT), (3) G=Ms(P,GT),(3)
-
而动态分配方法 倾向于利用先验信息 P 和后验信息(预测)D 进行动态样本选择,其中它们应用预测感知映射 Md 来获取集合 G:
-
G = M d ( P , D , G T ) , ( 4 ) G = M_d(P, D, GT), (4) G=Md(P,D,GT),(4)
-
pos/neg标签分离后,损失函数可以概括为两部分:
-
L = N X p o s i = 1 L p o s ( D i , G i ) + N X n e g j = 1 L n e g ( D j , y j ) , ( 5 ) L = N Xpos i=1 Lpos(Di , Gi) + N Xneg j=1 Lneg(Dj , yj ), (5) L=NXposi=1Lpos(Di,Gi)+NXnegj=1Lneg(Dj,yj),(5)
-
其中Npos、Nneg分别是正样本和负样本的数量,yj表示负标签。
-
-
无论是动态还是静态,现有的标签分配方法下,定向微小物体都面临着样本偏差的困境:这些策略通常将高分样本(即先验位置)作为正样本进行采样和加权,而微小物体的先验和后验得分都极低,导致其有效样本被错误地标记为离群负样本。
-
为了实现无偏样本学习,我们将这一过程重新表述为基于动态先验的动态从粗到精的学习流程。粗略步骤以对象为中心的方式工作,我们构建一个粗略的正候选包,以保证每个对象有足够且多样化的正样本。精细步骤的目的是保证学习质量,其中我们用动态高斯混合模型(DGMM)来拟合每个gt,作为选择高质量样本的约束。因此,赋值过程可以表示为:
-
G ˉ = M d ( M s ( P ˉ , G T ) , G ˉ T ) , ( 6 ) \bar G = M_d(M_s( \bar P , GT), \bar GT), (6) Gˉ=Md(Ms(Pˉ,GT),GˉT),(6)
-
G ˉ T \bar GT GˉT 是使用 DGMM 更精细地表示对象。简而言之,我们的最终损失建模为:
-
L = ˜ N X p o s i = 1 L p o s ( ˜ D i , ˜ G i ) + ˜ N X n e g j = 1 L n e g ( ˜ D j , y j ) . ( 7 ) L = ˜N Xpos i=1 Lpos( ˜Di , ˜Gi) + ˜N Xneg j=1 Lneg( ˜Dj , yj ). (7) L=˜NXposi=1Lpos(˜Di,˜Gi)+˜NXnegj=1Lneg(˜Dj,yj).(7)
-
B. Dynamic Prior
-
我们引入了一种动态更新机制,该机制可以使密集和密集到稀疏的目标检测范例受益,称为先验捕获块(PCB)。 PCB 无缝嵌入到原始检测头中,生成与微小物体的主体和几何形状更好对齐的先验位置,增加了这些物体的高质量候选样本的数量,并减轻了先验配置的偏差。
-
所提出的 PCB 结构如图 6 所示。在该设计中,部署了扩张卷积来合并对象的周围上下文信息,然后进行偏移预测以捕获动态先前位置。此外,从回归分支中学习到的偏移量用于指导分类分支中的特征提取,从而使两个任务之间更好地对齐。因此,PCB 继承了基于查询的检测器(例如 DETR)中可学习先验的灵活性,并保留了密集检测器(例如 RetinaNet-O)中静态先验的显式物理意义。
-
动态先验捕获过程进一步展开如下。作为初始化,每个先前位置 p(x, y) 被设置为每个特征点的空间位置 s,该空间位置已被重新映射到图像。在每次迭代中,我们转发网络以捕获每个先前位置的偏移集 Δo。因此,先验的位置可以通过以下方式更新:
-
s ˉ = s + s t ∑ i = 1 n ∆ o i / 2 n , ( 8 ) \bar s = s + st\sum^n_{i=1}∆o_i/2n, (8) sˉ=s+sti=1∑n∆oi/2n,(8)
-
其中 st 表示特征图的步幅,n 是每个位置的偏移向量数。
-
-
作为一种与模型无关的方法,动态先验可以适用于单阶段和两阶段方法。更具体地说,我们使用二维高斯分布 Np(μp , Σp) 来拟合先验的空间位置,该分布已被证明有利于小物体 和定向物体。每个动态先验位置 〜s 用作高斯平均向量 µp ,每个先验与一个方形先验(w,h,θ)相关联作为其基线检测器,该形状信息用作协方差矩阵 Σp :
-
Σ p = c o s θ − s i n θ s i n θ c o s θ " w 2400 h 24 c o s θ s i n θ − s i n θ c o s θ . ( 9 ) Σp = cos θ − sin θ sin θ cos θ" w2 4 0 0 h 2 4 cos θ sin θ − sin θ cos θ. (9) Σp=cosθ−sinθsinθcosθ"w2400h24cosθsinθ−sinθcosθ.(9)
-
C. Dynamic Coarse-to-Fine Learning
-
在没有专门考虑微小尺度物体的情况下,以前的样本分配策略偏向于对通常具有较高置信度的大物体样本进行采样,而丢弃面向微小尺度的物体作为背景。为了实现规模无偏优化,我们设计了一个动态的从粗到精的学习管道,其中粗步骤提供了样本多样性,而细步骤保证了学习质量。
-
样本多样性的粗略先验匹配。在粗略步骤中,我们引入了一种针对特定对象的样本筛选方法,为每个对象提供足够且多样化的正样本候选。具体来说,我们为每个对象构建一组粗略正样本(CPS)候选,其中我们将来自不同空间位置和 FPN 层次结构的先验位置视为特定 gt 的候选。与从单个 FPN 层或所有 FPN 层采样不同,我们将候选范围稍微扩大到 gt 附近的空间位置和相邻的 FPN 层,与单层启发式相比,这保证了相对多样化和足够的候选,并缩小了全层候选的搜索范围,缓解了微小物体缺乏正样本候选的情况。
-
在这一步中,我们还使用上述方法将 gt 建模为二维高斯 Ng(μg , Σg) 来辅助样本选择。构建 CPS 时的相似性测量是通过锚点和 gt 之间的 Jensen-Shannon Divergence (JSD) 实现的。 JSD 继承了 Kullback-Leibler Divergence (KLD) 的尺度不变性,并且可以测量 gt 和附近非重叠先验之间的相似性 。此外,它克服了KLD不对称的缺点。然而,高斯分布之间的 JSD 的封闭形式解不可用 。因此,我们使用广义詹森-香农散度(GJSD)作为替代,它产生一个封闭形式的解。例如,两个高斯分布 Np(μp , Σp) 和 Ng(μg , Σg) 之间的 GJSD 定义如下:
-
G J S D ( N p , N g ) = ( 1 − α ) K L ( N α , N p ) + α K L ( N α , N g ) , ( 10 ) GJSD(Np, Ng) = (1 − α)KL(Nα, Np) + αKL(Nα, Ng), (10) GJSD(Np,Ng)=(1−α)KL(Nα,Np)+αKL(Nα,Ng),(10)
-
其中 KL 表示 KLD,Na(ma, Sa) 由下式给出:
-
Σ α = ( Σ p Σ g ) Σ α = ( 1 − α ) Σ − 1 p + α Σ − 1 g − 1 , ( 11 ) µ α = µ p µ g µ α = Σ α ( 1 − α ) Σ − 1 p µ p + α Σ − 1 g µ g , ( 12 ) Σα = (ΣpΣg) Σ α = (1 − α)Σ −1 p + αΣ −1 g −1 , (11)\\ µα = µpµg µ α = Σα (1 − α)Σ −1 p µp + αΣ −1 g µg , (12) Σα=(ΣpΣg)Σα=(1−α)Σ−1p+αΣ−1g−1,(11)µα=µpµgµα=Σα(1−α)Σ−1pµp+αΣ−1gµg,(12)
-
α是控制相似性测量中两个分布的权重的参数。在我们的例子中,Np 和 Ng 的贡献相等,因此 α 设置为 0.5。
-
-
最终,对于每个 gt,我们选择保留前 K 个 GJSD 分数的 K 个先验作为粗略正样本 (CPS),并将其余先验标记为负样本。这种粗略匹配充当等式 6 中的 Ms。GJSD 可以有效地测量具有特定 gt 的 FPN 层之间的样本之间的相似性。因此,我们通过选择相对大量的候选样本来扩展 CPS 以包括对象的相邻区域和跨层次结构。
-
更精细的后验匹配可提高样本质量。在精细步骤中,我们的目标是在不加剧对象间学习偏差的情况下提高学习质量。为了实现这一点,我们通过用动态高斯混合模型(DGMM)表示每个对象来近似实例语义模式。该模型用作方程 6 中的 Md,用于对象方式样本约束。与倾向于较大对象的批量或样本评估不同,我们的方法评估每个对象内样本的相对质量,确保不同大小的对象之间一致的正样本监督。
-
首先,我们根据预测分数细化 CPS 中的候选样本,以适应对象的语义显着区域。更具体地说,我们定义了样本筛选成为真实预测的可能性(PT),它是预测分类得分和位置得分与gt的线性组合。我们将第 i 个样本 Di 的 PT 定义为:
-
P T i = 0.5 ( C l s ( D i ) + I o U ( D i , g t i ) ) , ( 13 ) PT_i = 0.5(Cls(D_i) + IoU(D_i , gt_i)), (13) PTi=0.5(Cls(Di)+IoU(Di,gti)),(13)
-
其中 Cls 是预测的分类置信度,IoU 是预测位置与其对应的 gt 位置之间的旋转 IoU。我们选择 Q 最高 PT 的候选者作为中等正样本 (MPS) 候选者。
-
-
接下来,我们使用 gt 的几何形状和 MPS 分布的混合来定义 DGMM,以消除未对齐的样本并获得最终的用于预测的正样本。与之前使用中心概率图 或单高斯 作为实例表示的作品不同,我们的方法用更精细的 DGMM 表示实例。该模型由两个部分组成:一个以几何中心为中心,另一个以对象的语义中心为中心。具体来说,对于给定的实例 gti ,几何中心 (cxi , cyi ) 作为第一个高斯的均值向量 µi,1 ,通过对 MPS 中样本的位置进行平均推导出的语义中心 (sxi , syi ) 作为 µi,2 。也就是说,我们将实例表示参数化为:
-
D G M M i ( s ∣ x , y ) = ∑ m = 1 2 w i , m 2 π ∣ Σ i , m ∣ N i , m ( µ i , m , Σ i , m ) , ( 14 ) DGMM_i(s|x, y) =\sum^2_{m=1} w_{i,m}\sqrt{2π|Σ_{i,m}|}N_{i,m}(µ_{i,m}, Σ_{i,m}), (14) DGMMi(s∣x,y)=m=1∑2wi,m2π∣Σi,m∣Ni,m(µi,m,Σi,m),(14)
-
其中 w i , m w_{i,m} wi,m 是每个高斯的权重,总和为1, Σ i , m Σ_{i,m} Σi,m 等于gt的Σg。在此建模下,MPS 中的每个样本都与 DGMM 分数 DGMM (s|MPS) 相关联。对于任何 gt,具有 D G M M ( s ∣ M P S ) < e − g DGMM (s|MPS) < e^{−g} DGMM(s∣MPS)<e−g 的样本都被分配负掩码,其中 g 是可调整参数。
-
-
DCFL 的设计思想可提炼为 4 点,正是这些思想支撑了 “无负担 + 提效” 的核心目标:
- “训练时优化,推理时复用” 的轻量设计思想
- 核心逻辑:将所有复杂优化(动态更新、样本筛选)放在训练阶段,推理时回归最简单的静态流程,避免 “为提升性能而增加推理开销” 的误区;
- 针对小目标 / 密集目标:小目标的先验失配、密集目标的样本混淆都是 “训练时监督信号不足” 导致的,而非推理流程的问题,因此优化训练阶段即可解决根本问题。
- “无偏学习” 思想
- 核心逻辑:小目标 / 密集目标的性能差,本质是 “学习偏差”(置信目标更置信,弱势目标被边缘化);DCFL 通过动态先验平衡 “先验覆盖偏差”,通过粗到精样本筛选平衡 “样本数量 / 质量偏差”;
- 具体体现:让小目标获得与大目标同等质量的先验覆盖和正样本监督,让密集目标的样本筛选不受相邻目标干扰,实现 “尺度无偏、密度无偏”。
- “粗到精” 逐步优化思想
- 核心逻辑:先解决 “有无”(粗匹配保证小目标 / 密集目标有足够样本),再解决 “优劣”(精匹配保证样本质量),避免一步到位的筛选逻辑导致的样本遗漏或噪声;
- 针对小目标 / 密集目标:小目标首先需要 “足够多样本” 才能学到特征,密集目标首先需要 “区分样本归属” 才能避免混淆,粗到精逻辑贴合这一需求。
- “模块化兼容” 思想
- 核心逻辑:不重构现有检测器,而是作为 “插件” 嵌入,降低应用门槛,同时保证推理流程不变;
- 针对小目标 / 密集目标:不同检测器处理小目标 / 密集目标的优势不同(单阶段快、两阶段准),模块化设计让各类检测器都能快速适配无偏学习,扩大适用范围。
EXPERIMENTS
A. Datasets and Implementations Details
-
数据集。除了在 AI-TOD-R 上进行实验外,我们还对另外 7 个涵盖各种任务的数据集进行了实验,以验证该方法的广泛适应性。这些任务包括小型定向物体检测(SODA-A )、存在大量微小物体的定向物体检测(DOTA-v1.5 、DOTA-v2 )、多尺度定向物体检测(DOTA-v1 、DIOR-R )和水平物体检测(VisDrone 、MS COCO 、DOTA-v2 HBB)。
-
对于消融研究和分析,我们选择大规模 DOTA-v2 训练集进行训练,并选择其验证集进行评估,因为 DOTA-v2 是用于定向对象检测的最大数据集并且包含大量微小对象。该数据集使我们能够同时验证该方法在微小物体检测和面向通用物体检测方面的有效性。为了与其他方法公平比较,我们使用DOTA-v1、DOTAv1.5、DOTA-v2和DIOR-R的训练集进行训练,使用各自的测试集进行测试,并使用SODA-A的训练集和测试集、VisDrone2019和MS COCO的训练集、验证集进行训练和评估。
-
对于DOTA-v1和DOTA-v2的实验,我们遵循DOTA-v2基准的官方设置。具体来说,我们将图像裁剪成具有 200 像素重叠的 1024 × 1024 块,并训练模型 12 个周期。对于 DOTA-v2,我们使用相同的设置重现了几种最先进的单阶段方法。对于其他数据集的实验,我们遵循他们的图像预处理的默认基准,包括将SODA-A的输入尺寸设置为 1200×1200,将DOTA-v1.5的输入尺寸设置为1024×1024并有200像素重叠,将DIORR的输入尺寸设置为800×800,将VisDrone和MS COCO的输入尺寸设置为1333×800。
-
继之前的工作之后,这些模型在 DOTA-v1.5 和 DIOR-R 上训练了 40 个 epoch,在 SODA-A、VisDrone 和 MS COCO 上训练了 12 个 epoch。如果未指定,DCFL 使用 RetinaNet-O 作为基线检测器。除非另有说明,否则这些设置将得到一致维护。
-

-
表II AI-TOD-R全监督方法的主要结果。对于培训计划,1×表示12个EPOCH,40 E表示40个EPOCH。方法中“-O”表示基础检测器的旋转版本,“()”中的名称表示基线方法。
-
B. Main Results
-
微小/小型物体检测。作为主要轨道,我们评估了 DCFL 在专用于面向微小 (AI-TOD-R) 和小型 (SODAA) 的物体检测的具有挑战性的数据集上的性能。首先,AITOD-R 的结果如表 II 所示。没有口哨声和铃声,DCFL 可以大幅改进一级(#1 与 #22)和两级物体检测器(#5 与 #24)。值得注意的是,当将 DCFL 插入先进的单阶段方法:S 2ANet 时,我们的方法达到了 49.6% AP0.5 的新的最先进性能,显着提高了 16.2%,并且对非常小的物体有显着改进。此外,我们还在另一个面向小目标检测基准:SODA-A 上评估了所提出的方法。
-
作为最近提出的数据集,SODA 的挑战性和大规模特征引起了越来越多的关注。该基准测试的结果如表 IV 所示,其中 DCFL 在这个具有挑战性的数据集上表现出色,将 RetinaNet-O 提高了 8.1 个 AP 点,并将强大的基线:Oriented R-CNN 提高了 2.2 个 AP 点。而且,AP0.75方面的改进比AP0.5更加明显,表明DCFL可以更精确地定位定向微小物体。鉴于 DCFL 主要优化模型的训练过程,精度的提高不会在两个数据集上产生额外的参数和计算成本,如表 II 和表 IV 所示。
-

-
表IV SODA-A测试集的结果。所有模型都在SODA-A训练集上训练,使用RESNET-50作为训练骨。表1表示训练时期,其中“1×”表示12个时期。
-
-
具有巨大微小物体的定向物体检测。更一般地说,评估模型在包含大量微小物体和其他尺寸物体的数据集中的检测性能不仅可以验证其处理微小物体的能力,还可以检查其对尺度方差的鲁棒性。因此,我们在 DOTA-v1.5 和 DOTA-v2 上进行了实验,它们是通用数据集,其特征是存在大量微小物体。如表 V 所示,我们提出的方法在具有挑战性的 DOTA-v2 基准上通过单尺度训练和测试实现了 57.66% mAP 的最先进性能。与此同时,我们的模型在这个数据集上获得了 51.57% 的 mAP,没有任何附加功能,优于所有测试的单阶段目标检测器。此外,DOTA-v1.5 的结果如表七所示,其中 DCFL 显着提高了基线,并在单阶段方法中实现了领先的性能
-

-
表V DOTA-V2 OBB任务的主要结果。我们遵循官方的分类缩写作为DOTA-V2.0基准。DP表示可变形ROI池。†表示40个EPOCH的训练。注意,本文报告了20个EPOCH下R 3DET W/ KLD的50.90% MAP,RER 101骨是由Redet 提出的。粗体和下划线的结果表示每个柱的最佳和次佳性能。
-
-
面向多尺度的物体检测。对该方法在多尺度面向对象检测数据集上的性能进行研究可以证明其在不同面向对象检测任务中的多功能性和通用性。因此,我们在 DOTA-v1 和 DIOR-R 多尺度目标检测数据集上验证 DCFL,其中还包括一些微小的目标类。这些数据集的结果显示在表VI和表VIII中。除了微小的特定对象数据集之外,DCFL 在多尺度场景中也表现出色,在所有单阶段方法中实现了领先的性能。此外,表 VI 和 IX 中列出的 DOTA-v1 和 DIOR-R 上微小对象的类 AP 表现出对于微小尺寸类的特别显着的改进,通常显着增加超过 10%。
-

-
表VI在DOTA-V1 OBB任务上与单级检测器的比较。所有结果均基于MMROTATE ,除GGHL 外,具有12个EPOCH。36个EPOCH的3×平均值训练。
-

-
表7 DOTA-V1.5 OBB任务的主要结果。
-
-
水平物体检测。所提出的方法还可以应用于通用目标检测任务并通过简单地丢弃角度信息来增强其性能。我们在三种不同的场景下评估模型:无人机捕获的图像 (VisDrone)、自然图像 (MS COCO) 和航拍图像 (DOTA-v2 HBB)。这些数据集用水平边界框注释,包含大量小对象。将我们的学习流程集成到 RetinaNet-O 基线中可以提高 2-3 个点,如表 X 所示。
-

-
表VIII DIOR-R数据集的性能比较。
-
-
简而言之,这些结果表明我们的 DCFL 不仅对于检测定向微小物体(例如小型车辆、船舶和储罐)非常有效,而且比这些类别的基线提高了大约 10 个百分点。同时,它在面向通用的物体检测或水平物体检测任务中表现出色,这从它在 DOTA-v1、DIOR-R 和 MS COCO 等赛道上的表现就可以看出。
-

-
表IX DIOR-R数据集上典型微小缺陷的检测结果。VE、BR和WM表示风机、桥架和风力机。
-

-
表X通用对象检测数据集的通用性。
-
C. Ablations
-
Effects of individual strategy。我们通过一系列消融实验来评估我们的方法所提出的每个策略的有效性。为了一致性和公平比较,我们在所有实验中为每个特征点平铺一个先验。如表 XIa 所示,基线检测器 RetinaNet-O 的 mAP 为 51.70%。逐渐将后验重新排序的 MPS 和 DGMM 集成到检测器中,基于 CPS,导致 mAP 逐步改进,确认每个设计的有效性。需要注意的是,CPS 不能独立使用,因为它的样本过于粗糙,无法作为最终的正样本。尽管如此,我们还是比较了不同的构建 CPS 的方法来验证其优越性。
-

-
表十一消融:我们在DOTA-V2系列上训练,在其瓦尔系列上测试,并在IOU阈值0.5下报告MAP。
-
-
不同CPS的比较。CPS的设计选择决定了训练时样本候选的范围。在本节中,我们比较了几种CPS设计范例,包括将CPS限制为单层内的特定gt,以及利用所有FPN层作为CPS,类似于Object box 。我们在表XIIb中展示了它们的性能。为了公平比较,CPS中的样本数量固定为16,所有其他组件保持不变。在单FPN层方法中,我们根据FCOS 中定义的回归范围将gt分组到不同的层,并在每个层中分配标签。在全FPN层方法中,我们不将gt分组到不同的层,而是,丢弃先验尺度信息,直接测量高斯gt与先验点之间的距离,如表XIIb所示,
-
但这两种方法都不能产生最佳性能。相比之下,使用分布距离(KLD,GWD,GJSD)构造的跨FPN层CPS将候选范围扩展到了除主层之外的相邻层。我们还可以看到GJSD获得了59.15%mAP的最佳性能,这主要是由于其尺度不变性,对称性,和测量非重叠框的能力。
-
固定先验或动态先验。我们进行了一组详细的消融研究,以验证引入动态先验的必要性。如表XIIc所示,通过固定样本位置来禁用动态先验会导致性能下降。这表明,在利用动态采样策略时,应相应地调整先验,以更好地捕获对象的形状。
-
PCB中的详细设计。PCB由扩张卷积和引导DCN组成。我们使用3的扩张率略微扩大感受野,然后利用DCN以引导方式生成动态先验。如表XIIc所示,DCN提供了0.34 mAP点的改进,扩张卷积略微增强了mAP。然而,将DCN [100]应用于单个回归分支会略微降低准确性(在表XIIc中表示为分离),这可能是由于两个分支之间的不匹配问题。为了解决这个问题,我们使用回归头部的偏移量来指导分类头部的偏移量,从而实现更好的对齐(表示为指导)。
-
参数的影响。引入的三个参数在一定范围内是稳健的。如表XIId所示,K = 16和Q = 12的组合产生最佳性能。在表XIIe中,我们验证了DGMM中的阈值e-g,并发现设置wi,1至0.7和g = 0.8的阈值导致最高mAP。尽管使CPS/MPS/DGMM更粗糙和更严格会削弱性能,这表明粗到细分配方法确保了参数选择的鲁棒性,因为多个参数可以减轻任何单个欠调谐参数的影响。
D. Analysis
-
可视化分析。我们将DCFL的预测和动态先验位置可视化,以更好地显示模型在图7和图8中处理定向微小对象的能力。在图7中,通过基于不同颜色的gt将模型的预测分为真阳性,假阴性和假阳性预测,我们可以很容易地发现DCFL显著抑制了假阴性预测(即,丢失检测)。这种改进可以在很大程度上归因于由粗到细样本选择方案产生的不同大小对象的充分和无偏样本学习。此外,从图8(上图),我们可以发现DCFL中的先验设置可以更好地匹配有向小目标的区分区域,这进一步验证了通过自适应调整通过根据对象的感兴趣区域确定先验位置,可以减轻先前静态先验设计中的先验偏差。
-

-
图7.预测结果的可视化分析。第一行显示了Oriented R-CNN的预测结果,而第二行显示了AI-TOD-R数据集上DCFL的结果。真阳性,假阴性和假阳性预测分别以绿色,红色和蓝色标记。
-
-
DCFL是如何实现无偏学习的?为了更好地理解DCFL的工作机制,我们通过统计研究其样本分配来深入研究其训练过程。具体来说,我们计算了在不同角度和尺度区间内分配给(gt)边界框的正样本的数量和质量。该分析揭示了两种类型的不平衡问题(数量和质量):(1)分配给每个对象的正样本的数量相对于其角度和比例周期性地变化,(规模,角度)不同于接收少得多的正样本的预定义锚。(2)预测的IoU相对于gt的尺度周期性波动,同时相对于gt的角度保持不变。相比之下,DCFL有效地解决了这些学习偏差:(1)它通过将更多的正样本分配给先前的离群角度和尺度来进行补偿。(2)它提高并平衡了样本的质量这些结果证明了动态粗到精学习的期望行为。
-

-
图8.不同方法的学习偏差分析。第一列和第二列分别研究质量和数量的不平衡。结果从模型的最后一个训练时期采样。
-
DISCUSSIONS
-
任意方向微小物体的精确检测是在众多专业场景中实现更通用模式识别的基础步骤。同时,最先进的物体检测器在检测这些物体时性能显著下降。此外,仍然缺乏专门用于相应研究的特定任务数据集和基准,这促使我们应对这一复杂但不可避免的挑战。为此,我们建立了一个特定于任务的数据集,基准,并设计了一种新的方法,实现了无偏学习的对象的不同尺度和方向。
-
然而,仍然存在一些挑战。首先,有向微小物体的检测是各种场景中普遍存在的问题(例如,自动驾驶、医学成像和缺陷检测)和多种模态(例如,SAR、热和X射线数据)。然而,这项工作,主要集中在高空的空中场景,分辨率光学数据。通过关注经常出现定向微小物体的航空图像的典型场景,我们的目标是建立一个坚实的基础,并为在更广泛的场景和模式中理解这些具有挑战性的物体提供可能性。未来的研究还可以探索将来自不同的模态或利用时间数据来增强对定向微小物体的检测,进一步扩展和实现实际应用。
-
其次,本文的方法论部分是在闭集环境下进行的,这需要训练集的完整对象注释。然而,具有定向信息的微小对象的对象注释很少,并且其获取过程很困难,特别是当涉及到开放世界假设的场景时。同时,实验结果表明,与全监督方法相比,标签有效方法在定向微小目标检测上表现出非常有竞争力的性能。因此,值得进一步探索注释要求的简化和利用有限注释的微小目标检测性能的增强。第三,基础模型正在成为一个热门话题,促进了各种研究方向,而这项工作并没有讨论或改进相关工作。模型的性能以及如何在定向的微小对象上预训练或调整它们也是未来值得探索的问题。
CONCLUSION
-
在本文中,我们通过建立一个新的数据集和一个基准,并提出了一个以尺度无偏学习为目标的动态粗-细学习方案,系统地解决了面向微小对象检测这一具有挑战性的任务。我们的数据集AI-TOD-R在所有面向对象检测数据集中具有最小的平均对象大小,并且存在密集排列和类不平衡等额外的挑战。
-
基于这一数据集,我们建立了一个基准测试,并研究了各种检测方法的性能,发现了两个关键的见解:第一,标签高效的检测方法现在在有向微小对象上提供了非常有竞争力的性能,显示了进一步探索的巨大潜力。第二,在各种检测流水线上的有偏差的先验设置和有偏差的样本分配显著地阻碍了定向微小对象的检测性能。
-
为了解决这些偏差,提出了一种适用于单级和两级的动态粗-精学习(DCFL)方案。在8个异构测试平台上的实验结果表明,DCFL算法可以显著提升定向微小目标的检测准确率.同时保持高效率。
-
AI-TOD-R 数据集与现有同类数据集相比,核心优势是目标尺寸最小(平均 10.6 像素,远低于 SODA-A 的 15.6 像素、AI-TOD-v2 的 12.7 像素),且提供有向边界框标注,能减少密集场景背景噪声;独特挑战包括:单图目标数量多(最多超 2000 个)、类别分布不平衡、目标朝向任意,同时兼顾微小尺寸与有向检测的双重难度,更贴合真实场景需求。
-
DCFL 方法针对性解决有向微小目标检测中的 “学习偏差”,从两方面突破:1. 动态先验设计:通过 PCB 模块自适应更新先验位置,使先验更贴合微小目标核心区域,解决 “先验设置偏差”;2. 粗到精样本学习:粗匹配跨 FPN 层构建候选集,保证微小目标的样本数量;精匹配用 DGMM 模型筛选高质量样本,平衡样本质量,避免 “置信样本主导训练”,最终实现不同尺度 / 朝向目标的无偏学习。
DCFL 算法的完整构建流程
-
第一模块:动态先验(Prior Capturing Block, PCB)—— 解决 “先验偏离微小目标” 痛点。传统静态先验(如 RetinaNet 的锚框、FCOS 的特征点)是固定位置的,无法适配微小目标的紧凑区域和任意朝向。因此,PCB 的核心设计是 “让先验动态贴合目标”,且不增加额外推理开销。
- 模块嵌入位置:无缝嵌入现有检测器的检测头中,与分类分支、回归分支并行,不改变原有网络结构;扩张卷积(dilation rate=3):扩大感受野,捕捉微小目标的上下文信息(因微小目标自身特征少,需依赖周边环境辅助定位);引导式可变形卷积(Guiding DCN):回归分支预测先验位置的偏移量 Δ o \Delta o Δo,引导分类分支的特征提取,实现 “回归 - 分类任务对齐”(避免单独优化导致的偏差);先验位置更新公式: s ~ = s + s t ⋅ ∑ i = 1 n Δ o i / 2 n \tilde{s}=s+st \cdot \sum_{i=1}^{n} \Delta o_{i}/2n s~=s+st⋅∑i=1nΔoi/2n(s为初始特征点位置,st为特征图步长,n为偏移向量数);
- 高斯建模:将动态更新后的先验位置 s ~ \tilde{s} s~作为高斯分布的均值 μ p \mu_p μp,目标的宽 / 高 / 朝向作为协方差矩阵 Σ p \Sigma_p Σp,用高斯分布拟合微小目标的紧凑区域(适配任意朝向)。
- 动态更新:先验位置随目标区域自适应调整,解决静态先验与微小目标尺寸不匹配的问题;轻量高效:仅增加少量训练时计算(推理时无额外参数 / 开销),适配微小目标检测的实时性需求。
-
第二模块:动态粗到精样本学习 —— 解决 “样本分配失衡” 痛点,传统样本分配(如 MaxIoU、ATSS)仅基于单一 FPN 层或固定阈值筛选样本,微小目标因重叠度低、置信度低,难以获得足够高质量正样本。因此,设计 “粗匹配保证数量 + 精匹配保证质量” 的双阶段逻辑,平衡样本的多样性与有效性。
- 第一阶段:粗匹配(Coarse Positive Sample, CPS)—— 保证微小目标的样本数量,为微小目标筛选足够多的候选正样本,避免因样本稀缺导致的训练不足;候选范围扩展:突破 “单一 FPN 层” 限制,将候选范围扩大到目标的 “相邻空间区域 + 相邻 FPN 层”(如 P2-P4 层),覆盖微小目标的特征分布;相似度度量选择:采用广义詹森 - 香农散度(GJSD) 替代传统 IoU/KLD:为何选 GJSD?:IoU 对微小目标重叠度敏感(易为 0),KLD 不对称;GJSD 兼具 “尺度不变性”(适配微小目标)、“对称性”(公平度量)、“非重叠样本度量能力”(解决微小目标与先验重叠度低的问题);计算逻辑:对先验的高斯分布 N p N_p Np与目标的高斯分布 N g N_g Ng,按 α = 0.5 \alpha=0.5 α=0.5(同等权重)计算 GJSD,选取 Top-K(默认 K=16)得分的先验作为 CPS(K 值经实验验证,兼顾数量与效率)。
- 第二阶段:精匹配(MPS+DGMM)—— 保证微小目标的样本质量,从 CPS 中筛选高质量样本,避免低质量候选导致的训练噪声,同时保证不同尺度 / 朝向目标的监督公平性;中等候选筛选(Medium Positive Sample, MPS):定义 “真实预测可能性(PT)”: P T i = 0.5 ⋅ ( C l s ( D i ) + I o U ( D i , g t i ) ) PT_i=0.5 \cdot (Cls(D_i) + IoU(D_i, gt_i)) PTi=0.5⋅(Cls(Di)+IoU(Di,gti));逻辑:平衡 “分类置信度”( C l s ( D i ) Cls(D_i) Cls(Di))与 “位置准确性”(旋转 IoU),选取 Top-Q(默认 Q=12)候选,过滤明显偏离目标的样本;动态高斯混合模型(Dynamic Gaussian Mixture Model, DGMM)约束:为何用 DGMM?:微小目标特征稀疏,单一高斯模型难以拟合其核心区域;DGMM 用 “几何中心 + 语义中心” 双高斯,更精准捕捉目标区域;模型构建:几何中心高斯:均值为目标的真实几何中心( c x i , c y i cx_i, cy_i cxi,cyi),协方差矩阵为目标的形状参数;语义中心高斯:均值为 MPS 样本位置的平均值(反映模型预测的语义核心),协方差矩阵与几何中心高斯共享;样本筛选:计算 MPS 样本在 DGMM 中的概率,过滤概率低于 e − g e^{-g} e−g(默认 g=0.8)的样本,最终得到高质量正样本。
-
第三模块:损失函数与训练流程 —— 保证算法的兼容性与稳定性,不引入新损失项,沿用基线方法的损失类型(Focal Loss 用于分类,IoU Loss 用于回归),仅替换 “正样本来源”(由动态粗到精筛选得到 G ~ \tilde{G} G~);损失公式: L = ∑ i = 1 N p o s L p o s ( D ~ i , G ~ i ) + ∑ j = 1 N n e g L n e g ( D ~ j , y j ) \mathcal{L}=\sum_{i=1}^{N_{pos}} \mathcal{L}_{pos}(\tilde{D}_i, \tilde{G}_i) + \sum_{j=1}^{N_{neg}} \mathcal{L}_{neg}(\tilde{D}_j, y_j) L=∑i=1NposLpos(D~i,G~i)+∑j=1NnegLneg(D~j,yj);降低工程复杂度,可直接嵌入现有检测器(如 RetinaNet-O、Oriented R-CNN、S²A-Net)。
-
完整训练流程
- 输入图像经 backbone+FPN 提取多尺度特征;
- PCB 模块动态更新先验位置,生成适配微小目标的动态先验 P ~ \tilde{P} P~;
- 粗匹配:基于 GJSD 筛选 CPS,保证样本数量;
- 精匹配:通过 PT 筛选 MPS,再经 DGMM 约束得到最终正样本 G ~ \tilde{G} G~;
- 基于 G ~ \tilde{G} G~计算损失,反向传播更新网络参数。
-
DCFL 针对小目标检测的核心解决方案总结
-
小目标检测痛点 DCFL 解决方案 核心设计细节 先验位置偏离目标核心 动态先验(PCB) 扩张卷积捕捉上下文,引导式 DCN 更新先验位置,高斯建模适配朝向 正样本数量不足、被边缘化 粗匹配(CPS) 跨 FPN 层扩展候选范围,GJSD 度量筛选 Top-K 样本 正样本质量低、训练噪声大 精匹配(MPS+DGMM) PT 值平衡分类与位置精度,双高斯模型精准约束样本 难以适配现有检测器、工程复杂 模块化设计 + 复用基线损失 PCB 嵌入检测头,不重构网络,直接替换样本分配逻辑 推理开销增加、实时性差 仅训练时动态优化 推理时无额外参数 / 计算,与基线效率一致
-
-
DCFL 之所以能不增加推理负担还显著提升小目标 / 密集目标检测性能,核心是将所有优化集中在训练阶段(动态调整先验、筛选样本),推理时完全复用原有检测器的架构与流程,无额外参数、计算量或存储开销;其设计围绕 “解决小目标 / 密集目标的核心痛点” 展开,通过 “训练时无偏优化、推理时零成本复用” 的思想,实现 “轻量提升”。
-
DCFL 的所有设计都不触及推理流程,仅在训练时对 “先验、样本、监督逻辑” 做优化,最终将优化成果固化到模型参数中,推理时直接调用训练好的模型,自然无额外负担。以下是针对小目标 / 密集目标的核心工作:
动态先验优化(PCB 模块)
- PCB 模块解决小目标 “先验失配”、密集目标 “先验重叠”。小目标:静态先验(锚框 / 特征点)步长(≥8 像素)与小目标尺寸(<16×16 像素)不匹配,先验难以覆盖目标核心区域;静态先验按固定规则分布,易与相邻目标的先验重叠,导致样本混淆。
- 模块设计:嵌入检测头,由 “扩张卷积 + 引导式 DCN” 组成,仅在训练时动态更新先验位置,推理时该模块不参与计算(直接使用训练好的模型参数,按静态先验逻辑输出);动态更新逻辑:训练时通过回归分支预测先验偏移量 Δ o \Delta o Δo,实时调整先验位置 s ~ = s + s t ⋅ ∑ i = 1 n Δ o i / 2 n \tilde{s}=s+st \cdot \sum_{i=1}^{n} \Delta o_{i}/2n s~=s+st⋅∑i=1nΔoi/2n,让先验贴合小目标核心区域;高斯建模适配密集场景:将动态先验建模为 2D 高斯分布(均值 = 更新后的先验位置,协方差 = 目标形状参数),减少密集目标间的先验重叠干扰。
- 推理时无额外计算:PCB 模块仅在训练时学习偏移规律,推理时无需再更新先验,参数数量与基线一致。提效逻辑:动态先验让小目标获得更多有效先验覆盖,密集目标的先验重叠减少,模型训练时学到更精准的定位特征,推理时直接输出更优结果。
粗到精样本筛选
-
解决小目标 “样本稀缺”、密集目标 “样本混淆”,小目标:特征少、置信度低,静态样本分配(如 MaxIoU)中易被误判为负样本,正样本数量不足;密集目标:相邻目标的样本候选区域重叠,导致正样本标注混淆,模型难以区分边界。
-
粗匹配(CPS):保证样本数量,适配小目标 / 密集目标。候选范围扩展:跨相邻 FPN 层 + 目标周边区域筛选候选,避免小目标因单一 FPN 层特征不足导致的样本遗漏;相似度度量(GJSD):替代传统 IoU,解决小目标重叠度低、密集目标样本混淆的问题,GJSD 的尺度不变性和对称性让样本筛选更公平;仅训练时执行:粗匹配的候选筛选逻辑仅在训练时用于确定正样本,推理时无需计算相似度。
-
精匹配(MPS+DGMM):保证样本质量,过滤密集场景噪声MPS 筛选:通过 P T i = 0.5 ⋅ ( C l s ( D i ) + I o U ( D i , g t i ) ) PT_i=0.5 \cdot (Cls(D_i) + IoU(D_i, gt_i)) PTi=0.5⋅(Cls(Di)+IoU(Di,gti))平衡分类置信度与位置准确性,筛选出贴合目标的候选;DGMM 约束:双高斯模型(几何中心 + 语义中心)精准捕捉小目标核心区域,过滤密集场景中相邻目标的干扰样本;仅训练时执行:精匹配的筛选逻辑不影响推理流程,仅优化训练时的监督信号。
-
模块嵌入方式:PCB 模块无缝嵌入检测头,粗到精样本筛选仅替换 “样本分配逻辑”,不改变原有 backbone、检测头或损失函数;
-
损失函数复用:沿用基线的 Focal Loss(分类)+ IoU Loss(回归),仅替换正样本来源,无需新增损失计算;
-
适配范围:支持单阶段(RetinaNet-O、S²A-Net)、两阶段(Oriented R-CNN)检测器,无需针对性修改。推理时完全复用原有流程:模块化设计让 DCFL 成为 “训练插件”,推理时与基线检测器的流程完全一致,无额外计算步骤
效果实现的关键技术细节
- 动态先验的 “轻量设计”:
- 扩张卷积(dilation rate=3):仅扩大感受野,不增加参数(与普通卷积参数数量一致);
- 引导式 DCN:复用回归分支的偏移量,避免单独学习偏移,减少训练开销,且推理时无需计算偏移。
- 样本筛选的 “高效逻辑”:
- GJSD 的计算:基于高斯分布的闭形式解,计算速度快,不增加训练时长;
- DGMM 的简化:双高斯模型共享协方差矩阵,仅优化均值和权重,参数数量少,训练效率高。
代码仓库
-
论文提出的 DCFL 框架是项目的核心,代码中通过以下模块实现,动态先验设置(Dynamic Prior Setting):传统方法依赖固定特征步长(如 8、16、32)生成先验框,导致微小目标的先验位置偏差。代码中可能通过调整锚点生成策略(如
mmdet/models/dense_heads/tood_head.py中的prior_generator),动态更新先验位置以适配微小目标的极端形状。 -
粗到细样本学习(Coarse-to-Fine Sample Learning):粗阶段:确保每个目标有足够多的正样本(解决样本不平衡);细阶段:通过动态高斯混合模型筛选低质量样本,提升学习质量。代码中TOODHead类的TaskDecomposition模块可能用于分解分类与回归任务,结合注意力机制(如layer_attention)增强特征利用,适配粗到细学习流程。
-
核心检测头:
mmdet/models/dense_heads/tood_head.py中的TOODHead是适配 DCFL 的关键组件,通过TaskDecomposition模块分解分类与回归特征,结合cls_decomp和reg_decomp实现任务对齐,增强微小目标的特征表达。 -
配置文件:
configs/下按算法分类,每个算法目录包含配置文件和性能指标(如 mAP、推理速度),支持快速复现论文中的对比实验。例如configs/redet/README.md展示了 ReDet 在 DOTA 数据集上的性能。 -
DCFL 通过 “粗到细” 的特征学习策略增强微小目标的特征表达,其中任务分解模块(Task Decomposition) 是关键。该模块在代码中通过
TaskDecomposition类实现,负责动态调整分类和回归任务的特征权重,适配微小目标的弱特征特性。-
class TaskDecomposition(nn.Module): """任务分解模块:实现粗到细学习中的特征动态调整 作用:根据特征重要性动态分配权重,增强微小目标的有效特征,抑制噪声特征 """ def __init__(self, feat_channels, # 特征通道数 stacked_convs, # 卷积层堆叠数量 la_down_rate=8, # 层注意力的下采样率 conv_cfg=None, norm_cfg=None): super(TaskDecomposition, self).__init__() self.feat_channels = feat_channels self.stacked_convs = stacked_convs # 对应多层卷积的特征堆叠 self.in_channels = self.feat_channels * self.stacked_convs # 输入总通道数(堆叠后) self.norm_cfg = norm_cfg # 层注意力模块:动态学习不同卷积层的重要性权重 # 用于筛选对微小目标检测更关键的特征层(粗到细学习的“细阶段”筛选) self.layer_attention = nn.Sequential( nn.Conv2d(self.in_channels, self.in_channels // la_down_rate, 1), # 降维 nn.ReLU(inplace=True), nn.Conv2d( self.in_channels // la_down_rate, self.stacked_convs, # 输出通道数=卷积层数,对应每层的注意力权重 1, padding=0), nn.Sigmoid() # 权重归一化到0-1 ) # 特征降维卷积:将堆叠的多通道特征压缩到原通道数 self.reduction_conv = ConvModule( self.in_channels, self.feat_channels, 1, stride=1, padding=0, conv_cfg=conv_cfg, norm_cfg=norm_cfg, bias=norm_cfg is None) def forward(self, feat, avg_feat=None): """ 前向传播:动态调整特征权重,强化微小目标的有效特征 Args: feat: 堆叠后的多层卷积特征(粗阶段特征) avg_feat: 全局平均池化特征(用于计算注意力权重) """ b, c, h, w = feat.shape if avg_feat is None: # 计算全局平均特征,用于注意力权重学习(适配微小目标的全局上下文) avg_feat = F.adaptive_avg_pool2d(feat, (1, 1)) # 计算层注意力权重:区分不同卷积层的重要性 # 例如,微小目标的特征可能在浅层更明显,权重会向浅层倾斜 weight = self.layer_attention(avg_feat) # 形状:[b, stacked_convs, 1, 1] # 注意力权重与卷积权重相乘:动态调整特征贡献 # 实现“细阶段”的特征筛选,突出对当前目标更重要的特征 conv_weight = weight.reshape( b, 1, self.stacked_convs, 1) * self.reduction_conv.conv.weight.reshape( 1, self.feat_channels, self.stacked_convs, self.feat_channels) conv_weight = conv_weight.reshape(b, self.feat_channels, self.in_channels) # 应用动态权重到特征上,得到调整后的特征 feat = feat.reshape(b, self.in_channels, h * w) feat = torch.bmm(conv_weight, feat).reshape(b, self.feat_channels, h, w) # 归一化与激活 if self.norm_cfg is not None: feat = self.reduction_conv.norm(feat) feat = self.reduction_conv.activate(feat) return feat # 输出动态调整后的特征(细阶段特征) -
通过
prior_generator.single_level_grid_priors根据特征层尺度(h, w)动态生成先验框,避免固定步长(如 8/16/32)导致的微小目标先验偏差 -
粗到细样本学习:粗阶段:堆叠多层卷积特征(
inter_feats),确保微小目标有足够的特征输入(解决样本稀疏)。细阶段:通过cls_decomp和reg_decomp对分类 / 回归特征分别调整,结合层注意力筛选高质量特征。 -
样本分配策略:初始阶段(
initial_epoch)使用initial_assigner确保每个微小目标分配足够正样本(粗阶段)。后续阶段切换为alignment_assigner,基于动态筛选的高质量样本优化(细阶段)。
-
-
核心参数调整表
-
模块 参数 建议值(小目标 / 密集场景) 作用 动态特征调整 stacked_convs3-4(默认 2) 增加小目标特征层数 动态特征调整 la_down_rate8(默认 16) 平衡注意力模块计算量 样本分配(粗阶段) topk(ATSSAssigner)9-13(默认 5) 为小目标分配更多正样本 样本分配(细阶段) alpha/beta1.0/6.0(平衡分类与回归对齐) 提升密集目标样本质量 自适应 NMS small_thr32×32(根据数据集小目标定义调整) 区分小 / 大目标阈值 自适应 NMS 高置信度阈值 0.7(默认 0.5) 减少密集目标误检
-
-
要提升小目标、密集目标的推理能力且尽量减少额外负担,需从特征增强、样本分配、损失设计、后处理优化四个核心维度入手,结合代码库中针对小目标的优化策略(如 DCFL 的动态先验、TOOD 的任务分解等)
-
小目标特征增强:动态特征调整模块(轻量且高效),解决小目标特征弱、易被噪声淹没的问题,通过动态权重强化关键特征层。对应代码:
TaskDecomposition类(来自mmdet/models/dense_heads/tood_head.py) -
# 核心代码(可直接移植为独立模块) class TaskDecomposition(nn.Module): def __init__(self, feat_channels, stacked_convs, la_down_rate=8): super().__init__() self.in_channels = feat_channels * stacked_convs # 轻量级注意力:降维后计算权重,减少计算量 self.layer_attention = nn.Sequential( nn.Conv2d(self.in_channels, self.in_channels // la_down_rate, 1), nn.ReLU(), nn.Conv2d(self.in_channels // la_down_rate, stacked_convs, 1), nn.Sigmoid() ) self.reduction_conv = nn.Conv2d(self.in_channels, feat_channels, 1) # 特征压缩 def forward(self, feat): # feat: 堆叠的多层特征 (b, c*stacked_convs, h, w) b, c, h, w = feat.shape avg_feat = F.adaptive_avg_pool2d(feat, (1, 1)) # 全局信息辅助权重学习 weight = self.layer_attention(avg_feat) # (b, stacked_convs, 1, 1) # 动态权重与卷积融合,强化关键层特征 conv_weight = weight.reshape(b, 1, -1, 1) * self.reduction_conv.weight.reshape(1, feat_channels, -1, feat_channels) feat = torch.bmm(conv_weight.reshape(b, feat_channels, -1), feat.reshape(b, -1, h*w)).reshape(b, feat_channels, h, w) return feat -
对多层卷积特征进行堆叠(保留小目标的多尺度细节),通过层注意力(
layer_attention)动态分配各层权重(浅层特征对小目标更重要)。用低维度卷积(reduction_conv)压缩特征,避免计算量激增(符合 “少量负担” 需求)。
-
-
密集目标样本分配:动态先验与自适应筛选,解决密集目标样本重叠导致的正负样本分配混乱,以及小目标正样本不足的问题。对应代码:
TOODHead中的样本分配逻辑(来自mmdet/models/dense_heads/tood_head.py)-
# 样本分配核心配置(可在配置文件中调整) train_cfg = dict( initial_epoch=10, # 前10轮用粗分配 initial_assigner=dict(type='ATSSAssigner', topk=9, iou_calculator=dict(type='RBboxOverlaps2D')), # 粗分配:多分配小目标 assigner=dict(type='TaskAlignedAssigner', topk=13, alpha=1.0, beta=6.0), # 细分配:筛选高质量样本 ) -
粗阶段(
initial_assigner):为小目标分配更多正样本(放宽 IoU 阈值,如从 0.5 降至 0.3)。细阶段(alignment_assigner):基于动态高斯混合模型筛选高质量样本,避免密集目标间的相互干扰。
-
-
损失函数适配:小目标权重增强,提升小目标在损失计算中的权重,避免被大目标主导优化。
TOODHead中的损失设计(结合 Focal Loss 改进)。对小目标(面积<阈值)的分类损失乘以增强系数(如 1.5)。回归损失采用平滑 L1,减少小目标坐标偏差的惩罚波动。-
# 损失函数调整(可封装为独立函数) def weighted_loss(loss, bbox_areas, small_thr=32*32, weight=1.5): """为小目标损失加权""" mask = (bbox_areas < small_thr).float() return loss * (1 + (weight - 1) * mask)
-
-
后处理优化:密集目标 NMS 改进,解决密集目标检测中 NMS 阈值难以平衡(过严漏检、过松误检)的问题。对高置信度目标(如 score>0.7)用较严阈值(如 0.3),低置信度目标用较松阈值(如 0.5)。小目标优先保留(避免被大目标抑制)。
-
# 自适应NMS(可移植为后处理函数) def adaptive_nms(bboxes, scores, cls_ids, small_thr=32*32, high_score=0.7): nms_results = [] for cls in torch.unique(cls_ids): mask = (cls_ids == cls) cls_bboxes = bboxes[mask] cls_scores = scores[mask] # 计算目标面积(针对旋转框需用旋转面积计算) areas = bbox_areas(cls_bboxes) # 需实现旋转框面积计算 # 分阈值NMS nms_thr = torch.where(cls_scores > high_score, 0.3, 0.5) # 小目标额外放宽阈值 nms_thr = torch.where(areas < small_thr, nms_thr + 0.1, nms_thr) # 执行NMS(使用mmrotate的RotatedNMS) keep = RotatedNMS()(cls_bboxes, cls_scores, nms_thr) nms_results.append(torch.cat([cls_bboxes[keep], cls_scores[keep, None], cls[None].repeat(len(keep))], dim=1)) return torch.cat(nms_results) if nms_results else None
-
-
特征提取阶段:嵌入动态特征调整; backbone 输出特征后、检测头前(如 FPN 之后)。移植步骤:将TaskDecomposition类添加到基线模型的backbone或neck模块后。配置stacked_convs(建议 3-4 层,平衡特征丰富度与计算量)和la_down_rate(建议 8,控制注意力模块复杂度)。
-
# 基线模型特征处理部分示例 class BaselineDetector(nn.Module): def __init__(self): self.backbone = ResNet() self.neck = FPN() # 添加动态特征调整模块 self.feat_adjust = TaskDecomposition(feat_channels=256, stacked_convs=3) def forward(self, x): x = self.backbone(x) x = self.neck(x) # 多尺度特征 [P3, P4, P5] # 对每个尺度特征应用动态调整 x = [self.feat_adjust(feat) for feat in x] return x
-
-
检测头阶段:修改样本分配与损失; 目标检测头的loss和get_target方法中。替换样本分配器为initial_assigner+alignment_assigner(分阶段训练)。在损失计算中加入小目标权重(调用weighted_loss)。
-
# 检测头损失计算修改示例 class BaselineHead(nn.Module): def loss(self, cls_scores, bbox_preds, gt_bboxes, gt_labels): # 计算原始损失 cls_loss = FocalLoss()(cls_scores, gt_labels) bbox_loss = SmoothL1Loss()(bbox_preds, gt_bboxes) # 计算目标面积,为小目标加权 bbox_areas = torch.stack([bbox_area(bbox) for bbox in gt_bboxes]) # 需实现 cls_loss = weighted_loss(cls_loss, bbox_areas) bbox_loss = weighted_loss(bbox_loss, bbox_areas) return cls_loss + bbox_loss
-
-
后处理阶段:替换 NMS 为自适应版本, 模型推理的postprocess函数中。 将原有 NMS 替换为adaptive_nms,注意输入格式需匹配(旋转框需包含角度信息)。
-
计算负担控制:TaskDecomposition中la_down_rate不宜过小(如<4),否则注意力模块计算量激增;
密集目标场景下,stacked_convs建议≤4,避免特征堆叠导致的内存占用过高。 -
兼容性处理:若基线模型是水平框检测,需扩展bbox_area等函数以支持旋转框(参考mmrotate/core/bbox/utils.py);分阶段样本分配需在训练脚本中添加epoch跟踪(如TOOD中的set_epoch方法)。
-
数据集适配:小目标定义(small_thr)需与数据集一致(如 COCO 中小目标为面积<32×32,遥感数据集可更小);密集场景需确保batch_size不宜过大(避免 GPU 内存溢出),建议单卡batch_size=2-4。
更多推荐


所有评论(0)