Cascade R-CNN模型总结

论文名称:Cascade R-CNN: Delving into High Quality Object Detection
论文地址:传送门

Introduction

众所周知,在目标检测中IoU的阈值越高,则样本质量就越好,但是一味的提升阈值会引发两个问题:

  1. 样本过少引起过拟合
  2. 在train和inference时使用不同的阈值会导致mismatch
    因此作者提出了一种multi-stage的网络,不断地提高阈值,在保证样本数量的情况下训练出高质量的检测器。

本文的出发点引人思考:在现阶段常用的两阶段目标检测任务当中,通常使用IoU(intersection over union)阈值来确定那些proposal是positive,哪些是negative,一般情况下,这个阈值$u=0.5$,然而0.5的阈值一定合适吗?很多情况下,即使阈值大于0.5,仍然会有很多close false positives,这就导致模型预测出很多噪声bounding box。

如上图所示,$©$和$(d)$分别为不同IoU阈值$u \in {0.5,0.6,0.7}$的情况下,localization和detection perfoemance的情况。如$©$表示不同IoU阈值下,输入proposal的IoU与输出的IoU之间的关系,可以看出,在输入输出IoU相近的情况下,有较好的效果;同时只有当proposal有较高质量时,detector才有较好的表现。

Related Works

作者还列举了一些相关的工作,如上图所示,$H_i$表示卷积,而$C$表示表示分类,$B$表示回归。对于Faster R-CNN,其使用RPN进行提取ROI,然后进行识别和回归;对于Iterative BBox则是通过三个级联的方式,但其三个阶段的阈值是相同的;对于Intergral Loss其设置三个不同的阈值,但各个部分是单独检测的,额米有利用到前面高质量的proposal。其实吧,作者仅仅是在$(b)$的基础上改动了下阈值,但是作者对这种改变做出了深刻的分析。

如上图所示,作者发现,在cascade r-cnn当中,经过不同stage的训练,IoU的质量确实有显著的提升,越靠后,其质量越高;同时我们在前面讲过,对于某一质量的IoU,经过网络之后其质量必然会有所提升,因此经过三个阶段的训练,可以得到高质量的detector。


经过对比,cascade R-CNN精度有了很大的提升,但是在速度上并没有慢多少。

Summary

其实本文最核心的思想就是:作者发现高质量的proposal可以产生更高质量的bounding box,同时还存在mismatch问题,因此将多个r-cnn连接起来,并且设置不同的阈值,将产生更高质量的detector。

Reference

  1. https://zhuanlan.zhihu.com/p/36095768