Cascade R-CNN详解

原文链接:https://blog.csdn.net/stu_shanghui/article/details/92107050
论文链接:Cascade R-CNN: Delving into High Quality Object Detection
代码链接:https://github.com/zhaoweicai/cascade-rcnn

特点:级联不同IOU阈值(界定正负样本)的输出,使不同IOU值检测与其相对应的IOU值的目标

1.对IOU阈值设置问题进行了详细的分析

Input IOU是输入proposal与ground truth的IOU值;

Output IOU是输出的proposal与ground truth的IOU值

图(c)中可以看出,使用某个阈值界定正负样本时,当输入proposal的IOU在这个阈值附近时,检测效果是最好的;换句话说就是:如果输入IOU与设置的阈值接近,则这个模型的检测检测结果会比其他输入IOU的模型好。
在这里插入图片描述

2.级联结构

级联各个检测模型,设置不同的IOU阈值界定样本训练模型,前一个检测模型的输出是后一个检测模型的输入,IOU值一直上升。

问题:为什么使用级联?

①图(c)结论:不同的IOU阈值训练得到的检测模型对不同IOU的输入proposal的效果差别较大,因此希望训练每个检测模型用的IOU阈值要尽可能和输入proposal的IOU接近

②图(c)可以看出,输出IOU值都大于输入IOU值,递增的关系,上个一stage的输出就可以作为下一个stage的输入

Cascade RCNN的中心思想:

使用不同的IOU阈值划分正负样本,让每一个stage的detector都专注于检测IOU在某一范围内的proposal,因为输出IOU普遍大于输入IOU,因此检测效果会越来越好。

3.cascade结构

图(a)是Faster-rcnn的结构(但是没有明白这个C0是干什么的)

图(b)是迭代式的bbox结构,一轮一轮的进行都是在最初的数据上进行

图(c)是Integral Loss,基于不同的IOU值训练模型,模型之间没有联系

图(d)是cascade RCNN结构,与图(b)不同的是检测模型基于前一个模型,而b中都是基于最初的数据

在这里插入图片描述

4.损失函数

位置损失函数,与Fast-RCNN中使用的一致,都是L1损失

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

分类损失,交叉熵损失函数

在这里插入图片描述

5.结果

COCO数据集测试
在这里插入图片描述在这里插入图片描述

附飞桨课件

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

猜你喜欢

转载自blog.csdn.net/u013547284/article/details/113278416
今日推荐