摘要
https://arxiv.org/pdf/2407.02394
由于物体尺寸有限且信息不足,小物体检测正成为计算机视觉领域最具挑战性的任务之一。标签分配策略是影响物体检测精度的关键因素。尽管已经存在一些针对小物体的有效标签分配策略,但大多数策略都集中在降低对边界框的敏感性以增加正样本数量上,并且需要设置一些固定的超参数。然而,更多的正样本并不一定会带来更好的检测结果,事实上,过多的正样本反而可能导致更多的误报。在本文中,我们介绍了一种简单而有效的策略,即相似度距离(SimD),用于评估边界框之间的相似度。该策略不仅同时考虑了位置和形状的相似度,还能够自适应地学习超参数,从而确保它能够适应不同数据集和数据集中各种尺寸的物体。我们的方法可以简单地应用于常见的基于锚的检测器中,替代交并比(IoU)进行标签分配和非极大值抑制(NMS)。在四个主流的小物体检测数据集上进行的大量实验表明,我们的方法具有优越的性能,特别是在AI-TOD数据集上,我们的方法比最先进的竞争对手高出1.8 AP点和4.1 AP点(针对极小的物体)。代码可访问:https://github.com/cszzshi/SimD。
一、引言
随着无人机技术和自动驾驶的普及,物体检测在日常生活中的应用越来越广泛。通用物体检测器在准确性和检测速度方面都取得了显著进展。例如,YOLO系列的最新版本YOLOv8在COCO检测数据集上达到了53.9%的平均精度均值(mAP),并且在NVIDIA A100 GPU上使用TensorRT时,检测图像中物体仅需3.53毫秒。然而,尽管通用物体检测器取得了显著进展,但当它们直接应用于小物体检测任务时,其准确性会急剧下降。
在最近的一项关于小物体检测的研究中,Cheng等人[1]提出根据平均面积将小物体分为三个类别(极小、相对小和一般小)。小物体检测面临的两大挑战是信息丢失和正样本不足。提高小物体检测准确性的方法有很多,如特征融合、数据增强和超分辨率等。
由于足够数量和高质量的正样本对于物体检测至关重要,因此标签分配策略是影响最终结果的核心因素。边界框越小,交并比(IoU)度量[2]的敏感性就越高,这是为什么无法像标记通用物体那样标记同样多的微小物体作为正样本的主要原因。图1展示了传统基于锚点的度量、无锚点度量与我们的SimD度量之间的简单比较。
当前关于小物体标签分配策略的研究主要集中在降低对边界框大小的敏感性上。从这一角度出发,Xu等人[2]提出使用点距离(DotD)作为分配度量来替代交并比(IoU)。随后,NWD[3]和RFLA[4]被提出,它们尝试将真实框和锚点建模为高斯分布,然后使用这两个高斯分布之间的距离来评估两个边界框。实际上,这些方法在标签分配方面取得了相当大的进展,但也可能存在一些问题,而这些问题可能是它们没有考虑到的。
首先,大多数这些方法都集中在降低对边界框大小的敏感性上,从而增加正样本的数量。然而,我们知道,过多的正样本可能会对物体检测器产生不利影响,导致许多误报。
其次,这些评估度量的本质是测量边界框之间的相似性。对于基于锚点的方法,考虑的是真实框和锚点之间的相似性。这种相似性包括两个方面:形状和位置。然而,有些方法只考虑边界框的位置,而其他方法虽然同时考虑了形状和位置,但它们还需要选择一个超参数。
最后,尽管在小物体检测数据集中物体的大小往往相当相似,但不同物体之间的尺度仍然存在差异。例如,AI-TOD数据集中的物体大小范围从2到64像素不等。而在VisDrone2019数据集中,这种差异更为显著,因为它同时包含了小物体和一般大小的物体。事实上,物体越小,获得正样本的难度就越大。不幸的是,大多数现有方法可能较少关注这个问题。
为了解决这些问题,本文引入了一种新的评估度量来替代传统的交并比(IoU),我们方法的处理流程如图2所示。本文的主要贡献包括以下几点:
- 我们提出了一种简单而有效的策略,即相似度距离(SimD),用于评估两个边界框之间的关系。它不仅考虑了位置和形状的相似性,而且能够有效地适应不同数据集以及数据集中不同物体的大小,而无需设置任何超参数。
- 大量实验证明了我们方法的有效性。我们使用了几种通用物体检测器,并简单地用基于我们SimD度量的方法替换了基于IoU的分配模块,通过这种方式,我们在四个主流小物体检测数据集上实现了最先进的性能。
II. 相关工作
近年来,目标检测技术在各行各业的应用日益广泛。这项技术提供了极大的便利。例如,通过识别遥感图像中的地面物体,可以迅速开展救援行动。随着深度学习技术的发展,特别是ResNet[5]的引入,检测的准确性和速度都有了显著提升。
通用目标检测器可分为两类:单阶段检测器和双阶段检测器。双阶段检测器首先生成一系列候选区域,然后确定物体的位置和类别。这类算法包括R-CNN[6]、Fast R-CNN[7]和Faster R-CNN[8]。单阶段检测器的结构更为简单,它们可以直接从输入图像中输出物体的坐标和类别。一些经典的单阶段检测器包括YOLO[9]和SSD[10]。
A. 小目标检测
尽管深度学习技术在目标检测方面取得了显著进展,但当待检测目标非常小时,检测精度会急剧下降。小目标通常被定义为尺寸小于某个阈值的物体。例如,在Microsoft COCO [11]中,如果一个物体的面积小于或等于1024像素,则被视为小目标。然而,在许多情况下,感兴趣的目标实际上远小于上述定义。例如,在AI-TOD数据集中,目标的平均边长仅为12.8像素,远小于其他数据集。
正如之前的一篇论文[1]所述,由于感兴趣目标的尺寸极小,小目标检测面临三大主要挑战。首先,大多数目标检测器在特征提取过程中使用下采样,这会导致小目标的大量信息丢失。其次,由于小目标包含的有效信息量有限,它们很容易受到噪声的干扰。最后,目标越小,对边界框变化的敏感度就越高[2]。因此,如果我们使用传统的标签分配指标(如IoU、GIoU [12]、DIoU [13]和CIoU [13])进行目标检测,那么小目标获得的正样本数量将非常少。
为了提高小目标检测的准确性和效率,已经提出了许多方法。例如,从数据增强的角度来看,Kisantal等人[14]提出通过复制小目标、随机变换这些副本,然后将结果粘贴到图像的新位置来增加训练样本的数量。
B. 标签分配策略
标签分配策略在目标检测中起着至关重要的作用。根据每个标签是严格负样本还是严格正样本,这些策略可以分为硬标签分配策略和软标签分配策略。在软标签分配策略中,根据计算结果为不同的样本设置不同的权重,例如GFL [15]、VFL [16]、TOOD [17]和DW [18]。硬标签分配策略可以根据指定正负样本的阈值是否固定,进一步分为静态策略和动态策略。静态标签分配策略包括基于IoU和DotD [2]度量以及RFLA [4]的策略。动态标签分配策略的例子包括ATSS [19]、PAA [20]、OTA [21]和DSLA [22]。从另一个角度来看,标签分配策略可以分为基于预测的策略和无预测的策略。基于预测的方法根据真实边界框和预测边界框之间的关系为样本分配正/负标签,而无预测的方法则仅根据锚点或其他现有信息分配标签。
C. 小目标的标签分配策略
尽管已经有很多关于目标检测中标签分配策略的研究,但大多数策略都是针对传统数据集设计的,很少有专门为小目标设计的策略。当这些传统的标签分配策略直接被用于小目标检测时,它们的准确性会显著下降。到目前为止,专门为小目标设计的标签分配策略和度量标准主要包括 S 3 F D S^{3} \mathrm{FD} S3FD [23]、DotD [2]、NWDRKA [24]和RFLA [4]。
在 S 3 F D S^{3} \mathrm{FD} S3FD中,首先降低阈值(从0.5降至0.35),以便为真实标签获取更多正样本,然后进一步将阈值降至0.1,以便为那些在第一次降低阈值时未考虑到的真实标签获取正样本。然而, S 3 F D S^{3} \mathrm{FD} S3FD也使用传统的IoU度量来计算真实标签和锚点之间的相似度。为了克服IoU度量的缺点,引入了新颖的DotD公式来减少对边界框大小的敏感性。基于这个度量,可以为真实标签获取更多的正样本。在NWD-RKA中,引入了归一化Wasserstein距离来替代IoU,并使用基于排名的策略将前k个样本分配为正样本。RFLA从感受野的角度探讨了真实标签和锚点之间的关系,在此基础上,将真实标签和锚点建模为高斯分布。然后,基于Kullback-Leibler散度(KLD)计算这两个高斯分布之间的距离,该距离用于替代IoU度量。
III. 方法
A. 边界框之间的相似度距离
标签分配中最重要的步骤之一是计算一个反映不同边界框之间相似性的值。具体来说,对于基于锚点的标签分配策略,在分配标签之前,必须量化锚点与真实标签之间的相似性。
常见的标签分配度量,如IoU、GIoU [12]、DIoU [13]和CIoU [13],通常基于锚点与真实标签之间的重叠度。这些度量存在一个严重问题,即如果重叠度为0(这在小目标中经常发生),则这些度量可能会失效。一些更合适的方法使用基于距离的评估度量,甚至使用高斯分布来模拟真实标签和锚点,如DotD [2]、NWD [3]和RFLA [4]。我们从三个角度对现有度量与我们的SimD度量进行了简单的比较,如表I所示。例如,DotD仅考虑位置相似性,可能无法适应数据集中不同对象的大小,因此它既不全面也不具有适应性。NWD和RFLA不具有适应性,因为它们分别需要设置超参数 C C C和 β \beta β。遵循现有方法,我们考虑提出一种没有任何超参数的自适应方法。
在本文中,我们引入了一种名为相似度距离(SimD)的新度量标准,以更好地反映不同边界框之间的相似性。相似度距离定义如下:
[
\begin{array}{l}
\operatorname{SimD}=e^{-\left(\text {sim }{\text {location }}+\text { sim }{\text {shape }}\right)} \
\operatorname{sim}{\text {location }}=\sqrt{\left(\frac{x{g}-x_{a}}{\frac{1}{m} \times\left(w_{g}+w_{a}\right)}\right)^{2}+\left(\frac{y_{g}-y_{a}}{\frac{1}{n} \times\left(h_{g}+h_{a}\right)}\right)^{2}} \
\text { sim }{\text {shape }}=\sqrt{\left(\frac{w{g}-w_{a}}{\frac{1}{m} \times\left(w_{g}+w_{a}\right)}\right)^{2}+\left(\frac{h_{g}-h_{a}}{\frac{1}{n} \times\left(h_{g}+h_{a}\right)}\right)^{2}}
\end{array}
]
其中, m m m 和 n n n 的计算方式如下:
[
\begin{array}{l}
m=\frac{\sum_{i=1}^{M} \sum_{j=1}^{N_{i}} \sum_{k=1}^{Q_{i}} \frac{\left|x_{i j}-x_{i k}\right|}{w_{i j}+w_{i k}}}{\sum_{i=1}^{M} N_{i} \times Q_{i}} \
n=\frac{\sum_{i=1}^{M} \sum_{j=1}^{N_{i}} \sum_{k=1}^{Q_{i}} \frac{\left|y_{i j}-y_{i k}\right|}{h_{i j}+h_{i k}}}{\sum_{i=1}^{M} N_{i} \times Q_{i}}
\end{array}
]
SimD 包含两部分:位置相似度( sim location \text{sim}_{\text{location}} simlocation)和形状相似度( sim shape \text{sim}_{\text{shape}} simshape)。如(2)式所示, ( x g , y g ) \left(x_{g}, y_{g}\right) (xg,yg) 和 ( x a , y a ) \left(x_{a}, y_{a}\right) (xa,ya) 分别代表真实标签和锚点的中心坐标, w g , w a , h g , h a w_{g}, w_{a}, h_{g}, h_{a} wg,wa,hg,ha 分别代表真实标签和锚点的宽度和高度。公式的主要部分是真实标签和锚点中心点之间的距离,这与DotD公式[2]类似。不同的是,我们使用两个边界框的宽度和高度乘以相应的参数来消除不同大小边界框之间的差异。这个过程类似于归一化的思想。这也是为什么我们的度量标准能够轻松适应数据集中不同对象大小的原因。(3)式中的形状相似度与(2)式类似。
两个归一化参数的定义如(4)和(5)所示。因为它们非常相似,我们以(4)中的参数 m m m为例进行进一步讨论。 m m m是在整个训练集中,所有真实框和锚框在 x x x方向上的距离与两者宽度之和的平均比率。 M M M代表训练集中图像的数量, N i N_{i} Ni和 Q i Q_{i} Qi分别代表第 i i i张图像中真实框和锚框的数量。 x i j x_{ij} xij和 x i k x_{ik} xik分别代表第 i i i张图像中第 j j j个真实框和第 k k k个锚框中心点的 x x x坐标。 w i j w_{ij} wij和 w i k w_{ik} wik分别代表第 i i i张图像中第 j j j个真实框和第 k k k个锚框的宽度。由于这两个归一化参数是根据训练集计算的,因此我们的度量标准也可以自动适应不同的数据集。
为了便于标签分配,我们使用指数函数将SimD的值缩放到零到一之间。如果两个边界框相同,则根号下的值将为零,因此SimD将等于一。如果两个边界框差异很大,则该值将非常大,因此SimD将接近零。
B. 基于相似度距离的检测器
在(1)中定义的新型SimD度量标准能够很好地反映两个边界框之间的关系,并且易于计算。因此,在需要计算两个边界框之间相似性的场景中,它可以替代IoU。
基于SimD的标签分配。在传统的目标检测器中,如Faster R-CNN[8]、Cascade R-CNN[25]和DetectoRS[26],RPN和R-CNN模型的标签分配策略是MaxIoUAssigner。MaxIoUAssigner考虑三个阈值:正阈值、负阈值和最小正阈值。对于与真实框的IoU高于正阈值的锚框,它们被视为正样本;对于IoU低于负阈值的锚框,它们被视为负样本;对于IoU位于正阈值和负阈值之间的锚框,它们被忽略。对于微小目标检测,Xu等人引入了RKA[24]和HLA[4]标签分配策略,它们不使用固定阈值来划分正负样本。在RKA中,简单地选择与真实框相关联的前k个锚框作为正样本,这种策略可以增加正样本的数量,因为正标签的分配不受正阈值的限制。然而,引入过多的低质量正样本可能会导致检测精度下降。
在本文中,我们遵循传统的MaxIoUAssigner策略,并简单地使用SimD代替IoU。正阈值、负阈值和最小正阈值分别设置为 0.7 0.7 0.7、 0.3 0.3 0.3和 0.3 0.3 0.3。我们的标签分配策略被命名为MaxSimDAssigner。
基于SimD的非极大值抑制(NMS)。非极大值抑制(NMS)是后处理中最重要的组件之一。其目的是通过仅保留最佳的检测结果来消除重复检测的预测边界框。在传统的NMS过程中,首先计算得分最高的边界框与其他所有边界框之间的IoU。然后,消除IoU高于某个阈值的边界框。考虑到SimD的优势,我们可以简单地将其用作NMS的度量标准,以代替传统的IoU度量标准。
IV. 实验
为了验证我们提出的方法的可靠性,我们设计了一系列实验,涉及将传统目标检测器应用于几个开源的微小目标检测数据集。
A. 数据集
微小目标检测数据集主要有两种类型:一种仅包含小物体,如AI-TOD[27]、AITODv2[24]和SODA-D[1];另一种同时包含小物体和中等大小的物体,如VisDrone2019[28]和TinyPerson[29]。
AI-TOD。AI-TOD(Aerial Images中的微小目标检测)是一个用于解决航空图像目标检测任务可用数据集短缺问题的航空遥感小目标检测数据集。它包含28,036张图像和700,621个对象实例,这些实例被分为八个具有精确注释的类别。由于其对象实例的极小尺寸(平均大小仅为12.8像素),它可以有效地用于测试微小目标检测器的性能。
SODA-D。SODA(Small Object Detection datasets)系列包括两个数据集:SODA-A和SODA-D。SODA-D是从MVD[30]中收集的,由从街道、高速公路和其他类似场景中捕获的图像组成。SODA-D[1]中包含25,834个极小的物体(面积范围从0到144),使其成为微小目标检测任务的优秀基准。
VisDrone2019。VisDrone2019是来自VisDrone图像中的目标检测挑战的数据集。为了这次竞赛,在不同地点、不同高度和角度下,使用无人机捕获了10,209张静态图像。VisDrone2019也是一个评估微小目标检测器的优秀数据集,因为它不仅包含极小的物体,还包含正常大小的物体。
B. 实验设置
在以下一系列实验中,我们使用了一台配备NVIDIA RTX A6000 GPU的计算机,并基于目标检测框架MMDetection [31]和PyTorch [32]实现了各种模型。我们使用通用的目标检测器,如Faster R-CNN、Cascade R-CNN和DetectoRS作为基准模型,并简单地将MaxIoUAssigner模块替换为我们的SimD分配模块。我们的方法可以有效地适应任何骨干网络和基于锚的检测器。遵循主流设置,对于所有模型,均使用在ImageNet上预训练的ResNet-50-FPN作为骨干网络,并采用随机梯度下降(SGD)作为优化器,动量设置为0.9,权重衰减设置为0.0001。批量大小设置为2,初始学习率设置为0.005。在训练和测试阶段,区域候选网络(RPN)的提议数量均为3000。对于VisDrone2019数据集,训练轮次设置为12,学习率在第8轮和第11轮时衰减。对于AI-TOD、AI-TODv2和SODA-D,训练轮次设置为24,学习率在第20轮和第23轮时衰减。对于非极大值抑制(NMS),我们使用IoU度量,其中RPN的IoU阈值设置为0.7,R-CNN的IoU阈值设置为0.5。配置的其他方面,如数据预处理和流程,遵循MMDetection的默认设置。
为了便于与以往的研究结果进行比较,在测试阶段,我们使用AI-TOD基准评估指标,这些指标包括平均精度(AP)、 A P 0.5 AP_{0.5} AP0.5、 A P 0.75 AP_{0.75} AP0.75、 A P v t AP_{vt} APvt、 A P t AP_{t} APt、 A P s AP_{s} APs和 A P m AP_{m} APm,用于AI-TOD、AI-TODv2和VisDrone2019。对于SODA-D数据集,我们使用COCO评估指标。
C. 结果
我们在AI-TOD、AI-TODv2、VisDrone2019和SODA-D数据集上设计了四组实验。在每一组中,我们都将RPN模块中的IoU度量替换为我们的SimD度量,然后将该模块与传统目标检测模型(包括Faster RCNN、Cascade R-CNN和DetectoRS)相结合进行应用。
AI-TOD的结果如表II所示,我们在其中将我们的方法与几种典型的目标检测方法进行了比较。前七行的检测器是基于锚点的两阶段检测器,接下来的三行和四行分别是基于锚点的一阶段检测器和无锚点检测器,最后三行展示了我们方法的结果。与Faster R-CNN、Cascade R-CNN和DetectoRS相比,我们在RPN中用SimD替代IoU后,分别实现了12.8、11.2和11.8个点的AP提升。我们还将我们的方法与一些针对微小物体的专用检测器(即DotD、NWD和RFLA)进行了比较,与这些检测器相比,我们的方法分别将AP提高了10.5、5.8和1.8个点。
我们的方法在微小物体上的性能尤其值得关注。由于这些物体极小(非常小的尺寸范围从2到8个像素),一般目标检测器的 A P v t AP_{vt} APvt为0,而使用SimD后,Faster R-CNN、Cascade R-CNN和DetectoRS的 A P v t AP_{vt} APvt值分别从0提升到11.9、13.2和13.4个点。
除了AI-TOD外,我们的方法在AI-TODv2、VisDrone2019和SODA-D上也取得了最佳性能,如表III、表IV和表V所示。在AI-TODv2和SODA-D上,我们的方法的AP分别比其最佳竞争对手高出1.8和1.6个点。在包含微小物体和一般尺寸物体的VisDrone2019上,我们的方法也表现良好,特别是在与RFLA相比时,实现了1.3个点的提升。在表V中,虽然 A P 0.5 AP_{0.5} AP0.5与RFLA相近,但 A P 0.75 AP_{0.75} AP0.75要高得多,这可能表明我们的方法在微小物体检测方面更有优势。IoU度量和SimD之间的一些典型视觉比较如图3所示。我们可以发现,在使用我们的方法后,检测性能有了明显的提升。
D. 消融研究
在我们提出的方法中,一个重要的操作是基于真实框和锚点的宽度和高度的归一化。为了验证归一化操作的有效性,我们进行了一组消融研究。如表VI所示,我们分别比较了不进行归一化、仅对宽度进行归一化、仅对高度进行归一化以及对宽度和高度都进行归一化的情况。实验结果表明,归一化操作实现了3.5个点的提升,这主要得益于它能够适应数据集中不同大小的对象,并且归一化参数 m , n m, n m,n可以根据不同的数据集进行自适应调整。
E. Analysis
From the experimental results shown in Table II to Table V , we find that our method achieves the best AP on all four datasets. In addition, on the AI-TOD, AI-TODv2, and VisDrone2019 datasets, our method achieves the best results for very tiny, tiny and small objects. Three main achievements of our method can be summarized.
First, our method effectively solves the problem of low accuracy for tiny objects. The most fundamental reason is that our method fully accounts for the similarity between two bounding boxes, including both location and shape similarity, therefore, only the highest-quality anchors will be chosen as positive samples when using the SimD metric. Compared with VisDrone2019, the performance improvements on AITOD and AI-TODv2 are more obvious because the objects are much smaller in these two datasets, this phenomenon may also reflects the effectiveness of our method on tiny object detection.
Second, our method can adapt well to different object sizes in a dataset. In Table IV, both the AP and \mathrm{AP}_{v t} values of our method are the best and much higher than those of other methods. The main reason is that normalization is applied in the SimD metric when calculating the similarity between bounding boxes, so it can eliminate the differences arising from bounding boxes of different sizes. Some typical detection results are shown in Fig. 4.
Finally, our method achieves the state-of-the-art results on four different datasets. Although the characteristics of the objects in different datasets vary, we use the relationships between the ground truths and anchors in the train set when computing the normalization parameters, enabling our metric to automatically adapt to different datasets. In addition, there are no hyperparameters that need to be set in our formula.
V. CONClusion
In this paper, we point out that most of the existing methods may not be able to automatically adapt to objects of different sizes and include some hyperparameters need to be chosen. To this end, we propose a novel evaluation metric named Similarity Distance (SimD), which not only considers both location and shape similarity but also can automatically adapt to different datasets and different object sizes in a dataset. In addition, there are no hyperparameters in our formula. Finally, we conduct extensive experiments on four classic tiny object detection datasets, in which our method achieves the state-of-the-art results. Although our proposed SimD metric is adaptive, it also based on the existing label assignment strategy with fixed thresholds. In the future, we aim to further improve the effectiveness of label assignment for tiny object detection.