Upper-body detection 源码配置及运行

最近在搞上身检测(Upper-body detection),本文使用http://groups.inf.ed.ac.uk/calvin/calvin_upperbody_detector/进行上身检测


其中作者用到了voc-release 3.1 (DPM)来做上身检测,并综合了VJ的face detector来辅助上身检测。DPM更高版本的代码可以从http://www.cs.berkeley.edu/~rbg/latent/下载,作者的代码风格很好。
 
1 首先需要在Linux下安装Matlab及Opencv,安装及配置方法见:
Linux下安装Matlab
Linux下安装Opencv


2 编译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


3 编译cavin库对应人脸检测的cpp
因为本人使用的是opencv2.4.9,用作者给的命令编译显然不行,最后编译成功的命令为:
mex -L/usr/local/lib -I/usr/local/include/opencv -lopencv_core -lopencv_imgproc -lopencv_objdetect me_HaarDetectOpenCV.cpp


4 使用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 
解决办法:Preferences > General > Java-Heap Memory, 增加Java内存,重启matlab


你可能感兴趣的:(Upper-body detection 源码配置及运行)