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

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

paper:Cascade R-CNN: Delving into High Quality Object Detection

摘要:

曾经,在目标检测领域中,IoU阈值的设定非常重要。如果设置一个比较低的阈值,会出现比较多的噪声对象;而如果设置的比较高,检测器的性能也会下降。这主要是两个原因:

1)阈值设置过高,会导致在训练期间由于正样本指数消失而过度拟合。

2)在推断过程中,检测器最适合的IoU与输入假设不匹配。

为此,作者提出了Cascade R-CNN来解决这两个问题。Cascade R-CNN由一系列经过IoU阈值递增训练的检测器组成,检测器被逐级训练,利用上一层检测器的输出作为下一级检测器的输入。


1. Introduction


目标检测的两个问题:

1)提议检测器的假设分布通常严重不平衡,质量很低。一般来说,强制较大的IoU阈值会导致正训练样本的数量呈指数级减少。

2)测器的质量和推断时测试假设的质量不匹配。

Cascade R-CNN解决问题的基本思想是单个检测器只能针对单个质量水平进行优化。这是因为,高质量的检测器只对高质量的假设是最佳的。当他们被要求研究其他质量水平的假设时,检测可能是次优的。如图c所示:

image.png

作者提出的Cascade R-CNN是R-CNN的多级扩展,其级联是顺序训练的,使用一级的输出来训练下一级。这是因为观察到回归器的输出IoU几乎总是优于输入IoU,说明用某个IoU阈值训练的检测器的输出是训练下一个更高IoU阈值的检测器的良好分布。

级联的重采样程序并不是为了挖掘困难样本,而是通过调整边界框,每个阶段都旨在为下一阶段的训练找到一组良好的接近假阳性。当以这种方式操作时,一系列适用于越来越高的IoUs的检测器可以克服过拟合问题,从而得到有效的训练。推断时,应用相同的级联过程。逐步改进的假设与每个阶段不断提高的检测器质量更匹配。

Cascade R-CNN超过了那时所有以前最先进的单模型探测器。


2 Related Work


2.1 iterative bounding box regression

在Cascade R-CNN提出之前,有一些研究认为,f单一的回归步骤可能不足以精确定位,所以打算将回归网络f迭代使用,作为一个后处理步骤,如图所示:

image.png

其中,可以定义为:

image.png

但是这个方法忽视了两个问题:

1)在u = 0.5下训练的回归函数对于更高的阈值限制来说是次优的,会限制高质量回归网络的性能,所以保持同一个阈值优化是不可取的。

2)边界框的分布在每次迭代后都会发生显著变化。虽然回归器对于初始分布是最优的,但是在那之后可能是次优的。也就是,重复迭代同一个回归器是性能不一定是好的。


2.2 Integral Loss

一般来说,很难要求单个分类器在所有IoU级别上表现一致。在推断时,由于由提议的检测器产生的大多数假设,质量较低,检测器必须对质量较低的假设更具鉴别能力。在这些相互冲突的要求之间,一个标准的折衷方案是将u = 0.5。然而,这是一个相对较低的阈值,导致低质量的检测,具有比较多的假阳性样本。

对此,一个简单的解决方案是开发一组分类器,针对不同质量水平的损耗进行优化。也就是采取多个IoU阈值对其进行优化。具体结构如图所示:

image.png

其中,损失函数定义为:

image.png

其中U 是一组IoU阈值,U = { 0.5 , 0.55 , … , 0.75 }

在推断的过程中,分类区需要进行集合优化。但是这个方法也同样的无法解决问题。这是因为,正样本集随着阈值u增加而快速减少,对于高质量的分类器在推断过程中提供的proposals不会太多。此外,那些高质量的分类器需要处理推断时质量极低的proposals,而它们并没有针对这些proposals进行优化。


3. Cascade R-CNN


综上所述,问题的关键在于低阈值的proposals需要用低质量的分类器处理;而高阈值的proposals需要用高质量的分类器处理。所以,Cascade R-CNN中,级联训练的思想理所当然的提出了。

image.png

3.1 Cascaded Bounding Box Regression

很难要求单个回归器在所有质量级别上完美一致地执行,为此,作者将困难的回归任务可以分解为一系列更简单的步骤,也就是变成一个级联回归问题。具体结构如图所示:

image.png

Cascade R-CNN中的级联回归器可以被定义为:

image.png

其中,T是级联级的总数。级联中的每个回归器都经过优化,样本分布{ b t } \{bt\}{bt}到达相应的阶段,而不是{ b 1 } \{b1\}{b1}的初始分布。这个级联逐步改进阈值。


  • Cascade R-CNN与iterative BBox的区别:

1)Iterative BBox是用于改进包围盒的后处理过程,而级联回归是一个重采样过程,它改变了要由不同阶段处理的假设的分布。

2)Cascade R-CNN的级联模块用于训练和推理,所以训练和推理分布之间没有差异。

3)Cascade R-CNN针对不同阶段的重采样分布,优化了多个专用回归器{ f T , f T − 1 , … , f 1 } 。这与Iterative BBox的单个回归器f ff相反,它只对初始分布是最优的。


3.2 Cascaded Detection

对于初始的假设分布,是严重倾向于低质量的,这不可避免地导致高质量分类器的无效学习。Cascade R-CNN依靠级联回归作为重采样机制来解决这个问题。由于某个u训练的边界框回归器倾向于产生更高IoU的边界框,如图所示:

image.png

所以一开始设置的IoU阈值可以设置得不需要太大,而后通过前级的低质量回归器训练出一些质量越来越高的proposals,作为一些高质量回归器(阈值高)的输入,从而获得比较好的结果。

image.png

这保证了一系列经过有效训练的检测器的质量不断提高。在推断时,通过应用相同的级联过程,提议框的质量被顺序提高,并且仅需要更高质量的检测器来对更高质量的提议框进行操作。这使得高质量的目标检测成为可能。


4. Result


  • 与iterative BBox及integral loss的结果对比:

image.png

  • 级联训练的效果:

image.png

  • 与那时的SOTA的对比:

image.png

ps:这里可以看见,Cascade R-CNN算法是优于One-step检测的retinanet的。

目录
相关文章
|
27天前
|
机器学习/深度学习 算法 数据挖掘
没发论文的注意啦!重磅更新!GWO-BP-AdaBoost预测!灰狼优化、人工神经网络与AdaBoost集成学习算法预测研究(Matlab代码实现)
没发论文的注意啦!重磅更新!GWO-BP-AdaBoost预测!灰狼优化、人工神经网络与AdaBoost集成学习算法预测研究(Matlab代码实现)
|
24天前
|
人工智能 算法 安全
【博士论文】基于局部中心量度的聚类算法研究(Matlab代码实现)
【博士论文】基于局部中心量度的聚类算法研究(Matlab代码实现)
|
3月前
|
机器学习/深度学习 运维 监控
实时异常检测实战:Flink+PAI 算法模型服务化架构设计
本文深入探讨了基于 Apache Flink 与阿里云 PAI 构建的实时异常检测系统。内容涵盖技术演进、架构设计、核心模块实现及金融、工业等多领域实战案例,解析流处理、模型服务化、状态管理等关键技术,并提供性能优化与高可用方案,助力企业打造高效智能的实时异常检测平台。
267 1
|
2月前
|
存储 监控 算法
基于跳表数据结构的企业局域网监控异常连接实时检测 C++ 算法研究
跳表(Skip List)是一种基于概率的数据结构,适用于企业局域网监控中海量连接记录的高效处理。其通过多层索引机制实现快速查找、插入和删除操作,时间复杂度为 $O(\log n)$,优于链表和平衡树。跳表在异常连接识别、黑名单管理和历史记录溯源等场景中表现出色,具备实现简单、支持范围查询等优势,是企业网络监控中动态数据管理的理想选择。
60 0
|
5月前
|
机器学习/深度学习 人工智能 JSON
这个AI把arXiv变成代码工厂,快速复现顶会算法!Paper2Code:AI论文自动转代码神器,多智能体框架颠覆科研复现
Paper2Code是由韩国科学技术院与DeepAuto.ai联合开发的多智能体框架,通过规划、分析和代码生成三阶段流程,将机器学习论文自动转化为可执行代码仓库,显著提升科研复现效率。
618 19
这个AI把arXiv变成代码工厂,快速复现顶会算法!Paper2Code:AI论文自动转代码神器,多智能体框架颠覆科研复现
|
3月前
|
机器学习/深度学习 监控 算法
面向办公室屏幕监控系统的改进型四叉树屏幕变化检测算法研究
本文提出一种改进型四叉树数据结构模型,用于优化办公室屏幕监控系统。通过动态阈值调节、变化优先级索引及增量更新策略,显著降低计算复杂度并提升实时响应能力。实验表明,该算法在典型企业环境中将屏幕变化检测效率提升40%以上,同时减少资源消耗。其应用场景涵盖安全审计、工作效能分析及远程协作优化等,未来可结合深度学习实现更智能化的功能。
68 0
|
6月前
|
机器学习/深度学习 存储 算法
基于MobileNet深度学习网络的活体人脸识别检测算法matlab仿真
本内容主要介绍一种基于MobileNet深度学习网络的活体人脸识别检测技术及MQAM调制类型识别方法。完整程序运行效果无水印,需使用Matlab2022a版本。核心代码包含详细中文注释与操作视频。理论概述中提到,传统人脸识别易受非活体攻击影响,而MobileNet通过轻量化的深度可分离卷积结构,在保证准确性的同时提升检测效率。活体人脸与非活体在纹理和光照上存在显著差异,MobileNet可有效提取人脸高级特征,为无线通信领域提供先进的调制类型识别方案。
|
6月前
|
机器学习/深度学习 数据采集 算法
基于yolov2和googlenet网络的疲劳驾驶检测算法matlab仿真
本内容展示了基于深度学习的疲劳驾驶检测算法,包括算法运行效果预览(无水印)、Matlab 2022a 软件版本说明、部分核心程序(完整版含中文注释与操作视频)。理论部分详细阐述了疲劳检测原理,通过对比疲劳与正常状态下的特征差异,结合深度学习模型提取驾驶员面部特征变化。具体流程包括数据收集、预处理、模型训练与评估,使用数学公式描述损失函数和推理过程。课题基于 YOLOv2 和 GoogleNet,先用 YOLOv2 定位驾驶员面部区域,再由 GoogleNet 分析特征判断疲劳状态,提供高准确率与鲁棒性的检测方法。
|
8月前
|
机器学习/深度学习 算法 计算机视觉
基于CNN卷积神经网络的金融数据预测matlab仿真,对比BP,RBF,LSTM
本项目基于MATLAB2022A,利用CNN卷积神经网络对金融数据进行预测,并与BP、RBF和LSTM网络对比。核心程序通过处理历史价格数据,训练并测试各模型,展示预测结果及误差分析。CNN通过卷积层捕捉局部特征,BP网络学习非线性映射,RBF网络进行局部逼近,LSTM解决长序列预测中的梯度问题。实验结果表明各模型在金融数据预测中的表现差异。
368 10
|
10月前
|
机器学习/深度学习 人工智能 自然语言处理
深入理解深度学习中的卷积神经网络(CNN)
深入理解深度学习中的卷积神经网络(CNN)
446 10

热门文章

最新文章