Cascade R-CNN:级联RCNN以提升检测质量
Cascade RCNN 采用级联的方式,几乎对任意的RCNN都起到提升2到4点AP的作用
Faster R-CNN系列改进回顾
RCNN系列存在的问题
在RCNN系列中IoU的阈值决定了一个RoI属于正样本或是负样本,如果我们抬高阈值,则得到的RoI肯定是更接近真实物体,那么训练得到的检测器肯定会更为准确 (更好的proposal得到更好的bbox)
但同时会导致两个问题:
Mismatch问题
训练阶段bbox回归学习的正样本是和GT的IoU大于阈值的Proposals,而测试阶段由于没有GT,用于bbox回归坐标的正样本是所有的Proposals,可能存在IoU小于阈值的,会导致性能下降,随着IoU阈值的提高,问题会变得更加严重
实验与发现
作者对不同的IoU阈值设置做了三组实验,c图展示了proposals的分布,横纵轴为经过bbox回归前后的候选框IoU分布,d图展示了测试阶段将bbox判断为正样本的IoU阈值 (注意区分IoU的含义)
可以发现,候选框IoU和IoU阈值接近时,训练效果更好,而越远,mismatch的效果会更严重
所以作者得出一个结论
级联R-CNN
级联RCNN的结构如图所示,I表示图片,B表示bbox回归,C表示分类,H表示RCNN网络部分
图中表示的结构很清晰,将前一个回归网络输出的bbox作为下一个检测器的输入继续进行回归,整三遍再输出,越靠后的检测器设置的IoU阈值越高
总结
级联主要是为了解决mismatch的问题,通过逐个RCNN块不断地提高bbox的IoU值,使得和更高的阈值能够相匹配,而因为正负样本均衡也不会出现过拟合的问题,多个RCNN回归级联适配了更多阈值的proposals
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 未央の童话镇!
评论
TwikooValine