具体步骤
1.安装并配置好caffe及python接口(前提工作)
2.从Github上下载Faster R-cnn的源代码
使用命令:git clone –recursive https://github.com/rbgirshick/py-faster-rcnn.git
必须加上 –recursive,递归下载所有相关链接中的内容。
3.生成Cython模块
打开<自己的faster-rcnn安装目录>/py-faster-rcnn/lib中的setup.py,将如下图部分注释掉。
进入faster-rcnn目录下的lib,make
cd <自己的faster-rcnn安装目录>/py-faster-rcnn/lib
进行编译,输入:
make
4.编译caffe和pycaffe
进入py-faster-rcnn/caffe-fast-rcnn目录
cd <自己的faster-rcnn安装目录>/py-faster-rcnn/caffe-fast-rcnn
将Makefile.config.example 模板复制一份为Makefile.config
cp Makefile.config.example Makefile.config
打开Makefile.config修改配置
我们是在仅cpu下运行代码的,所以:
# USE_CUDNN:=1,这个选项默认情况下时关闭的,保持不变
CPU_ONLY := 1 我们只用到了cpu,将前面的#取消掉。
WITH_PYTHON_LAYER:= 1,这个在默认情况下也是关闭的,Faster RCNN需要支持Python接口,因此需要打开。
将 INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib
改为 INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/hdf5/serial
USE_PKG_CONFIG:=1记得打开,要不然会找不到一些库文件,PKG是linux用来管理库文件的。
保存后输入命令:make -j8 && make pycaffe
5.修改其他文件配置
将 <自己的faster-rcnn安装目录>/py-faster-rcnn/lib/fast_rcnn/config.py按如下修改
将 <自己的faster-rcnn安装目录>/py-faster-rcnn/tools/test_net.py和 <自己的faster-rcnn安装目录>/py-faster-rcnn/tools/train_net.py的caffe.set_mode_gpu()修改为caffe.set_mode_cpu().
将 <自己的faster-rcnn安装目录>/py-faster-rcnn/lib/fast_rcnn/nms_wrapper.py按如下修改
6.下载pre-computed Faster R-CNN detectors
cd <自己的faster-rcnn安装目录>/py-faster-rcnn
./data/scripts/fetch_faster_rcnn_models.sh
7.运行demo
cd <自己的faster-rcnn安装目录>/py-faster-rcnn/tools
./demo.py –cpu
运行结果展示: