论文阅读笔记 | 目标检测算法——Libra R-CNN算法

简介: 论文阅读笔记 | 目标检测算法——Libra R-CNN算法

paper:Libra R-CNN: Towards Balanced Learning for Object Detection

image.png


摘要:


相比于模型结构,相比之下如何对模型进行训练这一方面受到的关注比较少,但是其对于目标检测任务来说同样的重要。作者回顾了检测器的标准训练过程,发现了检测性能往往受到训练过程中不平衡的限制,而这种不平衡一般由三个层次组成:样本层(sample level)、特征层(feature level)和目标层(objective level)。


为了解决这个问题,作者提出了Libra R-CNN,用来平衡训练过程。Libra R-CNN由三个新组建构成:IoU平衡采样(IoU-balanced sampling)、平衡特征金字塔(balanced feature pyramid)和平衡L1损失(balanced L1 loss),分别用于降低采样、特征和目标三个层次的不平衡。


1. Introduction


不断涌现的网络结构推动了目标检测的发展,但尽管流水线架构(例如单阶段与两阶段)中存在明显的差异,但现代检测框架大多遵循共同的训练流程:即采样区域,从中提取特征,然后在标准多任务目标函数的指导下共同识别类别并细化位置。


基于这种训练流程,目标检测器训练的成功取决于三个关键方面:

1)所选区域样本是否具有代表性

2)提取的视觉特征是否被充分利用

3)设计的目标函数是否最优


作者的研究表明,典型的训练过程在所有这些方面都明显不平衡。这种不平衡问题阻碍了设计良好的模型体系结构的能力被充分利用,从而限制了整体性能,如图所示:

image.png


1.1 Sample level imbalance

当训练对象检测器时,困难样本特别有价值,因为它们对提高检测性能更有效。然而,随机抽样方案通常导致所选择的样本被容易样本所支配。如图1中的(a)所示,正负样本的数量之间存在严重的不平衡问题,负样本要比正样本要多得多。常用的提高困难样本关注的方法:


  • OHEM

OHEM有助于提高对困难样本的关注。然而它们通常对噪声标签很敏感,并导致相当大的内存和计算成本。


  • Focal loss

Focal loss也缓解了One-step检测器中的这个问题,但是当扩展到R-CNN时发现几乎没有改善,因为大多数容易样本被two-stage检测器中的两个挑选流程过滤掉。(yolov4中也发现Focal loss没有起到效果)


在我另外一篇笔记中有详细说明一些数据分布不均衡所采取的方法:YOLOv4中的tricks概念总结——Bag of freebies,其中的第五点有介绍到。


因此,这个问题还有待细致解决。


1.2 Feature level imbalance

主干中的深层高级特征具有更多的语义含义,而浅层低级特征更具内容描述性。FPN和PANet通过横向连接进行的特征集成推动了目标检测的发展。


  • FPN:提出了横向连接,通过自上而下的途径丰富浅层的语义信息
  • PANet:引入自下而上的途径,进一步增加深层的低层次信息

这些方法表明低层和高层信息对于目标检测是互补的,如何利用它们来整合金字塔表示的方法决定了检测性能。


但是,将它们集成在一起的最佳方法是什么?作者的研究表明,综合特征应该具有来自每个分辨率的平衡信息。但是上述方法中的顺序方式将使综合特征更多地关注相邻分辨率,而较少关注其他分辨率。在信息流中,非相邻层次的语义信息在每次融合时会被稀释一次。


因此,作者提出的方法依赖于集成的平衡语义特征来增强原始特征。以这种方式,每个分辨率都将信息从其他分辨率中分离出来,从而平衡信息流并使特征更具区别性。


1.3 Objective level imbalance

有研究表明,基于多任务学习的模型的性能强烈依赖于每个任务损失之间的相对权重。而检测器需要执行两个任务,即分类和定位。因此,训练目标包含两个不同的目标。如果它们没有得到适当的平衡,一个目标可能会受到损害,导致整体性能不佳。


训练过程中涉及的样本也是如此。如果它们没有得到适当的平衡,由简单样本产生的小梯度可能会淹没在由硬样本产生的大梯度中,从而限制了进一步的细化。因此,需要重新平衡所涉及的任务和样本,以实现最佳收敛。而作者的方法重新平衡所涉及的任务和样本,以实现更好的收敛。


小结:

为了减轻这些问题造成的不利影响,作者提出了Libra R-CNN算法,明确地在上面讨论的所有三个层次上实施平衡。这个框架集成了三个新组件:

1)IoU-balanced sampling:根据困难样本的与指定ground-truth的IoU来挖掘硬样本,也就是提高注意力。

2) balanced feature pyramid:其使用相同的深度集成的平衡语义特征来加强多级特征。

3)balanced L1 loss:提升关键梯度,以重新平衡所涉及的分类、整体定位和精确定位。


作者的主要贡献:

1)系统地回顾了检测器的训练过程,揭示了限制检测性能的三个层次的不平衡问题。

2)提出了Libra RCNN,这是一个通过结合三个新的组成部分来重新平衡训练过程的框架:IoU平衡采样、平衡特征金字塔和平衡L1损失。

3)在MS COCO上测试了所提出的框架,与最先进的检测器(包括单级和两级检测器)相比,不断获得显著的改进。


2. Libra R-CNN Methodology


Libra R-CNN的目标是使用整体平衡设计来缓解检测器训练过程中存在的不平衡,从而尽可能挖掘模型架构的潜力,其整体架构如下图所示:

image.png


2.1 IoU-balanced Sampling

对于RPN网络提供的候选框中仍然存在大量的样本,在这些负样本中有困难的负样本也有简单的负样本。其中困难的负样本就是被判断为假阳性的概率高,所以传统的双阶段的硬样本挖掘需要对这些困难样本进行复杂计算得出结果。而如果是简单对RPN网络提供的候选框进行随机抽样,明显效果不会是最好的,所以希望能够尽量的挑选多一些的困难负样本。


基于这个问题,现在从一个基本问题开始:训练样本与其对应的ground truth之间的重叠是否与其难度相关联?这里主要考虑困难负样本,作者从实验发现,超过60%的困难负样本具有大于0.05的重叠,但是随机采样只为我们提供了大于相同阈值的30%的训练样本,如图所示:

image.png

这种极端的样品不平衡将许多困难负样本埋藏在成千上万个简单负样本中。


基于这一观察,作者提出了IoU平衡采样:一种简单但有效的硬挖掘方法,无需额外成本。假设现在需要从M MM个对应的候选中抽取N 个负样本。随机抽样下每个样本的选择概率为:

image.png

为了提高困难负样本的选择概率,作者根据IoU将采样间隔平均分成K 个区间。所以N 个要求的负样本被平均分配到每个箱中,然后再统一从中挑选样本。因此,得到了IoU平衡采样下的选择概率为:

image.png

其中,M k  是由k 表示的相应区间中的采样候选数,这里作者设置K = 3 ,也就是将IoU采样间隔分为了3个区间。


由上图3可以看出,IoU平衡采样可以引导训练样本的分布接近困难负样本的分布。实验还表明,实验结果对K不敏感,具有更高IoU的样本往往更有可能被选择。可以了解到,通过这种采样方法,明显比随机抽样的结果挑选的困难负样本要好。


此外该方法也适用于困难正样品。然而在大多数情况下并没有足够的候选样本将该程序扩展到正样本中。为了使平衡抽样程序更全面,我们对每个ground truth抽样相等的正样本作为替代方法。


2.2 Balanced Feature Pyramid

与以前使用横向连接集成多级特征的方法不同,作者的关键思想是使用相同的深度集成的平衡语义特征来增强多级特征。它包括四个步骤,重新调整,整合,提炼和加强,具体结构如图所示:

image.png

image.png

然后,使用相同但相反的过程对获得的特征进行重新缩放,以增强原始特征。在此过程中,每层预测特征层从其他预测特征层获得相同的信息。请注意,此过程不包含任何参数。作者观察到这种非参数方法的改进,证明了信息流的有效性。


在上诉重新缩放之前,平衡的语义特征可以进一步提炼(Refine),使其更具区别性。作者发现直接使用卷积的提炼和非局部模块(non-local module)都工作良好,但是非局部模块工作更稳定。因此,本文使用嵌入的高斯非局部注意(embedded Gaussian non-local attention)作为提炼步骤,这提炼步骤有助于增强集成特性并进一步改善结果。


通过这种方法,从低级到高级的特征被同时聚集。输出的预测特征层{ P 2 , P 3 , P 4 , P 5 } 各自用于目标检测,这与FPN一样。还值得一提的是,平衡特征金字塔(balanced feature pyramid)可以与FPN或者PAFPN互补工作,没有任何冲突。


ps:在这个过程中,设计到non-local module,这个出现在非局部神经网络(Non-local Neural Networks),非局部通用网络结构,由何恺明提出,non-local指的就是感受野可以很大。对于non-local module的说明之后会进行补充。


2.3 Balanced L1 Loss

image.png


平衡相关任务的一个自然解决方案是调整它们的损失权重。然而,由于回归目标无界,直接提高局部化损失的权重会使模型对异常值更加敏感。这些异常值可视为困难样本,会产生过大的梯度,对训练过程有害。而与异常值相比,内联值对整体梯度的贡献很小,可以被视为简单样本。更具体地说,与异常值相比,内联值对每个样本平均只贡献30%的梯度。考虑到这些问题,我们提出了平衡L1损耗,表示为L b  。


Balanced L1 loss源自传统的smooth L1 loss,其中拐点被设置为将内联器与外联器分开,并将1.0设置为异常值outliers产生的最大梯度,如下图(a)所示:

image.png

image.png

image.png

image.png

image.png

3. Result


  • 在困难负样本随机挑选时,划分的区间k=3时效果最好:

image.png


  • 提出的balanced semantic pyramid的作用:

image.png


  • 新定义的balanced L1的作用:

image.png


  • 与SOTA的对比:

image.png


总结:


相比于网络结构的改变,作者将注意力放在了训练过程的改进上,提出3点改进:

1)通过对随机抽样负样本时设置分区进行抽样,增加了困难样本被挑选的概率。

2)对FPN结构进行改进,提出了Balanced FPN。其过程是对全部的预测特征层直接进行集成并进一步提炼处理,再之后就是池化或者双线性插值变化为FPN的类似输出,这对于性能竟然是有帮助的,证明了信息流的有效性。

3)抛弃传统的smooth L1函数,创造了balanced L1函数,并将其使用在边界框回归损失函数上,同样提高了性能。


目录
相关文章
|
13天前
|
运维 算法 安全
异常检测算法及其在安全领域的应用
【6月更文挑战第4天】在数字化时代,数据安全至关重要,异常检测算法扮演着守护者角色。它能自动学习正常行为模式,及时发现网络攻击和欺诈行为。非监督式异常检测算法尤其重要,如基于距离的方法,通过计算数据点间距离识别偏离常规的点。Python的scikit-learn库可实现这一算法。异常检测不仅应用于金融领域的欺诈检测,还广泛用于工业监控、医疗诊断和社交媒体分析,为多领域数据安全提供保障。随着技术进步,异常检测将更智能、高效,成为数据安全的重要防线。
29 2
|
26天前
|
算法 计算机视觉
YOLOv3 的非极大值抑制(NMS)算法是如何工作的,它对最终检测结果有何影响?
YOLOv3 的非极大值抑制(NMS)算法是如何工作的,它对最终检测结果有何影响?
|
26天前
|
监控 算法 自动驾驶
主流的目标检测算法是那种?
主流的目标检测算法是那种?
|
1天前
|
算法 JavaScript 前端开发
在JavaScript中实现基本的碰撞检测算法,我们通常会用到矩形碰撞检测,也就是AABB(Axis-Aligned Bounding Box)碰撞检测
【6月更文挑战第16天】JavaScript中的基本碰撞检测涉及AABB(轴对齐边界框)方法,常用于2D游戏。`Rectangle`类定义了矩形的属性,并包含一个`collidesWith`方法,通过比较边界来检测碰撞。若两矩形无重叠部分,四个条件(关于边界相对位置)均需满足。此基础算法适用于简单场景,复杂情况可能需采用更高级的检测技术或物理引擎库。
17 6
|
5天前
|
机器学习/深度学习 监控 算法
基于yolov2深度学习网络的昆虫检测算法matlab仿真,并输出昆虫数量和大小判决
YOLOv2算法应用于昆虫检测,提供实时高效的方法识别和定位图像中的昆虫,提升检测精度。核心是统一检测网络,预测边界框和类别概率。通过预测框尺寸估算昆虫大小,适用于农业监控、生态研究等领域。在matlab2022A上运行,经过关键升级,如采用更优网络结构和损失函数,保证速度与精度。持续优化可增强对不同昆虫的检测能力。![image.png](https://ucc.alicdn.com/pic/developer-ecology/3tnl7rfrqv6tw_e760ff6682a3420cb4e24d1e48b10a2e.png)
|
10天前
|
算法 计算机视觉
图像处理之霍夫变换圆检测算法
图像处理之霍夫变换圆检测算法
10 0
|
10天前
|
算法 计算机视觉
图像处理之角点检测算法(Harris Corner Detection)
图像处理之角点检测算法(Harris Corner Detection)
13 3
|
11天前
|
算法 计算机视觉
图像处理之霍夫变换(直线检测算法)
图像处理之霍夫变换(直线检测算法)
13 0
|
11天前
|
算法 计算机视觉
图像处理之简单脸谱检测算法(Simple Face Detection Algorithm)
图像处理之简单脸谱检测算法(Simple Face Detection Algorithm)
8 0
|
17天前
|
机器学习/深度学习 运维 算法
[ICDE2024]多正常模式感知的频域异常检测算法MACE
阿里云计算平台大数据基础工程技术团队主导,与浙江大学合作的论文《Learning Multi-Pattern Normalities in the Frequency Domain for Efficient Time Series Anomaly Detection》被ICDE2024收录,该论文解决了云服务环境中不同服务存在不同正常模式,而传统神经网络一个训练好的模型只能较好捕捉一种或少数几种正常模式的问题,该论文提出的方法可以使用一个统一模型对不同服务进行检测,就达到比为每一个服务定制一个模型的SOTA方法更好的效果。

热门文章

最新文章