0%

旋转目标检测中的标签分配策略

旋转目标检测中的标签分配策略

概述

CNN在传统目标检测领域有很大的发展,并在医学图像、自动驾驶等领域具有广泛的应用。但是在旋转目标检测领域,一些传统方法便不再适用了。例如,水平矩形框的IoU计算方式要迁移到旋转矩形框上显得极为复杂且不可导;或是角度的加入导致了回归的边界和顺序问题。

在这些问题上许多论文给出了解决方案,不过在我看来有一个问题却经常被忽略——标签分配。标签分配指的是在训练阶段为检测器区分正负样本,赋予合适学习目标的过程。传统目标检测领域通常使用IoU或距离来分配正负样本,例如anchor-based的RetinaNet(ICCV 2017)根据anchor和GT的IoU分配正负样本,anchor-free的FCOS(ICCV 2019)根据feature point和GT的距离分配正负样本。

近年来一些方法考虑到不同目标的不同性质,提出了动态的分配策略。例如ATSS(CVPR 2020)提出根据IoU的均值和方差计算阈值来自适应不同的目标;AutoAssign(ArXiv 2020)指出ATSS的方法仍然是“伪动态”的,提出根据预测置信度、回归值和IoU等因素为每个feature point计算正负样本权重。

然而,上述方法仅仅在分类和回归两个角度去分配正负样本,这在传统目标检测领域已经足够,但是在旋转目标检测领域仍显得不足。由于角度的引入,旋转目标的回归难度骤增,仅依靠IoU或者距离来分配正负样本的效果并不好。

为了缓解根据IoU分配正负样本的方法带来的问题,一些方法采用多阶段,与传统两阶段方法如Faster-RCNN不同的是,第一阶段的负样本仍然会被保留参加后续计算,因为根据IoU分配的许多负样本最终仍然会达到很好的效果,但是这种方法没有根本解决IoU分配带来的问题。

随着一些angle-free方法的发展,许多方法绕开对角度的预测,转而采用点集等方式解决问题。这些方法抛弃了anchor,提出了新的分配策略。Beyond Bounding-box(CVPR 2021)提出了凸包的自适应策略(CFA),根据凸包和目标的CIoU选择最大的若干个凸包后,根据凸包与整个凸包集的梯度方向是否一致来分配正负样本。而Oriented Reppoints提出了自适应点评估和分配(APAA),从分类、定位、方向、点相关4个角度衡量一个点集的质量,根据质量分配正负样本,取得了更好的效果。这说明旋转目标检测中只考虑分类和回归是不够的,方向作为一个很重要且难度很大的指标需要被考虑进来。

然而,上述方法仍然是经验性的,大量超参数需要人工指定,在不同的数据集上可能效果差异很大。而在传统目标检测领域,许多动态、自适应的策略已经诞生且被证明了效果。我希望能设计一种新的标签分配策略,新的策略应该考虑到如下内容: 1. 除了分类的置信度、回归的IoU或距离之外,角度、目标的尺寸、纵横比、特征信息等信息都可以帮助标签分配。 2. 新的策略应抛弃经验性的大量超参数,转而以动态、自学习的方式进行分配,以达到在不同数据集上的通用性。 3. 基于IoU的分配策略在旋转目标检测领域表现不好,可能是遥感图像的目标更小对IoU更敏感、角度的加入使得anchor与GT的匹配更难等。新的策略需要考虑到这些因素,改正基于IoU的分配带来的缺陷。

现有方法

传统目标检测

RetinaNet

RetinaNet(ICCV 2017)是经典的anchor-based模型,采用基于IoU的分配策略,具体来说,对于每个anchor,计算其与所有GT BBox IoU的最大值,若最大值大于一定阈值,就将其分配给IoU最大的GT;若最大值小于一定阈值,就将其分配给负样本。

FCOS

FCOS(ICCV 2019)是经典的anchor-free模型,舍弃了anchor,转而以更简单的方式,通过距离来分配正负样本。最原始的FCOS将GT BBox范围内的feature point分配给该GT。之后FCOS引入了center sampling策略,具体来说,计算GT BBox内每个feature point到GT BBox中心点的距离,只有小于某个阈值的距离被分配到正样本,这样做使得只有中心点附近的feature point被分配到正样本。

ATSS

ATSS(CVPR 2020)分析了是什么造成anchor-based的RetinaNet和anchor-free的FCOS性能差异,最终发现其本质区别在于正负样本的分配策略,进而提出了一种自适应的分配策略。具体来说,对于每个GT,在每个level内挑选与其距离最近的k个anchor,之后计算这k * level个anchor与GT BBox的IoU均值和标准差,将正负样本阈值设为均值和标准差之和。ATSS无需过多超参数的设置,作者指出k的值对结果的影响很小。

ATSS实现了不同难度GT阈值的动态分配,对于简单的GT,IoU的均值较大,正样本阈值提高;对于困难的GT,IoU的均值较小,正样本阈值降低。对于level分配不均的GT,IoU的标准差较大,使得正样本集中在某个level;对于level分配均匀的GT,IoU的标准差较小,使得正样本均匀分配给各个level。

AutoAssign

AutoAssign(ArXiv 2020)指出之前策略的问题:1. 之前的策略往往是非正即负的硬标签,2. 之前的策略将分类和回归分开优化,转而提出了自适应的软标签策略。具体来说,AutoAssign将原先的分类、回归等损失聚合为两种损失: 1. 正损失的计算: 1. 对于每个GT,计算各个feature point到GT BBox的回归损失,经指数归一化得到回归置信度热图,这样回归损失更小的feature point拥有更大的回归置信度。 2. 对于每个GT,根据其类别提取对应的分类置信度热图。 3. 分类置信度热图与回归置信度热图相乘,得到正置信度热图。 4. 计算高斯先验分布热图,与正置信度热图相乘,并作标准化,使其总和为1,得到正权重。 5. 将正置信度热图和正权重逐元素相乘后相加,得到正分数,计算正分数与1的BCE Loss得到正损失。 2. 负损失的计算: 1. 对于每个GT,计算各个feature point与GT BBox的最大IoU。 2. 通过得到负权重,其中表示归一化,使所有feature point的IoU范围从0到1。 3. 将分类置信度热图与负权重相乘,得到负分数,计算负分数与0的BCE Loss得到负损失。

上述方法实现了分类和回归损失的统一,且通过自适应的软权重学习达到了软标签分配的目的。

旋转目标检测

S2A-Net

由于旋转目标检测的回归相比传统目标检测更为困难,S2A-Net(TGRS 2021)采用两阶段来解决问题。第一阶段输出粗略的分类和回归热图,之后根据回归热图得到的定向边界框进行对齐卷积。具体来说,在定向边界框中均匀采样n x n个网格点作为卷积核的偏移量,之后使用可变形卷积得到新的特征。第二阶段根据第一阶段输出的特征输出精细分类和回归热图。

需要注意的是,与Faster-RCNN这样的两阶段模型不同的是,S2A-Net在第一阶段保留所有样本,包括负样本,即第一阶段的负样本仍要参与第二阶段的分类和回归,这样做是因为作者发现第一阶段的很多负样本最终仍然会得到更好的效果。

Beyond Bounding-box

Beyond Bounding-box(CVPR 2021)采用凸包的形式表示定向边界框,从而避免了对角度的直接预测。具体来说,每个feature point预测若干个点的偏移量,使用 Jarvis March算法构造包围所有点的最小凸包,以包围凸包的最小矩形作为预测框。

Beyond Bounding-box提出凸包自适应(CFA)来分配正负样本,具体来说,对于每个GT,将与GT BBox的CIoU最大的前k个凸包分配到该GT的正样本,这k个凸包称为该GT的凸包集,未被分配到任一凸包集的凸包分配到负集。于是有凸包集的损失,其中表示凸包集中第i个凸包的置信度,表示第i个凸包的损失,即分类损失和回归损失之和。

,其中是一个高斯单调递减函数,则损失较小的凸包具有较大的置信度。之后计算凸包集损失的梯度。

通过上式可以看出,如果凸包和凸包集的梯度方向一致,则为正,否则为负。根据梯度一致性原则,就可以将凸包集中梯度方向不一致的凸包分配到负集。经过CFA,正负样本被更细致的划分。

Oriented Reppoints

Oriented Reppoints(CVPR 2021)通过点集的形式表示定向边界框,与Beyond Bounding-box类似,每个feature point预测若干个点偏移量,以包围所有点的最小矩形作为预测框。

Oriented Reppoints提出点自适应分配策略(APAA),具体来说,通过分类、回归、方向、点一致性4个角度衡量一个feature point的质量。分类和回归质量由分类和回归损失得到,方向质量由预测框和GT BBox每条边上的均匀采样点集的倒角距离得到,点一致性质量由各个偏移点上特征信息的余弦相似度得到,4个质量的加权和为该feature point的质量。在得到每个feature point的质量后,对于每个GT,找到分配给该GT的feature point,保留质量最小的前若干个feature point。