【原创帖!转载请注明出处:http://www.cnblogs.com/LaplaceAkuir/p/6445189.html】

本人最近研究faster-rcnn,在ubuntu成功跑通matlab版本和python版本,但是由于项目开发需要,则要在windows上进行c++版本的faster-rcnn应用,于是参照着http://blog.csdn.net/oYangZi12/article/details/53290426?locationNum=2&fps=1提供的代码,以及Matlab版本faster-rcnn的代码过程,自己整理了C++版本的faster-rcnn,当然只能进行测试,并且model必须是matlab的,过段时间会尝试整理读取py-faster-rcnn模型的c++版本代码。

一:安装环境:

  1、windows10,

  2、Visual Studio 2013

  3、cuda7.5和cudnn5.1

  3、Caffe版本:https://github.com/Microsoft/caffe

二:caffe安装

  将caffe-master/windows/CommonSettings.props.example复制一份就做caffe-master/windows/CommonSettings.prop,用文本编辑器notepad++(Visual stadio 打开也可以)对其进行配置。需要注意的是CPU还是使用GPU,以及是否编译matlab和python的接口。我的配置如下:

  

  本人安装了Anaconda windowsX64 2.7版本来配置python,安装Anaconda2后需要下载必要的python库

cmd下运行

1 conda install --yes numpy scipy matplotlib scikit-image pip
2 pip install protobuf

  上图第二个箭头处,由于本人matlab版本为2016a,在编译微软的caffe版本时遇到了"gpu/mxGPUArray.h" Not Found问题,因此需要在IncludePath处添加上述路径。

  打开caffe-master/windows/caffe.sln,项目选择released模式,修改libcaffe的C++常规设置,将警告视为错误选择否,如果需要使用faster-rcnn,请先看第三步faster-rcnn配置的编译步骤,以免重复编译,如不需要,则直接开始生成解决方案,会出现Nuget还原管理界面,结束后会在caffe-master的同级目录下生成一个NugetPackages的目录,装的是各种依赖库。结果如下图

编译时间很长,耐心等待后没有出现问题就表明编译成了。

三:faster-rcnn配置

1、重新编译caffe

   由于faster-rcnn中使用了roi-pooling-layer层,而微软版本编译时并未添加roi_pooling_layer,所以我们需要将头文件,cu文件和cpp文件手动加入到libcaffe中,为防止出现其他问题。本人将caffe-master/include/caffe下的所有头文件加入到libcaffe项目的头文件中,caffe-master/src/caffe的cpp和cu文件加入到libcaffe的源文件和cu文件中。

添加完成后,再次重新编译整个项目。编译成功后,整个caffe就编译完成了。

 2、新建faster-rcnn-test项目

  在caffe-master/windows/下新建项目。

  本人整理好的第三方依赖项faster_3rdparty,链接:http://pan.baidu.com/s/1qYttnsS 密码:d0ud,将其解压到caffe-master/目录下。

  c++包含目录:../../include; ../../faster_3rdparty/include C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v7.5/include(本人cuda安装目录)

  库链接目录:../../Build/x64/Release;../../faster_3rdparty/lib;C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v7.5/lib/x64;

附加依赖项项: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

  将faster_3rdparty/bin目录添加到系统环境变量中。

  添加本人上传的faster-rcnn c++代码,链接https://github.com/zhanglaplace/Faster_rcnn_Cplusplus_vs2013,代码结合Matlab版本的faster-rcnn以及参考http://blog.csdn.net/oYangZi12/article/details/53290426?locationNum=5&fps=1提供的代码。下载model,model文件可以从网盘下载,网盘链接:http://pan.baidu.com/s/1dF88JvV ,设置新建项目为启动项目,且只编译该项目。

  运行结果如下:

PS:如果编译成功的话,不要忘了给我的github工程点个star!

Windows下VS2013 C++编译测试faster-rcnn相关推荐

  1. 实践详细篇-Windows下使用VS2015编译的Caffe训练mnist数据集

    上一篇记录的是学习caffe前的环境准备以及如何创建好自己需要的caffe版本.这一篇记录的是如何使用编译好的caffe做训练mnist数据集,步骤编号延用上一篇 <实践详细篇-Windows下 ...

  2. Windows下用ndk编译ffmpeg

    Windows下用ndk编译ffmpeg   第一步:创建一个android工程,然后将ffmpeg整体放到jni下,并创建Android.mk和Application.mk Android.mk: ...

  3. 【C#】C#中使用GDAL3(一):Windows下超详细编译C#版GDAL3.3.0(VS2015+.NET 4+32位/64位)

    转载请注明原文地址:https://www.cnblogs.com/litou/p/15004877.html 总目录 (一)Windows下超详细编译C#版GDAL3.3.0(VS2015+.NET ...

  4. 开源实时音视频技术WebRTC在Windows下的简明编译教程

    1.前言 随着音视频技术的不断普及,Google推出的 WebRTC 越来越受到大家的喜欢.现在很多直播产品都是基于WebRTC 进行二次开发做出来的. WebRTC是提供了一整套处理实时音视频的开源 ...

  5. Redis第一集:Windows下安装Redis和测试

    Redis第一集:Windows下安装Redis和测试 一.资源 Windows下的Redis的下载地址 点击这里即可下载,如果进不去GitHub的话,可以上网搜一下怎么进GitHub,搭个梯子(●ˇ ...

  6. 在windows下写makefile编译代码

    From: http://blog.163.com/xjming487@126/blog/static/212951352007625114849843/ 在windows下写makefile编译代码 ...

  7. [转]cscope在windows下使用mingw编译的方法

    cscope在windows下使用mingw编译的方法      http://blog.csdn.net/mslk/archive/2007/05/06/1598513.aspx cscope在wi ...

  8. Windows下用CMake编译JsonCpp及配置(适合新手)

    作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 JsonCpp是什么? JSON是一种轻量级的数据交换格式.它可以表示数字.字符串.有序的值序列 ...

  9. 手把手教你在windows下源码编译Open3D

    文章目录 前言 1.编译环境 2.编译步骤 3.编译中的bug 3.1 下载超时问题,ispc.pybind11.open3d_sphinx_theme等 3.2 boringssl 3.3 Dire ...

最新文章

  1. java mongodb存base64_阿里JAVA面试分享经验【文末有福利】
  2. 跨进程通信,到底用长连接还是短连接
  3. python使用手册-python(自用手册)
  4. springmvc三十:异常处理流程
  5. c51语言的设计步骤,第3章节单片机c51语言程序的设计基本.ppt
  6. C++基础05-类构造函数与析构函数
  7. LeetCode(181)——超过经理收入的员工(MySQL)
  8. Python(2.7.6) 迭代器
  9. linux中用户信息存储在,在linux中,用于存放用户信息的两个文件是/etc/passwd和/etc/shadow。()...
  10. 技术指南 | 理解零知识证明算法之Zk-stark
  11. virtual box 静态ip设置
  12. .Net框架设计(Yanlz+Unity+XR+C#+.Net+框架+框架设计+设计模式+工具可视化+SOA+立钻哥哥+==)
  13. 使用python实现对图片的高斯模糊
  14. 服务器装win10稳定吗,win10哪个版本最稳定好用 目前win10最稳定的版本推荐
  15. Openssh更新升级7.9p1步骤
  16. HTML5期末大作业:电影网站设计——电影(1页) HTML+CSS+JavaScript 学生DW网页设计作业成品 web课程设计网页规划与设计 计算机毕设网页设计源码
  17. 数据库系统知识总结(一):数据库系统基础知识
  18. 一个基于Vue的移动端多文件上传插件,支持常见图片的上传。
  19. 重庆交通大学c语言上机试题,重庆交通大学2021硕士招生考试《C语言程序设计》复试大纲...
  20. Elastic Search学习笔记

热门文章

  1. boost::mp11::mp_clear相关用法的测试程序
  2. boost::hana::trait用法的测试程序
  3. boost::lambda::ret用法的测试程序
  4. boost::geometry模块使用 Karney 的直接方法
  5. GDCM:gdcm::SOPClassUIDToIOD的测试程序
  6. ITK:提取网格边界上的顶点
  7. DCMTK:用于DICOM数据字典的哈希表接口
  8. VTK:可视化之LineWidth
  9. VTK:Utilities之DataAnimationSubclass
  10. QDoc标记命令Markup Commands