faster-rcnn提出论文: 《Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks》
faster-rcnn 的算法详解可看这篇博文(清晰易懂,良心博文!): http://blog.youkuaiyun.com/shenxiaolu1984/article/details/51152614
faster-rcnn Python版本源码地址:https://github.com/rbgirshick/py-faster-rcnn
这篇文章主要介绍搭建用faster-rcnn进行目标检测所需的环境。
1.电脑上已经有可运行caffe所需的环境
2.下载faster-rcnn python版本源码
3. 进入/py-faster-rcnn/lib 进行编译
4.编译/py-faster-rcnn/caffe-fast-rcnn
更改Makefile.config文件:
进行编译:
因为这个版本所用的cudnn为旧版本的,可能与新环境的cudnn不兼容,导致出现如下错误:
解决办法:
1).将/py-faster-rcnn/caffe-fast-rcnn/include/caffe/util/cudnn.hpp 换成最新版的caffe里的cudnn的实现,即相应的cudnn.hpp.
2).将/py-faster-rcnn/caffe-fast-rcnn/src/caffe/layer里的,所有以cudnn开头的文件,例如cudnn_lrn_layer.cu,cudnn_pooling_layer.cpp,cudnn_sigmoid_layer.cu。
都替换成最新版的caffe里的相应的同名文件。
- src/caffe/layers/cudnn_relu_layer.cpp: In member function ‘virtual void caffe::CuDNNReLULayer<Dtype>::LayerSetUp(const std::vector<caffe::Blob<Dtype>*>&, const std::vector<caffe::Blob<Dtype>*>&)’:
- src/caffe/layers/cudnn_relu_layer.cpp:16:45: error: ‘activ_desc_’ was not declared in this scope
- cudnn::createActivationDescriptor<Dtype>(&activ_desc_, CUDNN_ACTIVATION_RELU);
- ^
- make: *** [.build_release/src/caffe/layers/cudnn_relu_layer.o] 错误 1
将./include/caffe/layers的,所有以cudnn开头的文件,例如cudnn_conv_layer.hpp,cudnn_lcn_laye.hpp</p> 都替换成最新版的caffe里的相应的同名文件
5.运行faster-rcnn里的demo