这两天看了一下RCNN和Fast-RCNN,虽然Faster-RCNN也出来了,但是还是想先研究一下Fast-RCNN,废话不多说,先配置好,这次的配置比较简单,当然前期的依赖项得先装好,我是之前配置好caffe了,所以很多依赖项已经安装了,因此也建议先配置caffe再配置Fast-RCNN。caffe配置具体请看这篇博客:http://blog.csdn.net/lxh19920114/article/details/49871891。
第一步,先下载Fast-RCNN,可以选择手动下载,也可以使用下面的命令直接搞定:
git clone --recursive https://github.com/rbgirshick/fast-rcnn.git当然,想使用git命令,还需要先安装git:
sudo apt-get install git
安装完后,cd进你要存放Fast-RCNN的目录下面,使用上述的git命令。
注意:--recursive选项一定要加 ,不加这个命令就只能下载一个Fast-RCNN,而Fast-RCNN是需要caffe支持的,因此只有加了这个选项才会自动的将Fast-RCNN所需要的caffe版本下载下来。如果是手动下载的话,需要进https://github.com/rbgirshick/fast-rcnn下载Fast-RCNN,进https://github.com/rbgirshick/caffe-fast-rcnn/tree/fast-rcnn下载caffe。千万注意!!!!其他版本的caffe可能并不会支持这里的Fast-RCNN。
下载好并解压之后,会有如下的文件:
其中caffe-fast-rcnn文件夹就是存放下载的caffe的地方,只需把下载下来的caffe提取到这个文件夹下面就行,解压好后应该是以下内容,当然有些文件是编译之后才会生成的。
接下来就需要编译了,先cd进fast-rcnn/lib目录进行编译:
编译完成之后lib文件夹下应该有如下文件:
接下来就需要去编译caffe了,请确定已经按照这篇博客http://blog.csdn.net/lxh19920114/article/details/49871891配置好caffe所需要的依赖项,不然编译不会通过。
先cd进caffe-fast-rcnn文件夹,执行以下命令创建Makefile.config
cp Makefile.config.example Makefile.config
接下来配置Makefile.config文件(仅列出修改部分)
a. 启用CUDNN,去掉"#"
USE_CUDNN := 1
b. 配置一些引用文件(增加部分主要是解决新版本下,HDF5的路径问题)
INCLUDE_DIRS := $(PYTHON_INCLUDE)/usr/local/include /usr/lib/x86_64-linux-gnu/hdf5/serial/include
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib/usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial
c. 启用Intel Parallel Studio XE 2016
BLAS := mkl
d. 配置路径,实现caffe对Python和Matlab接口的支持
PYTHON_LIB := /usr/local/lib
MATLAB_DIR := /usr/local/MATLAB/R2014a
e. 启用Python_Layer,去掉"#",这一步很关键!!!!!
WITH_PYTHON_LAYER := 1
和上一篇博客不一样的是fast-rcnn使用的caffe版本并没有OPENCV_VERSION =3这一选项,因此我们需要去改一下Makefile文件。
红色框选中的内容(opencv_imgcodecs)是需要添加的,这是opencv3.0才有的,很多基本函数比如imshow函数都在这里面。
添加完之后就保存。
然后再编译
make -j8 && make pycaffe
等待编译成功吧。
完成之后应该就是下面的信息,只要不报错就行。
接下来就需要下载模型了cd进faster-rcnn根目录下,执行
./data/scripts/fetch_fast_rcnn_models.sh然后等吧,模型有900M+,因此还是要等一会的。
完成之后,需要安装easydict,直接装是不行的,需要先安装pip命令
sudo apt-get install python-pip
安装完成之后安装easydict:
sudo pip install easydict
这也安装好了就可以运行demo了。不过默认的VGG16模型需要至少3G的显存,所以如果显存不够的话需要换成caffenet。
直接再tools文件夹下改demo.py就行
将红框框中的部分中,vgg16改为caffenet就行。
然后在fast-rcnn根目录下运行
./tools/demo.py
运行结果有三幅图,这里只贴出一幅,如果你也能够看到这些结果就说明配置成功了。