您的位置:首页 > 编程语言 > MATLAB

RCNN 安装编译与MATLAB2014下问题解决

2015-11-02 21:03 495 查看
RCNN 是利用DL做目标检测的一个程序,现在有更快的faster-RCNN。

github地址:https://github.com/rbgirshick/rcnn

caffe的安装:

其实RCNN最难安装部分就是caffe部分。所以我假设之前的CUDA,以及必需的矩阵计算库之类的都安装好了,如果没有,参考:
http://www.cnblogs.com/platero/p/3993877.html
以及
http://blog.csdn.net/altenli/article/details/44199539

下面说RCNN的编译:

首先是必须要在ubuntu matlab 2012下编译(a,b都行),之前我的电脑一直是MATLAB2014,发现编译完成之后,运行一直报错,各种bug,根本的原因就是MATLAB版本不兼容。(这里补充一下,可以在MATLAB2014下运行,感谢TongXu大神[https://github.com/tt-leader]的提醒,具体的方法在最后面附录)

第二点就是:关于caffe的版本,作者在readme中提供的caffe-v0.999是有问题的,推荐另外一个也是v0.999版本但是,修复bug的版本:https://github.com/DeercoderResearch/caffe-0.999

第三点就是caffe编译的问题了。解压从第二步下载的文件,首先需要修改里面的makefile.config中MATLAB的路径(复制一个makefile.config.example),因为我之前安装的是matlab 2014,所以我要修改makefile.config的MATLAB路径位置到现在安装的MATLAB2012。同时修改CUDA的路径。

然后依次:

make all -j4

make test

make runtest

,如果没有报错的话,编译MATLAB 接口函数:

make matcaffe

然后就可以参考RCNN的readme的设置,建立关于caffe的软连接,下载各种工具包,以及预训练好的model。

可能遇到的问题:

一般遇到的问题有下面几个,大部分都能Google解决掉,或者直接在RCNN github的issues里面找到答案,比如:

Expected 3 arguments,got 2

比较棘手的问题就是:MATLAB运行demo的时候直接crash崩溃了。这个时候,不要急,首先建议MATLAB是在terminal下启动的,也就是在命令行下,那么当MATLAB崩溃的时候,就会在命令行下给出崩溃的原因,最主要的原因就是caffe的编译器和matlab接口的编译器不一致。以及没有安装qt。就会报错:

/usr/local/lib/libopencv_highgui.so.2.4:
undefined symbol: _ZNK9QCheckBox15minimumSizeHintE


首先安装qt方法:

stackoverflow.com/questions/12330352/error-when-trying-to-use-mexopencv-in-matlab

具体的解决参考下面三个博客:

coldmooon.github.io/2015/08/03/caffe_install/
https://groups.google.com/form/#!topic/caffe-users/im_btmw44pc
blog.csdn.net/rosboy/article/details/40949453

同时,在运行的时候,默认caffe的输入batch_size是256.这个很容易导致GPU的溢出,报错说:

Check fialed: error == cudaSuccess ( 2 vs. 0 ) out of memory

于是需要修改batch_size的大小:
比如修改成16大小,需要修改两个地方:一个是model-defs文件夹中的prototxt文件中的参数input-dim,第二个是data/rcnn-models中mat数据中的batch_size大小

附录: MATLAB2014平台下运行的方法:

1.rename startup.m in the $RCNN folder to start_up.m, justlet Matlab start normally because Matlab will run startup.m while staring up.
2.run matlab interminal, make sure you are in the $RCNN folder.
3. run start_up.m in the command window of Matlab
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: