在已经配置好的caffe-master(但未添加roi_pooling_layer)的情况下,将roi_pooling_layer头文件,cu文件和cpp文件手动插手到libcaffe中,为防备呈现其他问题。参考博客,将caffe-master/include/caffe下的所有头文件插手到libcaffe项目的头文件中,caffe-master/src/caffe的cpp和cu文件插手到libcaffe的源文件和cu文件中。添加完成后,再次从头编译整个项目。从头生成libcaffe后,再生成matcaffe。也可以整个工程都全部从头生成。
2、资源下载:
Matlab版本的Faster R-CNN:https://github.com/ShaoqingRen/faster_rcnn,,解压后,把我们得到的matcaffe文件夹复制到external/caffe/目录下(demo是在这个目录下搜的函数)。
下载资源faster_rcnn_final_model.zip,百度云,将output文件夹安排在项目faster_rcnn-master根目录
3、改削m文件
为运行faster_rcnn-master\experiments文件夹下的demoscript_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;
4、运行demo
cd faster_rcnn-master/
addpath(‘experiments/‘) %添加路径
script_faster_rcnn_demo
在运行过程中呈现错误如下:
caffe 不决义与 ‘double‘ 类型的输入参数相对应的函数 ‘nms_mex‘。
这是由于没有生成nms mex文件,可以通过运行文件根目录下的:faster_rcnn_build.m,发明呈现无法打开 nms_gpu_mex.o”,需要打开.\functions\nms\nvmex.m 文件,改削Host_Compiler_Location为为本身的VS安置路径,从头编译faster_rcnn_build.m通过。
从头运行script_faster_rcnn_demo,得到四副图像的运行功效
Vgg-16网络其慢无比,
fast_rcnn startup done
001763.jpg (500x375): time 511.408s (resize+conv+proposal: 167.394s, nms+regionwise: 344.014s)
004545.jpg (500x375): time 900.987s (resize+conv+proposal: 345.407s, nms+regionwise: 555.581s)
000542.jpg (500x375): time 994.914s (resize+conv+proposal: 231.380s, nms+regionwise: 763.535s)
000456.jpg (500x375): time 1297.557s (resize+conv+proposal: 618.641s, nms+regionwise: 678.916s)
001150.jpg (500x375): time 1005.064s (resize+conv+proposal: 313.427s, nms+regionwise: 691.637s)
mean time: 941.986s
Cleared 0 solvers and 4 stand-alone nets
还是cpu太慢了
功效对照,梗概不异,但是有细微差异
有两种网络可以选择,在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