CNN结构:Windows使用FasterRCNN-C++版本
参考文章:Windows下VS2013 C++编译测试faster-rcnn。
本文与作者的所写方法有些许不同,欲速则不达,没有按照作者的推荐方法,绕了个弯弯。
Windows版本纯C++版本的FasterRCNN比较难找,且懒得翻译Matlab版本代码,暂时可用的是这个项目:Windows下VS2013 C++编译测试faster-rcnn。
作者上传的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 ,设置新建项目为启动项目,且只编译该项目。
1.重新编译Caffe库版本:
作者貌似给出了FasterRCNN的代码,且只给了FasterRCNN的代码,相关的Caffe依赖库并没有在源代码里直接给出。因此,参考:CNN:Windows下编译使用Caffe和Caffe2,直接使用Vs13的Caffe版本。
为什么VS15版本的不行,因为编译Caffe1-Vs15失败了,没能把roi_pooling_layer.cpp 编译进去。
1.1 可能错误:fast-r-cnn: caffe.LayerParameter“ has no field named ”roi_pooling_param。使用RBG版本的FasterRCNN和Caffe版本的源代码rbgirshick/caffe-fast-rcnn,仍然不能编译成功,没有包含ROI-Pooling的Win版本的代码。
排错方法:
1.在Vs13版本的工程中,添加已经存在的 roi_pooling_layer.cu roi_pooling_layer.cpp roi_pooling_layer.hpp到libCaffe工程,重新编译带RoiPooling的Caffe库。
2. 在src/proto/caffe.proto文件中,若不存在 roi_pooling_param , 则赋值 option roi_pooling_param = ID。取ID为一个与其他参数不重复的整数,我取其为152。
编译caffe完成后,在libcaffe后面加d,加入工程引用。
2. 测试
初始化错误,无法注册layer。
方法:去掉 //#include "register.h" 包含
程序运行可以完成。
3. 测试模型
在作者的网盘里面:网盘链接:http://pan.baidu.com/s/1dF88JvV ,下载模型。把模型文件添加后缀 .caffemodel, 写入程序网络配置参数文件。
E:/DataSet/Caffe/FasterRCnn/models/proposal_test.prototxt
E:/DataSet/Caffe/FasterRCnn/models/proposal_final.caffemodel
E:/DataSet/Caffe/FasterRCnn/models/detection_test.prototxt
E:/DataSet/Caffe/FasterRCnn/models/detection_final.caffemodel
出现错误: "Unknown layer type: " << type input
修改方法: 建立一个layer 文件夹,把MsCaffe相应的层的源文件添加到项目中,
4.重新编译,运行成功
总结:
结果:模型稍小,结果暂时不如YOLO2的检测结果。
另外,赞原作者
最新文章
- ECMAScript 位运算符
- [C] C语言中的布尔值
- Excel——将内容导入
- (转)JQM 日期插件 mobiscroll Demo
- Linux文件与目录常用命令
- 1061. Dating (20)
- 计算机程序的思维逻辑 (66) - 理解synchronized
- [编译] 4、在Linux下搭建nRF51822的开发烧写环境(makefile版)
- nohup &; 及端口查看
- anguar6中 无法在Element上找到属性 (eg 原DOM的offsetTop)
- ntpdate 正确的做法
- iptables说明(转)
- Angular 过滤器的简单使用
- 20170228VBA提取邮件部分信息
- Spring Cloud 入门 之 Feign 篇(三)
- Scrum立会报告+燃尽图(Final阶段第一次)
- ubuntu18.04下监视显卡的运行情况【学习笔记】
- db-mysql-001- 语句备份表
- react使用echarts地图实现中国地图大区展示
- NSRange 范围
热门文章
- xtrabackup 恢复单表步骤
- Java获取系统环境变量(System Environment Variable)和系统属性(System Properties)以及启动参数的方法
- 两张图让git新手在项目中运用git命令行
- Android GIS开发系列-- 入门季(6)GraphicsLayer添加文字与图片标签
- redis 主从备份自动切换+java代码实现类
- Android studio 解决setText中文乱码问题
- C#保留2位小数几种场景总结 游标遍历所有数据库循环执行修改数据库的sql命令 原生js轮盘抽奖实例分析(幸运大转盘抽奖) javascript中的typeof和类型判断
- 一看就懂系列之 由浅入深聊一聊php的垃圾回收机制
- Linux如何使用cURL分割下载大文件
- VCL源码修改立即生效