目标检测模型R-CNN系列(Fast R-CNN、Faster R-CNN)梳理

R-CNN

R-CNN architecture

训练阶段:
1:使用Selective Search算法,生成2000个候选区域;
将候选区域变换到网络需要的尺寸(227×227),也就是手工的添加个边框;
将预训练好的AlexNet最后的全连接层去掉,并将类别设置为21(20个类别,1个background),fine tuning;
最终得到一个4096×21的特征。
2:利用上面提取到的候选区域的特征,对每个类别训练一个SVM分类器,是候选框里物体的类别给positive,不是就negative。(使用IOU阈值法解决目标部分框选的问题)
3:对于SVM识别为Positive的候选区域,判断bounding box位置是否完美,训练一个线性回归模型校正位置(dx,dy,dw,dh)。

测试阶段:
从一张图片中提取2000个候选区域,将每个区域按照训练时候的方式进行处理;
输入到SVM中进行正负样本的识别,并使用边框回归器,计算出每个候选区域的分数;
候选区域较多, 针对每个类使用NMS删掉重叠的区域。

Fast R-CNN

R-CNN存在的问题:
1:测试训练速度慢(主要是提取候选区域的特征慢),由于候选区域有大量的重叠,将2000个候选区域分别输入到预训练好的CNN中提取特征,就会重复的计算重叠区域的特征。
2:训练需要额外的空间保存提取到的特征,用于训练SVM分类器和边框回归器。

Fast R-CNN architecture

训练阶段:(Fast R-CNN是使用Multi-task Loss端到端训练的
将整个图像和一组候选框(Selective Search得到)作为输入,通过Deep ConNet对图像进行特征提取,得到输入图像的特征图;
候选区域进行RoI projection:即通过坐标投影的方法,在特征图上得到输入图像中的感兴趣区域对应的特征区域;
特征区域进行RoI pooling,统一特征大小;
经过两个output都为4096维的全连接层,得到RoI feature Vector
再分别与output各为21和84维的全连接层相连(并列的,前者是分类输出,后者是回归输出,每个类别对应一个regressor);
最后接上两个损失层(定义了多任务损失函数,分类是SoftMaxLoss,回归是SmoothL1Loss)。

测试阶段:
与训练基本相同,forward训练好的网络,得到当前兴趣区域的类别分数及边框坐标,然后对每个类别采用NMS。

细节与技巧:
SGD训练:为了提高训练速度,采取了小批量梯度下降的方式,每次使用2张图片的128张建议框更新参数。
RoI pooling的反向传播:参考链接https://blog.csdn.net/WoPawn/article/details/52463853
SVD加速:链接同上

Faster R-CNN

Fast R-CNN存在的问题:
使用Selective Search,找出所有的候选框,非常耗时。

提出RPN网络:
加入Region Proposal Network,也就说提取候选框的工作也交给CNN来做了,其本质是一种基于滑窗的无类别目标检测网络。

RPN architecture

RPN训练:
输入公共特征图,在每个sliding window,预测k个anchor boxes;
(reg层有4k输出,编码k个框的坐标,cls层输出2k分数,估计每个建议区域是目标或非目标的概率)
定义代价函数,通过BP和SGD进行端到端的训练。
Faster R-CNN architecture

训练阶段:
1:单独训练RPN网络,使用ImageNet预先训练的模型进行初始化,并对区域建议任务进行端到端的微调;
2:单独训练Fast-RCNN网络,使用RPN生成的候选框通过Fast R-CNN训练一个独立的检测网络,
具体而言:RPN输出一个候选框,通过候选框截取原图像,并将截取后的图像通过几次conv-pool,然后再通过roi-pooling和fc再输出两条支路,一条是目标分类softmax,另一条是bbox回归,
截止到现在,两个网络不共享卷积层,只是分开训练了;
3:使用检测器网络来初始化RPN训练,但是固定了共享卷积层,只对RPN特有的层进行微调,现在这两个网络共享卷积层;
4:保持共享卷积层不变,对Fast R-CNN的唯一层进行微调。

细节与技巧:
在训练阶段,忽略所有的跨界锚,所以它们不会造成损失。在测试阶段,仍然对整个图像应用全卷积的RPN,这可能会生成跨边界的建议框,然后将其剪裁到图像边界。
为了减少冗余,根据建议区域的cls得分对其采用NMS,将NMS的IoU阈值定为0.7,这样每幅图像大约减少到2000个建议区域。

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

推荐阅读更多精彩内容