设为首页 收藏本站
查看: 920|回复: 0

[经验分享] Windows下VS2013 C++编译测试faster-rcnn

[复制链接]

尚未签到

发表于 2017-6-27 16:54:18 | 显示全部楼层 |阅读模式
  【原创帖!转载请注明出处: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的接口。我的配置如下:
DSC0000.png DSC0001.png

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



conda install --yes numpy scipy matplotlib scikit-image pip
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的目录,装的是各种依赖库。结果如下图
DSC0002.png DSC0003.png DSC0004.png

  编译时间很长,耐心等待后没有出现问题就表明编译成了。
  三: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文件中。
DSC0005.png DSC0006.png

  添加完成后,再次重新编译整个项目。编译成功后,整个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 ,设置新建项目为启动项目,且只编译该项目。
  运行结果如下:
DSC0007.jpg

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

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-388849-1-1.html 上篇帖子: windows服务启动有界面的程序 下篇帖子: 读写windows注册表
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表