您的位置:首页 > Web前端

caffe及faster-rcnn详细配置安装过程

2016-09-09 16:45 603 查看


【引子】

2013年,来自微软的rbg大神发表了基于深度学习的detection方法:R-CNN。一年以后,大神单枪匹马又将自己之前的工作提升到了一个新的水平(fast
R-CNN)。

2015年,来自微软亚洲研究院的Shaoqing Ren,Kaiming He研究组在rbg的基础上,进一步地将该方法提升到了实时的水平(faster R-CNN),这也是我们今天的主题。

值得说明的是,目前在github上有两个版本的faster R-CNN,一个版本是Shaoqing Ren的MATLAB版本,另外一个是rbg的Python版本,二者有细微的差别。此处我们使用MATLAB版本。


【依赖项】

安装faster R-CNN需要一些依赖项:
caffe(此处需要Shaoqing Ren的caffe版本,下面会具体说)
MATLAB(此处使用Ubuntu14.04下的R2014b)


【安装】

Step1. 下载源代码 

首先,下载源代码,在适当路径下,执行如下命令:
$ git clone --recursive https://ShaoqingRen/faster_rcnn.git[/code]1 1

完成源代码的下载,主义此处的
--recursive
是递归下载,一些DNN框架,常常喜欢将caffe作为一个submodule放在external目录下,利用这一参数可以下载所有内容。

Step2. 安装caffe

完成第一步后,这个时候,你应该已经有Shaoqing Ren版本的caffe了,下面我们要编译它。 

执行下列代码:
$ cd external/caffe
$ cp Makefile.config.example Makefile.config
$ vim Makefile.config
1
2
3
1
2
3

利用vim对配置文件进行修改,此处我们主要指定MATLAB_DIR路径,在适当位置加入下面内容:
MATLAB_DIR := /usr/local/MATLAB/R2014b
1
1

接下来执行如下一系列命令,老司机应该挺熟的了吧…….
$ make all -j8
$ make test -j8
$ make runtest -j8
$ make pycaffe
$ make matcaffe
1
2
3
4
5
1
2
3
4
5

需要说明的一点是,我在执行
make runtest
这一命令之后,遇到了奇葩的问题”Unknown V1LayerParameter Layer type: 40”。如下图:



后来我Google了一下,发现有类似问题的还真不在少数!根据热心网友们的讨论结果。我发现问题出在这个文件上面(external/caffe/src/caffe/util/upgrade_proto.cpp)。我们需要补上Reshape,ROIPooling以及SmoothL1Loss这三个层,具体见下:



Step3. 下载Pre-trained Model

按理说,在MATLAB里面执行
run fetch_data/fetch_model_VGG16.m
就能下载了,不过天朝的网你懂得… …不过好在咱们Shaoqing Ren也是中国人,给咱们提供了百度云盘的下载地址,哈哈!http://pan.baidu.com/s/1dDCsSm9

需要注意的是,这个东东下载以后,请解压到faster R-CNN根目录下,里面有5张测试图片以及一个名为output的文件夹(文件夹里面是pre-train好的ZF-net以及VGG16-net)。

Step4. 运行

在MATLAB下面,运行
faster_rcnn_build.m
startup.m
。其中前者是要编出一个东西来,是必须必须执行的。

Step5. 测试

在MATLAB下面,运行
experiments/script_faster_rcnn_demo.m
,就能够得到如下结果啦~~~

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: