Ubuntu下matlab版的faster rcnn

来源:互联网 发布:魅族m9软件 编辑:程序博客网 时间:2024/05/14 11:11

Faster RCNN的matlab版
之前跑的py-faster-rcnn是在python下,所有的配置也不是我自己配置的,这次因为自己需要,想尝试在matlab下试试,虽然没有实现自己的想法,但是在ubuntu下MATLAB版的faster rcnn的配置是了解了一下的,也是出现坑就补坑。
现在分享一下自己当时碰到的问题及结局办法
默认你电脑已安装caffe,接下来只需要配置faster rcnn及matlab的安装与caffe下修改matlab接口
Faster-Rcnn 配置
参考Shaoqing Ren的配置说明:
(1) 安装Matlab R2016a
怎么安装及安装包见我上一条博客
(2) 下载源代码
终端运行

git clone --recursive https://github.com/ShaoqingRen/faster_rcnn.git

(3)配置Caffe,将你之前配置过的CaffeMakefile.config拷贝至./faster-rcnn/external/caffe,记得修改Matlab接口,接着在终端运行以下命令就可以了。

cp Makefile.config.example Makefile.configmake cleanmake all -j8make matcaffe 

这里遇到很多问题,在配置过程中基本上也只会遇到这方面问题,处理好了基本没什么大问题了
问题1:GPU和CPU的设置
解决方法,如果你电脑有GPU,当然使用GPU,CaffeMakefile.config下的

opts.per_nms_topN           = 6000;opts.nms_overlap_thres      = 0.7;opts.after_nms_topN         = 300;opts.use_gpu                = True;

就不用改,如果是只有cpu,那就如下修改

opts.per_nms_topN           = 6000;opts.nms_overlap_thres      = 0.7;opts.after_nms_topN         = 300;opts.use_gpu                = False;

问题2:找不到hdf5文件
解决方法可以参考找不到hdf5解决方法
修改matlab接口应该就没什么问题了

(4) 运行Faster-Rcnn
Faster R-CNN的配置和运行十分简单,启动Matlab,切换到faster_rcnn目录下。在仅使用CPU的情况下,Compiling nms_gpu_mex时会出错。但是其他能够编译成功,这里不用担心

matlab下运行以下文件
run faster_rcnn_build.m
run startup.m

之后继续下载训练好的模型,可以通过执行文件下载:
run fetch_data/fetch_faster_rcnn_final_model.m

建议直接通过作者github主页上的链接来下载模型,地址在主页最后一行给出,选择其一下载。

Final RPN+FastRCNN models: OneDrive, DropBox, BaiduYun

模型较大,下载完成后直接将其解压至faster_rcnn根目录下。

在experiments目录下有测试文件,matlab下运行文件即可:
experiments/script_faster_rcnn_demo.m
该测试文件默认载入的模型是VGG16网络,VGG16网络比较大,可能会出现内存不足,所以在虚拟机或者内存较小的机器上推荐使用小模型ZF来进行测试。

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

运行之后就可以看到测试图片的运行结果和运行时间