Windows下faster_rcnn-master(CPU版)MATLAB语言微软caffe 配置
最近再弄目标检测方面的东西,有很多不懂得地方,一切从零开始,在网上搜了很多教程。这方面的技术逐渐是模块化了,直接下载源程序运行即可,但关于MATLAB语言的教程却很少,有的也寥寥几笔带过,导致我安装的时候走了很多的弯路,运行出来第一个程序大约花了我三周的时间,由于配置不懂,希望本篇教程可以帮助小白开始对这个感兴趣。
本人正在读大二,对这方面也不了解,目前只是跑出来了程序,看到了结果,但是对于原理还一窍不通,有错误的地方还请大家多多指导。
一、软件要求
1. vs2013版本
2. matla2016a
下载地址 https://pan.baidu.com/s/13APNEEMGxN69MvayV-ew3w 提取码 2zkr
之前用到的matlab版本是2017b,成功配置了初始的caffe版本,但matlab新版好像有的文件改了位置,或者不适用于微软的caffe,又重新下载了matlab2016版本。可能是由于matlab版本问题导致一直编译的时候出错,改成matlab2016a的就好了
matlab安装可参考博客 https://blog.****.net/u012313335/article/details/73733651
二、配置微软caffe
微软caffe下载地址 https://github.com/microsoft/caffe
百度云下载地址 https://pan.baidu.com/s/1XvZDMEsVluqpApgfxdLBxA 提取码 pn93
下载之后解压 打开windows目录,将CommonSettings.props.example复制一份命名为CommonSettings.props
这里CpuOnlyBuild代表CPU版本,UseCuDNN因为我没安装相关软件,将其设置为false,下面MatlabSupport设为true,表示用matlab接口
第二步 更改如下地方
第一个框标明的是你matlab安装的位置
下面则需要加上$(MatlabDir)\toolbox\distcomp\gpu\extern\include\gpu; 来找后面所需要的文件,新版的matlab我没有找到这个文件夹,全局搜了一下也没搜到,换了个版本就行了。美滋滋~~~
此文件的修改完毕 点击保存就好
然后打开刚才那个文件的上面一个文件 Caffe.sln文件
打开在右侧libcaffe\cu\layers里面添加 roi_pooling_layer.cpp 此文件的目录在F:\RecognizePeople\caffe-master\src\caffe\layers 添加之后效果如下
然后打开caffe.cpp 将#include"gpu/mxGPUArray.h" 修改为
好了 到这里 所要修改的文件已经修改完毕
接下来将debug改成release模式 然后右键libcaffe点击重新生成
静等一会后 下面会出现成功生成的画面
然后继续对matcaffe重新生成 等待几分钟到编译成功
然后打开build文件夹一直向深处找
matcaffe成功编译后会生成这些文件 特别是有caffe_.mexw64这个文件
然后将release文件夹下的.dll文件全部复制到matlab\+caffe\private里面,如下图
将文件复制移动到
注意好文件所在的地址 千万不要弄乱了。然后下载模型
此模型大小大约为232M 百度云下载地址:https://pan.baidu.com/s/1dCMcgciEtAdoOKLpngrAVw 提取码:3621
到此,微软的caffe与matlab接口已经配置完成,接下来打开matlab设置环境变量
打开matlab,设置路径,添加caffe路径,路径深度到matcaffe
然后右键打开我的电脑,点击属性增加环境变量,此时深度到caffe的release目录下
到这里环境及路径已经搭建好了,打开matlab在命令行输入 caffe.reset_all();会出现以下结果
下面介绍如何用matlab跑faster_rcnn-master程序
三、运行faster_rcnn-master程序
首先下载作者的源码:https://github.com/ShaoqingRen/faster_rcnn
百度云地址:https://pan.baidu.com/s/168X0wmTX4B99XfYnCXwEEA 提取码:nfrd
下载之后直接解压,这个程序运行运行很简单。运行faster_rcnn_build.m
这里会报错找不到mex
这个没关系,因为我们使用的是CPU的版本,他如果不报错就奇怪了,然后运行startup.m文件,此时应该报错,如果不相信可以
自己试试,这里将caffe生成的matcaffe文件夹整个复制到以下路径即可解决错误,是不是很是神奇,虽然我不知道他为什么,
据我推测应该是与caffe相连接吧,hia hia hia ~纯属个人猜测
复制过来在运行startup.m,奇迹般的发现可以通过
然后下载训练好的模型,可直接运行fetch_data/fetch_faster_rcnn_final_model.m 此文件来下载,当然我是下载失败
这里推荐在作者主页下载,地址在reader.me最后一行,这里照常贴出我的百度云地址
https://pan.baidu.com/s/1q72MWPSRa73ElWKN5Z2syw 提取码:mo6v
下载之后解压到faster_rcnn-master的根目录下,会重新出现output文件夹
下面打开script_faster_rcnn_demo.m文件夹,做如下适合于CPU版本的修改
前两处修改是为了让程序与CPU接口相适应,第三处修改因为vgg_16layers太大,程序运行起来的时候可能会出现崩溃,所以采用下面的一个来运行。
下面来让我们看看运行之后的效果如何
由于模型的原因可能有很多测试会失误,不过现在可以看到结果了,还是很开心的。
四、总结
我现在对这个还是一窍不通,弄了两三个周才出来,希望本篇教程可以帮助到大家,有问题大家互相讨论,互相进步。
第一次写博客,写的有很多不好之处,希望大家多多包涵
参考博客:https://www.aliyun.com/jiaocheng/149884.html
https://blog.****.net/u012313335/article/details/73733651