windows下的纯c++版 Faster R-CNN

     效果如下图:

最新的源代码放在github上,https://github.com/huaze555/windows-caffe-faster-rcnn,支持训练和测试,自己下载用VS2013编译即可,编译步骤跟微软版的caffe一模一样。

同时版本经过大幅度性能优化,在GeForce GTX TITAN X显卡上,对于VGG16模型的速度是16.6fps左右。

*****************************分割线********************************

我的上一篇博客 纯C++版的Faster-Rcnn(通过caffe自定义RPN层实现) 是在windows下caffe的基础上,通过自定义RPN层取代python层,实现纯c++版的windows faster-rcnn,具体可以看上一篇博客,它的毛病是,在速度方面远不如python版,不太符合工程需要,比如我最近的项目中,需要对连续的视频帧进行目标检测,那样对效率要求就很高。

         这个版本,参照的是D-X-Y大神github上的纯c++版的faster-rcnn,https://github.com/D-X-Y/caffe-faster-rcnn,不过是在linux平台上,我把它移植到微软的windows-caffe版本下,但是由于D-X-Y的版本,因为需要支持faster-rcnn,所以修改了caffe的源码(比如在blob.hpp里就加了点代码),同时添加了很多的代码文件以支持faster-rcnn,所以一个移植的方法,就是把D-X-Y的版本中的代码,全部替换掉微软的版本,然后按照微软的caffe版本,用vs2013进行编译,只要编译libcaffe就好了(我记得移植这个过程,花了七八个小时吧,因为两个版本的不兼容,不断地尝试,不断地改错,编译一次才知道错误在哪,改正后又会不断的出现问题),因为都是哪里有错改正继续试,所以具体编译过程我也没有记录下来。

     具体编译安装过程,请看github上的readme,其实跟windows下编译caffe一样的。

    编译完后,再配置VS2013,然后就可以在VS中像使用OpenCV一样使用Faster R-CNN了!具体步骤github上也说明了:我把第三方库都打包好了,只要把bin、include、lib配置到VS2013的对应路径就成。

    OK了,有需要的伙伴可以配置跑一下,对于有工程需要(特别是c++环境)的朋友,还是很有帮助的。

   如果觉得好用,不介意star下我的github,谢啦~