百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程字典 > 正文

一种用于目标检测的双加权标签分配方案

toyiye 2024-06-21 12:08 9 浏览 0 评论

论文收录于CVPR2022,现有标签分类方案计算出正样本的权重后,负样本权重直接1-正样本权重,本文认为应该重新计算负样本权重,体现正负样本的差异性

论文题目:

A Dual Weighting Label Assignment Scheme for Object Detection

论文地址:

https://arxiv.org/abs/2203.09730

摘要

标签分配(LA)是为每个训练样本分配一个正的(pos)和一个负的(neg)损失权重,在目标检测中起着重要的作用,现有的LA方法多关注于pos权重函数的设计,而负权直接由pos权重推导而来,这种机制限制了检测器的学习能力,在本文中,我们探索了一种新的加权范式,称为双重加权(DW),以分别指定正权和负权,首先通过对目标检测评价指标的分析,找出影响目标检测正负权重的关键因素,然后根据这些指标设计正负权重函数。

具体而言,样本的pos权重由其分类评分与定位评分的一致性程度决定,而neg权重则被分解为两个术语:它是否定样本的概率和它的重要性以其为否定样本为条件,这种加权策略为区分重要和不重要的样本提供了更大的灵活性,从而产生更有效的对象检测器,采用所提出的DW方法,单个FCOS-ResNet-50探测器在1×训练下可在COCO上达到41.5%的mAP,优于其他现有的LA方法,它在不带附加功能的各种主干下持续地大大改进了COCO的基线。

1. 简介

目标检测作为一项基本的视觉任务,几十年来一直受到研究人员的重视,近年来,随着卷积神经网络(CNNs)和视觉transformer(ViTs)的发展,检测器的发展迅速,目前最先进的检测器大多通过使用一组预定义的锚点预测类标签和回归偏移量来执行密集检测。

作为检测器训练的基本单元,需要对锚点进行适当的分配分类(cls)和回归(reg)标签来监督训练过程,这样的标签分配(LA)过程可以看作是为每个锚点分配损失权重的任务,锚点的cls损失(reg损失可以用类似的方式定义)一般可以表示为:

式中,wpos和wneg分别为正(pos)和负(neg)权重,s为预测分类评分,根据wpos和wneg设计的不同,可将LA方法大致分为硬LA和软LA两大类。

硬LA假设每个锚点不是pos就是neg,这意味着wpos, wneg∈{0,1},wneg + wpos = 1,该策略的核心思想是找到一个合适的划分边界,将锚分为正集和负集,这一研究方向的划分规则可进一步分为静态和动态两类。

静态规则采用预先定义的度量,如IoU或锚点中心到真实(GT)中心的距离来匹配对象或背景的锚,这种静态分配规则忽略了一个事实,即不同大小和形状的对象的划分边界可能不同,最近,许多动态分配规则被提出,例如,ATSS根据对象的IoU分布分割其训练锚,预测感知分配策略将预测的置信度分数作为评估质量的可靠指标,静态和动态分配方法都忽略了样本不是同等重要的事实,目标检测中的评价指标表明,最优预测不仅要有较高的分类分数,而且要有准确的定位,这意味着在训练中,cls头部和reg头部之间的一致性越高的锚点应该更重要。

基于上述动机,研究人员选择了给锚分配软权重,GFL和VFL是两种典型的基于iou定义软标签目标,然后通过乘以调制因子将其转换为损失权重的方法,还有一些研究通过联合考虑reg评分和cls评分计算样本权重,现有的方法主要集中在pos权函数的设计上,而负权是简单地由pos权推导出来的,由于负权提供的监督信息很少,可能会限制检测器的学习能力。

我们认为,这种耦合加权机制不能在更细的水平上区分每个训练样本,图1显示了一个例子,四个锚有不同的预测结果,然而,GFL和VFL分别给(B, D)和(C, D)分配了几乎相同的(pos, neg)权重对,GFL还将零pos和负权重分配给锚点A和C,因为每个锚点都具有相同的cls评分和IoU,在现有的软LA方法中,由于neg权重函数与pos权重函数高度相关,不同属性的锚点有时会被分配几乎相同的(pos, neg)权重,这可能会影响训练过的检测器的有效性。

为了给检测器提供更具鉴别性的监督信号,我们提出了一种新的LA方案,称为双重加权(dual weighted, DW),从不同的角度指定正负权重,使其相互补充,具体地说,pos权重是由置信分数(从cls头部获得)和reg分数(从reg头部获得)的组合动态确定的,每个锚点的负权重被分解为两个项:它是一个负样本的概率和它作为一个负样本的重要性,pos权值反映cls头和reg头的一致性程度,将一致性较高的锚推到锚列表中前移,neg权值反映不一致性程度,将不一致的锚推到列表的后面,通过这种方法,可以推断出cls分数较高的边界框越是精确的位置,NMS后的生存机会就越好,那些位置不精确的边界框就会落后,被过滤掉。如图所示,DW通过分配不同的(pos, neg)权重对来区分4个不同的锚点,可以为检测器提供更细粒度的监督训练信号。

为了给我们的加权函数提供更精确的reg分数,我们进一步提出了一个框细化操作,具体而言,我们设计了一个学习预测模块,根据粗回归图生成4个边界位置,然后聚合它们的预测结果,得到当前锚点的更新边界框,这个轻量级模块使我们能够通过只引入适度的计算开销为DW提供更准确的reg分数。

通过在MS COCO上的综合实验证明了我们提出的DW方法的优点,特别是,该方法将具有ResNet50骨干的FCOS检测器在常见的1×训练方案下,在COCO验证集上提高到41.5/42.2 AP w/wo框改进,超过了其他LA方法。

将每个锚点标记为阳性或阴性样本是训练检测器的关键步骤,经典的基于锚的对象检测器通过用GT对象测量锚的IoU来设置锚的标签,近年来,无锚探测器因其简洁的设计和可比拟的性能而备受关注。

FCOS和Foveabox都通过中心采样策略选择pos样本:在训练过程中,靠近GT中心的锚点被采样为阳性,其他锚点被采样为阴性或忽略,上述LA方法对于不同形状和大小的GT箱采用固定规则,是次优的。

已经提出了一些先进的LA策略,用于为每个GT动态选择pos样本,ATSS从特征金字塔的每一级选择top-k锚点,并采用这些顶级锚点的平均值+标准IoU作为pos/neg划分阈值,PAA根据cls和reg损失的联合状态,以概率方式自适应地将锚分为pos/neg,OTA从全局角度处理LA问题,将分配过程制定为最优运输问题,基于transformer的检测器采用一对一分配方案,为每个GT寻找最佳pos样本,硬LA对所有样本一视同仁,但与目标检测中的评价指标不太兼容。

软标签分配 由于预测框的质量不同,因此在训练过程中对样本的处理应有所不同,许多研究已经提出解决不平等问题的训练样本,Focal Loss在交叉熵损失上添加了一个调制因子,以降低分配给分类良好的样本的损失的权重,这推动检测器聚焦于困难样本,Generalized focal loss 联合考虑cls评分和定位质量,为每个锚点分配一个软权重,V arifocal loss利用iou感知的cls标签来训练cls头,上面提到的大多数方法都专注于计算pos权值,并简单地将负权值定义为1 - wpos的函数。

在本文中,我们将这一过程解耦,并分别为每个锚点分配pos和neg损失权值,大多数软LA方法对损失分配权重,有一种特殊情况是为评分分配权重,它可以表述为Lcls=?ln(wpos×s)?ln(1?wneg×s),典型的方法包括FreeAnchor和Autoassign,应该指出,我们的方法不同于他们,为了以完全不同的方式匹配锚点,自动分配中的wpos和wneg仍然接受梯度,然而,在我们的方法中,损失权值经过精心设计并完全脱离网络,这是加权损失的常见做法。

3.提出的方法

3.1. 动机和框架

为了与NMS兼容,一个好的密集检测器应该能够预测具有高分类分数和精确位置的一致边界框,然而,如果所有的训练样本都被同等对待,则会出现两个头部之间的不对齐:类别得分最高的位置通常不是回归对象边界的最佳位置,这种不对齐会降低检测器的性能,特别是在iou度量下,Soft LA是一种通过减权的软方式处理训练样本的方法,它试图增强cls和reg头之间的一致性,对于软LA,锚的损失可以表示为:

其中s为预测的cls评分,b和b’分别为预测的边界框和GT对象的位置,?reg为回归损失,如Smooth L1 loss [32], IoU loss和GIoU loss,通过将较大的wpos和wreg分配给具有较高一致性的锚点,可以缓解cls和reg头之间的不一致问题,这些训练有素的锚因此能够预测高cls分数和推理时的精确位置。

现有的研究通常将wreg与wpos等同,主要关注如何定义一致性并将其整合到损失权重中,表1总结了最近有代表性的pos锚的wpos和wneg公式,可以看到,目前的方法通常定义一个度量t来表示锚点级别上两个头之间的一致性程度,然后将不一致度量设计为1?t的函数,最后通过添加一个缩放因子((s?t)2, s2或t),将一致和不一致的度量集成到pos和neg损失权重中。

与上述wpos和wneg高度相关的方法不同,我们建议以预测感知的方式分别设置pos和neg的权重,pos权重函数以预测的cls评分s和预测框与GT对象之间的IoU为输入,通过估计cls与reg头部之间的一致性程度来设置pos权重,负权重函数的输入与pos权函数相同,但将负权重表示为两个项的乘法:锚为负的概率,其重要性以其为负为条件,通过这种方法,具有相似pos权值的模糊锚点可以接收到更细粒度且具有不同负权值的监督信号,这是现有方法所不能做到的。

我们的DW框架的管道如图2所示,作为一种常见的做法,我们首先为每个GT对象构造一个候选阳性包,方法是在GT中心(中心先验)附近选择锚点,将候选袋外的锚视为负样本,在训练初期,由于其统计数据(如IoU、cls评分)噪声很大,因此不参与权重函数的设计过程,候选包内的锚将被分配到三个权重,包括wpos, wneg和wreg,以更有效地监督训练过程。

3.2. 正样本的权重函数

样本的pos权重应反映其在分类和定位中对目标准确检测的重要性,通过对目标检测评价指标的分析,找出影响目标检测重要性的因素,在COCO的测试中,对一个类别的所有预测都应该根据一个排名指标进行适当的排名,现有方法通常使用cls评分或结合cls评分和预测IoU作为排名指标,每个边界框的正确性将从排名列表的开始进行检查,当且仅当:

a.预测边界框与其最近的GT对象之间的IoU大于阈值θ;

b.没有满足上述条件的方框排在当前方框的前面。

综上所述,在预测列表中,只有第一个IoU大于θ的边界框被定义为pos检测,而其他所有边界框都被认为是同一GT的假阳性,可见,高排名得分和高IoU是pos预测的充要条件,这意味着同时满足这两个条件的锚点在测试中更有可能被定义为pos预测。

因此在训练中它们应该具有更高的重要性,从这个角度来看,pos权重wpos应该与IoU和排名分数正相关,即wpos∝ IoU和wpos∝ s,为了指定pos函数,我们首先定义一个一致性度量,记为t,用来衡量两种条件之间的对齐程度:

其中β用于平衡两种情况,为了鼓励不同锚点之间的pos权重存在较大差异,我们添加了一个指数调制因子:

其中,μ是一个超参数,用于控制不同pos权重的相对间隙,最后,每个实例的每个锚的pos权值由候选包内所有pos权值的总和归一化。

3.3. 负样本权重函数

虽然pos权重可以强制一致锚点同时具有高cls分数和iou,但pos权重不能区分不一致锚点的重要性,由图1可知,锚点D位置较好(IoU较θ大),但cls评分较低,而锚B具有较粗的位置(IoU比θ小),但cls评分较高,它们可能具有相同的一致性度t,因此会以相同的pos强度向前推,这并不能反映它们的差异,为了给检测器提供更有鉴别性的监督信息,我们建议通过给它们分配更多不同的否定权来忠实地表明它们的重要性,否定权定义为以下两个项的乘法。

负样本的概率 根据COCO的评价指标,IoU小于θ是错误预测的充分条件,这意味着不满足IoU度量的预测边界框将被视为阴性检测,即使它具有很高的cls评分,也就是说,IoU是决定成为负样本概率的唯一因素,用Pneg表示,由于COCO在估算AP时采用了介于0.5 ~ 0.95之间的IoU区间,因此边界框的概率Pneg应满足以下规则:

在区间[0.5,0.95]内定义的任何单调递减函数都限定为Pneg,为了简单起见,我们将Pneg实例化为如下函数:

它经过点(0.5,1)和(0.95,0)一旦确定了γ1,就可以用待定系数法得到参数k和b,图3绘制了不同γ1值下的Pneg与IoU的曲线。

以负样本为条件 在推理时,排序表中的负面预测不会影响召回率,但会降低准确率,为了延迟这个过程,负边界框应该排在后面,他们的排名分数应该尽可能小,基于这一点,排名分数大的否定预测比排名分数小的否定预测更重要,因为它们是网络优化的更难的例子,因此,用Ineg表示的阴性样本的重要性应该是排名得分的函数,为简单起见,我们将其设为

其中,γ2是一个因子,表示应该给予重要阴性样本多少优先权,最后,负权wneg = Pneg × Ineg变成

与IoU负相关,与s正相关,可以看出,对于两个pos权重相同的锚点,IoU越小的锚点负权重越大,wneg的定义与推理过程很好地兼容,可以进一步区分具有几乎相同pos权值的模糊锚点,详见图1。

3.4. 框细化

由于pos和negative加权函数都以IoU作为输入,所以更准确的IoU可以诱导出更高质量的样本,有利于学习更强的特征,我们基于预测偏移图O∈RH×W ×4,提出一种框细化操作,对边界框进行细化,其中O(j, i) ={?l,?t,?r,?b}分别表示当前锚点中心到GT对象最左l、最上t、最右r和最下b的预测距离,如图4所示,


基于物体边界附近的点更有可能预测精确位置的事实,我们设计了一个可学习的预测模块,为每边生成一个边界点基于粗边界框,根据图4,定义四个边界点坐标为:

3.5. 损失函数

所提出的DW方案可以应用于大多数现有的密集检测器,本文采用具有代表性的高密度检测器FCOS来实现DW,如图2所示,整个网络结构由骨干网、FPN和检测头组成,按照惯例,我们将中心度分支和分类分支的输出相乘作为最终的cls分数,我们网络的最终损失是

其中β是一个平衡因子,与公式3中的相同,且

其中N和M分别为候选袋内外锚的总数,FL为Focal Loss , GIoU为回归损失,s为预测cls评分,b和b’分别为预测框和GT对象的位置。

4.1. 消融研究

正权重的超参数 pos权值有两个超参数:β和μ,在一致性度量t中,β平衡了cls评分和IoU之间的贡献,随着β的增大,IoU的贡献程度也增大,μ控制着pos权重的相对尺度,与一致性较差的样本相比,较大的样本μ能够使最一致的样本具有相对较大的pos权重,在表2中,我们通过改变β从3到7和μ从3到8来展示DW的性能,可以看出,当β为5,μ是5时,得到的效果最好,β和μ组合可使AP性能从0.1降至0.7,因此,在其余的实验中,我们将β和μ设为5。

负样本权重超参数 我们还进行了几个实验来研究DW对超参数γ1和γ2的鲁棒性,这些超参数被用来调节负样本权重的相对尺度,使用不同组合的γ1和γ2的AP结果在41到41.5之间,如表3所示,这意味着DW的性能对这两个超参数并不敏感,我们所有的实验都采用γ1=2, γ2=2。

候选包的构造 作为目标检测的常用做法,软LA只应用于候选包内的锚,我们测试了三种候选包构造方法,它们都是基于从锚点到相应GT中心的距离r(由特征步幅归一化),第一种方法是选择距离小于阈值的锚,第二是从每一级FPN中选择最接近的前k个锚点,第三种方法是赋予每个锚一个软中心权值e?r2,并将其与wpos相乘,结果如表4所示,可以看出AP的性能在41.1和41.5之间有轻微波动,这说明我们的DW对候选袋的分离方法具有鲁棒性。

负加权函数的设计 我们通过用其他替代方法来研究负权函数的影响,如表5所示,可以看到,仅使用pos权重将性能降低到39.5,这表明对于一些低质量的锚,仅为它们分配小wpos不足以降低它们的排名分数,他们可以被迫排在更大的wneg后面,导致在测试期间AP更高,在不使用Ineg或Pneg的情况下,我们分别得到了40.5 AP和40.0 AP,验证了这两个项都是必要的,与现有方法一样,我们尝试用1?wpos替换wneg,但获得了40.7 AP的性能,比标准DW低0.8分。

框细化 在没有框细化的情况下,我们的DW方法达到了41.5 AP,据我们所知,这是第一个在COCO上实现了超过41 AP的性能,而不增加任何参数和训练成本的FCOS-ResNet-50方法,通过细化框,DW可以达到42.2 AP,如表6所示,表7还显示,框优化可以持续提高具有不同主干的DW的性能。

权重策略 为了证明我们的DW策略的有效性,我们将其与使用不同加权策略的其他LA方法进行比较,结果如表6所示,前五行是硬LA方法,而其他是软LA方法。硬LA的最佳表现是OTA, 40.7 AP,由于OTA将LA表述为一个最优运输问题,它将增加20%以上的训练时间,GFLv2利用一个特别复杂的分支来估计定位质量,在软LA方法中取得了41.1 AP的第二好的性能。

与将权重分配给损失的主流方法不同,Autoassign将权重分配给cls评分,并在训练过程中根据其梯度更新它们,我们尝试在Autoassign中分离权重并将其分配给loss,但得到的AP分别为39.8和36.6,分别比原始性能低0.6和3.8分,这意味着自动分配中的权重方案不能工作当它适应主流实践时。

4.2. 与最先进的比较

我们在表7中将DW与test-dev 2017上的其他一级检测器进行了比较,在前人的基础上,在训练过程中采用多尺度训练策略和2× 24训练计划,报告了所有方法的单模型单尺度测试结果,其他设置与一致。

除了LA策略,一些作品还利用额外的特征学习模块来增强它们的检测器,为了进行公平的比较,在表7中,我们通过报告使用这个辅助模块的性能来与它们进行比较,可以看出,我们的基于ResNet101的DW方法达到了46.2 AP,优于所有具有相同主干的竞争方法,包括VFL (44.9 AP)、GFL (45.0 AP)和OTA (45.3 AP),当使用更强大的骨干如ResNet-101-DCN和ResNeXt-10164x4d时,DW达到49.3和48.2 AP,分别超过GFL 2和2.2分,我们还可以看到,在不同的主干下,框优化操作可以持续提高DW,值得一提的是,当我们用TOOD,中提出的检测头替换FCOS中的检测头时,DW达到49.8 AP,比TOOD提高了1.5分,这表明我们的DW策略对其他检测头具有良好的泛化能力。

4.3. 讨论

DW的可视化 为了进一步了解DW与现有方法的区别,我们在图5中展示了DW和两种代表性方法GFL和VFL的cls评分、IoU、pos和neg权重的可视化图,可以看出,DW中的pos和negative权重主要集中在GT的中心区域,而GFL和VFL分配的权重范围要大得多,这种差异意味着DW可以更关注重要的样本,而减少容易的样本的贡献,例如靠近物体边界的样本,这就是为什么DW对候选包的选择更具鲁棒性。

我们还可以看到,中心区域的锚在DW中有明显的(pos, neg)权重对,相反,GFL和VFL的阴性权重与阳性权重高度相关,橙色圆圈突出显示的锚点在GFL和VFL中pos权值和负权值几乎相同,而DW可以通过分配不同的权值来区分它们,为网络提供了更高的学习能力。

DW局限性 DW虽然可以很好地区分不同锚点对一个对象的重要性,但同时会减少训练样本的数量,如图5所示。这可能会影响对小物体的训练效果,如表7所示,在小对象上DW的改进不如在大对象上的改进高,为了缓解这个问题,我们可以根据对象大小动态地设置不同的wpos超参数在大小对象之间平衡训练样本。

5. 结论

我们提出了一种自适应标签分配方案,称为双加权(DW),以训练精确的密集物体检测器,DW打破了以往密集检测器耦合赋权的惯例,通过从不同方面估计一致性和不一致性指标,为每个锚点动态分配单个pos和neg权重,还开发了一种新的框细化操作,可以直接细化回归图上的框,DW与评价指标高度兼容,在MS COCO基准测试上的实验验证了DW在不同主干下的有效性,使用和不使用框细化,ResNet-50的DW分别达到了41.5 AP和42.2 AP,作为一种新的标签分配策略,DW对不同的检测头也表现出良好的泛化性能。

物体检测的负面社会影响主要来自于对军事应用的滥用和隐私问题,在将该技术应用于现实生活之前需要慎重考虑。

相关推荐

为何越来越多的编程语言使用JSON(为什么编程)

JSON是JavascriptObjectNotation的缩写,意思是Javascript对象表示法,是一种易于人类阅读和对编程友好的文本数据传递方法,是JavaScript语言规范定义的一个子...

何时在数据库中使用 JSON(数据库用json格式存储)

在本文中,您将了解何时应考虑将JSON数据类型添加到表中以及何时应避免使用它们。每天?分享?最新?软件?开发?,Devops,敏捷?,测试?以及?项目?管理?最新?,最热门?的?文章?,每天?花?...

MySQL 从零开始:05 数据类型(mysql数据类型有哪些,并举例)

前面的讲解中已经接触到了表的创建,表的创建是对字段的声明,比如:上述语句声明了字段的名称、类型、所占空间、默认值和是否可以为空等信息。其中的int、varchar、char和decimal都...

JSON对象花样进阶(json格式对象)

一、引言在现代Web开发中,JSON(JavaScriptObjectNotation)已经成为数据交换的标准格式。无论是从前端向后端发送数据,还是从后端接收数据,JSON都是不可或缺的一部分。...

深入理解 JSON 和 Form-data(json和formdata提交区别)

在讨论现代网络开发与API设计的语境下,理解客户端和服务器间如何有效且可靠地交换数据变得尤为关键。这里,特别值得关注的是两种主流数据格式:...

JSON 语法(json 语法 priority)

JSON语法是JavaScript语法的子集。JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔花括号保存对象方括号保存数组JS...

JSON语法详解(json的语法规则)

JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔大括号保存对象中括号保存数组注意:json的key是字符串,且必须是双引号,不能是单引号...

MySQL JSON数据类型操作(mysql的json)

概述mysql自5.7.8版本开始,就支持了json结构的数据存储和查询,这表明了mysql也在不断的学习和增加nosql数据库的有点。但mysql毕竟是关系型数据库,在处理json这种非结构化的数据...

JSON的数据模式(json数据格式示例)

像XML模式一样,JSON数据格式也有Schema,这是一个基于JSON格式的规范。JSON模式也以JSON格式编写。它用于验证JSON数据。JSON模式示例以下代码显示了基本的JSON模式。{"...

前端学习——JSON格式详解(后端json格式)

JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScriptProgrammingLa...

什么是 JSON:详解 JSON 及其优势(什么叫json)

现在程序员还有谁不知道JSON吗?无论对于前端还是后端,JSON都是一种常见的数据格式。那么JSON到底是什么呢?JSON的定义...

PostgreSQL JSON 类型:处理结构化数据

PostgreSQL提供JSON类型,以存储结构化数据。JSON是一种开放的数据格式,可用于存储各种类型的值。什么是JSON类型?JSON类型表示JSON(JavaScriptO...

JavaScript:JSON、三种包装类(javascript 包)

JOSN:我们希望可以将一个对象在不同的语言中进行传递,以达到通信的目的,最佳方式就是将一个对象转换为字符串的形式JSON(JavaScriptObjectNotation)-JS的对象表示法...

Python数据分析 只要1分钟 教你玩转JSON 全程干货

Json简介:Json,全名JavaScriptObjectNotation,JSON(JavaScriptObjectNotation(记号、标记))是一种轻量级的数据交换格式。它基于J...

比较一下JSON与XML两种数据格式?(json和xml哪个好)

JSON(JavaScriptObjectNotation)和XML(eXtensibleMarkupLanguage)是在日常开发中比较常用的两种数据格式,它们主要的作用就是用来进行数据的传...

取消回复欢迎 发表评论:

请填写验证码