【论文阅读笔记】Cascade R-CNN: Delving into High Quality Object Detection
【论文阅读笔记】Cascade R-CNN: Delving into High Quality Object Detection
(一)论文地址:
https://arxiv.org/abs/1712.00726
(二)核心思想:
在目标检测中,通常需要一个 IOU 阈值上的交集来定义正负样本;
使用低 IOU 阈值(例如 0.5)训练的目标检测器通常会产生噪声检测;然而,检测性能随着 IOU 阈值的增加而下降;
造成这一现象的主要原因作者认为有两个:
- 训练过程中由于正样本指数消失而导致的过拟合(即正样本过少导致的过拟合);
- 检测器最优的 IOU 与输入假设之间的推理时间不匹配(即最优 IOU 与假设的 IOU 阙值不匹配);
针对这些问题,作者提出了一种多级目标检测结构——级联R-CNN(Cascade R-CNN);
它由一系列经过训练的检测器组成,这些检测器的 IOU 阈值不断增加,从而对接近的误报(IOU 接近阙值的负样本)具有更强的选择性;
这些检测器是分段训练的,鉴于一个检测器的输出为下一个更高质量的检测器提供了较好的样本分布,并且通过对逐步改进的假设进行重新采样,可以保证所有检测器都具有一组相同大小的正样本集,从而减少了过拟合问题;
(三)问题陈述:
检测器的任务由两个:识别和定位,这两个任务的难点就在于如何在抑制接近正样本的负样本的同时,找到正样本;
现在大多数检测器训练时设置阙值 ,这样取到的样本虽然丰富,但是很容易导致训练出的分类器很难区分假正阳本;
而如果提高阙值,则会使用于检测的正样本过少,容易导致过拟合;
作者先对这个现象进行了实验,即将检测器适用不同的阙值 训练,结果如图:
可以看到:
- 只有 proposal 自身的阈值和训练器训练用的阈值较为接近的时候,训练器的性能才最好;
- 如果两个阈值相距比较远,会出现 mismatch 的问题了;
- 单一阈值训练出的检测器效果非常有限,不能对所有的 proposals 都有很好的优化作用;
(四)Cascade R-CNN:
Faster-RCNN 的结构如图:
其中:
- 是输入图片;
- 是主干网络;
- 是 RPN 网络;
- 分别是 RPN 网络预测的 背景/非背景 得分和 Proposals;
- 是 ROI Pooling 层;
- 是检测器;
- 分别是预测的类别得分和检测框;
作者基于 Faster-RCNN 的结构,提出了如图所示的联级结构:
即采用 三个独立的检测器,分别在阙值 下训练,并以上一个检测器输出的检测框作为 Proposals 继续优化预测;