【目标检测】Casecade R-CNN论文讲解(超详细版本)


论文讲解已经整理成word版本发布,作品源地址为:

https://mbd.pub/o/bread/Y56Tmp1x

下面是展示的部分数据!

一、背景

从文章的题目上我们就可以看出这篇文章的目标是提高检测质量,希望能获得更精确的检测结果。文章提出的cascade结构的效果是惊艳的,几乎对于任意的R-CNN(Faster RCNN,FPN,R-FCN等)都可以带来 到 个点的AP提升。

Object Detection需要找到true positives,同时抑制大量的close false positives。训练detector时需要使用IoU阈值 来定义positive和negative。

二、简单回顾R-CNN结构

以经典的Faster RCNN为例。整个网络可以分为两个阶段,training阶段和inference阶段,如下图所示:

在这里插入图片描述

2.1 Training阶段

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

2.2 Inference阶段

在这里插入图片描述

三、论文摘要

在这里插入图片描述

四、介绍

目标检测是一个复杂的问题,需要解决两个主要的任务:

  • 首先,检测器必须解决识别问题,区别前景目标和背景目标,并为其分配匹配的类别标签;
  • 其次,检测器必须解决定位问题,为不同的目标分配精确的bounding box。

许多目标检测器都是基于两阶段网络框架Faster R-CNN的。两阶段检测网络是一个多任务学习问题,包括目标的分类和边界框回归。

与物体识别不同的是,定义正/负样本需要一个IoU阈值。通常使用的IoU阈值为0.5 , 0.5对IoU的设置是相当低的。检测的目标经常包括很多噪声。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

五、关于mismatch问题

在training阶段和inference阶段使用不同的阈值很容易导致mismatch,什么意思呢?

在training阶段,由于给定了GT,所以可以把与GT的IoU大于阈值的proposals作为正样本,这些正样本参与之后的bbox回归学习和分类。

在inference阶段,由于GT是未知的,所以只能把所有的proposals都当作正样本,让后面的bbox回归器回归坐标。且在inference阶段,只有生成的proposals自身的IoU值和训练器训练时设定的IoU阈值较为接近时,训练器输出的IoU值才会高即网络性能才好。

所以在training阶段和inference阶段,bbox回归的输入分布是不一样的,training阶段输入的proposals质量更高(被采样过,IoU>threshold),inference阶段的输入proposals质量相对较差(没有采样过,可能包含很多IoU<threshold的情况),这就是论文中提到的mismatch问题,这个问题是固有存在的,通常threshold取0.5时,mismatch问题不会很严重。

六、关于单纯增大训练时IoU阈值问题

在这里插入图片描述
在这里插入图片描述
从上图可以看到,随着stage的加深,相应区域的positive依旧拥有大量的proposal,因此不会出现严重的过拟合现象。

七、相关工作

7.1 two-stage

在这里插入图片描述

7.2 one-stage

在这里插入图片描述

7.3 multi-stage

在这里插入图片描述

八、Cascade R-CNN讲解

本文解决的重要思想是每一个单独的detector只对一个单独的IoU(原文称quality level)进行优化。此前有类似的工作,但本文的思想与其不同,此前是对False positive rate优化,本文是对一个给定的IoU阈值优化。

高IoU预设在输入高IoU样本时输出较好,低IoU预设在输入低IoU样本时输出较好。也就是说预设值与输入值匹配的情况下表现最好。

然而,要生成一个高质量的detector,光是简单地提高阈值也没什么用,如上面讲过的,提高阈值输出还是不断下降,作者认为这样的原因是因为提高阈值之后会使positive samples太少。本来神经网络就很脆弱,这么少的样本很容易造成过拟合。另一个问题是上文提到的预设与输入IoU阈值不匹配的问题。

作者首先给了一张当时比较流行的方法示意图,此图后文用到多次,我们称之为结构图,各大写字母含义图中也给出解释:

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

九、总结

RPN提出的proposals大部分质量不高,导致没办法直接使用高阈值的detector,Cascade R-CNN使用cascade回归作为一种重采样的机制,逐stage提高proposal的IoU值,从而使得前一个stage重新采样过的proposals能够适应下一个有更高阈值的stage。这篇论文的启发:

在这里插入图片描述

IoU阈值训练级联检测器。最关键的是逐渐提高的IoU阈值的stage要对应着高IoU阈值样本的分布,否则很容易发生过拟合;恰巧的是低IoU阈值的bbox在经过回归后,其IoU阈值一定会变大,故这样就级联起来了。

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

旅途中的宽~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值