MATLAB版Faster-RCNN代码解析

let's move:
1、opts.caffe_version          = 'caffe_faster_rcnn';   %设置caffe版本
2、opts.gpu_id                 = auto_select_gpu;        %auto_select_gpu是个函数,该函数就是查看你的电脑有几个gpu,然后挨个检查你的GPU的free-memory是不是够大,从中选 %出memory最大的GPU,返回这个GPU的ID。
3、opts.do_val                 = true;   %这个就是设置使用验证集,验证集一般是用来调超参数的。
4、model                       = Model.ZF_for_Faster_RCNN_VOC2007;   %ZF_for_Faster_RCNN_VOC2007这个也是个函数,这个函数主要来加载平均图像、各个网络文件及训练时 %需要的模型的,这些模型包括(rpn1、rpn1的nms、fast1、fast1的nms、rpn2、rpn2的nms、fast2、fast2的nms),最后还设置了final test的nms。其中有个坑: %model.feat_stride = 16;  不知道这个的具体是干嘛的。
5、use_flipped                 = true; %这个是设置翻转,应该是扩充数据集用的。
6、dataset                     = Dataset.voc2007_trainval(dataset, 'train', use_flipped); %这个voc2007_trainval()函数是用来获取“训练”数据的,该函数调用代码如下:
6.1、dataset.imdb_train    = {  imdb_from_voc(devkit, 'trainval', '2007', use_flip) }; %这个imdb_from_voc()函数就是从VOC数据集中加载训练数据,并且如果你是第一次运行这个函数,那么处理时间稍微长点,并且运行结果会被保存到catch中,以后再运行这个程序时,就不用重新计算了,而是直接在catch里加载上次结果。
6.2、dataset.roidb_train   = cellfun(@(x) x.roidb_func(x), dataset.imdb_train, 'UniformOutput', false); %加载roi数据,提供了四种获取proposal的方法:with_selective_search、with_edge_box 、with_self_proposal以及RPN方法。如果第一次运行,则会计算初始的roi,并且将得到的roi保存到catch中,以后再运行程序时,直接从roi 的 catch中读取roi数据。
7、conf_proposal               = proposal_config('image_means', model.mean_image, 'feat_stride', model.feat_stride);       %训练proposal时的配置,就是设置use_gpu、scales、max_size、fg_thresh等值,以及加载平均图像等。
8、model                       = Faster_RCNN_Train.set_cache_folder(cache_base_proposal, cache_base_fast_rcnn, model);    %为每个阶段(训练RPN和fast rcnn)的训练保存catch。
9、[conf_proposal.anchors, conf_proposal.output_width_map, conf_proposal.output_height_map] ...
                            = proposal_prepare_anchors(conf_proposal, model.stage1_rpn.cache_name, model.stage1_rpn.test_net_def_file);    %计算anchor和rpn网络的输出大小。
    9.1、proposal_calc_output_size(conf, test_net_def_file)   %这个函数是计算rpn网络的输出大小,其中test_net_def_file就是网络:test.prototxt
    9.2、proposal_generate_anchors(cache_name, 'scales',  2.^[3:5]);这个函数计算anchor。

你可能感兴趣的:(深度学习-实践)