Cascade R-CNN
⛳️⛳️⛳️今年6月份的改进版本的《Cascade R-CNN: High Quality Object Detection and Instance Segmentation》,可以单模型在 COCO test-dev 达到 50.9的-AP。Cascade R-CNN
Cascade R-CNN指标论文地址:https://arxiv.org/pdf/1906.09756.pdfarxiv.org开源代码(官方Caffe):zhaoweicai/cascade-rcnngithub.com
开源代码(非官方Pytorch):zhaoweicai/Detectron-Cascade-RCNNgithub.com
创新思想
背景:问题: 在目标检测中,检测框不是特别准,容易出现噪声干扰的问题,即close false positive。An object detector, trained with low IoU threshold, e.g. 0.5, usually produces noisy detections原因:
✔️ 一般在目标检测中,通过IOU来设置正负样本,即IOU>0.5的作为正样本,IOU<0.3作为负样本。
A. IoU阈值选取的越高,则得到的正样本更接近目标,因此训练出的检测器定位更加精准,但是一味提高IoU阈值会引发两个问题:正样本过少导致训练的过拟合问题;
训练和测试使用不一样的阈值导致评估性能的下降;
B. IoU阈值选取的越低,得到的正样本更为丰富,有利于检测器的训练,但势必会导致测试时出现大量的虚检,也即论文中提到的“close but not correct”;
C. 不论阈值设置多少,训练后的网络对输入的proposal都有一定的优化作用。
✔️ 因此,作者提出了Cascade R-CNN 结构来解决这个问题,同时提高检测性能。
Cascade结构级联结构一共是4个stages: 1个RPN+3个detector(IoU阈值设定分别为0.5,0.6,0.7)。级联结构
其中:H0 --> RPN网络
H1 --> Faster R-CNN 进行检测与分类的head
Ci --> 分类结果
Bi --> bounding box回归结果PS: 级联的方式,不再是为了找到hard negatives,而是通过调整bounding boxes,给下一阶段找到一个IoU更高的正样本来训练。