本篇博客参照 https://www.cnblogs.com/LaplaceAkuir/p/6445189.html非常感谢这位博主
1. 运行环境
win7
cuda9.1
cudnn7.0
vs2013
caffe版本:https://github.com/Microsoft/caffe
2. 编译caffe
由于faster-rcnn中使用了roi-pooling-layer层,而微软版本编译时并未添加roi_pooling_layer,因此为frcnn编译caffe时,与原始的caffe编译步骤略有不同,所以我们需要将头文件,cu文件和cpp文件手动加入到libcaffe中
具体步骤参照上一篇博客运行python版本的faster-rcnn的编译步骤win7+GPU运行py-faster-rcnn
编译成功之后,将会在 caffe-master 目录下生成 build 文件
3. 新建frcnn-test项目
在caffe-master/windows下新建test-frcnn项目
下载博主提供的test-frcnn代码https://github.com/zhanglaplace/Faster_rcnn_Cplusplus_vs2013
以及模型文件http://pan.baidu.com/s/1dF88JvV
还有待会要用到的第三方库https://pan.baidu.com/s/1BTDNR4-mUt9Q1nMV9BtqEw
放到caffe-master目录下
将detection_final文件和proposal_final文件加上ceffemodel后缀
然后在新建项目中添加刚刚下载的代码
然后配置管理器
包含目录
库目录
链接器–>输入–>附加依赖项
opencv_calib3d2410.lib;opencv_contrib2410.lib;opencv_core2410.lib;opencv_features2d2410.lib;opencv_flann2410.lib;opencv_gpu2410.lib;opencv_highgui2410.lib;
opencv_imgproc2410.lib;opencv_legacy2410.lib;
opencv_ml2410.lib;opencv_objdetect2410.lib;opencv_ts2410.lib;opencv_video2410.lib;caffe.lib;libcaffe.lib;cudart.lib;cublas.lib;
curand.lib;gflags.lib;libglog.lib;libopenblas.dll.a;libprotobuf.lib;leveldb.lib;lmdb.lib;hdf5.lib;hdf5_hl.lib
设置新建项目为启动项目,编译该项目
我在编译及运行过程遇到的一些错误
编译错误
解决办法
在test_faster_rcnn中添加
#include "shlwapi.h"
#pragma comment(lib,"shlwapi.lib")
编译成功
开始运行
运行错误
解决办法
启动调试
可以看到是layer_factory.hpp出了问题
将
CHECK_EQ(registry.count(type), 0)
<< “Layer type " << type << " already registered.”;
registry[type] = creator;
替换成
if (registry.count(type) != 0)
{
std::cout << "Layer type " << type << " already registered. ";
}
else
{
registry[type] = creator;
}
别忘了修改路径
以及testImage.txt里的路径
运行结果