Cascade R-CNN网络学习

检测问题中的IoU阈值选取问题。越高越容易得到高质量的样本。但是阈值变高会引发两个问题:

过拟合;

mismatch。(proposal阈值和训练器用的阈值差值)

只有proposal自身的阈值和训练器训练用的阈值接近时,detector性能表现最好。

训练样本减少,过拟合问题严重。

我们需要保证proposal的高质量又不减少训练样本。

用一个stage的输出去训练下一个stage

某个proposal经过detector之后,IoU必然增加,那么再经过一个更大阈值训练的detector,它的IoU就会更好。
 

举个例子,有三个串联起来的用0.5/0.6/0.7的阈值训练出来的detector,有一个IoU约为0.55的proposal,经过0.5的detector,IoU变为0.75;再经过0.6的detector,IoU变为0.82;再经过0.7的detector,最终IoU变为0.87……比任何一个单独的detector的结果都要好。不仅仅只有IoU改善的好处,因为每经过detector,proposal的IoU都更高,样本质量更好了,那么即使我下一个detector阈值设置得比较高,也不会有太多的样本被刷掉,这样就可以保证样本数量避免过拟合问题。
 

intersection over union (IoU) threshold

a single detector ==》a single quality level

optimization of different points ==》different loss function

Cascade R-CNN:optimization for a given IoU threshold

localization performance==》a function of the IoU of the input proposals

detection performance==》a function of IoU threshold

IoU close to the threshold ==>     bounding box regressor performs best

在单个IoU水平上优化的detector在其他IoU水平上不一定是优化的。

高质量的detector需要detector与hypothesis之间高质量的匹配。

阈值的重新选择本质上是一个resample的过程,保证了样本的质量。

总结:

  • cascaded regression不断改变proposal的分布,并通过调整阈值的方式重采样。
  • cascaded 在train和inference时都会使用,并没有偏差问题。
  • cascaded重采样后的每个检测器,都对重采样后的样本是最优的,解决了mismatch问题。

 

 

你可能感兴趣的:(深度学习,Cascade,R-CNN,级联)