600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > Cascade R-CNN: Delving into High Quality Object Detection(个人学习笔记)

Cascade R-CNN: Delving into High Quality Object Detection(个人学习笔记)

时间:2020-11-20 10:24:42

相关推荐

Cascade R-CNN: Delving into High Quality Object Detection(个人学习笔记)

论文基本信息

标题:Cascade R-CNN: Delving into High Quality Object Detection作者:Zhaowei Cai,Nuno Vasconcelos机构:UC San Diego来源:CVPR时间:/12/03链接:/abs/1712.00726代码: /zhaoweicai/cascade-rcnn(official code)

/paper/cascade-r-cnn-delving-into-high-quality

文章概要

问题背景

背景:

Object Detection需要找到True Positives,同时抑制⼤量close False Positives。训练Detector时需要使⽤IoU阈值u来定义Positive和Negative

分析:

图1( a )

如果使⽤较低的IoU阈值进⾏训练,detector⽣成的detection通常⽐较noisyu=0.5时对positive的要求相当loose。多数⼈认为IoU阈值为0.5时会放过close false

positives

图1( b ):⽬标是学习high quality detector,其中输出⼏乎没有False Positive

the quality of an hypothesis:hypothesis(proposal BBox)与GT的IoUthe quality of the detector:训练detector时使⽤的IoU阈值u

图1( c )

localization performance:u为训练detector时使⽤的IoU阈值,Input IoU应该是输⼊到

regressor的proposal与GT的IoU,Output IoU为regressor输出与GT的IoU。在Input IoU与u

接近时,各个BBox regressor的location效果最佳(应该是Output IoU与baseline差距最⼤)

图1(d)

detection performance:横轴IoU Threshold应该是使⽤该阈值对detector⽣成的detection进

⾏过滤,纵轴就是detector的AP;对于与GT的IoU较低的prpoposal,u=0.5的detector优于

u=0.6的detector;但对于与GT的IoU较⾼的prpoposal,u=0.6的detector优于u=0.5的

detector。在Input IoU与u接近时,detector表现最佳。为得到high quality detector,并不能简单地增加u。随着训练detector时使⽤的IoU阈值u增

加,检测性能可能会下降,如图1(d)中u=0.7时的AP低于u=0.5和0.6。因为detector中proposal

hypothesis的分布通常严重不平衡(low quality的较多,所谓的正负样本不平衡),使⽤更⼤

的u会导致positive training example的数量呈指数级减少(正负样本更加不平衡),对于含⼤

量参数的神经⽹络,这⾮常容易导致训练期间overfitting

先看左图,横轴的是proposal的IoU,纵轴的是经过box reg得到的新的IoU,不同的线条代表不同阈值训练出来的detector,显然新的IoU越高,说明detector进行回归的性能越好。可以看到在0.55-0.6的范围内阈值为0.5的detector性能最好,在0.6~0.75阈值为0.6的detector性能最佳,而到了0.75之后就是阈值为0.7的detector了……这就说明了,只有proposal自身的阈值和训练器训练用的阈值较为接近的时候,训练器的性能才最好。从图中我们可以意识到,单一阈值训练出的检测器效果非常有限,以现在最常见的阈值0.5为例,由于所有IoU大于0.5的proposal都会被选中,那么对于IoU0.6-0.95的proposal来说,detector的表现就很差了。那么,我能不能直接选用0.7的高阈值呢?毕竟这样子0.5-0.7的proposal都被排除了,横轴0.7-0.95之间,红色线条的表现似乎不差啊?但是看到右图你就会发现,实际上detector的性能反而是最低的,原因是这样子训练样本大大减少,过拟合问题非常严重。

结论

• 问题:

图1( a ):u较⼩时,detector⽣成的BBox通常⽐较noisy

-图1( d ):u较⼤时,positive training example减少,容易过拟合图1( c )、( d ):基于单个IoU阈值训练的detector在使⽤其它IoU阈值进⾏测试时不⼀定最优图1( c ):某个proposal在经过detector后的IoU几乎必然是增加的,那么再经过一个更大阈值训练的detector,它的IoU就会更好举个例子,有三个串联起来的用0.5/0.6/0.7的阈值训练出来的detector,有一个IoU约为0.55的proposal,经过0.5的detector,IoU变为0.75;再经过0.6的detector,IoU变为0.82;再经过0.7的detector,最终IoU变为0.87……比任何一个单独的detector的结果都要好。不仅仅只有IoU改善的好处,因为每经过detector,proposal的IoU都更高,样本质量更好了,那么即使我下一个detector阈值设置得比较高,也不会有太多的样本被刷掉,这样就可以保证样本数量避免过拟合问题。

• Observation / Motivation:

图1( c )、( d ):在Input IoU与训练时IoU阈值u接近时,各个BBox regressor的location效果最

佳,detector表现也最佳。图1( c ):只有提供high quality proposal才能得到higher quality detector(可想⽽知);⽽

regressor的output与GT的IoU⼏乎总是优于input与GT的IoU

相关实验

I:imageconv:backboneH0:RPNC:classification scoreB0:proposalpool:region-wise feature extractionH1、H2、H3:detection headB:bounding box
1. Iterative BBox

Iterative BBox为了定位准确,采用了级联结构来对Box进行回归,使用的是完全相同的级联结构。但单一阈值0.5是无法对所有proposal取得良好效果的,proposal经过0.5阈值的detector后IoU都在0.6以上,再使用这一阈值并不明智。

第一行横纵轴分别是回归目标中的box的x方向和y方向偏移量;第二行横纵轴分别是回归目标中的box的宽、高偏差量。可以看到,从1st stage到2nd stage,proposal的分布其实已经发生很大变化了,因为很多噪声经过box reg实际上也提高了IoU,2nd和3rd中的那些红色点已经属于outliers,如果不提高阈值来去掉它们,就会引入大量噪声干扰,对结果很不利。从这里也可以看出,阈值的重新选取本质上是一个resample的过程,它保证了样本的质量。

当然,这里会有另一个问题,这样真的不会减少样本数量么?虽然第1部分给了比较直观感性的解释,但是似乎还不够……作者给出了更加详细的实验证明:

如图4左侧所⽰,初始hypothesis(⽐如RPN的proposal)的分布严重倾向于low quality

(IoU),这不可避免地导致higher quality classifier的⽆效学习

Cascade RCNN将Cascade Regression作为⼀种resampling解决了这⼀问题,这是因为图1( c )

中的所有曲线都在baseline(灰线)上⽅,即使⽤某个IoU阈值u训练的regressor倾向于产⽣

IoU更⾼的BBox。如图4所⽰,每个resampling step之后样本的distribution逐渐倾向于high

quality。即各个stage的detector的quality(IoU阈值)是逐步增加的,这样可以使每个stage中具有⾜

够的(数量也⼤致相等)的positive example,防⽌因positive example数量太少⽽导致过拟

合。更深stage的detector使⽤更⾼的IoU阈值进⾏训练,通过逐渐增加的IoU阈值可以逐渐移除⼀些

outlier,如图2所⽰,这使得各个stage的specialized detector能够更好地训练。损失函数(在第t个stage时):

2.Integral Loss

Ⅰ IoU阈值的问题

如果1个hypothesis与GT的IoU⾼于设置的IoU阈值u,则该hypothesis是positive,否则是

negativeu⾼时,positives包含较少background,但难以得到⾜够的positive training example。u低

时,可获得richer、more diversified的positive training set,但得到的detector⽆法抑制

close false positive⼀般单个classifier很难在所有IoU level上表现都⽐较良好

inference时RPN等proposal detector⽣成的多数hypothesis的quality较低,因此detector必

须对low quality的hypothesis具有更⾼的辨别⼒。折衷:通常确定u为0.5,但这个相对较低的阈值导致了close false positive

Ⅱ ensemble of classifiers

如图3( c )所⽰,1个简单的solution就是使⽤多个classifier(训练时IoU阈值u不同)inference:多个classifier在inference时进⾏集成问题:未能解决式(6)中不同loss对不同数量的positive进⾏操作的问题。如最后一张图的第1张所⽰,positive example随u迅速减少,这会导致higher quality classifier过

拟合。此外higher quality classifier需要在inference时处理⼤量low quality proposal,⽽它们并未针

对这些⼤量low quality proposal进⾏优化。基于以上两点,该⽅法在⼤多数quality level都⽆法实现higher accuracy,并且该⽅法相对于Iterative BBox,增益很⼩。

Comparison with Iterative BBox and Integral Loss:

Comparison with the SOTA:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。