cascade R-CNN

级联R-CNN出现原因

论文链接:https://arxiv.org/abs/1712.00726
上文针对目标检测中IOU阈值选取问题。一味增大阈值,使得样本减少。容易导致过拟合。且train和inference阶段的阈值不同导致更严重的mismatch.
回顾faster R-CNN:
train阶段:将整张图片喂入conv-relu-pooling得到整各特征图,再RPN选取2000个proposals,通过softmax判断锚点(anchors (目标框))判断是否为前景(是否有物体),边界框回归筛选精确proposals,proposals(128个)被送入到Roi Pooling,提取目标区域的特征图,最后进行类别分类和box回归(判断是什么物体)
softmax 一次性分类多个物体。等价于多个SVM
cascade R-CNN_第1张图片
inference阶段:RPN选取300左右proposals,送入fast R-CNN,和train阶段不同的是:无法确定gt,导致无法筛选proposals,全部送入Roi-Pooling
IoU:指真实框和预测框的关联度。由proposal和gt确定IOU。
inference:指test阶段或者predict阶段。
mismatch :training阶段的输入proposals质量更高(被采样过,IoU>threshold),inference阶段的输入proposals质量相对较差.导致最后性能很差。

解决方法

核心就是利用不断提高的阈值,在保证正例样本数不减少的情况下训练出高质量的检测器。IOU不断提高,性能提高,但达到一定值,继续升高时,性能就会下降(过拟合)
级联RCNN包括一系列IOU逐渐增大的检测器,并且是一步一步训练,上一个检测器的输出作为下一个检测器的输入,因为对一个检测器来说输出的IOU值会比输入的IOU更高。
加入一个多阶段检测子网络对RPN产生的proposal进行逐步的refine;(refine指样本的重采样),三次网络,IoU=0.5\0.6\0.7 训练的时候不同的stage的输入数据分布已经是不同的了
cascade R-CNN_第2张图片

结果

不断提高IOU,不断提高BBox的质量,且性能升高

你可能感兴趣的:(cascade R-CNN)