R-CNN学习之(一)-R-CNN编程前的准备工作

时间:2022-03-12 23:58:49

本文转自以为技术大牛的blog,原文地址:http://nbviewer.ipython.org/github/ouxinyu/ouxinyu.github.io/blob/master/MyCodes/caffe-master/detection.ipynb

 

1.下载训练好的R-CNN模型,也可以自己使用Caffe训练一个自己的模型。预训练模型基于Imagenet数据集,并在ILSVRC13上进行微调,输出200个检测分类。

下载方法:~/caffe-master$ ./scripts/download_model_binary.py models/bvlc_reference_rcnn_ilsvrc13

 

2.下载Selective Search,并运行matlab编译相关mex文件。

(1) 下载方法:https://github.com/sergeyk/selective_search_ijcv_with_python ,下载后解压,改名,并复制到 ~/caffe-master/python/selective_search_ijcv_with_python/,注意此路径只是为了方便学习,并非强制性要求,如果这个路径改了,那么接下来很多地方的路径也是需要改的。

(2) 编译方法:启动matlab客户端,并运行~/caffe-master/python/selective_search_ijcv_with_python/demo.m ,无报错信息运行后关闭matlab即可。

 

3.执行python/detect.py报错时,可参考如下修改方法:

(1) 报错信息:OSError: [Errno 2] No such file or directory

修改文件:~/caffe-master/python/selective_search_ijcv_with_python/selective_search.py
修改前:mc = "matlab -nojvm -r \"try; {}; catch; exit; end; exit\"".format(command)
修改后:mc = "/usr/local/MATLAB/R2014b/bin/matlab -nojvm -r \"try; {}; catch; exit; end; exit\"".format(command)

(2) 报错信息:ValueError: 'axis' entry 2 is out of bounds (-2, 2)

修改文件:~/caffe-master/python/caffe/detector.py
修改前:predictions = out[self.outputs[0]].squeeze(axis=(2, 3))
修改后:predictions = out[self.outputs[0]].squeeze()

 

经过以上两个问题的修改之后,就可以安装caffe官网的步骤愉快地玩耍了!