Upper-Body Detection源码配置及使用

2014年12月05日

写在前面


最近需要做一些上身检测(Upper-body detection)的实验和测试,使用的calvin upper-body detector,其使用了voc-release 3.1 (DPM)并综合了VJ的face detector来做上身检测。DPM更高版本的代码可以从这里下载,作者的代码风格很好。

环境配置及使用


一、首先需要在Linux下安装Matlab及Opencv,安装及配置方法见

Linux下安装Matlab

Linux下安装Opencv

二、编译voc-release

按照readme进行编译即可。

其中我遇到以下问题:运行compile.m的时候,在mex -O fconvblas.cc -lmwblas -o fconv一行出错,“-o” is not an valid argument of mex。

解决办法:改为mex -O fconvMT.cc,编译成功后将编译好的fconvMT.mex改为fconv.mex。

三、编译cavin库对应人脸检测的cpp

因为本人使用的是opencv2.4.9,用作者给的命令编译显然不行,我编译成功的命令为:

mex -L/usr/local/lib -I/usr/local/include/opencv -lopencv_core -lopencv_imgproc -lopencv_objdetect me_HaarDetectOpenCV.cpp

四、使用calvin库

load('detenv.mat')
DetectStillImage('../example_data/images/000000.jpg','pff_model_upperbody_final.mat','haarcascade_frontalface_alt2.xml',det_pars,2)

正常情况下就可以看到检测结果了,如果遇到问题:matlab error: cannot open with static TLS,则需要增加Java内存:Preferences > General > Java-Heap Memory, 重启matlab。

以上。


版权声明:本文为博主原创文章,转载请注明出处 本文总阅读量    次