当前位置: 代码迷 >> 综合 >> Cascade RCNN
  详细解决方案

Cascade RCNN

热度:28   发布时间:2023-12-14 14:56:55.0

解决两个问题:

1、低IOU时造成大量噪声框,高IOU时带来过拟合问题。

2、不同IOU阈值训练的Detector对不同IOU的Input(Foreground)的回归效果不同。

 

1、低IOU时造成大量噪声框,高IOU时带来过拟合问题。

低IOU和高IOU效果对比(低IOU的缺点):

 

高IOU时样本不足(高IOU的缺点)过拟合:

 

2、不同IOU阈值训练的Detector对不同IOU的Input(Foreground)的回归效果不同。

如果只采用单一检测器的话:

 

传统Faster RCNN:

 

Faster RCNN以同样的网络,进行多次迭代计算:

差就差在,我们的网络结构在训练的时候,也就是H1,是采用原始的样本,阈值固定为如0.5进行训练的。

可是每次经过迭代后的proposals的分布已经发生了改变,网络还是原始的网络,也就是:

造成结果不良。

 共享H1结构的多次迭代结果:

 

另一种结构,共享pooling层,三个不同阈值分支预测ensample:

 

Cascade RCNN:

 

我们看到,每次得到的结果进行resample,大的IOU阈值的proposals反而增多:

 

 输出分布结果:

 

最后来一张结果:

 

结论:

  • 每一个stage的detector都不会过拟合,都有足够满足阈值条件的样本。
  • 更深层的detector也就可以优化更大阈值的proposals。
  • 每个stage的H不相同,意味着可以适应多级的分布。
  • 在inference时,虽然最开始RPN提出的proposals质量依然不高,但在每经过一个stage后质量都会提高,从而和有更高IoU阈值的detector之间不会有很严重的mismatch。
  相关解决方案