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文件夾中如下圖所示



其中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的路徑


按照上圖路徑創建文件夾,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中



開始訓練模型

訓練的過程




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章