Anchor-Free即插即用

2023-11-03

点击下方卡片,关注“自动驾驶之心”公众号

ADAS巨卷干货,即可获取

后台回复【多模态综述】获取论文!

后台回复【ECCV2022】获取ECCV2022所有自动驾驶方向论文!

后台回复【领域综述】获取自动驾驶全栈近80篇综述论文!  

19bf5e054014dd7c16bc6fb2f3572321.png

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-freeAnchor-base的类别。正如 Faster R-CNN 所推广的那样,SSDRetinaNet 和 YOLO v2、v3 等主流检测器通常依赖一组预定义的Anchor框来枚举目标的可能位置、尺度和纵横比。尽管它们的性能很好,但检测器仅限于Anchor的设计。

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

YOLOv1 是一种流行的Anchor-free检测器。YOLOv1 没有使用Anchor,而是直接在目标中心附近的点处预测边界框。CornerNet 和 CenterNet 采用基于关键点的检测管道,检测边界框的一对角并将它们分组,形成最终检测到的绑定框。FCOSCenterNet 和 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 模型中以获得分类分数,其值由颜色表示。可以注意到,通常会为相邻位置分配完全不同的标签。

58640fd60987e5bb1dae29cb5ecf23fc.png

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

ad2d8ee44233e617b508215b9383b9a3.png

在 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检测中常用的质量分支。因此,检测器的架构变得更加简洁,并且保持了训练和推理的一致性。

本文的贡献总结如下:

  1. 指出并分析分类和质量估计的不一致性。提出了动态平滑标签分配来解决这些问题。

  2. 提出区间松弛策略并结合改进的中心度得分。分配的标签被平滑到[0, 1]中的连续值,从而实现了正样本和负样本之间的稳定过渡。

  3. IoU 分数是动态计算的,并与平滑标签耦合以监督检测器的分类分支。在DSLA的监督下,不一致性问题大大缓解。

  4. 所提出的方法适用于流行的Anchor-free检测器。在MS COCO上进行了综合实验,证明了有效性。

2、本文方法

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

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

6650313355976406790499c9b6aba027.png

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

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

97b98925ffc938eda39f8095d373eb85.png

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

c70ff21e9614c5c3a6ffe7ee704fbf52.png

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

e8da695f235f959d556ff3be2483053f.png

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

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

77e7d6a6ad8bf131de0fa2a6bac34cf8.png

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

3daf70d62aba13e14db5231b5a719403.png

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

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

c59e95c2af11bf4e2df9c3fbf18855f4.png

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

b9a21749adcf75a1ab17e61e714a29fb.png

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

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

f7c8f90cd61f77b326d4067d955a4d86.png

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

请注意,一个位置可以被分配给多个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,然后乘以中心度分数得到最终分数。最终得分由以下公式得出:

e16dfecaec07ff5215b7d7f7cc346b8f.png

其中IoU表示IoU-score

2.3、不一致性分析

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

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

52d1326bf40919608c58d35d2166e001.png

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

3d5098b0229e89557fdb4243402522de.png

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

20bf6acb5e351cdd78ce0bf45995a93c.png

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

2c1846ddd44856ea5121d57325d45441.png

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

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

adf13637a25919bf136309e570c7db4c.png

其中,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所示。

ea9392ba69c2c2188ec3c8b3733da55c.png

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

4d601cfced0008e02b7b8f0046bd704a.png

其中, 是GFL, 是 IoU 损失。 表示正样本的数量, 和  是平衡  和  之间权重的超参数。 是指示函数,如果  则为 1,否则为 0。

3、实验

3.1、SOTA对比

bd34b51ee94f3ac55370b226242931c3.png

3.2、即插即用提升

003ce6692a1dc62836f69333280983c6.png

3.3 可视化对比

1、FCOS

fcb3c5b9ba994a2d839dca9253cfd067.png

2、FoveaBox

f6fc098cadfed968f3e59e75fe98548d.png

4、参考

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

自动驾驶之心】全栈技术交流群

自动驾驶之心是首个自动驾驶开发者社区,聚焦目标检测、语义分割、全景分割、实例分割、关键点检测、车道线、目标跟踪、3D感知、多传感器融合、SLAM、高精地图、规划控制、AI模型部署落地等方向;

加入我们:自动驾驶之心技术交流群汇总!

自动驾驶之心【知识星球】

想要了解更多自动驾驶感知(分类、检测、分割、关键点、车道线、3D感知、多传感器融合、目标跟踪)、自动驾驶定位建图(SLAM、高精地图)、自动驾驶规划控制、领域技术方案、AI模型部署落地实战、行业动态、岗位发布,欢迎扫描下方二维码,加入自动驾驶之心知识星球(三天内无条件退款),日常分享论文+代码,这里汇聚行业和学术界大佬,前沿技术方向尽在掌握中,期待交流!

e434a694e9334d346c6bdda7dea0753e.jpeg

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Anchor-Free即插即用 的相关文章

随机推荐

  • SQL grouping sets 子句

    grouping sets子句允许你指定多个group by 选项 增强了group by 的功能 可以通过一条select 语句实现复杂繁琐的多条select 语句的查询 并且更加的 高效 解析存储一条SQL于语句 下面通过使用 grou
  • 图像分割高铁扣件

    图像分割 针对高铁扣件 在对图像的研究和应用中 人们往往仅对图像中的某些部分感兴趣 这些部分通常被称为前景或目标 其余部分则称为背景 目标一般对应于图像中特定的 具有独特性质的区域 独特性质可以是像素的灰度值 物体轮廓曲线 颜色和纹理等 为
  • GBDT(GBM)调参方法

    GBM参数 总的来说GBM的参数可以被归为三类 树参数 调节模型中每个决定树的性质 Boosting参数 调节模型中boosting的操作 其他模型参数 调节模型总体的各项运作 GBDT类库弱学习器参数 即定义一个决定树所需要的参数 由于G
  • 【源码分析】zeebe actor模型源码解读

    zeebe actor 模型 如果有阅读过zeebe 源码的朋友一定能够经常看到actor run 之类的语法 那么这篇文章就围绕actor run 方法 说说zeebe actor 的模型 环境 zeebe release 8 1 14
  • Java统一返回结果自动封装组件【Response-boxing】

    0 需求 统一封装返回结果 包括code message data数据 不用手动封装 通过自定义注解标记即实现封装 如果controller结果已经手动封装 则不重复封装 1 项目结构 2 创建自定义注解 import java lang
  • Paxos算法的java实现demo(只是为了简单的测试)

    Paxos 的概念我就不在这里啰嗦了 网上有很多优秀的博客 下面是我推荐的一个写的比较好的 https www cnblogs com linbingdong p 6253479 html 我们直接上代码吧 代码里面都有注释 先看一下项目结
  • 基于mulitisim14仿真的数字电子称

    参考了下面的文章做了一个数字电子称 https www renrendoc com paper 119413660 html 仿真如下 需要仿真文件的私聊
  • 中国工程院院士郑纬民:元宇宙是一个赋能实体经济的重要新赛道

    2022年3月31日 元宇宙产业委共同主席郑纬民院士在第三届元宇宙产业论坛发表了题为 元宇宙创新应用全面启航 算力是基础 的演讲 以下为郑纬民院士的演讲全文 今年全国两会中一些代表和委员提出了关于元宇宙的建议和提案 说明元宇宙已经得到了大家
  • 吉林大学超星MOOC学习通高级语言程序设计 C++ 实验04 数组及其在程序设计中的应用(2021级)(1)

    1 索引数组排序 题目编号 Exp04 Enhance04 GJBook3 06 21 题目名称 索引数组排序 题目描述 已知n n 100 个元素的整型数组 A 未排序 一个索引数组 B 保存 A 的下标 编写程序 在不改变数组A的情况下
  • Unikernels 解读

    转载于https zhuanlan zhihu com p 29053035 Unikernels Beyond Containers to the Next Generation of Cloud是 Russ Pavlicek的一本动物书
  • (Animator详解二)Unity Animator的基本属性

    在Inspector下 Animator的第一项为状态机的名称 注意 这里的名称不是动画名称 Tag 当前动画的Tag标签 可以通过Tag值来处理一些逻辑 Motion 动画片段的名称 Speed 动画的播放速度 1表示正常播放 speed
  • spring一些捞到的东西

    spring指令重排和多线程 原来在编写程序的时候要考虑这么多东西 要想清楚每一个代码 每一个线程在哪执行 还有要懂得jvm 的一些优化的 任重而道远啊 单例模式 只允许一个实例的存在 构造函数是私有的 对外提供获取实例的方法 getIns
  • CSS -网页动画

    目录 制作网页动画 1 CSS变形 2 CSS过渡 3 CSS动画 4 总结 制作网页动画 1 CSS变形 CSS3变形是一些效果的集合 如平移 旋转 缩放 倾斜效果 每个效果都可以称为变形 transform 它们可以分别操控元素发生平移
  • 第七十六篇 MIPI简单说明

    MIPI 移动行业处理器接口 是Mobile Industry Processor Interface的缩写 MIPI是MIPI联盟发起的为移动应用处理器制定的开放标准 目的是把手机内部的接口如摄像头 显示屏接口 射频 基带接口等标准化 从
  • c++之重载函数学习总结

    一 C 中的函数重载 1 函数重载的概念 用同一个函数名定义不同的函数 当函数名和不同的参数搭配时函数的含义不同 注意 在c语言中是没有函数重载这个概念的 代码示例演示 include
  • 用Flutter实现GaiaControl BLE OTA升级功能,支持Android/IOS

    代码基本移植官方GaiaControl Demo 支持RWCP 断点续传 设置蓝牙mtu 协议 这里主要分析GAIA CSR ble ota的过程 协议等等 希望对你有所帮助 这里对蓝牙服务特性订阅都不谈 读者自行了解 Gaia 是CSR
  • DM8锁查询及解决

    锁模拟 session1 与 session2同时对表t2的col1 200的列进行更新 但不提交 session1 SQL gt create table t1 col1 int SQL gt create table t2 col1 i
  • Select For update语句浅析

    Select forupdate语句是我们经常使用手工加锁语句 通常情况下 select语句是不会对数据加锁 妨碍影响其他的DML和DDL操作 同时 在多版本一致读机制的支持下 select语句也不会被其他类型语句所阻碍 借助for upd
  • chi square-卡方分布的定义及性质

    chi square 卡方分布的定义及性质 摘要 2 chi 2 2分布 卡方分布 的定义 g
  • Anchor-Free即插即用

    点击下方卡片 关注 自动驾驶之心 公众号 ADAS巨卷干货 即可获取 后台回复 多模态综述 获取论文 后台回复 ECCV2022 获取ECCV2022所有自动驾驶方向论文 后台回复 领域综述 获取自动驾驶全栈近80篇综述论文 Anchor