论文学习11“Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks” 文章学习

本文是何凯明大神他们组的faster rcnn文章

上图是faster RCNN一系列文章的发展历程与区别,从fast RCNN到faster RCNN主要区别就是建议框生成算法由SS变成了RPN,另外整个网络变成了一个整体的结构,使得算法进一步加快。

Faster RCNN的模型结构图如下图所示,RPN网络与检测网络共享卷积层,目标检测的四个基本步骤(候选区域生成,特征提取,分类,位置精修)被统一到一个深度网络框架之内,实现了端对端的检测框架,大大提高了运行速度。


Faster RCNN可以简单地看做“区域生成网络+fast RCNN“的系统,用区域生成网络代替fast RCNN中的Selective Search方法。所以本文着重介绍了RPN的相关内容。

RPN是全卷积神经网络,用于提取候选框。之前的共享卷积层用ZF net,所以输入一个224*224的图像,经过卷积层特征提取变成51*39*256的特征图,其中256为通道数。RPN的作用就是将51*39*256的特征图输出建议框。而建议框的生成方式就是在共享的卷积层上进行小窗口(n*n)滑动,也就是一个n*n的卷积层,然后映射到256维的向量上,接着这个向量被喂给两个同级的全连接网络b box的回归和分类网络,全连接网络用1*1的卷积层实现,所以RPN网络是全卷积网络实现。

在RPN小窗口滑动时,每个中心作为anchor的中心,以3种尺度和三种长宽比生成3*3=9个anchor,而b box的回归层就是所有anchor的位置参数(4k,x,y,w,h),分类层的输出就是对每个建议框是目标/非目标的估计概率(2k,p1,p2)。Anchor拥有平移不变性,所以RPN所需要的参数非常少,减少过拟合的可能。

为了给每个anchor分配一个二分类的标签(是否是目标),作者定义正标签为两类(i)与某个ground truth(GT)包围盒有最高IoU重叠的anchor(也许不到0.7),(ii)与任意GT包围盒有大于0.7的IoU交叠的anchor。定义负标签为与所有GT包围盒的IoU比率都低于0.3的anchor,非负非正的anchor没有意义。根据以上,作者定义损失函数为:

其中,i是一个mini-batch中anchor的索引,Pi是anchor i是目标的预测概率。如果anchor为正,GT标签Pi* 就是1,如果anchor为负,Pi* 就是0。ti是一个向量,表示预测的包围盒的4个参数化坐标,ti* 是与正anchor对应的GT包围盒的坐标向量。

Lcls是两个类别(目标vs.非目标)的对数损失,定义为:

对于回归损失,为:

其中R是定义的鲁棒的损失函数(smooth L1):

因为整个网络损失函数中定义为Pi*和回归损失函数的乘积,所以只有正样本时此项才有值,回归损失函数中的参数有:

其中不带*的为b box的参数,带*的是GT的参数。

RPN是全卷积网络实现,所以采用反向传播算法,用SDG进行优化,安装正负anchor1:1的比例随机地在一个图像中采样256个anchor,计算mini-batch的损失函数,共享卷积层用ImageNet预训练。

文中选择了4步训练算法,通过交替优化来学习共享的特征。 

第一步,依上述训练RPN,该网络用ImageNet预训练的模型初始化,并端到端微调用于区域建议任务。第二步,利用第一步的RPN生成的建议框,由Fast R-CNN训练一个单独的检测网络,这个检测网络同样是由ImageNet预训练的模型初始化的,这时候两个网络还没有共享卷积层。第三步,用检测网络初始化RPN训练,但固定共享的卷积层,并且只微调RPN独有的层,现在两个网络共享卷积层了。第四步,保持共享的卷积层固定,微调Fast R-CNN的fc层。这样,两个网络共享相同的卷积层,构成一个统一的网络。

对于anchor,文中用3个简单的尺度,包围盒面积为128x128,256x256,512x512,和3个简单的长宽比,1:1,1:2,2:1提取大概20K个框,但文中忽略所有跨越图像边界的anchor,只剩下6K个框,然后采用非极大值抑制IoU阈值为0.7,这样每个图像只剩2k个建议区域,然后用2k个RPN建议框训练Fast R-CNN。

实验:

PASCAL VOC 2007上进行实验,结果如下表:

作者在此基础上也进行了很多对比实验,比如建议框数量,只选择前100个建议框时,mAP为55.1%,仍旧很好,但如果增加建议框至6K,不采用非极大值抑制,mAP值并不会提升,表明非极大值抑制算法不会降低检测mAP。另外作者分别去掉了分类和回归层,没有分类层时,从没有计算得分的区域随机抽取N个建议框。N =1k 时mAP几乎没有变化(55.8%),但当N=100则大大降低为44.6%。这表明,cls得分是排名最高的建议框准确的原因。在测试时移除reg层(这样的建议框就直接是anchor框了),mAP下降到52.1%。这表明,高品质的建议框主要归功于回归后的位置。单是anchor框不足以精确检测。 

其他的实验结果如下,faster rcnn在速度上明显高于其他网络,也就是因为RPN的速度比SS高很多,而且检测精度也有提升。


作者还进行了召回率的对比,如下图,该图显示,当建议框数量由2k下降到300时,RPN方法的表现很好。这就解释了使用少到300个建议框时,为什么RPN有良好的最终检测mAP。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,287评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,346评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,277评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,132评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,147评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,106评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,019评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,862评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,301评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,521评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,682评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,405评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,996评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,651评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,803评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,674评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,563评论 2 352

推荐阅读更多精彩内容