Face Paper:Cascade R-CNN: Delving into High Quality Object Detection解读

论文链接:https://arxiv.org/abs/1712.00726 
代码链接:https://github.com/zhaoweicai/cascade-rcnn 

目标检测真的没东西可做了吗?已经开始关注IOU的最优选择了,不过小的trick,确实提升效果也很显著;

今天给大家介绍一篇个人觉得对detection非常有insight的一篇文章:"Cascade R-CNN: Delving into High Quality Object Detection"。

在这篇文章中,作者对detection问题中的两个核心,分类和定位做出了细致的分析和观察,并从这样的观察中得到启发,提出了一个非常简单易行,但是效果十分显著的办法。

这篇文章的基础是two-stage detector,如RCNN,RFCN等,在这些two stage detector中,都会有一个header的结构来对每一个proposal同时做两件事情:classification和bounding box regression(bbox reg)。在classification中,每个proposal会被根据一个指定的IoU值分为正样本和负样本;在bbox reg中,每个被标记为正样本的bbox会向其assign的ground-truth方向回归。

这里作者第一个关键的发现是在classification中,指定不同的IoU划分正负样本,会导致bbox reg的行为完全不一样。如下图左,横轴是输入的proposal的IoU,纵轴是经过bbox reg之后的bbox和ground-truth的IoU。可以看到,低IoU threshold对于低IoU的样本有更好的改善,但是对于高IoU的样本就不如高threshold的有用。原因在于不同threshold下样本的分布会不一致,也就导致同一个threshold很难对所有样本都有效。

所以为了解决以上两个问题,作者提出了一个Cascade RCNN head的办法(上图d)。即有多个IoU threshold递增的header每一级使用上一级refine过后的bbox作为输入。这样可以保证每一级的header都可以得到足够多的正样本,且正样本的质量可以逐级提升。在训练和测试时,这个操作也都保持一致。在测试中,作者使用多个header输出的均值作为这个proposal最终的分数,可以证明对结果会有进一步的提升。

不同于之前的工作,像Iterative bbox refinement,每次refine使用的是同样threshold训练出来的header,这会导致IoU到一定值之后很难更进一步改善;像Integral loss,只有一个bbox reg,但是有针对不同threshold的classifier,这本质上也并不能改善最终定位的精度。

在实验中,作者在COCO dataset上做了细致的分析,在多个不同backbone的网络上都可以持续性地提升3~4个点的AP。这对于COCO来说,已经是非常显著的改进了。同时,这个结果对比其他state-of-the-art方法仍然也很有优势。

 

个人总结:Detection其实并不是一个很合适的分类问题,没有一个明确的离散的正负样本的定义,而是通过IoU来连续定义的。但是IoU这个指标很难通过gradient descent来优化,虽然之前也有一些IoU loss的工作,但是效果并不理想。Cascade RCNN便是一个在这个方向上很好的尝试。

转载:https://zhuanlan.zhihu.com/p/35882192

In object detection, an intersection over union (IoU) threshold is required to define positives and negatives. An object detector, trained with low IoU threshold, e.g. 0.5, usually produces noisy detections. However, detection per- formance tends to degrade with increasing the IoU thresh- olds. Two main factors are responsible for this: 1) over- fitting during training, due to exponentially vanishing pos- itive samples, and 2) inference-time mismatch between the IoUs for which the detector is optimal and those of the in- put hypotheses. A multi-stage object detection architecture, the Cascade R-CNN, is proposed to address these prob- lems. It consists of a sequence of detectors trained with increasing IoU thresholds, to be sequentially more selec- tive against close false positives. The detectors are trained stage by stage, leveraging the observation that the out- put of a detector is a good distribution for training the next higher quality detector. The resampling of progres- sively improved hypotheses guarantees that all detectors have a positive set of examples of equivalent size, reduc- ing the overfitting problem. The same cascade procedure is applied at inference, enabling a closer match between the hypotheses and the detector quality of each stage. A simple implementation of the Cascade R-CNN is shown to surpass all single-model object detectors on the challeng- ing COCO dataset. Experiments also show that the Cas- cade R-CNN is widely applicable across detector architec- tures, achieving consistent gains independently of the base- line detector strength. The code will be made available at https://github.com/zhaoweicai/cascade-rcnn.
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值