日期:2014-05-16  浏览次数:21183 次

在windows下运行Felzenszwalb的Deformable Part Model(DPM)源码voc-release3.1来训练自己的模型

我的环境

DPM源码版本:voc-release3.1

VOC开发包版本:VOC2007_devkit_08-Jun

使用的训练数据集:VOC2007

Matlab版本:MatlabR2012b

c++编译器:VS2010

系统:Win7 32位

 

        为什么不使用voc-release4.01呢?因为第4版中加入了目标检测语法(Grammars),并且还使用了非对称部件分部等等,虽然准确度提高了,但源码变得更加复杂,不利于源码分析。而相对来说第3版精简了不少,更容易分析。

        首先需要下载voc-release3.1和VOCdevkit开发包:

        Deformable Part Model 第三版voc-release3.1下载:http://cs.brown.edu/~pff/latent-release3/

        PASCAL VOC 2007 数据集及开发包下载:http://pascallin.ecs.soton.ac.uk/challenges/VOC/voc2007/index.html


       有关Deformable Part Model参见论文

       A Discriminatively Trained, Multiscale,Deformable Part Model[CVPR 2008]的中文翻译

       Object Detection with Discriminatively Trained Part Based Models[PAMI 2010]的中文翻译 

       及 有关可变形部件模型(Deformable Part Model)的一些说明

       Pedro Felzenszwalb的个人主页:http://cs.brown.edu/~pff/



1、修改globals.m中的一些全局变量(主要是目录设定)

cachedir= 'D:\DPMtrain\VOCCache\';

% 训练好的模型结果和中间数据的文件目录

 

tmpdir ='D:\DPMtrain\VOCtemp\';

% 训练中用到的临时文件的目录,临时文件可能会很大

 

VOCdevkit =['H:\文档文件\工作\█计算机视觉█\数据集\PascalVOC\VOC2007\VOCdevkit'];

% PASCAL VOC 开发包目录

 

2、修改VOCdevkit开发包中的VOCinit.m文件,设定数据集目录

我们使用VOC2007数据集,所以将VOC2006标识设为false(默认就是false)。

如果将解压出来的VOC2007数据集的文件夹放在VOCdevkit目录下的话,就不用再修改VOCinit.m中的目录设定了,因为代码中默认就是这样的目录安排。但如果想把数据集放到其他地方,可以修改VOCopts.datadir目录,指向数据集所在目录。

我是直接将VOC2007文件夹放在了VOCdevkit下,目录结构如下:

-VOCdevkit

   -local

      -VOC2006

&nb