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


目录
相关文章
|
5天前
|
人工智能 自然语言处理 算法
首届大模型顶会COLM 高分论文:偏好搜索算法PairS,让大模型进行文本评估更高效
【8月更文挑战第26天】在人工智能领域,尽管大型语言模型(LLMs)作为自动评估工具展现了巨大潜力,但在自然语言生成质量评估中仍存偏见问题,且难以确保一致性。为解决这一挑战,研究者开发了Pairwise-preference Search(PairS)算法,一种基于不确定性的搜索方法,通过成对比较及不确定性引导实现高效文本排名,有效减少了偏见、提升了评估效率和可解释性。PairS在多项任务中表现出色,相较于传统评分法有显著提升,为自然语言处理评估提供了新思路。更多详情参阅论文:https://arxiv.org/abs/2403.16950。
18 4
|
23天前
|
机器学习/深度学习 存储 算法
【博士每天一篇论文-算法】Continual Learning Through Synaptic Intelligence,SI算法
本文介绍了一种名为"Synaptic Intelligence"(SI)的持续学习方法,通过模拟生物神经网络的智能突触机制,解决了人工神经网络在学习新任务时的灾难性遗忘问题,并保持了计算效率。
27 1
【博士每天一篇论文-算法】Continual Learning Through Synaptic Intelligence,SI算法
|
20天前
|
数据采集 机器学习/深度学习 算法
【python】python客户信息审计风险决策树算法分类预测(源码+数据集+论文)【独一无二】
【python】python客户信息审计风险决策树算法分类预测(源码+数据集+论文)【独一无二】
|
23天前
|
机器学习/深度学习 算法 物联网
【博士每天一篇论文-算法】Overview of Echo State Networks using Different Reservoirs and Activation Functions
本文研究了在物联网网络中应用回声状态网络(ESN)进行交通预测的不同拓扑结构,通过与SARIMA、CNN和LSTM等传统算法的比较,发现特定配置的ESN在数据速率和数据包速率预测方面表现更佳,证明了ESN在网络流量预测中的有效性。
15 4
|
23天前
|
机器学习/深度学习 存储 算法
【博士每天一篇论文-算法】Optimal modularity and memory capacity of neural reservoirs
本文研究了神经网络的模块化与记忆性能之间的关系,发现存在一个最佳模块化程度,能够在局部凝聚性和全局连接性之间实现平衡,从而显著提高神经网络的预测性能和记忆能力,并为设计神经网络和理解大脑的模块化组织提供了新的见解。
14 0
【博士每天一篇论文-算法】Optimal modularity and memory capacity of neural reservoirs
|
23天前
|
机器学习/深度学习 算法 数据挖掘
【博士每天一篇文论文-算法】A small-world topology enhances the echo state property and signal propagationlun
本文研究了小世界拓扑结构在回声状态网络(ESN)中的作用,发现具有层级和模块化组织的神经网络展现出高聚类系数和小世界特性,这有助于提高学习性能和促进信号传播,为理解神经信息处理和构建高效循环神经网络提供了新的视角。
22 0
【博士每天一篇文论文-算法】A small-world topology enhances the echo state property and signal propagationlun
|
20天前
|
算法 Python
【python】python基于 Q-learning 算法的迷宫游戏(源码+论文)【独一无二】
【python】python基于 Q-learning 算法的迷宫游戏(源码+论文)【独一无二】
|
18天前
|
算法
基于模糊控制算法的倒立摆控制系统matlab仿真
本项目构建了一个基于模糊控制算法的倒立摆控制系统,利用MATLAB 2022a实现了从不稳定到稳定状态的转变,并输出了相应的动画和收敛过程。模糊控制器通过对小车位置与摆的角度误差及其变化量进行模糊化处理,依据预设的模糊规则库进行模糊推理并最终去模糊化为精确的控制量,成功地使倒立摆维持在直立位置。该方法无需精确数学模型,适用于处理系统的非线性和不确定性。
基于模糊控制算法的倒立摆控制系统matlab仿真
|
13天前
|
算法 数据安全/隐私保护
基于LS算法的OFDM+QPSK系统信道估计均衡matlab性能仿真
基于MATLAB 2022a的仿真展示了OFDM+QPSK系统中最小二乘(LS)算法的信道估计与均衡效果。OFDM利用多个低速率子载波提高频谱效率,通过循环前缀克服多径衰落。LS算法依据导频符号估计信道参数,进而设计均衡器以恢复数据符号。核心程序实现了OFDM信号处理流程,包括加性高斯白噪声的加入、保护间隔去除、快速傅立叶变换及信道估计与均衡等步骤,并最终计算误码率,验证了算法的有效性。
31 2
|
13天前
|
算法
基于GA-PSO遗传粒子群混合优化算法的CVRP问题求解matlab仿真
本文介绍了一种基于GA-PSO混合优化算法求解带容量限制的车辆路径问题(CVRP)的方法。在MATLAB2022a环境下运行,通过遗传算法的全局搜索与粒子群算法的局部优化能力互补,高效寻找最优解。程序采用自然数编码策略,通过选择、交叉、变异操作及粒子速度和位置更新,不断迭代直至满足终止条件,旨在最小化总行驶距离的同时满足客户需求和车辆载重限制。

热门文章

最新文章

下一篇
云函数