52.1 %AP!AutoAssign:Anchor-free最强检测网络!密集目标检测的可微标签分配

本文主要是介绍52.1 %AP!AutoAssign:Anchor-free最强检测网络!密集目标检测的可微标签分配,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

点击关注上方“AI公园”,并“星标”公号

技术硬文,第一时间送达!

AI公园

AutoAssign:以52.1%的AP成就最强Anchor-free目标检测网络!用于密集目标检测的可微标签分配,模型表现SOTA!优于所有现有的一级检测器,如ATSS、FreeAnchor和FCOS等网络,注:并没有成功收录到ECCV 2020。

作者团队:旷视研究院

1

摘要

在本文中,我们提出了一种具有完全differentiable标签分配策略的anchor-free目标检测器,称为AutoAssign。

它通过生成正负权重图来动态修改每个位置的预测,从而自动确定正样本/负样本。具体来说,我们提供了一个中心加权模块来调整特定于类别的先验分布,以及一个置信度加权模块来适应每个实例的特定分配策略。整个标签分配过程是可微的,不需要其他修改即可迁移到不同的数据集和任务。

在MS COCO上进行的大量实验表明,我们的方法以各种主干的AP稳定地超过了其他最佳采样策略〜1%。此外,我们最好的模型可达到52.1%的AP,优于所有现有的一级检测器。此外,对其他数据集PASCAL VOC,Objects365和WiderFace的实验证明了AutoAssign的广泛适用性。

2

主要思路

2.1 检测现状

检测需要密集的提取正负样本,而根据它们的空间位置进行正负样本分配的过程,称之为标签分配。现代基于cnn的检测器通常采用多尺度特征(如FPN[10])来缓解尺度方差,因此标签分配不仅需要在空间特征映射图中选择位置,还需要选择合适尺度的特征。

(1)Anchor-based检测器

如RetinaNet在每个位置预设几个不同尺度和纵横比的anchor,根据交并比(IoU)排序来选择合适的正负样本。

(2)Anchor-free检测器

如FCOS等无锚探测器对每个目标采样中心面积的固定比例作为空间正位置,并根据预先定义的尺度约束选取FPN的某一阶段。

这些检测器遵循对象的先验分布来设计它们的分配策略。

2.2 发现问题

在现实世界中,物体的外观会因类别和场景的不同而有很大差异,如图2所示。固定中心采样策略可以选择外部对象为正的位置。直观上,物体上的采样位置比普通背景要好,因为这些位置容易产生更高的分类置信度。另一方面,虽然CNN可以学习偏移量,但是当背景采样为正时,feature shift造成的障碍可能会降低性能。
因此,上述固定策略可能并不总是在空间和规模上选择最合适的位置。

2.3 解决思路

在这项工作中,我们提出了一个完全可微策略的标签分配。如图1所示。

  • 首先遵循像FCOS这样的无锚方式,在没有人为设计锚的情况下在每个位置上直接预测对象。

  • 为了为进一步优化保留足够的位置,首先将边界框内的所有位置在所有尺度级别上都视为正候选和负候选。然后生成正权值和负权权值映射对训练损失进行修正。

  • 为了适应不同类别和领域的分布,提出了一个分类加权模块,名为中心加权,从数据中学习每个类别的分布。

  • 为了适应每一种姿态的外观和尺度,提出了一个置信加权模块来在空间和尺度维度上对位置的正置信和负置信进行建模。

  • 然后结合这两个模块来生成所有位置的正权值映射和负权值映射。加权的整个过程是可微的,可以通过反向传播方便进行优化。

2.4 本文贡献

1. 针对密集目标检测,提出了一种新的可微标签分配策略——自动分配算法。此外,可学习范式使它能够在不进行任何修改的情况下转换到不同的数据集和任务。

2. 两个加权模块,即在空间和尺度两个维度上,提出了中心加权和置信加权,以自适应地增加特定类别的分布和特定实例的采样策略。

3.在具有挑战性的MS COCO[12]数据集和来自不同领域的其他数据集(如pascal VOC[3,4]、Object365[19]和宽面[22])上进行了具有竞争性结果的广泛实验,证明了自动分配的有效性和广泛适用性。

3

AutoAssign

3.1 Overview

标签分配是一个完全数据驱动的方式。它从头开始构建,没有传统的组件,例如锚点、IoU阈值、top-k或scale范围,而是直接使用网络预测动态调整每个位置的正/负置信度。

为了优化整个标签分配过程,我们提出了一个完全可区分的策略,在空间和尺度上动态调整特定类别和特定实例的采样策略。策略框架如图3所示。

首先采用FCOS等无锚方式,放弃预先设计的锚,直接预测每个有限元位置上的对象。对于每个实例,我们在它的边界框中保留了所有缩放级别的位置,包括正、负。

然后生成正权值和负权值图w+和w−,以精确地修正训练中对正、负权值的预测。因此,我们将整个分配步骤转换为两个权值映射。

为了适应不同类别的分布,提出了一个名为center weights的分类和依赖数据的权重模块。它先从标准中心开始,然后从数据中学习每个类别的分布。

为了适应每种姿态的外观和尺度,进一步提出了一个实例加权模型,称为置信加权。它根据每个目标的预测置信度,动态地对目标在空间和尺度上的位置进行加权。最后,结合两个权重模块来生成所有位置的正权值和负权值。给定一个对象n,我们构建应用整个加权机制后的训练损失如下式所示:


3.2 Center Weighting

先验分布是标签分配的基本要素,特别是在训练的早期阶段。一般来说,物体的分布以中心优先为主。然而,来自不同类别的对象,例如长颈鹿和人类可能有不同的分布。保持采样中心的位置不能捕捉实际实例的不同分布。对于不同类别的对象,自适应中心分布更适合去血缘化。基于中心先验,我们引入了一个具有可学习参数的分类高斯形状加权函数G。“分类的方式”是指每个类别都有其独特的参数(μ,σ),而同一类别的所有对象共享相同的参数。这里我们将G定义为:

直观地,~u控制每个类别的中心距框中心的偏移量。并且~σ根据类别特征来衡量每个位置的重要性。因此,~σ决定了在用合理的权重下有多少位置会有效地导致正损失。
还需要注意的是,G适用于所有FPN阶段。由于同一类别的对象可以具有任意大小或长宽比,因此最合适的位置可以在任何FPN阶段。此外,为了补偿不同的FPN降采样率所带来的干扰,我们根据FPN各阶段的降采样率对距离~d进行了归一化。

3.3 Confidence Weighting

现有的动态策略在设计时考虑到网络可以很容易地获得高置信度的合适样本,同时倾向于对次样本进行低置信度的预测。其中,置信度指标分别在尺度选择和空间分配(锚一致性)中被证明是有效的。在置信度加权中,我们提出了分类和局部化的联合置信度指标来指导空间和尺度上的加权策略。

  • Classification confidence

给定一个空间位置,其分类的置信度可以自然定义为Pi(cls|θ)式中为模型参数。然而,为了确保考虑到所有合适的位置,我们首先考虑了盒子内的所有空间位置。由于一个对象很难完全填满它的边框,初始的正集往往会包含相当一部分背景位置。如果一个位置实际上是背景,那么该位置中的所有类谓词都应该是不合理的。因此,将太多的低背景位置作为正确率将损害检测性能。

为了抑制来自劣质位置的假正样本,引入了一个新的Implicit-Objectness分支,如图3所示。它的工作原理与RPN[17]和YOLO[14]中的Objectness一样,是一个基于前景和背景的二元分类任务。但这里存在缺乏明确标签的问题。RPN和YOLO采用预先定义的赋值,带有一致的正标签,而我们需要动态地寻找和强调适当的正标签。因此,我们将Objectness和classification分支一起优化,因此它不需要显式标签。这就是为什么它被称为隐含对象(ImpObj)。对于位置i∈Sn,应用ImpObj后,可以定义分类置信度Pi(cls|θ):

  • joint confidence modeling

为了生成每个位置的正/负无偏估计,除了分类之外,还应该包括定位置信度。典型的本地化输出是框偏移量,很难直接度量回归置信度。将局部化损失Lloci(θ) 转化为似然Pi(loc|θ)它可以由loss Li(θ)推导如下。在不失一般性的前提下,本文采用二元交叉熵(BCE)损失进行分类。

  • Weighting function

在联合置信表示Pi(θ)的基础上,我们将置信加权函数C(Pi)以指数形式提出,以强调包含高度置信对象的位置为:

3.4 Weight Maps

  • Positive weights

给定一个目标i,对于其边框内的所有位置,应该关注正确的位置,并做出更准确的预测。然而,在训练过程的开始,网络参数被随机初始化,使得其预测的置信区间不合理。因此,来自先验的指导信息也很重要。对于位置i∈Sn,我们将中心权重模块的特定类别先验G(~di)和置信度权重模块C(Pi)组合在一起,生成正权重wi+为:

  • Negative weights

一个边界盒通常包含一定数量的真实背景位置,我们还需要加权的负损失来抑制这些位置,消除假positive标签。此外,由于方框内的位置总是倾向于预测positive的高置信度,我们倾向于使用位置信度来生成无偏假positive label。矛盾的是,负分类对回归任务没有梯度,这意味着位置信度不应该进一步优化。因此,我们在每个位置的预测建议和所有对象之间使用IoUs来生成我们的负权值wi- as

3.5 Loss Function

通过生成正权和负权映射,实现了为每个实例动态分配更合适的空间位置和自动选择合适的FPN阶段的目的。由于权重映射会导致训练损失,因此以可微的方式处理标签分配。AutoAssign的最终损失函数:

S表示所有尺度上的所有位置。因此对于边界盒内的某个位置,正损失和负损失都将以不同的权重进行计算。这与其他标签分配策略有很大的不同。为了处理负位置之间的不平衡问题,采用了focal loss。

4

实验结果

4.1 消融实验

  • Center weighting and confidence weighting

中心权重和置信权重的贡献

  • Analysis of center weighting

  • Analysis of confidence weighting

4.2 SOTA对比实验

COCO数据集:

请长按或扫描二维码关注本公众号

喜欢的话,请给我个在看吧

这篇关于52.1 %AP!AutoAssign:Anchor-free最强检测网络!密集目标检测的可微标签分配的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1080715

相关文章

综合安防管理平台LntonAIServer视频监控汇聚抖动检测算法优势

LntonAIServer视频质量诊断功能中的抖动检测是一个专门针对视频稳定性进行分析的功能。抖动通常是指视频帧之间的不必要运动,这种运动可能是由于摄像机的移动、传输中的错误或编解码问题导致的。抖动检测对于确保视频内容的平滑性和观看体验至关重要。 优势 1. 提高图像质量 - 清晰度提升:减少抖动,提高图像的清晰度和细节表现力,使得监控画面更加真实可信。 - 细节增强:在低光条件下,抖

【Prometheus】PromQL向量匹配实现不同标签的向量数据进行运算

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全栈,前后端开发,小程序开发,人工智能,js逆向,App逆向,网络系统安全,数据分析,Django,fastapi

Linux 网络编程 --- 应用层

一、自定义协议和序列化反序列化 代码: 序列化反序列化实现网络版本计算器 二、HTTP协议 1、谈两个简单的预备知识 https://www.baidu.com/ --- 域名 --- 域名解析 --- IP地址 http的端口号为80端口,https的端口号为443 url为统一资源定位符。CSDNhttps://mp.csdn.net/mp_blog/creation/editor

烟火目标检测数据集 7800张 烟火检测 带标注 voc yolo

一个包含7800张带标注图像的数据集,专门用于烟火目标检测,是一个非常有价值的资源,尤其对于那些致力于公共安全、事件管理和烟花表演监控等领域的人士而言。下面是对此数据集的一个详细介绍: 数据集名称:烟火目标检测数据集 数据集规模: 图片数量:7800张类别:主要包含烟火类目标,可能还包括其他相关类别,如烟火发射装置、背景等。格式:图像文件通常为JPEG或PNG格式;标注文件可能为X

ASIO网络调试助手之一:简介

多年前,写过几篇《Boost.Asio C++网络编程》的学习文章,一直没机会实践。最近项目中用到了Asio,于是抽空写了个网络调试助手。 开发环境: Win10 Qt5.12.6 + Asio(standalone) + spdlog 支持协议: UDP + TCP Client + TCP Server 独立的Asio(http://www.think-async.com)只包含了头文件,不依

poj 3181 网络流,建图。

题意: 农夫约翰为他的牛准备了F种食物和D种饮料。 每头牛都有各自喜欢的食物和饮料,而每种食物和饮料都只能分配给一头牛。 问最多能有多少头牛可以同时得到喜欢的食物和饮料。 解析: 由于要同时得到喜欢的食物和饮料,所以网络流建图的时候要把牛拆点了。 如下建图: s -> 食物 -> 牛1 -> 牛2 -> 饮料 -> t 所以分配一下点: s  =  0, 牛1= 1~

poj 3068 有流量限制的最小费用网络流

题意: m条有向边连接了n个仓库,每条边都有一定费用。 将两种危险品从0运到n-1,除了起点和终点外,危险品不能放在一起,也不能走相同的路径。 求最小的费用是多少。 解析: 抽象出一个源点s一个汇点t,源点与0相连,费用为0,容量为2。 汇点与n - 1相连,费用为0,容量为2。 每条边之间也相连,费用为每条边的费用,容量为1。 建图完毕之后,求一条流量为2的最小费用流就行了

poj 2112 网络流+二分

题意: k台挤奶机,c头牛,每台挤奶机可以挤m头牛。 现在给出每只牛到挤奶机的距离矩阵,求最小化牛的最大路程。 解析: 最大值最小化,最小值最大化,用二分来做。 先求出两点之间的最短距离。 然后二分匹配牛到挤奶机的最大路程,匹配中的判断是在这个最大路程下,是否牛的数量达到c只。 如何求牛的数量呢,用网络流来做。 从源点到牛引一条容量为1的边,然后挤奶机到汇点引一条容量为m的边

基于 YOLOv5 的积水检测系统:打造高效智能的智慧城市应用

在城市发展中,积水问题日益严重,特别是在大雨过后,积水往往会影响交通甚至威胁人们的安全。通过现代计算机视觉技术,我们能够智能化地检测和识别积水区域,减少潜在危险。本文将介绍如何使用 YOLOv5 和 PyQt5 搭建一个积水检测系统,结合深度学习和直观的图形界面,为用户提供高效的解决方案。 源码地址: PyQt5+YoloV5 实现积水检测系统 预览: 项目背景

EMLOG程序单页友链和标签增加美化

单页友联效果图: 标签页面效果图: 源码介绍 EMLOG单页友情链接和TAG标签,友链单页文件代码main{width: 58%;是设置宽度 自己把设置成与您的网站宽度一样,如果自适应就填写100%,TAG文件不用修改 安装方法:把Links.php和tag.php上传到网站根目录即可,访问 域名/Links.php、域名/tag.php 所有模板适用,代码就不粘贴出来,已经打