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的检测结果。
另外,赞原作者
CNN结构:Windows使用FasterRCNN-C++版本的更多相关文章
- CNN结构:图片风格分类效果已成(StyleAI)
CNN结构:图片风格分类效果已成.可以在色彩空间对图片风格进行分类,并进行目标分类. StyleAI构架:FasterRCnn + RandomTrees 为何不使用MaskRCNN? MaskRCN ...
- CNN:Windows下编译使用Caffe和Caffe2
用于检测的CNN分为基于回归网络的方法和基于区域+CNN网络的方法,其中基于回归网络的方法典型为YOLO9000,可以兼容使用VGG-Net框架.其中基于区域+CNN网络方法,大量使用了Caffe作为 ...
- CNN结构:用于检测的CNN结构进化-分离式方法
前言: 原文链接:基于CNN的目标检测发展过程 文章有大量修改,如有不适,请移步原文. 参考文章:图像的全局特征--用于目标检测 目标的检测和定位中一个很困难的问题是,如何从数以万计的候选 ...
- AI:IPPR的数学表示-CNN结构进化(Alex、ZF、Inception、Res、InceptionRes)
前言: 文章:CNN的结构分析-------: 文章:历年ImageNet冠军模型网络结构解析-------: 文章:GoogleLeNet系列解读-------: 文章:DNN结构演进Histor ...
- windows Server 2008各版本区别详解
Windows Server 2008 是专为强化下一代网络.应用程序和 Web 服务的功能而设计,是有史以来最先进的 Windows Server 操作系统.拥有 Windows Server 20 ...
- Windows server 2012 各版本 激活方法
Windows server 2012 激活教程 本文包括以下两种版本的激活过程:(注意RC版的是不能激活的!) 1.Windows server 2012 试用版本激活 2.Windows serv ...
- [转帖]Windows Server 2016各种版本介绍
Windows Server 2016各种版本介绍 http://www.5sharing.com/js/zx/872.html windows server的版本 时间:2018-10-06 10: ...
- [转帖]Windows 10 部分早期版本已完全停止技术支持服务
Windows 10 部分早期版本已完全停止技术支持服务 2019-4-12 01:27| 发布者: cjy__05| 查看: 10186| 评论: 47|来自: pcbeta 收藏分享 转帖来源:h ...
- [转]Windows下Python多版本共存
https://blog.csdn.net/dream_an/article/details/51248736 Windows下Python多版本共存 Python数据科学安装Numby,pandas ...
随机推荐
- HDU——2588 GCD
题目大意: 求1~N中与N的最大公约数大于M的个数 思路: 这个题是不是可以想到暴力枚举??对于每一组数据枚举与他的最大公约数大于m的数的个数. 是,这种做法没错误,但是保准你T成狗.... 我们至少 ...
- hadoop-2.6.0 Unhealthy Nodes 问题
近期安装hadoop-2.6.0集群时,打开8088页面,查看集群信息,看到集群出现Unhealthy Nodes 的问题,点击该处.会展开Unhealthy Nodes 的情况,这时会看到Healt ...
- POJ 1861 Network (Kruskal求MST模板题)
Network Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 14103 Accepted: 5528 Specia ...
- HDU 1421 搬寝室 (线性dp 贪心预处理)
搬寝室 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submis ...
- Swift 进阶
iOS开发系列--Swift进阶 2015-09-21 00:01 by KenshinCui, 3072 阅读, 12 评论, 收藏, 编辑 概述 上一篇文章<iOS开发系列--Swift语言 ...
- Ubuntu中取消秘钥环
1.打开应用程序->附件->password和加密密钥(或者在终端中输入 seahorse) 2.切换到password选项卡,会看到一个password密钥环 3.右击->更改pa ...
- Weka算法Classifier-meta-AdaBoostM1源代码分析(一)
多分类器组合算法简单的来讲经常使用的有voting,bagging和boosting,当中就效果来说Boosting略占优势,而AdaBoostM1算法又相当于Boosting算法的"经典款 ...
- Robot Framework 搭建和RIDE(GUI) 的环境
在windows x64的环境上进行安装,集成Selenium2和AutoIt的libraries,以下安装步骤在win 7,win 8.1,win 10, win 2012 R2上测试通过 1. 下 ...
- Git新建本地分支与远程分支关联问题:git branch --set-upstream【转】
本文转载自:http://blog.csdn.net/netwalk/article/details/21088405 Git新建本地分支与远程分支关联问题:git branch --set-upst ...
- 【转载】同步与异步--阻塞与非阻塞型I/O
同步阻塞IO 在这个模型中,应用程序(application)为了执行这个read操作,会调用相应的一个system call,将系统控制权交给kernel,然后就进行等待(这其实就是被阻塞了).ke ...