天天看點

DPM在windows下配置并使用自己标定的資料進行訓練

1.DPM原理

最近因為需要一直在研究DPM相關的東西,先要搞清楚DPM的原理其中我主要使用的是

 http://blog.csdn.net/masibuaa/article/details/17924671使用判别訓練的部件模型進行目标檢測

 http://blog.csdn.net/masibuaa/article/details/17533419判别訓練的多尺度可變形部件模型

這兩位大神的資料,據說這是相關論文翻譯過來的中文版 講解比較詳細,下一步就要在windows下配置檔案開始訓練,

2.DPMwindows下的配置

首先需要下載下傳voc-release5的原code 下面給出github中下載下傳的位址

https://github.com/rbgirshick/voc-dpm

目前下載下傳下來的code是在linux下編譯訓練測試的,因為我沒有用過Linux的編譯,是以需要在windows下編譯需要配置,具體可以看這位大神的配置方法,http://blog.csdn.net/seu_nuaa_zc/article/details/52412771,配置結束後可以在MATLAB的指令行中輸入compile就可以進行編譯,編譯完成可以開始訓練了。

注意:在配置的過程中一定要細心,我在配置fv_cache.cc 的過程中因為有一個大括号}沒有注釋,一直出現警告: Maybe you need to call fv_cache('unlock') first,當出現這個警告是就需要去檢查配置過程有沒有什麼疏漏。

這是我編譯好的http://download.csdn.net/download/wakojosin/9919065

如果按照上面所說方法配置是完全沒有問題的。

3.訓練

編譯完成,需要開始訓練,在訓練之前需要準備DMP的相關檔案,VOCdevkit,VOC2007檔案庫

相關下載下傳位址

VOCdeviket     http://pascallin.ecs.soton.ac.uk/challenges/VOC/voc2007/

VOC2007         http://host.robots.ox.ac.uk/pascal/VOC/#bestpractice

下載下傳完成後解壓需要将VOCdeviket檔案放入到voc-release5的檔案夾中,将VOC2007放入到VOCdeviket檔案夾中如下圖所示

DPM在windows下配置并使用自己标定的資料進行訓練
DPM在windows下配置并使用自己标定的資料進行訓練

其中VOC2007中儲存着原code中的訓練的圖像。

需要修改訓練路徑,主要修改的是

(1)voc_config.m

BASE_DIR    = 'E:/qinyanhong/DPM/code/voc-release5new/voc-release5'; 修改為自己的voc-release5的路徑

conf = cv(conf, 'pascal.dev_kit', [conf.paths.base_dir '/VOCdevkit/']);   修改為vocdeviket的路徑

DPM在windows下配置并使用自己标定的資料進行訓練
DPM在windows下配置并使用自己标定的資料進行訓練

按照上圖路徑建立檔案夾,2007中儲存訓練結果

(2)pascal_data.m

我訓練的圖像使用的是自己标定的圖像,标定後的txt格式為1.jpg 2 x1 y1 x2 y2 x1_1 y1_1 x2_1 y2_1 

其中需要注意的是x1>x2 y1>y2  x1_1>x2_1 y1_1>y2_1,如果不滿足條件會在建立金字塔模型時出現錯誤。可以通過修改金字塔中的坐标對應關系解決

修改pascal_data.m檔案夾我是參照這位大神的來完成的http://www.cnblogs.com/louyihang-loves-baiyan/p/4965992.html

其中正樣本positive.txt(标定後的樣本)和負樣本negtive.txt (隻包含圖像名稱)都儲存在PosImageFile中

DPM在windows下配置并使用自己标定的資料進行訓練

開始訓練模型

訓練的過程

DPM在windows下配置并使用自己标定的資料進行訓練

繼續閱讀