从r-cnn到Mask R-CNN

faster rcnn的结构是怎样的呢?

http://blog.csdn.net/XZZPPP/article/details/51582810
1.fast rcnn结构
fast_rcnn
2.faster rcnn的卷积过程
faster_rcnn_convolution
3.rpn
faster_rcnn_rpn
RPN的核心思想是使用卷积神经网络直接产生region proposal,使用的方法本质上就是滑动窗口。RPN网络结构图如上所示(ZF模型:256维),假设给定600x1000的输入图像,经过卷积操作得到最后一层的卷积feature map(大小约为40x60),最后一层卷积层共有256个feature map。
在这个特征图上使用3x3的卷积核(滑动窗口)与特征图进行卷积,那么这个3x3的区域卷积后可以获得一个256维的特征向量。因为这个3x3的区域上,每一个特征图上得到一个1维向量,256个特性图即可得到256维特征向量。
3x3滑窗中心点位置,对应预测输入图像3种尺度(128,256,512),3种长宽比(1:1,1:2,2:1)的regionproposal,这种映射的机制称为anchor,产生了k=9个anchor。即每个3x3区域可以产生9个region proposal。所以对于这个40x60的feature map,总共有约20000(40x60x9)个anchor,也就是预测20000个region proposal。
后边接入到两个全连接层,即cls layer和reglayer分别用于分类和边框回归。clslayer包含2个元素,用于判别目标和非目标的估计概率。reglayer包含4个坐标元素(x,y,w,h),用于确定目标位置。cls:正样本,与真实区域重叠大于0.7,负样本,与真实区域重叠小于0.3。reg:返回区域位置。
最后根据region proposal得分高低,选取前300个region proposal,作为Fast R-CNN的输入进行目标检测。
4.训练4步阶段:
(1)使用在ImageNet上预训练的模型初始化RPN网络参数,微调RPN网络;
(2) 使用(1)中RPN网络提取region proposal训练Fast R-CNN网络,也用ImageNet上预训练的模型初始化该网络参数;(现在看来两个网络相对独立)
(3) 使用(2)的Fast R-CNN网络重新初始化RPN, 固定卷积层进行微调,微调RPN网络;
(4) 固定(2)中Fast R-CNN的卷积层,使用(3)中RPN提取的region proposal对Fast R-CNN网络进行微调。

posted on 2017-10-24 22:59  MissSimple  阅读(597)  评论(0编辑  收藏  举报

导航