cascade rcnn:是基于faster rcnn的一种改进,我的理解是这个算法更趋近于stage by stage的算法,利用不同的IOU阈值选取,将多级目标检测器进行级联,进一步的优化检测结果,这个算法应该是各个比赛刷榜的主要算法了,不出意外是速度奇慢,但在two-stage里面,我觉得相当具有代表性。
pytorch源代码:https://github.com/guoruoqian/cascade-rcnn_Pytorch
paper:https://arxiv.org/abs/1712.00726
简单回顾faster-rcn的两个阶段(此处图见知乎:https://zhuanlan.zhihu.com/p/42553957):
文章提出的问题:
1、IOU=0.5(此处IOU指的是正负样本的界定值)时会出现较多的误检,因为0.5时正样本会引入更多的背景
2、但一味的提高iou并不一定是好事,阈值越小,对应的正样本就越少,样本数量不均衡越严重(本身faster-rnn就已经非常不对称),会造成严重的过拟合。
3、更进一步的,使用不同的iou值进行训练会造成训练和推理时的一个mismatch问题,如何理解这个问题呢?如下图所示(图片来源见水印)
将RPN得到的proposals的大致分布绘制如上,横轴表示proposals和gt的iou值ÿ