Anchor-Free即插即用标签分配 | 平滑标签分配+动态IoU匹配解决标签分配不一致

简介: Anchor-Free即插即用标签分配 | 平滑标签分配+动态IoU匹配解决标签分配不一致

b4f215d0e0dd9caa7efd81a03c107123.pngAnchor-free检测器基本上将目标检测表述为密集分类和回归。对于流行的Anchor-free检测器,通常会引入一个单独的预测分支来估计定位的质量。当深入研究分类和质量估计的实践时,会观察到以下不一致之处。


首先,对于一些分配了完全不同标签的相邻样本,训练后的模型会产生相似的分类分数。这违反了训练目标并导致性能下降;


其次,发现具有较高置信度的检测框与相应的Ground-truth具有较小的重叠。


在非最大抑制 (NMS) 过程中,精确定位的边界框将被不太准确的边界框抑制。为了解决不一致问题,提出了动态平滑标签分配(DSLA)方法。基于FCOS最初提出的中心性概念,提出了一种平滑分配策略。标签被平滑到 [0, 1] 中的连续值,以在正样本和负样本之间进行稳定的过渡。Intersection-of-Union (IoU) 在训练期间动态预测,并与平滑标签相结合。分配动态平滑标签以监督分类分支。在这样的监督下,质量估计分支自然地合并到分类分支中,这简化了Anchor-free检测器的架构。在 MS COCO 基准上进行了综合实验。结果表明,DSLA 可以通过减轻上述Anchor-free检测器的不一致性来显著提高检测精度。

1、简介

卷积神经网络 (CNN) 已广泛应用于计算机视觉任务,包括类别分类、目标检测、语义分割以及实体连接推理和跨模态理解等其他相关任务。具体来说,目标检测是计算机视觉中的一个基本问题,旨在预测图像中边界框和相应类别标签的位置。


RCNN 以来,基于深度学习的目标检测随着其在工业检测、视频分析、文本识别、航拍图像等领域的广泛应用而备受关注。现有的基于深度学习的检测器大致可以分为Anchor-freeAnchor-base的类别。正如 Faster R-CNN 所推广的那样,SSDRetinaNetYOLO v2、v3 等主流检测器通常依赖一组预定义的Anchor框来枚举目标的可能位置、尺度和纵横比。尽管它们的性能很好,但检测器仅限于Anchor的设计。


最近,Anchor-free检测器逐渐引领了目标检测的趋势,它直接学习目标可能性和边界框坐标,无需Anchor参考。与基Anchor-base检测器相比,Anchor-free检测器摆脱了与Anchor相关的超参数和复杂计算,使训练过程相当简单。


YOLOv1 是一种流行的Anchor-free检测器。YOLOv1 没有使用Anchor,而是直接在目标中心附近的点处预测边界框。CornerNetCenterNet 采用基于关键点的检测管道,检测边界框的一对角并将它们分组,形成最终检测到的绑定框。FCOSCenterNetFoveaBox 以逐像素预测方式制定目标检测。


为了训练检测器,定义正样本和负样本是一个必要但重要的过程,它直接影响训练效率,从而影响性能。需要仔细考虑这个问题,尤其是对于Anchor-free检测器,而Anchor-base检测器根据联合交集(IoU)值将Anchor分为正样本和负样本。


以前的Anchor-free检测器通常采用单一的固定划分标准。也就是说,正样本和负样本根据手工规则和几个预定义的阈值进行划分。例如,YOLOv1 将输入图像划分为网格。如果一个物体的中心落入一个网格单元中,那么那个网格单元被认为是正的并且负责检测那个物体。


CornerNet 仅将 ground-truth (gt) 角位置视为正数,而所有其他位置均为负数。但是在正位置半径内的负位置的损失被降低了权重。FCOSFoveabox 将任何 gt 目标的中心区域或边界框内的位置视为正候选框。然而,这种静态策略不能适应物体的各种形状和姿态,以始终提供最佳的正/负划分。ATSS 提出动态分配策略根据 IoU 值的统计为每个 gt 设置划分边界。OTA 试图通过解决最优传输问题来寻找全局最优划分策略。不幸的是,大多数方法都是基于Anchor的,不能直接应用于Anchor-free点检测器。同时,Anchor-free检测器中出现的不一致问题没有得到足够的重视,下面将以FCOS为例进行详细说明。


FCOS 对多级特征图上的每个位置进行预测。如果该位置的感受野 (RF) 的中心落入一个 gt 框,则计算从该中心到该框4个边的距离。如果最大距离在预定义的范围内,则将该位置设置为正样本,并且需要对框进行回归。图 1(b) 显示了样本划分的一个示例。输入图像被输入到经过训练的 FCOS 模型中以获得分类分数,其值由颜色表示。可以注意到,通常会为相邻位置分配完全不同的标签。

ed4458256f5f85c4927b346924fa28b6.png

在图 1(b) 中考虑这些位置的分类分数。在预测“球拍”和“球”的特征图上,相邻位置具有相似的分数,但分配有不同的标签。显然,这与预期不符。作者将此问题称为分类不一致。还可以观察到,在预测“人”的特征图上,分数是不一致的。这是由于特征图的步幅不同。作者认为,分类不一致是由具有相似 RF 但分配了完全不同的监督的相邻样本引起的。这种不一致会阻止检测器学习更有效的对象表示,从而降低性能,如图 1(a) 所示。centerness score的引入在一定程度上解决了分类分数相似带来的问题。然而,centerness score 仅用于 NMS 在推理时的排序过程中,在训练中仍然存在不一致的情况。

60cc7ff735104a182dadbec7cc37a384.png

FCOS 中,中心度用于估计定位质量。该分数被预测并与分类置信度相结合作为NMS的最终排名分数。尽管有所改进,但中心度得分并不完全适用于定位质量的估计。在图 2 中,发现中心度得分较高的位置预测的边界框与 gt 的重叠较小。这主要是因为中心度得分较高的位置(黄色点)位于背景上,因此无法捕获足够的语义信息来预测准确的边界框。


对于具有不同外观的目标,固定的中心度分数不能总是提供对定位质量的可靠估计。作者称之为问题质量估计不一致。centerness score的引入可能会导致意想不到的小ground-truth标签,这使得一组gt框很难被召回。研究人员建议,IoU 得分将优于 centerness 得分。但是,IoU 分数在整个训练过程中是不断变化的,在训练初期极低。这样的动态值会使训练过程剧烈振动。


为了提高Anchor-free检测器的性能,本文提出了动态平滑标签分配(DSLA)方法。在 DSLA 中,使用了最初在 FCOS 中开发的中心概念,但有两个改进,即核心区和区间松弛。为每个gt框定义核心区域以保持足够的置信度分数,从而解决由于置信度分数小而忽略真实目标的问题。引入间隔松弛以克服分配标签的剧烈变化。在此基础上,将标签平滑为[0, 1]中的连续值,从而实现正样本和负样本之间的平稳过渡。


IoU 分数在训练过程中动态计算,并与中心分数相结合,以提供对定位质量的合理估计。因此,推导出动态平滑标签来监督分类分支。图 1(b) 显示了配备 DSLAFCOS 的划分结果。与 FCOS 相比,预测的分类分数与分配的目标更加一致。检测结果对比见图1(a)。可以看出,由于不一致性的解决,DSLA预测的边界框更加精确。真实目标的置信度得分明显增加。使用DSLA,分类分支不仅可以预测类别标签,还可以预测定位质量,可以直接用作NMS的排名分数。不再需要Anchor-free检测中常用的质量分支。因此,检测器的架构变得更加简洁,并且保持了训练和推理的一致性。


本文的贡献总结如下:

  1. 指出并分析分类和质量估计的不一致性。提出了动态平滑标签分配来解决这些问题。
  2. 提出区间松弛策略并结合改进的中心度得分。分配的标签被平滑到[0, 1]中的连续值,从而实现了正样本和负样本之间的稳定过渡。
  3. IoU 分数是动态计算的,并与平滑标签耦合以监督检测器的分类分支。在DSLA的监督下,不一致性问题大大缓解。
  4. 所提出的方法适用于流行的Anchor-free检测器。在MS COCO上进行了综合实验,证明了有效性。

2、本文方法

2.1、基于中心度的平滑标签分配

FCOS 使用5个level的特征图1675235232274.png来检测不同尺度的物体。对于特征级别 ,如果一个特征点落入一个 gt 框并且最大距离在预定义的范围内,则定义为正样本,需要对框进行回归。FCOS中的正负样本划分规则可以概括为:

b0db784877c9d777df6c08e0558d577f.png

其中,1675235280188.png是第级特征图上某一点的分配分数,1675235306524.png是定义范围的超参数,分别设置为1675235350245.png是从位置到边界框4边的距离。将表示1675235382160.png为max。

将该模型预测的分类置信度结合中心度得分作为NMS的最终排名评分。中心度得分的计算方法如下:

87b0768c8dada0cea8a8837ecf529046.png

顾名思义,中心度衡量的是距离box中心有多近的位置。如果位置和框中心完全重叠,则为该位置分配最高分1.0。然后随着位置偏离中心,分数逐渐衰减到 0.0。centerness score 的引入是为了抑制由远离目标中心的位置产生的低质量预测边界框。Centerness 与有效感受野 (ERF) 的概念是一致的,研究人员在此基础上指出,特征点会更加关注 RF 的中心区域。远离框中心的点无法捕获足够的语义信息来表示对象。从这个意义上说,中心度分数的空间分布是合理的。centerness 的使用极大地提升了 FCOS 的性能。如上所述,除法规则会导致不一致。那么,自然就产生了一个问题——是否可以将 centerness 作为分类置信度监督来处理不一致性?

e6aea5418f3c95676b712af5cb33a24a.png

在表 1 中说,只有将中心性分支合并到分类分支(表示为 Impr 0)才能带来 0.3% 的 mAP 改进。这支持了分析。但是,在对具有中心度的标签进行平滑处理时,需要考虑以下问题。

f4d5fb9b88b792dd9f480b47679597e1.png

如图 3 所示,通过中心度测量,正样本 B 被分配了一个相对较低的目标,因此其向负样本 A 的过渡是平滑的。然而,正样本 C 被分配了一个更高的目标。但对于其相邻的样本 D,目标急剧下降到 0.0,可能再次导致不一致。此外,由于位置恰好命中框中心的可能性很小,因此很难将中心度分数分配为最大值 1.0。这会导致意想不到的小置信度分数,这使得一组可能的 gt 框很难被召回。

为了解决这些问题,首先提出了区间松弛策略。对于1675235429743.png新的下界和上界被确定为:

d65730259d313a348216c144c96d1061.png

其中,1675235513458.png相关的下界和上界,则1675235538546.png为调整因子。注意,设置了1675235559652.png1675235578860.png,以避免无意义的边界。根据界限,进行区间放松,其中head得分表述为:

3ac2e448b8c97326429968c6ad2760d7.png

根据 Eq.3 和 Eq.4,位于新边界和旧边界之间的head分数被线性平滑,κ 是一个超参数,将在实验中进一步研究。

然后,对于每个 gt box,定义核心区域。给定一个表示为1675235620160.png  的 gt 框,其中1675235646173.png  和 1675235664118.png 分别是左上角和右下角的坐标。对于stride为 s 的特征图,区域 1675235682665.png 定义为:

48997fc77f7ef79c5a461beb52f1e280.png

该区域称为核心区,它是一个以stride为边长的正方形。FCOS 允许在不同level的特征图上预测相同的 gt 框。由于特征图的stride不同,一个gt框可能有多个大小不同的核心区域。对于落入核心区域的位置,中心度得分直接设置为 1.0。然后,中心度被重新表述为:

af48de2e9313765430846cf9643806e7.png

其中CP表示位置,Z是核心区。特征点与1675235714608.png方向的stride间隔有规律地对齐。值得注意的是,对于每个核心区域,至少有一个点落入其中,最高得分为 1.0。与原始形式相比,通过提高中心度可以获得更高的置信度分数。

通过计算出的head分数,head上每个位置的标签被平滑为:

d940abea28b1d52d896dd1acffc1d701.png

与直接使用中心度来平滑标签相比,该方法能更有效地在正样本和负样本之间进行平滑过渡。

请注意,一个位置可以被分配给多个gt框。FCOS只是选择面积最小的box作为目标,这是手工制作的和次优的。平滑的标签为解决模糊性问题提供了一种自然的方法。选择得分最高的方框作为预测目标。

2.2、基于IOU的动态标签分配

回归分支和分类分支是独立训练的。然而,在推理中,分类分支的输出分数被用作置信度来对回归分支预测的框进行排名。这导致训练和推理之间的错位。此外,分类分支完全由使用中心分数平滑的标签监督是不完全合适的。固定的中心度分数不能适应物体的各种形状和姿态以始终提供对定位质量的合理估计。


在以前的工作中,添加了一个单独的分支来预测用于推理中的 NMSIoU-score。在本文的工作中,IoU-score是通过在训练期间比较预测的 bboxgt bbox 来动态计算的,并耦合到分类分支中。

IoU-score通过乘法与中心分数相结合,以监督分类分支。Centerness 分数作为稳定训练的先验,特别是在早期阶段,而动态更新的 IoU-score可以合理地重塑分数分布以获得更好的 NMS 排名。此外,该策略可以使两个分支交互,以保持训练和推理的一致性。并且通过去除中心性分支,网络架构与 FCOS 相比更加简洁。


具体来说,IoU-score 耦合仅针对positive points。在每次训练迭代中,在线计算预测框和gt框之间的IoU-score,然后乘以中心度分数得到最终分数。最终得分由以下公式得出:

53259307041bae1820a5f927cfa11e57.png

其中IoU表示IoU-score

2.3、不一致性分析

卷积网络 1675235754688.png 由组合卷积层的列表表示:1675235802971.png其中1675235827162.png  表示第i卷积层,X 是输入张量。

假设两个相邻的位置 A 和 B 分别被识别为正样本和负样本。它们的 RF 表示为 RFARFB 是相似的,它们的 RF 的中心是1675235855235.png  和1675235878627.pngAnchor-free检测器的分类损失定义为

79723f7ebc74e919eb68378896df0196.png

其中,1675235906159.pngfocal loss, 表示正样本的数量,1675235925477.png 是网络预测的分类分数,参数 θ 用于位置 ,1675235941614.png 是目标。然后,得到以下关系

34fcc30b1c0c691ffcea486d1b1d3a04.png

其中1675236167004.png  是定义为1675236182581.png  的 sigmoid 函数。以下将 1675236197285.png1675236242174.png  分别简化为1675236261559.png。利用复合函数的链式法则推导出两个位置的梯度:

5eded6cbef6bfbcb0c839cfc68c87874.png

其中 α 和 γ 是超参数,设置为 0.25 和 2。对于每个位置,导出的梯度分为两部分,G 部分和 D 部分。例如,1675236293008.png可以表示为1675236311088.png,其中1675236333544.png分别代表梯度的G-part和D-part。

c10dc355af97d7adc6fc1f32392b4b95.png

1675236376234.png在梯度反向传播中起着重要作用。图 A.7(a) 显示了1675236376234.png如何作为预测分数的函数而变化。从图中注意到,1675236376234.png有不同的符号。如果预测分数大于 0.7(或小于 0.2),则由 A(或 B)导出的梯度很高,这在学习中占主导地位。如果分数在 [0.2, 0.7] 内,则使用两个相反的梯度训练网络。如果分数接近 0.5,则总梯度会因反作用而消失。当网络试图平衡完全不同的监督但具有相似的输入时,分类不一致可能归因于不一致的梯度(IG)。显然,IG的存在会导致学习效率低下并降低性能。

以平滑标签为监督对象,由GFL进行分类优化。这些梯度被均匀地推导出为:

478d790a755860e06f8b9070dc3ccafd.png

其中,y 是分配的平滑标签,1675236422732.png的简化。1675236376234.png曲线见图 A.7(b)。

分配标签的平滑变化只会导致梯度的小偏差。通过对比图 A.7(a) 和图 A.7(b) 中的曲线发现梯度的一致性得到了保证。因此,预测的分类分数与训练目标更加一致,如图 1 所示。因此,平滑标签通过解决 IG 极大地缓解了分类不一致性。

图 2 说明了质量估计不一致。NMS 中精度较低的黄框抑制了准确定位的绿框。通过与 IoU score 耦合,绿框比黄框具有更高的置信度,并在 NMS 后保持。与仅 centerness score 相比,结合 IoU score 可以提供更合理的定位质量估计。因此,推导出的动态平滑标签克服了质量估计不一致的限制。

2.4、DSLA在Anchor-free检测器中的应用

作者采用了与FCOS相似的网络,只是省略了中心度分支,如图4所示。

2edb58dce5ebe5a01776f28a8522020b.png

本文的方法只包括分类分支和回归分支。如前几节所述,使用同时涉及到改进的中心度评分和IoU-score的平滑标签来监督分类分支。与FCOS类似,在回归分支中,到Box四面的距离是回归的。损失函数为

0ee57cc73c3b160218ecd3a2cf4dfbf7.png

其中,1675236458325.png 是GFL, 1675236492615.png是 IoU 损失。1675236506165.png 表示正样本的数量,1675236518142.png是平衡1675236532375.png之间权重的超参数。 1675236550031.png是指示函数,如果 1675236565239.png 则为 1,否则为 0。

3、实验

3.1、SOTA对比

181ca40373652ca8739d2408ccc0c49c.png

3.2、即插即用提升

f88e72c2348ff988e9bf68337ee7db0b.png

3.3 可视化对比

1、FCOS

425dd0b14a2cb3299a38e6bc39fdfb2c.png

2、FoveaBox

a52f447282193d983d730d07e07bfd07.png

4、参考

[1].DSLA: Dynamic smooth label assignment for efficient anchor-free object detection

5、推荐阅读

432.4 FPS 快STDC 2.84倍 | LPS-Net 结合内存、FLOPs、CUDA实现超快语义分割模型

YOLOU开源 | 汇集YOLO系列所有算法,集算法学习、科研改进、落地于一身!

MobileDenseNet | 一步步打造全新的轻量化目标检测模型,让SSD继续发光发热

相关文章
|
Python
ROS节点检测ArUco标签并记录空间坐标
利用Realsense D435i相机检测ArUco标签,使用Python程序订阅相机的ROS话题,记录Time和标签的XYZ值,储存在一个csv文件中;当出现识别不到标签或者反馈坐标为0,0,0的情况时,不进行记录。
327 0
|
移动开发 文字识别 算法
论文推荐|[PR 2019]SegLink++:基于实例感知与组件组合的任意形状密集场景文本检测方法
本文简要介绍Pattern Recognition 2019论文“SegLink++: Detecting Dense and Arbitrary-shaped Scene Text by Instance-aware Component Grouping”的主要工作。该论文提出一种对文字实例敏感的自下而上的文字检测方法,解决了自然场景中密集文本和不规则文本的检测问题。
1954 0
论文推荐|[PR 2019]SegLink++:基于实例感知与组件组合的任意形状密集场景文本检测方法
|
2月前
|
机器学习/深度学习 Serverless 索引
分类网络中one-hot的作用
在分类任务中,使用神经网络时,通常需要将类别标签转换为一种合适的输入格式。这时候,one-hot编码(one-hot encoding)是一种常见且有效的方法。one-hot编码将类别标签表示为向量形式,其中只有一个元素为1,其他元素为0。
70 3
|
5月前
|
机器学习/深度学习 资源调度 Java
【YOLOv8改进 - 注意力机制】GC Block: 全局上下文块,高效捕获特征图中的全局依赖关系
YOLOv8专栏探讨了目标检测的创新改进,如整合NLNet和SENet优势的GCBlock,用于高效全局上下文建模。GCNet在多个识别任务中表现优越,同时降低了计算成本。文章提供了论文、代码链接及详细实现,包括特征的全局建模、变换和融合步骤。核心GCBlock代码展示了其结构。更多实战案例和配置见相关链接。
|
传感器 编解码 计算机视觉
使用星凸随机超曲面模型对扩展对象和分组目标进行形状跟踪(Matlab代码实现)
使用星凸随机超曲面模型对扩展对象和分组目标进行形状跟踪(Matlab代码实现)
154 0
使用星凸随机超曲面模型对扩展对象和分组目标进行形状跟踪(Matlab代码实现)
|
人工智能 计算机视觉
CVPR 2019|APCNet:基于全局引导的局部匹配度自适应金字塔上下文网络
不同物体可能有相似的特征,如木桌和椅子有相似的纹理,会造成歧义
180 0
CVPR 2019|APCNet:基于全局引导的局部匹配度自适应金字塔上下文网络
|
并行计算 算法 数据可视化
Anchor-Free即插即用标签分配 | 平滑标签分配+动态IoU匹配解决标签分配不一致(二)
Anchor-Free即插即用标签分配 | 平滑标签分配+动态IoU匹配解决标签分配不一致(二)
92 0
|
机器学习/深度学习 固态存储 计算机视觉
Anchor-Free即插即用标签分配 | 平滑标签分配+动态IoU匹配解决标签分配不一致(一)
Anchor-Free即插即用标签分配 | 平滑标签分配+动态IoU匹配解决标签分配不一致(一)
177 0
|
机器学习/深度学习 自动驾驶 算法
3D检测经典 | 第一个Anchor-Free、第一个NMS-Free 3D目标检测算法!!!(一)
3D检测经典 | 第一个Anchor-Free、第一个NMS-Free 3D目标检测算法!!!(一)
226 0
|
算法 计算机视觉
3D检测经典 | 第一个Anchor-Free、第一个NMS-Free 3D目标检测算法!!!(二)
3D检测经典 | 第一个Anchor-Free、第一个NMS-Free 3D目标检测算法!!!(二)
107 0

热门文章

最新文章