作者从detector的overfitting at training/quality mismatch at inference问题入手,提出了基于multi-stage的Cascade R-CNN,该网络结构清晰,效果显著,并且能简单移植到其它detector中,带来2-4%的性能提升
论文: Cascade R-CNN: Delving into High Quality Object Detection
- 论文地址: https://arxiv.org/abs/1712.00726
- 代码地址: https://github.com/zhaoweicai/cascade-rcnn
Introduction
目前的目标检测算法大都使用的IoU阈值来定义正负样本,这是相当宽松的阈值,导致detector产生许多干扰的bndbox。如图(a),许多人们认为大概率是负样本的框其实IoU都大于0.5。因此,论文希望研究出学习能尽量少包含接近负样本的bndbox的detector,如图(b)
论文对不同IoU阈值的regressor和detector进行了实验。从图c可以看出,不同IoU阈值的detector对不同水平的bndbox的优化程度不同,bndbox IoU与detecor的训练阈值越接近,box regress提升越高。而在图d中,detector(u=0.5)在低IoU水平下比detector(u=0.6)表现优异,而在高IoU水平下则反之,而当u=0.7时,由于训练正样本的不足以及推理时输入的样本IoU较低,detector(u=0.7)的整体表现都降低了
综上可以得出以下结论:
- 训练后的detector几乎总能提升Input bndbox的质量
- 单IoU detector对接近其训练IoU阈值的bndbox是最优的
- 单纯地增加训练时的IoU的阈值并不能直接提高detector的质量
因此,论文提出了Cascade R-CNN来解决上面的问题。Cascade R-CNN是一个顺序的多阶段extension,利用前一个阶段的输出进行下一阶段的训练,阶段越往后使用更高的IoU阈值,产生更高质量的bndbox。Cascade R-CNN简单而有效,能直接添加到其它R-CNN型detector中,带来巨大的性能提升(2-4%)
Object Detection
Faster R-CNN
目前经典的two-stage架构如图3(a)。第一阶段是一个提框的子网H0,用于生成初步的bndbox。第二阶段为特定区域处理的检测子网H1,给定bndbox最终的分类分数C和bn