论文阅读笔记 | 目标检测算法——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函数,并将其使用在边界框回归损失函数上,同样提高了性能。


目录
相关文章
|
1月前
|
机器学习/深度学习 自然语言处理 算法
调研180多篇论文,这篇综述终于把大模型做算法设计理清了
《A Systematic Survey on Large Language Models for Algorithm Design》综述了过去三年大型语言模型(LLMs)在算法设计中的应用。LLMs通过自然语言处理技术,助力生成、优化和验证算法,在优化、机器学习、数学推理等领域展现出广泛应用前景。尽管存在资源需求高、结果不确定等挑战,LLMs仍为算法设计带来新机遇。论文地址:https://arxiv.org/abs/2410.14716。
83 14
|
2月前
|
机器学习/深度学习 监控 算法
基于反光衣和检测算法的应用探索
本文探讨了利用机器学习和计算机视觉技术进行反光衣检测的方法,涵盖图像预处理、目标检测与分类、特征提取等关键技术。通过YOLOv5等模型的训练与优化,展示了实现高效反光衣识别的完整流程,旨在提升智能检测系统的性能,应用于交通安全、工地监控等领域。
|
2月前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于GA-PSO-SVM算法的混沌背景下微弱信号检测matlab仿真
本项目基于MATLAB 2022a,展示了SVM、PSO、GA-PSO-SVM在混沌背景下微弱信号检测中的性能对比。核心程序包含详细中文注释和操作步骤视频。GA-PSO-SVM算法通过遗传算法和粒子群优化算法优化SVM参数,提高信号检测的准确性和鲁棒性,尤其适用于低信噪比环境。
|
2月前
|
存储 JSON 算法
TDengine 检测数据最佳压缩算法工具,助你一键找出最优压缩方案
在使用 TDengine 存储时序数据时,压缩数据以节省磁盘空间是至关重要的。TDengine 支持用户根据自身数据特性灵活指定压缩算法,从而实现更高效的存储。然而,如何选择最合适的压缩算法,才能最大限度地降低存储开销?为了解决这一问题,我们特别推出了一个实用工具,帮助用户快速判断并选择最适合其数据特征的压缩算法。
74 0
|
3月前
|
机器学习/深度学习 安全 算法
计算机前沿技术-人工智能算法-大语言模型-最新论文阅读-2024-09-23(下)
计算机前沿技术-人工智能算法-大语言模型-最新论文阅读-2024-09-23(下)
63 0
|
3月前
|
安全 搜索推荐 算法
计算机前沿技术-人工智能算法-大语言模型-最新论文阅读-2024-09-23(上)
计算机前沿技术-人工智能算法-大语言模型-最新论文阅读-2024-09-23(上)
44 0
|
3月前
|
自然语言处理 搜索推荐 算法
计算机前沿技术-人工智能算法-大语言模型-最新论文阅读-2024-09-21(下)
计算机前沿技术-人工智能算法-大语言模型-最新论文阅读-2024-09-21(下)
47 0
|
3月前
|
机器学习/深度学习 人工智能 自然语言处理
计算机前沿技术-人工智能算法-大语言模型-最新论文阅读-2024-09-21(上)
计算机前沿技术-人工智能算法-大语言模型-最新论文阅读-2024-09-21(上)
37 0
|
15天前
|
机器学习/深度学习 算法 计算机视觉
基于CNN卷积神经网络的金融数据预测matlab仿真,对比BP,RBF,LSTM
本项目基于MATLAB2022A,利用CNN卷积神经网络对金融数据进行预测,并与BP、RBF和LSTM网络对比。核心程序通过处理历史价格数据,训练并测试各模型,展示预测结果及误差分析。CNN通过卷积层捕捉局部特征,BP网络学习非线性映射,RBF网络进行局部逼近,LSTM解决长序列预测中的梯度问题。实验结果表明各模型在金融数据预测中的表现差异。
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
深入理解深度学习中的卷积神经网络(CNN)##
在当今的人工智能领域,深度学习已成为推动技术革新的核心力量之一。其中,卷积神经网络(CNN)作为深度学习的一个重要分支,因其在图像和视频处理方面的卓越性能而备受关注。本文旨在深入探讨CNN的基本原理、结构及其在实际应用中的表现,为读者提供一个全面了解CNN的窗口。 ##

热门文章

最新文章