matlab调用caffemex_matlab下运行mtcnn的demo的过程

本文详细介绍了如何在MATLAB中调用Caffe实现MTCNN人脸检测,包括项目结构、MATLAB版本选择、matcaffe的编译与测试,以及在运行过程中遇到的库文件缺失和版本冲突问题的解决方法。
摘要由CSDN通过智能技术生成

mtcnn是人脸检测的经典方法,项目地址如下:https://github.com/kpzhang93/MTCNN_face_detection_alignment​github.com

然而,要跑起来,还是花了不少时间。

我建的目录结构如下:

mtcnn |

|-------caffe

|-------MTCNN_face_detection_alignment

|-------toolbox

其中,MTCNN_face_detection_alignment是本项目的主目录。

一 caffe基础版本编译,保证能够通过runtest;

二 安装matlab

三 安装matcaffe

安装matcaffe表面看很简单,就是编译完caffe后:

1、在Makefile.config中添加matlab的目录

2、make matcaffe

3、make mattest

很简单吧。

然而,这三个地方都有大坑!

matlab我先安装的R2017b,然而在作mattest的时候先通过了第一步Net测试,然后弹出一个提示问说matlab要重启,选y还是n,但是不管选哪个,都会崩!

按网上的说法,可能是matlab版本太高了。我就从2017降到了2016,结果还是崩,降到了2015,通过!可网上也有人用2016通过了,高不清楚怎么回事。

所以,选matlab版本,直接选2014或2015。

make的时候还会提示编译器版本过高,要求使用4.9的,不用理会,我用5.5版本直接编译,最后会一边告警一边提示MEX已经生成,表示编译成功。

编译遇到的其他问题,见这里:配置matcaffe 遇到的两个坑​www.cnblogs.com

mattest的问题解决了,然后mtcnn也是坑多多

首先,mtcnn的项目地址里没有明确写出运行过程,还要自己去网上找到具体的过程。

我选择先运行项目中的MTCNNv2

具体路径在:

MTCNN_face_detection_alignment/code/codes/MTCNNv2,先打开文件夹。

首先,在matlab的命令行中输入:

addpath('/home/xxxx/mtcnn/caffe/matlab')

savepath

这里,括号中的路径就是matcaffe路径。在 运行了make matcaffe后就能在caffe路径下找到matlab目录。

运行时先后遇到了这些错误,见:https://blog.csdn.net/applefl/article/details/89407419​blog.csdn.nethttps://blog.csdn.net/Jee_King/article/details/77765594​blog.csdn.net

错误:

libcudnn.so.6: cannot open shared object file: No such file or directory.

解决:

sudo cp /usr/local/cuda-8.0/lib64/libcudnn.so.6 /usr/local/lib/libcudnn.so.6 && sudo ldconfig

除了libcudnn,还先后报过其他一些库,也可以用类似的方法解决。

还遇到一个问题,一直提示libgdal.so库中所依赖的 libtiff.so.5中缺乏一个符号LIBTIFF_4。我检查/usr/lib中,发现没有libtiff.so.5库,就添加了一个对应的软链接进去,但是没用!!

后来通过搜索,找到了一大堆的libtiff.so.5,因此我估计是没有找到正确的libtiff.so.5 .在/usr/local/MATLAB/R2015b/bin/glnxa64下找到了一个libtiff.so.5,我猜测libgdal.so可能找的是这个库,就先将其改名看看是否会报missing一类的错误,结果改名后就直接通过了。

后来在网上查到,matlab后系统中有大量同名库,存在冲突和先后顺序的问题。这个问题估计就是顺序原因,matlab先在自家库房找.so文件,没有找到才去外面找。自家的型号老旧报错,删掉后就在外面找到最新能匹配的版本了。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值