Faster R-CNN 由 R-CNN 和 Fast R-CNN发展而来,R-CNN是第一次将CNN应用于目标检测任务的家伙,它使用selective search算法获取目标候选区域(region proposal),然后将每个候选区域缩放到同样尺寸,接着将它们都输入CNN提取特征后再用SVM进行分类,最后再对分类结果进行回归,整个训练过程十分繁琐,需要微调CNN+训练SVM+边...
在图2中还有一个大大的红色的框框,这个框框表示在实际使用的时候的流程。 我想,图2可以很明白的看出faster-rcnn是怎么工作的。只需要结合具体的代码,再理解一下就行。
实验步骤就是将上一篇提到的4-step的训练过程,在RPN和Fast RCNN训练完成之后就不继续后面两步训练了,实际上就是不去共享两者的权重参数,在论文中是通过shared和unshared来区分。如果缺乏后两步训练过程,准确率会降低到58.7%,在下图中有列出来。论文中解释实际上这个共享卷积层权重参数的过程就是两个网络互相fine-t...
推荐使用第二种,因为第二种使用的显存更小,而且训练会更快,同时准确率差不多,两种方式需要修改的代码是不一样的,同时faster rcnn提供了三种训练模型,小型的ZFmodel,中型的VGG_CNN_M_1024和大型的VGG16,论文中说VGG16效果比其他两个好,但是同时占用更大的GPU显存(~11GB) 我使用的是VGG model + alternative t...
experiments/cfgs/faster_rcnn_alt_opt.yml 从这条命令就可以看出,我们是使用0id的GPU,使用ZF网络,预训练模型使用ZF.v2.caffemodel,数据集使用voc_2007_trainval,配置文件cfg使用faster_rcnn_alt_opt.yml。 先进入主函数: if__name__=='__main__': ...
Faster R-CNN是继R-CNN,Fast R-CNN后基于Region-CNN的又一目标检测力作。Faster R-CNN发表于NIPS 2015。即便是2015年的算法,在现在也仍然有着广泛的应用以及不俗的精度。缺点是速度较慢,无法进行实时的目标检测。 Faster R-CNN是典型的two-stage目标检测框架,即先生成区域提议(Region Proposal),然后在产生的Regi...
Faster-rcnn源码解析5 训练fast rcnn:Stage 1 Fast R-CNN using RPN proposals, init from ImageNet model 首先设置参数: rpn_file:上一步中(generate proposals)产生的结果,然后创建进程。来看一下进程中的函数train_fast_rcnn。 先是设置一些基本的参数,然后通过get_roidb函数获得roidb数据和imdb类。关于get_...
从如图1可以看出,faster r-cnn又包含了以下4重要的部分: 1. Conv layers 这里应该理解为基本卷积网络(base net).通过该网络来提取原始图片的featuremap特征,最后将这些特征送入RPN网络和RCNN网络。有一点需要注意的就是,真正送入RPN网络的featuremap其实并不是整张图片的产生的featuremap,具体怎么选择,后面仔细说明...
(2)ProposalTargetCreator:负责在训练RoIHead/Fast R-CNN的时候,从RoIs选择一部分(比如128个)用以训练。同时给定训练目标, 返回(sample_RoI, gt_RoI_loc, gt_RoI_label) (3)ProposalCreator:在RPN中,从上万个anchor中,选择一定数目(2000或者300),调整大小和位置,生成RoIs,用以Fast R-CNN训练或者测试。
Faster R-CNN 结构 首先,输入图片表示为 Height×Width×Depth 的张量(多维数组)形式,经过预训练 CNN 模型的处理,得到卷积特征图(conv feature map). 即,将 CNN 作为特征提取器,送入下一个部分.这种技术在迁移学习(Transfer Learning)中比较普遍,尤其是,采用在大规模数据集训练的网络权重,来对小规模数据集...