Windows下如何採用微軟的Caffe配置Faster R-CNN

前言

比較簡單的一篇博客。https://github.com/microsoft/caffe 微軟的Caffe以在Windows下編譯簡單而受到了很多人的喜愛(包括我),只用改改prop配置然後無腦重新生成就可以。今天配置了一下Faster R-CNN,還挺好用的。
這裏以CPU版本的爲例,GPU的一樣。

效果

CPU版本的當然很慢。放圖:
這裏寫圖片描述

編譯Caffe

有幾個地方需要注意。其一是我建議大家採用2016年7月之後的Microsoft Caffe版本,因爲在此之後這個Caffe分支添加了roi_pooling_layer.cpp和roi_pooling_layer.cu,Fast R-CNN的ROIPooling層需要這個源文件編譯。其二是不建議採用CPU版的折騰,因爲….真的很慢。
首先我們打開CommonSettings.props,將這裏改爲true.
這裏寫圖片描述
然後我們打開Caffe.sln這個工程,在libcaffe項目的layers文件夾下添加roi_pooling_layer.cpp,GPU版本就還要在cu文件夾下添加roi_pooling_layer.cu.(說來也是奇怪,這兩個竟然沒用默認加進去。)
這裏寫圖片描述
重新生成libcaffe後,再生成matcaffe。也可以整個工程都全部重新生成。
最後在caffe-master\Build\x64\Release文件夾下會有一個matcaffe的文件夾,這個就是Matlab調用caffe的庫。

運行Faster R-CNN的demo

資源下載

(其實讀論文的時候我就有一個感覺,RPN的搜索策略如果沒用GPU的話,速度應該會比Selective Search或者滑動窗口慢很多,網絡越大越慢。今日試了試果然如此)
接下來下載兩個資源:
1、下載這個Matlab版本的Faster R-CNN:https://github.com/ShaoqingRen/faster_rcnn解壓後,把我們得到的matcaffe文件夾複製到external/caffe/目錄下(因爲人家的demo是在這個目錄下搜的函數)。
2、然後下載資源faster_rcnn_final_model.zip,下載地址我放到了百度雲裏:http://pan.baidu.com/s/1mioahvU,下載完成後,在faster_rcnn-master目錄下解壓。output文件夾會被覆蓋。

demo

如果你是CPU版本的,還要做以下修改:在experiments/script_faster_rcnn_demo.m這個文件裏,註釋掉以下兩行,加上caffe.set_mode_cpu,如下:

%% -------------------- CONFIG --------------------
opts.caffe_version          = 'caffe_faster_rcnn';
%註釋opts.gpu_id                 = auto_select_gpu;
%註釋active_caffe_mex(opts.gpu_id, opts.caffe_version);
caffe.set_mode_cpu;

然後把opts.use_gpu選項改了:

opts.use_gpu                = false;

跳出experiments文件夾,運行demo:

addpath('experiments/')
script_faster_rcnn_demo

有兩種網絡可以選擇,在script_faster_rcnn_demo.m這個地方。上面是VGG-16,下面是zf5,上面的網絡太大,奇慢無比。

model_dir                   = fullfile(pwd, 'output', 'faster_rcnn_final', 'faster_rcnn_VOC0712_vgg_16layers'); %% VGG-16
%model_dir                   = fullfile(pwd, 'output', 'faster_rcnn_final', 'faster_rcnn_VOC0712_ZF'); %% ZF

這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章