Multiple Anchor Learning for Visual Object Detection论文阅读翻译 - CVPR2020

Multiple Anchor Learning for Visual Object Detection论文阅读翻译 -CVPR2020

论文下载地址:点击此链接跳转.
这是博主自己在github整理的目标检测方向论文的合集,应该算比较全,目前2020ECCV持续更新中,欢迎下载…

一、Abstract

       分类和定位是目标检测器的两个支柱,然而在基于CNN的检测器中,这两个模块通常是在一个固定的候选anchor或bbox集中进行优化,这种设置大大限制了联合优化分类和定位的可能性,因此作者提出了一个多实例学习的方法 (MIL),用来选择anchor并联合优化分类和定位这两个模块。作者构建了anchor bags,并从每个bag中选择最具代表性的anchor,但这样可能会使迭代选择的过程难以优化。为解决这个问题,作者通过扰动anchor相应的特征来反复降低anchor的置信度。MAL以对抗的选择-抑制方法寻找最优解,充分利用多个anchor/特征来学习检测模型。

二、Introduction

       为提供共享局部特征的丰富的候选框,通常是在特征图上引入手工设定的密集的anchor。这些anchor生成尺度和长宽比均匀分布的边界框,使各种尺度和长宽比的目标在训练时能够平等表示。但是在一组固定的手工设定的anchor下做优化会极大地限制联合优化分类和定位的可能性。训练时人们通常是利用loU值作为分配anchor的唯一标准。每个有被分配的anchor都独立地监督网络学习以进行分类和定位。由于分类与定位间是没有交互的,所以一个定位精确的检测结果可能分类置信度较低,并可能会在NMS中被抑制掉。
       本文作者提出了Multiple Anchor Learning(MAL),一种自动的anchor学习方法,从anchor与目标匹配的角度联合优化分类和定位。在MAL的训练阶段,通过选择IoU排名靠前的anchors来构造每个目标的anchor袋。 MAL将分类和定位分数进行结合后评估出每个bag中的positive anchors。在每次训练迭代中,MAL使用所有的positive anchors来优化训练损失,选择综合分数最高的anchor作为最终选择,这样分类和定位分数都最佳的概率会更大高。
       MAL是基于多实例学习(MIL)在anchor的选择损失上进行的优化,但是传统MIL的迭代选择过程可能难以优化。每次迭代中选择得分最高的anchor可能会导致次优解,比如目标的一部分被错误地定位,但由于分类分数较高,因此总的分数也较高。为解决这个问题,作者提出一种选择-抑制优化策略,通过扰动高分anchor的特征来反复降低anchor的置信度,这往往会使我们找到潜在的最优解,使置信度较低的positive anchor能够有机会参与学习。通过从单个anchor的监督变为多个anchor的监督,MAL可以充分利用多个anchor/特征来学到更好的检测器。
       这项工作的贡献包括:
       1、提出一种多anchor学习的方法,通过评估和选择anchor来联合优化目标检测的分类和定位模块。
       2、提出一种选择-抑制优化策略,防止MAL在检测器训练期间陷入次优解。
       3、显著提升了sota方法的效果
       以前的方法是基于anchor对目标的分类和定位都是最佳的假设出发的。但对于部分遮挡和不规则形状的目标,这种启发式方法是不可行的,并且可能会错过最佳的anchor/特征。考虑到可能引起次优解的非凸目标函数,作者提出了一种对抗选择-抑制策略来缓解这一问题。

三、The Proposed Approach

       MAL通过寻找用于分类和定位的最优anchor/特征来改进RetinaNet。

3.1 RetinaNet Revisit

       RetinaNet是目前性能最优的one-stage检测器之一,由主干网络和两个子网络组成,一个用于分类,另一个用于定位。特征金字塔在RetinaNet的backbone后使用,根据特征金字塔输出的各层特征图,分类子网可以预测类别概率,回归子网则使用anchor boxes来预测目标位置。为提高效率,两个子网的输入是共享的。考虑到前景背景类的极端不平衡,作者提出用focal loss来防止在训练过程中产生大量的负样本。
公式1

       anchor被分为正负样本,分别记为aj+和aj-,fθ(.)表示分类,γ用来平衡正负anchor的重要性,正anchors被用于优化目标定位:
公式2
       其中θ表示网络参数, gθ(.)表示边界框回归,分类损失用的Focal loss,定位损失用的Smooth L1 loss。
       在网络学习期间,每个有被分配的anchor都独立地监督目标分类和定位的学习,但是没有考虑到分类和定位在anchor上是否兼容,这可能会导致一些定位精确但分类置信度较低的anchor被NMS抑制。

3.2 Multiple Anchor Learning

       为缓解各anchor独立优化的缺点,作者提出了Multiple Anchor Learning(MAL)。在每次学习迭代中都选择anchor bag中的高分实例来更新模型。在更新后模型再去评估每个实例,得到新的置信度。模型的学习和anchor的选择迭代进行,最终实现最优化。图1
       为实现这个目的,作者先对第i个目标构造一个anchor bags记作Ai。anchor bag内包含与GT的IoU在top-k的anchors。 MAL与网络参数学习(反向传播)一起评估Ai中每个anchor的联合分类和定位置信度,用于anchor的选择,并指示了各个anchor在网络参数演变过程中的重要性。简单起见,回归损失只考虑了对正anchor的学习,负anchor只参与分类损失。MAL的目标函数:
公式3
       由f(θ),g(θ)得到分类和定位分数,β是规范化因子,这是为了给第i个目标选择最优的正anchor,并学习网络参数θ*。
       将目标函数转换为loss:
公式4
       Lcls和Lreg分别是分类和回归损失。

3.3 Selection-Depression Optimization

       用随机梯度下降优化上述两个公式是一个非凸问题,可能会导致选择的是次优anchor。为解决这一问题以得到最优anchor,作者提出对anchor的对应特征增加扰动来反复降低anchor的置信度。这种学习策略被称为选择-抑制优化,这样以一种对抗的方式来解决MAL的次优解问题。

3.3.1 Anchor Selection.

       根据Fθ(aj, bi),传统的MIL算法会倾向于选择得分最高的anchor,然而在目标检测中,从每个anchors bag中选取得分最高的anchor是非常困难的。作者没有在训练阶段选择(3)式中得分最高的anchor,而是提出了一种‘all to top 1’的从anchor bag中选择anchor的策略,在学习过程中线性降低anchor bag中的anchor数量直至1。设λ=t/T,t和T是当前的和总的迭代次数,设|Φ(λ)|表示排名较高的anchors的指标, |Ai|表示anchors bag中的anchor数,
在这里插入图片描述
       因此更改(3)式为:
公式5

       这样就从求最小loss变成了找最后综合置信度最大的那个anchor。在训练阶段早期,MAL利用目标区域内的多个anchors/特征来学习检测模型,并在最后一个epoch收敛得到最优的anchor。

3.3.2 Anchor Depression

       受反向注意力网络的启发,作者提出了对anchor进行抑制,来扰动所选anchor的特征,降低其置信度。
在这里插入图片描述
       MAL在RetinaNet的基础上,在训练过程中添加了anchor抑制和anchor选择模块,在测试时使用的和RetinaNet相应的架构。U和V分别表示在抑制前和抑制后的特征图,M和M’表示抑制前和抑制后的激活图(注意力图)。为了进一步优化训练损失,MAL需要让所选的anchor有更强的特征,也能给未被选中的anchor额外的参与训练的机会。注意力图M计算公式如下:
在这里插入图片描述
       w是U经全局平均池化后得到,l是U的通道索引,接着生成经过抑制后的注意力图M’,通过将M中的较高值降为0得到,其中 I \mathbb I I表示0-1指示函数,P是具有较高值的位置。
在这里插入图片描述
       扰动后的特征图为:
在这里插入图片描述

       1是单位矩阵,◦表示各元素相乘,Ψ(λ)表示有多少像素被扰动。将特征图重新表述为:
在这里插入图片描述

3.3.3 Implementation

       MAL是在retinanet的基础上实现的,经fpn提取特征,anchor的生成机制和retinanet一样(anchor数量和大小尺度)。
       在网络训练的前向传播过程中,通过计算每个anchor的检测置信度Fθ(aj, bi)来最小化损失。根据置信度选择top-k anchor组成anchors bag,然后在所选anchor的监督下更新网络参数,在选择anchor后进行anchor抑制。然后在下一次迭代中再次进行anchor选择,选择高分anchor。
       MAL的推理过程与RetinaNet完全相同,使用学习到的网络参数来预测分类分数和目标边界框,并经NMS进行过滤。由于MAL只是用在检测器的训练过程中来学习更多有代表性的特征,所以最后学出来的检测器能够在不增加计算代价的情况下取得性能的提升。

3.3.4 Optimization Analysis

       anchor的选择-抑制策略近似一个对抗的过程。先是通过选择操作找到能够最大限度减少损失的高分anchor。抑制操作则对所选anchor的相应特征添加扰动,使anchor的置信度降低,再次增大检测损失。选择-抑制策略可以帮助更好地找到MAL的非凸目标函数解。如下图第一条曲线所示,MAL选择了一个次优锚,陷入了损失函数的局部最小值。在第二条曲线中,anchor depression增加了损失,使得局部最小值被“填充”,因此MAL会继续寻找下一个局部最小值,继续优化。这样在最终收敛时, MAL能够有更大的可能找到最优解。在这里插入图片描述

四、Experiments

Ablation Study

在这里插入图片描述
在这里插入图片描述

Comparison with State-of-the-Art Detectors

在这里插入图片描述

五、个人总结

       MAL也是针对的正负样本标签分配的问题,也是在FreeAnchor后看到了标签分配中的油水,主要是解决的分类和定位置信度之间存在的不匹配问题,作者结合了分类与定位置信度,选出综合分数较高的anchors组成anchor bag,然后用anchor bag中的anchors来更新模型的参数,再用更新后的模型对被选择的anchor的分类与定位置信度进行重新评估,并不断重复这一过程,最终得到最优的anchor和模型参数。
       而为了解决在选择anchor时存在的局部最优问题,作者又提出一个选择-抑制策略,这是一个对抗性的策略,通过选择操作找到使损失最小化的anchor,但由于可能会是局部最优解,所以又通过一个抑制操作降低这些较优anchor的置信度来跳出局部最优,并不断重复这一过程,这样不断增大得到最优解的概率。

部分参考于:Multiple Anchor Learning for Visual Object Detection 论文笔记

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值