Anchors(定位精度改进论文)(整理与总结)

1、论文Seeing without Looking: Contextual Rescoring of Object Detections for AP Maximization

github

1、摘要

当前大多数的对象检测器缺乏上下文:类预测独立于其他检测我们建议通过对任意检测器的输出进行后处理,将上下文融入到对象检测中,以重新确定其检测的置信度。重新打分是通过对整个检测集的上下文信息进行条件设置来完成的:原始置信度、预测的类和位置。
实验结果:AP可以通过简单地重新分配检测置信值来改进。(从而延长真阳性(正确分类和大的iou)的生存时间(即延长检测置信值)相比那些假阳性或小的iou检测。在这种情况下,我们使用一个双向RNN注意上下文重新打分,并引入一个训练目标,使用带ground truth的loU来最大限度地提高给定检测集的AP。
我们的方法不需要访问可视化特征,这使得它的计算成本很低,并且不需要知道检测体系结构。尽管如此简单,我们的模型不断改进AP在强烈pre-trained基线(级联R-CNN和更快的R-CNN几个骨干),特别是通过减少重复检测的置信度(学习形式的non-maximum抑制)和删除对象通过调节那些断章取义的信心,类,检测的位置,和大小。

2、前言背景

参考博客1
目前的目标检测器会出现以下问题:
(1)NMS操作未能移除重复的检测结果。如下图所示,左:两个关于领带的检测结果,置信度很高,但IoU很低;右:对于图中的目标,检测结果是马和斑马,发生了重叠。
在这里插入图片描述
(2)一些局部的判断未能充分利用上下文信息,也就是说,一些目标看起来与某个类别很相似,但如果代入目标所处的上下文环境中,会发现该目标完全不可能属于这个类别。如下图所示,左:在钟表里检测出香蕉和雨伞;右:在树的背景中检测出一个球体。
在这里插入图片描述

3、方法

本文提出了一个模型,它可以使用图像中所有检测结果的上下文信息,来对先前检测器的检测结果进行重打分每个检测结果由一个特征向量表示,包括原始置信度,预测的类别和bbox坐标。baseline检测器只使用视觉信息,本文的模型利用的是非视觉的高级上下文信息,比如类之间的关联性,目标的位置和大小。为了生成上下文表示以对检测结果进行重打分,本文使用了RNN和self-attention机制。作者认为本文的方法可以被广泛使用,因为它没有使用视觉或其他特定于检测器的特征。

通过该模型可以降低不符合上下文的检测结果,和重复的检测结果的置信度,同时保持其它符合要求的目标的高置信度,以实现准确的检测****。如下图所示,false positive(sports ball, potted plant和umbrella)的置信度都被降低了,而true positive(suitcase和umbrella)的高置信度保持不变。
在这里插入图片描述
本文的贡献有:

(1)给定固定匹配模式的预测bbox和gt bbox,使用重打分算法(rescoring algorithm)来使AP最大化
(2)通过考虑原始置信度,预测类别和bbox坐标,通过上下文重打分(contextual rescoring)方法为每个检测结果生成一个新的置信度。使用RNN和self-attention为每个检测结果生成一个上下文表示(contextual representation),并通过训练来回归使AP最大化的值。

4 实现方法

在保持预测的bbox的类别和位置不变的情况下,只改变置信度的值,也就是上下文重打分。如果重打分之后置信度为0,那么该检测结果是可以被抹去的。在给定一系列gt标注和检测结果的情况下,对检测结果重打分以使AP得到显著提升。

4.1、AP的计算

在各种IoU阈值(0.5,0.55,……,0.95)下分别为每个类计算AP,IoU阈值越高,与gt更接近的检测结果就能被视为true positive,从而获得更好的定位结果。

1、为了计算AP,首先要通过为每个检测结果匹配一个gt,来确定true positive和false positive。

下面以COCO数据集为例,COCO的匹配策略将检测结果按置信度降序排列,只有当满足以下条件时,才能将检测结果与IoU最高的gt匹配起来:
(1)检测结果与gt的类别是相同的;
(2)检测结果与gt之间的IoU大于或等于IoU阈值;
(3)该gt还未和其它检测结果匹配。如果没有一个可以匹配的gt,那么该检测结果就是false positive

2、计算精度-召回率的内插曲线

然后计算精度-召回率的内插曲线,从最高置信度的检测结果开始,通过一组检测结果的当前召回率rrr对应于精度ppp的点,得到曲线p(r)p(r)p(r),然后通过将每次召回率对应的的精度重新分配为更高召回率处的最大精度,使该曲线单调递减:
在这里插入图片描述

2. 如何使AP最大化

AP是由置信度得到的排序函数,为了通过重打分使AP得到提升,必须对检测结果重新排序,通过将更高的置信度分配给true positive而不是false positive来对检测结果重新排序。本文将AP的最大化分为两个步骤:
将检测结果与gt进行匹配;
为每个检测结果选择最优的置信度。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

知识补充(关于置信区间、置信度的理解)

Tensorflow object detection API调整输出的置信度
在这里插入图片描述

2、 Acquisition of Localization Confidence forAccurate Object Detection(IOU-Net(比较不错))

GitHUB
本文指出定位置信度与分类置信度不匹配的问题,并把定位问题从回归的方式改为基于优化的方式,从而提升定位精度

2.1 摘要

参考博客1
现代基于cnn的对象检测器依靠边界盒回归和非最大抑制来定位对象。而类标签的概率自然反映了分类置信度局部置信度是不存在的。这使得适当的局部边界盒在迭代回归过程中退化,甚至在NMS过程中被抑制在本文中,我们提出lou-net学习来预测每个检测到的边界盒和匹配的地面真实之间的loU,网络获得了这种定位的置信度,通过保留精确定位的边界盒改进了NMS过程。
在此基础上,提出了一种基于优化的边界盒细化方法,并以预测IoU为目标。在MS-COCO数据集上的大量实验表明了IoU-Net的有效性,以及它与几种最先进的对象检测器的兼容性和适应性。
Motivation
当前two-stage的目标检测任务流程为:

  1. RPN找出一系列候选框,区分前景背景
  2. 对前景框进行分类和回归,得到每个框的分类置信度及回归坐标
  3. 通过NMS,以分类置信度排序,过滤掉IoU大于一定阈值的框,得到最终的结果
    可以看到,在这个过程中,对于定位置信度没有考虑。这样会出现两个问题:
    在这里插入图片描述
    在这里插入图片描述
    (1)分类置信度高不代表IoU大,如上图(a)所示,以分类置信度当做这个框的置信度做NMS, 会把与ground-truth的IoU大,但是分类分数低的框给抑制
    (2)边界框回归算法的可解释性较差,在Cascade RCNN论文中指出:边界框回归不是单调的,如上图(b)所示,如果边界框回归次数过多,结果可能会退化

2.2模型

在这里插入图片描述
IoU-Net网络结构如上图所示,与Faster RCNN的主要区别在RoI-Pooling 换成了PrRoI-Pooling, 加入了一个IoU预测器。**

  1. IoU predictor
    本文IoU预测器的输入不是用RPN产生的RoIs,而是对Ground Truth框随机扰动,得到Jittered RoIs,过滤掉与GT的IoU<0.5的框,剩下的作为输入,经过PrRoI Pooling给IoU predictor。
  2. IoU-guided NMS
    分类置信度与定位置信度不是对齐的。本文提出了IoU-guided NMS,将IoU与分类置信度结合在一起。算法如下图所示
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    这里的PrPool为本文新提出的一种RoI-pooling方式,在后面介绍。
    算法大致流程是:
    for i=1 to T(最大迭代次数) :
     -迭代输入 bj,bj∈Bbj,bj∈B(检测出的所有bbox),
      -用PrPool来抽bjbj特征,然后通过IoU分支,可以得到梯度grad,以及分数PrevScore,
      -通过反向传播,更新bjbj
      -用新的bjbj计算出新的分数NewScore
      -如果更新前后分数变化小于阈值,则将bjbj标记,存入A中,不进入下一次迭代
    -直到B中所有bbox被存入A中,或者迭代到一定次数T才终止迭代
    简单来说,就是不断将经过PrPool的检测框输入到IoU分支,通过计算与GT的IoU分数来计算梯度,从而更新IoU分支的参数
  3. Precise RoI Pooling
    在这里插入图片描述
    如图,绿色点为feature map的值,虚线为1个bin的实际位置,
    -RoI Pooling: 虚线框的坐标不是整数,RoI Pooling操作会将其量化成整数,得到实线框,然后再作池化。边界框位置由虚线框变成实线框,产生量化误差
    -RoI Align: 为了避免RoI Pooling的量化误差,保持浮点数边界不变,取这个bin中四个固定位置,如红点所示,通过双线性插值,由绿点值得到四个红点的值,然后再做池化
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述在这里插入图片描述

3、Conclusion

本文提出一篇新颖的修正目标定位的网络IoU-Net,指出了分类与定位置信度不匹配的问题,提出IoU-NMS来获取位置更精确的bbox,并将定位的回归问题重新定义为优化问题,提升了定位的精度。同时IoU预测器可方便集成到别的网络。

3、HAMBox: Delving into Online High-quality Anchors Mining Detecting Outer Faces

2020CVPR解读之百度的人脸检测HAMBox:Delving into Online High-quality Anchors Mining for Detection

3.1OuterFace: 异常人脸

由于人脸尺度过小或者人脸尺度与anchor尺度不匹配,造成训练时匹配不到足够多的anchor(小于阈值K),影响了这些人脸的召回。
在这里插入图片描述

3.2HAMBox: Online High-quanlity Anchor Mining Strategy

(一种在线高质量锚定挖掘策略),即本文最重要的创新点之一。具体含义会在下文中介绍。

3.3high-quality anchor:

如果某个anchor经过网络回归后的框与人脸框的ground truth的iou大于0.5,则称其为高质量anchor。
matched anchor: 在训练时,与目标人脸的IOU>=0.35的anchor。

3.4**unmatched anchor:**在训练时,与目标人脸的IOU<0.35的anchor。

3.5**matched high-quality anchors:

**指那些在训练阶段是matched anchor,且经过网络回归后是high-quality anchor的集合。

3.6unmatched high-quality anchors:

指那些在训练阶段是unmatched anchor,且经过网络回归后是high-quality anchor的集合。

3.7CPBB: Correctly Predicted Bounding Boxes,

如果某个在训练阶段匹配到人脸的anchor经过回归网络后,回归框与gt的iou>0.5,则称其为CPBB,即matched high-quality anchor回归后的bounding box

3.摘要

当前的人脸检测方法是利用锚定来构造一个分类与边界框回归相结合的多任务学习问题。有效的锚定设计和锚定匹配策略使得人脸检测器能够在较大的姿态和尺度变化下定位人脸。然而,我们观察到,在推理阶段,80%以上正确预测的边界框是从不匹配的锚(锚和目标真值框之间的ios低于阈值)中回归的。结果表明,这些不匹配的锚具有良好的回归能力,但现有的方法忽略了对它们的学习。本文提出了一种在线高质量锚定挖掘策略(HAMBox),该策略能明确地帮助异常脸与高质量锚进行交互。我们提出的HAMBox方法可以作为基于锚定的单阶段人脸检测的一般策略。通过对WIDER FACE, FDDB, AFW and PASCAL Face等数据集的实验,证明了该方法的优越性。此外,我们的团队还赢得了2019年Wider Face和Pedestrian Challenge人脸检测测试赛道的冠军。

实验发现

本文在一个训练的较好的人脸检测器上进行了锚匹配统计实验,发现了一个有趣的现象。令人惊讶的是,在所有正确预测的边界框中,只有11%被匹配的锚回归。因此,在人脸检测中,不仅匹配的锚,而且一些不匹配的锚也起着至关重要的作用。然而,在训练阶段,对不匹配的锚设置背景标签,对分类分支来说是不合理的监督信号。有效地利用这些不匹配的锚有望提高检测性能。基于这一观察,我们确定了当前锚匹配策略中的两个关键问题如下:
(1)大多数补偿锚质量较低。,换句话说,普通的锚补偿方法可以帮助那些异常脸匹配更多的低质量锚,而不是高质量的锚。
(2)许多在训练阶段不匹配的锚实际上具有很强的定位能力
基于以上观察,我们认为现有的锚匹配策略既不灵活,也不足以在人脸检测中使用锚。
为了解决这个问题,我们提出了一种在线高质量锚挖掘策略(HAMBox)。我们的想法是不断地挖掘那些高质量的锚,以帮助异常脸用精确回归的能力来补偿更多的锚。在图3中,当使用标准锚匹配策略时,未匹配的an-chor被分配了背景标签。随着训练迭代次数的增加,我们的在线高质量锚杆补偿策略正逐步挖掘出与之不匹配的高质量锚。此外,与标准锚匹配策略生成的锚相比,不匹配的锚可以回归出具有更高IoU的高质量边界框。在挖掘出高质量的锚之后,我们进一步提出回归感知的focal loss,以有效地加权那些新的补偿的高质量锚。考虑到定位与分类之间的弱关联性,对新的补偿锚加入了基于IoU的动态权值。得益于在线高质量锚定补偿策略和回归感知焦点丢失,我们在宽面[27]验证硬集上实现91.6%的AP,基线为RetinaNet[13]。此外,我们添加了一些流行的模块,包括SSH-head、deep-head[13]和pyramid-anchors,实现了93.3%的AP,比当前最先进的模型[11]大幅度提高了2.9%的AP。
总之,我们的主要贡献可以概括为:
•我们观察到一个鼓舞人心的现象:一些不匹配的锚具有很强的回归能力,而当前的box回归分支忽略了学习不匹配的锚。
•根据观察结果,我们
提出了一种在线高质量锚挖掘策略(HAMBox),以抽取高质量锚进行培训
。借助于HAMBox,我们可以在训练阶段为外表面提供足够有效的锚;
•由于
采用了高质量的锚定,具有回归意识的focal loss有助于以灵活的方式进行人脸检测器的训练

•我们的方法在wider face验证和测试集上分别比最新的方法高出2.9%和2.3%的AP。此外,我们在2019年WIDER Face and Pedestrian Challenge 2019实现了57.45%(验证)/57.13%(测试)的mAP。
在这里插入图片描述
(1)基于高召回锚的人脸检测器(完成锚定尺度和锚定比的设计)
现有的基于锚的人脸检测算法利用预先定义的锚来构造一个多任务学习问题,该问题结合了分类和边界框回归分支。我们从RetinaNet[13]开始。主干是ResNet-50。在[29]的基础上,利用conv2层的特征映射来提高人脸检测的性能。原因是大约40%的人脸与wider face基准上的conv2锚匹配。此外,设计锚对于训练性能良好的探测器也很重要。因此,与多锚定尺度和纵横比的一般目标检测不同,我们在每个预测层仅设置一个锚定尺度和一个纵横比作为默认锚定设置。我们改变锚定标度以匹配更极端的人脸尺度。这种锚定的优点和缺点同样明显。从优势的角度来看,我们的策略可以在wider face基准上匹配所有人脸的95%以上,与多尺度和比率锚匹配98.46%的人脸相比,差异很小。同时,该方法比多尺度、多比例的后一种锚定方法少用3倍或9倍的锚定量,使模型更加关注有用锚的回归,从而获得更高的检测性能。从缺点来看,由于减少了与锚匹配的人脸数,因此不利于模型的鲁棒性。这一障碍将在以下两个部分得到解决。
(2)在线高质量锚补偿策略
在完成锚定尺度和锚定比的设计后,我们还需要将锚定与其最近的相邻地面真实或背景进行分配。当前传统的锚匹配策略包括两个步骤。人脸首先与IoU高于阈值的锚匹配然后,与任何锚不匹配的人脸将被具有最大IoU的锚补偿。显然,第二步中的补偿锚可能会降低网络的回归和分类性能,因为这些锚最初具有较低的人脸IoU。我们惊奇地发现,随着迭代次数的增加,一些不匹配的锚具有进行正确预测的能力,而那些锚在回归分支上被忽略,甚至在分类分支上被指定为背景。受此启发,我们提出了一种在线的高质量锚补偿策略来解决当前的失准监督信号。
首先,每个人脸都匹配IoU高于阈值的锚,但是对于那些剩余的异常人脸,我们不补偿任何锚。
其次,在训练过程中的正向传播结束时,每个锚通过其相关的回归坐标计算回归边界框。我们将这个回归边界框定义为Breg ,Fouter表示异常脸。
最后,对于Fouter中的每个人脸,我们用Breg计算它的IoU,并用N个额外的不匹配锚来补偿这个人脸。我们把所有iou都定义为iouset。根据两个规则选择这些N个补偿锚。1) 它们对应的回归边界框和目标人脸之间的ios应大于T(T表示在线正锚定阈值)。2) 这些IOUS(按规则1计算)应该在iouset的top-K最高iou中。K是一个超参数,表示Fouter可以匹配的锚的最大数量。如果在通过以上两个规则过滤后N大于K-M,我们在这些N个不匹配的锚中选择top-(K-M)highest IoU锚来补偿此面,并设置N=K-M。M表示在第一步中已匹配的锚的数量。
(3).回归感知focal loss

经过以上两个小节的分析,我们挖掘出了这些优质的锚,下面的问题是如何有效地利用这些锚。此外,我们还提出了一种
回归感知的focal loss,以使新的补偿后的高质量锚具有更合理的权重,这些锚是通过在线的高质量锚补偿策略从外部挖掘出来的**。在focal loss方面有两项改进[13]。
(1) 考虑到新补偿锚定位置和分类之间的弱关联性,对这些补偿锚定加入了基于IoU的动态权重。(2) 我们将同时满足以下三个条件的锚定义为忽略锚(训练期间未优化):a)属于高质量锚。b) 在锚匹配策略的第一步中被指定为背景。c) 不包括在新的补偿锚中
损失函数为:
在这里插入图片描述
上式的含义是对补偿的anchor采用iou加权的focal loss,对于matched和unmatched low-quality anchor则使用普通的focal loss,注意对于落选的unmached high-quality anchor,这里是忽略其loss的。
同时,也将补偿的HAMBox anchor加入回归loss,如下所示:
在这里插入图片描述
5.结论
在本文中,我们首先观察到一个有趣的现象,即只有11%正确预测的边界框在推理阶段来自匹配的锚回归**(论文原文貌似有错误,来自匹配的只有11%而不是非匹配的)**。然后,我们进一步提出了一个在线的高质量锚挖掘策略,帮助异常脸匹配高质量锚。该方法首先提高了人脸与锚匹配的比例,然后提出了一种面向异常脸的在线高质量锚补偿策略。最后,我们为新的补偿锚设计了一个回归感知的focal loss。在多个数据集进行了广泛的实验,取得了最新的检测性能

Side-Aware Boundary Localization for More Precise Object Detection

GIThub
论文概述

&总结与个人观点

本文提出Side-Aware Boundary Localization(SABL)以取代传统的bbox回归。提取关注于边界内容的边缘感知特征用来定位。提出使用该特征的轻量级two-step bucketing方法以精确定位目标。同时引入重打分(rescore)机制,利用bucket的置信度来保留高质量的bbox。在各种目标检测流程中,SABL均展现了一致且重大的性能提升。

&贡献

(1)使用Side-Aware Boundary Localization(SABL)取代之前的bbox regression分支,对bbox的每条边分别定位,提高了定位的精度
(2)使用Bucketing scheme进行细粒度目标定位以及对分类进行rescore,降低高精度bbox的抑制率
在COCO数据集中,在Faster R-CNN、RetinaNet以及Cascade R-CNN的基础上替换回归分支,最终分别提升了3.0、1.6以及0.9个点。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

&思考与启发

这种自注意力的使用可以考虑加入到FPN中,每个特征中都存在上下文信息、语义信息以及空间信息。(当前在做FPN模块,之后需要重新研读)

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值