参考文章: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++版本的更多相关文章

  1. CNN结构:图片风格分类效果已成(StyleAI)

    CNN结构:图片风格分类效果已成.可以在色彩空间对图片风格进行分类,并进行目标分类. StyleAI构架:FasterRCnn + RandomTrees 为何不使用MaskRCNN? MaskRCN ...

  2. CNN:Windows下编译使用Caffe和Caffe2

    用于检测的CNN分为基于回归网络的方法和基于区域+CNN网络的方法,其中基于回归网络的方法典型为YOLO9000,可以兼容使用VGG-Net框架.其中基于区域+CNN网络方法,大量使用了Caffe作为 ...

  3. CNN结构:用于检测的CNN结构进化-分离式方法

    前言: 原文链接:基于CNN的目标检测发展过程       文章有大量修改,如有不适,请移步原文. 参考文章:图像的全局特征--用于目标检测 目标的检测和定位中一个很困难的问题是,如何从数以万计的候选 ...

  4. AI:IPPR的数学表示-CNN结构进化(Alex、ZF、Inception、Res、InceptionRes)

    前言: 文章:CNN的结构分析-------:  文章:历年ImageNet冠军模型网络结构解析-------: 文章:GoogleLeNet系列解读-------: 文章:DNN结构演进Histor ...

  5. windows Server 2008各版本区别详解

    Windows Server 2008 是专为强化下一代网络.应用程序和 Web 服务的功能而设计,是有史以来最先进的 Windows Server 操作系统.拥有 Windows Server 20 ...

  6. Windows server 2012 各版本 激活方法

    Windows server 2012 激活教程 本文包括以下两种版本的激活过程:(注意RC版的是不能激活的!) 1.Windows server 2012 试用版本激活 2.Windows serv ...

  7. [转帖]Windows Server 2016各种版本介绍

    Windows Server 2016各种版本介绍 http://www.5sharing.com/js/zx/872.html windows server的版本 时间:2018-10-06 10: ...

  8. [转帖]Windows 10 部分早期版本已完全停止技术支持服务

    Windows 10 部分早期版本已完全停止技术支持服务 2019-4-12 01:27| 发布者: cjy__05| 查看: 10186| 评论: 47|来自: pcbeta 收藏分享 转帖来源:h ...

  9. [转]Windows下Python多版本共存

    https://blog.csdn.net/dream_an/article/details/51248736 Windows下Python多版本共存 Python数据科学安装Numby,pandas ...

随机推荐

  1. HDU——2588 GCD

    题目大意: 求1~N中与N的最大公约数大于M的个数 思路: 这个题是不是可以想到暴力枚举??对于每一组数据枚举与他的最大公约数大于m的数的个数. 是,这种做法没错误,但是保准你T成狗.... 我们至少 ...

  2. hadoop-2.6.0 Unhealthy Nodes 问题

    近期安装hadoop-2.6.0集群时,打开8088页面,查看集群信息,看到集群出现Unhealthy Nodes 的问题,点击该处.会展开Unhealthy Nodes 的情况,这时会看到Healt ...

  3. POJ 1861 Network (Kruskal求MST模板题)

    Network Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 14103   Accepted: 5528   Specia ...

  4. HDU 1421 搬寝室 (线性dp 贪心预处理)

    搬寝室 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submis ...

  5. Swift 进阶

    iOS开发系列--Swift进阶 2015-09-21 00:01 by KenshinCui, 3072 阅读, 12 评论, 收藏, 编辑 概述 上一篇文章<iOS开发系列--Swift语言 ...

  6. Ubuntu中取消秘钥环

    1.打开应用程序->附件->password和加密密钥(或者在终端中输入 seahorse) 2.切换到password选项卡,会看到一个password密钥环 3.右击->更改pa ...

  7. Weka算法Classifier-meta-AdaBoostM1源代码分析(一)

    多分类器组合算法简单的来讲经常使用的有voting,bagging和boosting,当中就效果来说Boosting略占优势,而AdaBoostM1算法又相当于Boosting算法的"经典款 ...

  8. Robot Framework 搭建和RIDE(GUI) 的环境

    在windows x64的环境上进行安装,集成Selenium2和AutoIt的libraries,以下安装步骤在win 7,win 8.1,win 10, win 2012 R2上测试通过 1. 下 ...

  9. Git新建本地分支与远程分支关联问题:git branch --set-upstream【转】

    本文转载自:http://blog.csdn.net/netwalk/article/details/21088405 Git新建本地分支与远程分支关联问题:git branch --set-upst ...

  10. 【转载】同步与异步--阻塞与非阻塞型I/O

    同步阻塞IO 在这个模型中,应用程序(application)为了执行这个read操作,会调用相应的一个system call,将系统控制权交给kernel,然后就进行等待(这其实就是被阻塞了).ke ...