Cascade-RCNN算法详解——级联RCNN网络

论文链接:https://arxiv.org/abs/1712.00726

代码链接: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的模型好。

Cascade-RCNN算法详解——级联RCNN网络_第1张图片

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值训练模型,模型之间没有联系

Cascade-RCNN算法详解——级联RCNN网络_第2张图片

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

 

 

4.损失函数

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

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

5.结果

COCO数据集测试

Cascade-RCNN算法详解——级联RCNN网络_第3张图片Cascade-RCNN算法详解——级联RCNN网络_第4张图片

 

 

你可能感兴趣的:(目标检测)