橦言无忌

一个不想改变世界的程序媛

faster rcnn的前向传播过程

前言

faster rcnn的前传过程和训练步骤

经典的二阶段算法啊~

1,faster rcnn前向过程

输入一张待检测图片->vgg16网络conv layers提取整张图片的特征,输出feature map分别输入到RPN和Fast RCNN网络开头->RPN网络得出region proposal,将这些候选框信息送入到Fast RCNN网络开头->利用候选框在之前送到的feature map提取特征,并通过ROI Pooling层得到规定大小的feature map->将这些feature map送入Fast RCNN网络中进行分类和回归坐标,最终得到需检测物体的坐标。

2,faster rcnn训练步骤

  • 第一步,训练RPN,该网络用ImageNet预训练的模型初始化,并端到端微调,用于生成region proposal;
  • 第二步,训练Fast R-CNN,由imageNet model初始化,利用第一步的RPN生成的region proposals作为输入数据,训练Fast R-CNN一个单独的检测网络,这时候两个网络还没有共享卷积层;
  • 第三步,调优RPN,用第二步的fast-rcnn model初始化RPN再次进行训练,但固定共享的卷积层,并且只微调RPN独有的层,现在两个网络共享卷积层了;
  • 第四步,调优Fast R-CNN,由第三步的RPN model初始化fast-RCNN网络,输入数据为第三步生成的proposals。保持共享的卷积层固定,微调Fast R-CNN的fc层。这样,两个网络共享相同的卷积层,构成一个统一的网络。
// 代码折叠