2018 CVPR
Cascade R-CNN: Delving Into High Quality Object Detection
Cascade R-CNN: High Quality Object Detection and Instance Segmentation
High Quality Object Detection and Instance Segmentation
Introduce
检测=分类+定位
- 确定正样本的过程普遍的做法是:计算anchor box与ground truth 之间的IOU,大于某一个阈值(一般是0.5)就认为这是一个正样本。
阈值低导致 有很多重复的没用的框,可以称为噪声
那检测中的IoU阈值选取高可以吗?
-
越容易得到高质量的样本
-
但是一味选取高阈值会引发两个问题,导致训练出的 detector 效果下降[1]
- 样本减少,引发过拟合 (训练样本通过RPN产⽣的RP与标注所对⽐的IoU直⽅图,当IoU增加时,正样本呈指数级下降。The red numbers are the positive percentage higher than the corresponding IoU threshold.)[1]
- 在train和inference 使用不一样的阈值 ,导致mismatch
即保持训练的阈值较低,只在测试时使⽤⾼阈值,detector得到的结果是次优的,称为inference-time mismatch.[1]
- 样本减少,引发过拟合 (训练样本通过RPN产⽣的RP与标注所对⽐的IoU直⽅图,当IoU增加时,正样本呈指数级下降。The red numbers are the positive percentage higher than the corresponding IoU threshold.)[1]
-
发现 :①在测试时使⽤更⼤阈值是次优的,即detector的AP会下降(红线);
②低阈值训练的detector对低IoU样本上提升好,⾼阈值detector对⾼IoU样本提升好。
如何在阈值适中的情况下训练出效果最好 的detector呢?
- detector对IoU接近阈值的bbox效果最好,在阈值为0.7时,若输⼊的bbox也为0.7时提升最⼤[1]
- 在⼀个⽹络中进⾏⼀次cascade结构(串⾏使⽤多个不同阈值的detector)⽐Iterative BBox(串⾏使⽤同⼀个detector)效果好很多,且不会把⾼IoU的bbox回归到低IoU的位置。[1]
如下图所示,input IOU 0.55下 分别使⽤蓝⾊、绿⾊、红⾊的detector⽐使⽤三次蓝⾊detector效果好[1]
Cascade RCNN
1个RPN+3个检测器(阈值设定分别为0.5/0.6/0.7)
-
(b)Iterative BBox at inference
三个head部分相同(H1,H1,H1)
针对某一个IOU阈值,比如 0.5,是最优化的,但是当inference时,真正的IOU大于 0.5 以后他是次优化suboptimal 的。
级联之后,相同的head对于后面的结构来说是次优化的suboptimal 。[2] -
(c)Integral Loss
不同IOU阈值的分布是不均衡的, 所以 损失是不均衡的[2]
-
(d)Cascade RCNN
cascaded regression不断改变了proposal的分布,并且通过调整阈值的方式重采样
cascaded在train和inference时都会使用,并没有偏差问题
cascaded重采样后的每个检测器,都对重采样后的样本是最优的,没有mismatch问题[3]迭代边界框回归
Cascade Mask RCNN
最流行的实例分割方法可以说是 Mask R-CNN ,以及它的改进算法 PANet 、Mask Scoring RCNN 等
通过添加类似于Mask R-CNN的分段分支,将Cascade R-CNN架构扩展到实例分段任务。
Cascade R-CNN具有多个检测分支。这提出了以下问题:
1)添加 分割分支 的位置
考虑了三种 mask 预测策略,在级联R-CNN的第一级或最后一级添加了单个 mask预测head (b)、(c)
2)要添加的 分割分支
为每个级联阶段添加了一个 分割分支(d),最大化了用于学习 mask 预测任务的样本的多样性
实验表明,Cascade Mask R-CNN的这些架构优于Mask R-CNN。
EXPERIMENTAL RESULTS
Pytorch
https://github.com/guoruoqian/cascade-rcnn_Pytorch
https://github.com/leowangzi/CascadeRCNN
References
[1] http://www.mclover.cn/blog/index.php/archives/247.html
[2] https://arleyzhang.github.io/articles/1c9cf9be/
[3] https://blog.csdn.net/qq_21949357/article/details/80046867
https://blog.csdn.net/qq_21949357/article/details/80046867
https://blog.csdn.net/qq_41375609/article/details/97888934 (最新版论文目前能找到的一篇翻译)