Anchor-Free即插即用标签分配 | 平滑标签分配+动态IoU匹配解决标签分配不一致
共 6931字,需浏览 14分钟
·
2022-08-02 20:53
![](https://filescdn.proginn.com/e78810ecc8463a1bf733ecb520a72472/01a431043c985150d8d59a47173c24be.webp)
Anchor-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-free
和Anchor-base
的类别。正如 Faster R-CNN
所推广的那样,SSD
、RetinaNet
和 YOLO v2、v3
等主流检测器通常依赖一组预定义的Anchor
框来枚举目标的可能位置、尺度和纵横比。尽管它们的性能很好,但检测器仅限于Anchor
的设计。
最近,Anchor-free
检测器逐渐引领了目标检测的趋势,它直接学习目标可能性和边界框坐标,无需Anchor
参考。与基Anchor-base
检测器相比,Anchor-free
检测器摆脱了与Anchor
相关的超参数和复杂计算,使训练过程相当简单。
YOLOv1
是一种流行的Anchor-free
检测器。YOLOv1
没有使用Anchor
,而是直接在目标中心附近的点处预测边界框。CornerNet
和 CenterNet
采用基于关键点的检测管道,检测边界框的一对角并将它们分组,形成最终检测到的绑定框。FCOS
、CenterNet
和 FoveaBox
以逐像素预测方式制定目标检测。
为了训练检测器,定义正样本和负样本是一个必要但重要的过程,它直接影响训练效率,从而影响性能。需要仔细考虑这个问题,尤其是对于Anchor-free
检测器,而Anchor-base
检测器根据联合交集(IoU
)值将Anchor
分为正样本和负样本。
以前的Anchor-free
检测器通常采用单一的固定划分标准。也就是说,正样本和负样本根据手工规则和几个预定义的阈值进行划分。例如,YOLOv1
将输入图像划分为网格。如果一个物体的中心落入一个网格单元中,那么那个网格单元被认为是正的并且负责检测那个物体。
CornerNet
仅将 ground-truth
(gt) 角位置视为正数,而所有其他位置均为负数。但是在正位置半径内的负位置的损失被降低了权重。FCOS
和 Foveabox
将任何 gt
目标的中心区域或边界框内的位置视为正候选框。然而,这种静态策略不能适应物体的各种形状和姿态,以始终提供最佳的正/负划分。ATSS
提出动态分配策略根据 IoU
值的统计为每个 gt
设置划分边界。OTA
试图通过解决最优传输问题来寻找全局最优划分策略。不幸的是,大多数方法都是基于Anchor
的,不能直接应用于Anchor-free
点检测器。同时,Anchor-free
检测器中出现的不一致问题没有得到足够的重视,下面将以FCOS
为例进行详细说明。
FCOS
对多级特征图上的每个位置进行预测。如果该位置的感受野 (RF
) 的中心落入一个 gt
框,则计算从该中心到该框4个边的距离。如果最大距离在预定义的范围内,则将该位置设置为正样本,并且需要对框进行回归。图 1(b) 显示了样本划分的一个示例。输入图像被输入到经过训练的 FCOS
模型中以获得分类分数,其值由颜色表示。可以注意到,通常会为相邻位置分配完全不同的标签。
![](https://filescdn.proginn.com/8db728e4d72b1485ffdf818ca403d331/b65c68b22340724920be6f16e2303418.webp)
在图 1(b) 中考虑这些位置的分类分数。在预测“球拍”和“球”的特征图上,相邻位置具有相似的分数,但分配有不同的标签。显然,这与预期不符。作者将此问题称为分类不一致。还可以观察到,在预测“人”的特征图上,分数是不一致的。这是由于特征图的步幅不同。作者认为,分类不一致是由具有相似 RF
但分配了完全不同的监督的相邻样本引起的。这种不一致会阻止检测器学习更有效的对象表示,从而降低性能,如图 1(a) 所示。centerness score
的引入在一定程度上解决了分类分数相似带来的问题。然而,centerness score
仅用于 NMS
在推理时的排序过程中,在训练中仍然存在不一致的情况。
![](https://filescdn.proginn.com/60ad86ddc7f795ef2baef18df5360b5e/16960653faf764edf3ffe805ceeca2f4.webp)
在 FCOS
中,中心度用于估计定位质量。该分数被预测并与分类置信度相结合作为NMS
的最终排名分数。尽管有所改进,但中心度得分并不完全适用于定位质量的估计。在图 2 中,发现中心度得分较高的位置预测的边界框与 gt
的重叠较小。这主要是因为中心度得分较高的位置(黄色点)位于背景上,因此无法捕获足够的语义信息来预测准确的边界框。
对于具有不同外观的目标,固定的中心度分数不能总是提供对定位质量的可靠估计。作者称之为问题质量估计不一致。centerness score
的引入可能会导致意想不到的小ground-truth
标签,这使得一组gt
框很难被召回。研究人员建议,IoU
得分将优于 centerness
得分。但是,IoU
分数在整个训练过程中是不断变化的,在训练初期极低。这样的动态值会使训练过程剧烈振动。
为了提高Anchor-free
检测器的性能,本文提出了动态平滑标签分配(DSLA
)方法。在 DSLA
中,使用了最初在 FCOS
中开发的中心概念,但有两个改进,即核心区和区间松弛。为每个gt
框定义核心区域以保持足够的置信度分数,从而解决由于置信度分数小而忽略真实目标的问题。引入间隔松弛以克服分配标签的剧烈变化。在此基础上,将标签平滑为[0, 1]中的连续值,从而实现正样本和负样本之间的平稳过渡。
IoU
分数在训练过程中动态计算,并与中心分数相结合,以提供对定位质量的合理估计。因此,推导出动态平滑标签来监督分类分支。图 1(b) 显示了配备 DSLA
的 FCOS
的划分结果。与 FCOS
相比,预测的分类分数与分配的目标更加一致。检测结果对比见图1(a)。可以看出,由于不一致性的解决,DSLA
预测的边界框更加精确。真实目标的置信度得分明显增加。使用DSLA
,分类分支不仅可以预测类别标签,还可以预测定位质量,可以直接用作NMS
的排名分数。不再需要Anchor-free
检测中常用的质量分支。因此,检测器的架构变得更加简洁,并且保持了训练和推理的一致性。
本文的贡献总结如下:
指出并分析分类和质量估计的不一致性。提出了动态平滑标签分配来解决这些问题。
提出区间松弛策略并结合改进的中心度得分。分配的标签被平滑到[0, 1]中的连续值,从而实现了正样本和负样本之间的稳定过渡。
IoU
分数是动态计算的,并与平滑标签耦合以监督检测器的分类分支。在DSLA的监督下,不一致性问题大大缓解。所提出的方法适用于流行的
Anchor-free
检测器。在MS COCO
上进行了综合实验,证明了有效性。
2、本文方法
2.1、基于中心度的平滑标签分配
FCOS
使用5个level的特征图来检测不同尺度的物体。对于特征级别 ,如果一个特征点落入一个 gt
框并且最大距离在预定义的范围内,则定义为正样本,需要对框进行回归。FCOS
中的正负样本划分规则可以概括为:
![](https://filescdn.proginn.com/dbe46c607f138e2200e7e1d7adadcc76/45e3c728a588d8ab9b8fe1e8791f0e77.webp)
其中,是第级特征图上某一点的分配分数,。是定义范围的超参数,分别设置为。、、和是从位置到边界框4边的距离。将表示为max。
将该模型预测的分类置信度结合中心度得分作为NMS
的最终排名评分。中心度得分的计算方法如下:
![](https://filescdn.proginn.com/92c39c5f881ee72345fe447ce41c0ed7/a76d600ebf8ffa0d102fe94ac52cfe45.webp)
顾名思义,中心度衡量的是距离box
中心有多近的位置。如果位置和框中心完全重叠,则为该位置分配最高分1.0。然后随着位置偏离中心,分数逐渐衰减到 0.0。centerness score
的引入是为了抑制由远离目标中心的位置产生的低质量预测边界框。Centerness
与有效感受野 (ERF
) 的概念是一致的,研究人员在此基础上指出,特征点会更加关注 RF
的中心区域。远离框中心的点无法捕获足够的语义信息来表示对象。从这个意义上说,中心度分数的空间分布是合理的。centerness
的使用极大地提升了 FCOS
的性能。如上所述,除法规则会导致不一致。那么,自然就产生了一个问题——是否可以将 centerness
作为分类置信度监督来处理不一致性?
![](https://filescdn.proginn.com/bbe2e017685bf4ba83a6c6ef426c1c31/42cfa532302d4e551c241cd1ade7c32c.webp)
在表 1 中说,只有将中心性分支合并到分类分支(表示为 Impr 0)才能带来 0.3% 的 mAP
改进。这支持了分析。但是,在对具有中心度的标签进行平滑处理时,需要考虑以下问题。
![](https://filescdn.proginn.com/abc6c2b69300d888819e0a15ee00299c/90de933ef15f3ce0a83b119b7c4ea2cf.webp)
如图 3 所示,通过中心度测量,正样本 B 被分配了一个相对较低的目标,因此其向负样本 A 的过渡是平滑的。然而,正样本 C 被分配了一个更高的目标。但对于其相邻的样本 D,目标急剧下降到 0.0,可能再次导致不一致。此外,由于位置恰好命中框中心的可能性很小,因此很难将中心度分数分配为最大值 1.0。这会导致意想不到的小置信度分数,这使得一组可能的 gt
框很难被召回。
为了解决这些问题,首先提出了区间松弛策略。对于,新的下界和上界被确定为:
![](https://filescdn.proginn.com/5318c76fc0b0ff7334d73f30652f38cc/2b21c537d370ca80a9b833c68acce401.webp)
其中,和为与相关的下界和上界,则为调整因子。注意,设置了和,以避免无意义的边界。根据界限,进行区间放松,其中head得分表述为:
![](https://filescdn.proginn.com/ab7ef3fde08b9c9191b42d072a7cfdac/659d2d0689abdc8d4b1bfc2b1ee4a565.webp)
根据 Eq.3 和 Eq.4,位于新边界和旧边界之间的head分数被线性平滑,κ 是一个超参数,将在实验中进一步研究。
然后,对于每个 gt box
,定义核心区域。给定一个表示为 的 gt
框,其中 和 分别是左上角和右下角的坐标。对于stride
为 s 的特征图,区域 定义为:
![](https://filescdn.proginn.com/f3e414db771258a4a7fdb508f8f40aa0/d6e38c861ee5fa5639ee3181edaac7e9.webp)
该区域称为核心区,它是一个以stride
为边长的正方形。FCOS
允许在不同level的特征图上预测相同的 gt
框。由于特征图的stride
不同,一个gt
框可能有多个大小不同的核心区域。对于落入核心区域的位置,中心度得分直接设置为 1.0。然后,中心度被重新表述为:
![](https://filescdn.proginn.com/82ddbd982dfbc68631cd34a99850cc46/91bf2fb6ad2ab07e3ca7be0fdd5a2974.webp)
其中CP
表示位置,Z
是核心区。特征点与 和 方向的stride
间隔有规律地对齐。值得注意的是,对于每个核心区域,至少有一个点落入其中,最高得分为 1.0。与原始形式相比,通过提高中心度可以获得更高的置信度分数。
通过计算出的head分数,head上每个位置的标签被平滑为:
![](https://filescdn.proginn.com/f68529a51594f0469174befe8045e734/91ebcc966eeba2040e60b1e02335b94b.webp)
与直接使用中心度来平滑标签相比,该方法能更有效地在正样本和负样本之间进行平滑过渡。
请注意,一个位置可以被分配给多个gt
框。FCOS
只是选择面积最小的box作为目标,这是手工制作的和次优的。平滑的标签为解决模糊性问题提供了一种自然的方法。选择得分最高的方框作为预测目标。
2.2、基于IOU的动态标签分配
回归分支和分类分支是独立训练的。然而,在推理中,分类分支的输出分数被用作置信度来对回归分支预测的框进行排名。这导致训练和推理之间的错位。此外,分类分支完全由使用中心分数平滑的标签监督是不完全合适的。固定的中心度分数不能适应物体的各种形状和姿态以始终提供对定位质量的合理估计。
在以前的工作中,添加了一个单独的分支来预测用于推理中的 NMS
的 IoU-score
。在本文的工作中,IoU-score
是通过在训练期间比较预测的 bbox
和 gt bbox
来动态计算的,并耦合到分类分支中。
IoU-score
通过乘法与中心分数相结合,以监督分类分支。Centerness
分数作为稳定训练的先验,特别是在早期阶段,而动态更新的 IoU-score
可以合理地重塑分数分布以获得更好的 NMS
排名。此外,该策略可以使两个分支交互,以保持训练和推理的一致性。并且通过去除中心性分支,网络架构与 FCOS
相比更加简洁。
具体来说,IoU-score
耦合仅针对positive points
。在每次训练迭代中,在线计算预测框和gt
框之间的IoU-score
,然后乘以中心度分数得到最终分数。最终得分由以下公式得出:
![](https://filescdn.proginn.com/7727ce6b46ddb2afb62edc94808d5183/13cc3e519c459803b9180dfffe859789.webp)
其中IoU
表示IoU-score
。
2.3、不一致性分析
卷积网络 由组合卷积层的列表表示:,其中 表示第i卷积层,X 是输入张量。
假设两个相邻的位置 A 和 B 分别被识别为正样本和负样本。它们的 RF
表示为 RFA
和 RFB
是相似的,它们的 RF
的中心是 和 。Anchor-free
检测器的分类损失定义为
![](https://filescdn.proginn.com/867ac5c4fd648d74cd82459679d355f1/751789ba9964fa8bd3c8f9c28e10d917.webp)
其中, 是focal loss
, 表示正样本的数量, 是网络预测的分类分数,参数 θ 用于位置 , 是目标。然后,得到以下关系
![](https://filescdn.proginn.com/7e3a557dfbe9f417f018691b79bc5203/6ae483ae50d7aff22db67bc4fa8127d0.webp)
其中 是定义为 的 sigmoid
函数。以下将 和 分别简化为 和 。利用复合函数的链式法则推导出两个位置的梯度:
![](https://filescdn.proginn.com/1df78e1ca7a831cff01ce9f989c340be/662a1fed08791eda71fd2945cc7058fc.webp)
其中 α 和 γ 是超参数,设置为 0.25 和 2。对于每个位置,导出的梯度分为两部分,G 部分和 D 部分。例如,可以表示为,其中和分别代表梯度的G-part和D-part。
![](https://filescdn.proginn.com/1d992e7a9ef3593bdce7801ff2be67a1/04de1b03ce64adc9836782f30239ce9d.webp)
和在梯度反向传播中起着重要作用。图 A.7(a) 显示了和如何作为预测分数的函数而变化。从图中注意到,和有不同的符号。如果预测分数大于 0.7(或小于 0.2),则由 A(或 B)导出的梯度很高,这在学习中占主导地位。如果分数在 [0.2, 0.7] 内,则使用两个相反的梯度训练网络。如果分数接近 0.5,则总梯度会因反作用而消失。当网络试图平衡完全不同的监督但具有相似的输入时,分类不一致可能归因于不一致的梯度(IG)。显然,IG的存在会导致学习效率低下并降低性能。
以平滑标签为监督对象,由GFL进行分类优化。这些梯度被均匀地推导出为:
![](https://filescdn.proginn.com/1577aea3392c0186e8563fda42161f1b/4f5a828f50b5c8ccd1e65a512222282e.webp)
其中,y 是分配的平滑标签,是 的简化。和曲线见图 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所示。
![](https://filescdn.proginn.com/5343ba8868598c2b25d8979b5b8246eb/91c06a21316f1e40006afff7c4305187.webp)
本文的方法只包括分类分支和回归分支。如前几节所述,使用同时涉及到改进的中心度评分和IoU-score
的平滑标签来监督分类分支。与FCOS
类似,在回归分支中,到Box四面的距离是回归的。损失函数为
![](https://filescdn.proginn.com/56f59d272d15b9eabef808578d41a086/bdbff5010e6804391d099e4f559770a8.webp)
其中, 是GFL, 是 IoU 损失。 表示正样本的数量, 和 是平衡 和 之间权重的超参数。 是指示函数,如果 则为 1,否则为 0。
3、实验
3.1、SOTA对比
![](https://filescdn.proginn.com/da9af8cd67b42bf25586367a3a853e7f/6ceb277962f6684fbff5092cd1d30a84.webp)
3.2、即插即用提升
![](https://filescdn.proginn.com/35511e37c13770adae3423ff6b45d3d7/a1d929ba8225a179e7cda78980568d75.webp)
3.3 可视化对比
1、FCOS
![](https://filescdn.proginn.com/5c8347cccbc92eb83f0895f84890972e/e53dbcd04b23529368e37c3889b15968.webp)
2、FoveaBox
![](https://filescdn.proginn.com/2ce7ad36136e7d632d0d92bf6e2dcd74/855e3b3fe96de5ebb850b13145cb4131.webp)
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继续发光发热
长按扫描下方二维码添加小助手。
可以一起讨论遇到的问题
声明:转载请说明出处
扫描下方二维码关注【集智书童】公众号,获取更多实践项目源码和论文解读,非常期待你我的相遇,让我们以梦为马,砥砺前行!
![](https://filescdn.proginn.com/59671266f78730f8b8f4b2e9045923bd/91da9fabbfde4b80070e591e6c27e0e1.webp)