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

来源:互联网 发布:ubuntu安装anaconda3 编辑:程序博客网 时间:2024/06/03 18:56

【引子】

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需要一些依赖项:

  1. caffe(此处需要Shaoqing Ren的caffe版本,下面会具体说)
  2. MATLAB(此处使用Ubuntu14.04下的R2014b)

【安装】

Step1. 下载源代码 
首先,下载源代码,在适当路径下,执行如下命令:

$ git clone --recursive https://ShaoqingRen/faster_rcnn.git
  • 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.mstartup.m。其中前者是要编出一个东西来,是必须必须执行的。

Step5. 测试

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

这里写图片描述

0 0