Windows VS2013 将py-faster-rcnn 改写成c++版本

4 篇文章 0 订阅
1 篇文章 0 订阅

参考:

[1] Windows下py-Faster rcnn的编译及遇到的问题
[2] faster rcnn windows 下c++版本
[3] Check failed: registry.count(t ype) == 1 (0 vs. 1) Unknown layer type: Input (known types: Input )
[4]Windows下VS2013 C++编译测试faster-rcnn

通过我的上一篇博客: Windows下py-Faster rcnn的编译及遇到的问题 可以知道Windows下py-Faster rcnn的编译就是在caffe-master的编译中加入RoiPooling层,然后编译pycaffe接口后,使用python编写RPN层,nms函数进行调用。
所以py-faster-rcnn的c++化主要是在caffe中用c++来实现RPN层和nms函数,集成到libcaffe中,这样之后我们就不需要在使用python了。

1. C++编写 RPN层代码

参考这篇博客:faster rcnn windows 下c++版本
编写完RPN层之后如何将RPN集成到libcaffe中,这个过程和在libcaffe中加入RoiPooling层是一样的,参考这篇:Windows下py-Faster rcnn的编译及遇到的问题

2. 建立faster-test测试工程

用VS2013建立一个空项目,首先要知道,caffe-master的所有依赖项也是你这个测试工程的依赖项,同时需要将caffe-master的include以及编译好的release下的.lib都加入到你的测试工程中。如下图:
这里写图片描述
右键项目-》生成依赖项-》生成自定义-》查找现有项-》找到编译caffe-master时nuget下载的依赖,并一一添加
这里写图片描述
将caffe-master的include和cuda的include添加到包含目录中
这里写图片描述
将caffe-master编译好的Release文件夹以及cuda的lib文件夹添加到工程的库目录中
这里写图片描述
在连接器-》输入中添加依赖项
libcaffe.lib
caffe.lib
cudart.lib
cublas.lib
curand.lib

3. 测试代码

测试代码参考这篇博客:faster rcnn windows 下c++版本
同时修改python faster rcnn中的pt文件
主要是rpn层。

layer {
  name: 'proposal'
  type: 'RPN'
  bottom: 'rpn_cls_prob_reshape'
  bottom: 'rpn_bbox_pred'
  bottom: 'im_info'
  top: 'rois'
  rpn_param{
   feat_stride : 16
   basesize : 16
   scale : 8
   scale : 16
   scale : 32
   ratio : 0.5
   ratio : 1
   ratio : 2
   boxminsize :16
   per_nms_topn : 0;
   post_nms_topn : 0;
   nms_thresh : 0.7;
  }
}

测试结果如下:
这里写图片描述

4. 遇到的问题:

Check failed: registry.count(t ype) == 1 (0 vs. 1) Unknown layer type: Input (known types: Input )
http://blog.csdn.net/birdwcp/article/details/53580068

主要是在测试过程中遇到的Unknown layer type的问题,需要对layer重新注册。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值