配置:Win7 64位+Matlab R2016a+VS2015 Community
1.github地址:https://github.com/peiyunh/tiny
由于涉及到matconvnet和export_fig两个分支,所以下载的时候得用git clone--recursive
但是我这样下载的时候还是失败了,解决办法:自行下载这两个分支后解压到tiny对应的文件夹下。
2.安装MatConvNet
参考:http://www.vlfeat.org/matconvnet/install/
根据要求,这个工具包需要Matlab R2015b和VS2015以上的版本。
我的电脑其实是有GPU的但是我没有编译成功,总是报错。不知道该如何解决,希望有人看到这篇博客之后能帮我解答一下。
所以我暂时先编译CPU版本
这里就涉及到VS2015编译器的问题
在matlab的命令窗口输入mex -setup,发现找不到vs2015的编译器,原因是Community版本默认不安装C++组件,所以需要打开VS2015,新建C++项,进行补装。参考: http://jingyan.baidu.com/article/63acb44ac4964c61fcc17eb7.html
安装完成后重启matlab,再次输入mex -setup就能找到vs2015编译器了
(1)进入MatConvNet文件夹:cd matconvnet
(2)addpath matlab
(3)vl_compilenn
进行这三步之后就编译成功了,如果编译不成功,可以下载我编译好的文件,放到tiny/matconvnet/matlab/mex文件夹下
(4)接着运行vl_setupnn.m:run vl_setupnn
(5)然后进行测试:vl_testnn,我测试的结果是所有实例都通过了
3.下载模型
在demo运行之前需要先在项目主页上下载Res101预训练的模型,存放路径为tiny/trained_model。
对比了下载的原始项目文件,trained_model文件夹应该是经过上述步骤之后自己生成的【不太确定,因为我发现要下载模型是因为matlab报错说找不到模型我才去下载的】
=============================================== 2017.9.11修改 ======================================================================
在tiny_face_detector.m的52-55行
model_dir = './trained_models';
if ~exist(model_dir)
mkdir(model_dir);
end
如果不存在trained_models文件夹则mkdir函数会自行创建一个
==================================================================================================================================
4.运行demo
在Read.md中给出的命令为bboxes = tiny_face_detector('data/demo/selfie.jpg', './selfie.png',0.5, 0.1, 1)
这里有五个参数,其中第一个参数是输入图像路径,第二个是输出图像路径,最后一个代表使用GPU。由于是CPU版本,所以我输入的命令为bboxes = tiny_face_detector('data/demo/selfie.jpg','data/demo/selfie.png', 0.5, 0.1)
运行结果如下:
命令窗口的输出很长,截取一段:【因为太长了没有截图就直接复制到word里了】