2013-07-09 161 views
5

我還沒有發現使用OpenCV的培訓新的潛在的SVM模型檢測的任何方法。我目前正在使用xml文件中給出的現有模型,但我想訓練自己的模型。OpenCV的 - 培訓新模式LatentSVMDetector

是否有這樣做的任何方法?

謝謝,

Gil。

+0

你找到一個解決辦法? – Misaki

回答

8

到目前爲止,在OpenCV中只實現了DPM檢測,而不是培訓。 如果你想訓練自己的模型,最可靠的方法是使用Felzenszwalb的和Girshick的MATLAB代碼(最重的東西是用C語言實現) http://www.cs.berkeley.edu/~rbg/latent/http://www.rossgirshick.info/latent/)它是可靠的,效果相當快

如果你想要做它在C-只,這裏有個執行(http://libccv.org/doc/doc-dpm/),我沒有嘗試過自己。

+0

您是否在說我可以使用「Discriminatively trained deformable part models」來訓練潛伏的SVM,然後在OpenCV中加載文件並使用它來檢測我的對象? – definera

+0

@ Crash-ID,作者的代碼只能用於訓練一個matlab模型。您不能在OpenCV中使用該模型。我還在尋找一個將matlab模型轉換爲opencv中的xml格式的代碼。 – killogre

+0

@killogre你'可能'能夠使用mat2opencvxml.m在這裏找到︰https://github.com/Itseez/opencv_extra/tree/master/testdata/cv/dpm做轉換(我沒有嘗試過,所以我不知道) – Scott

0

我認爲這裏作者的代碼的八度版本中有一個函數 (Octave Version of DPM)。在步驟#5,

mat2opencvxml('./INRIA/inriaperson_final.mat', 'inriaperson_cascade_cv.xml');

我會嘗試,讓你知道結果。


編輯

  • 我試圖.mat文件從之前.xml文件我提到的倍頻版本轉換,並與內置的OpenCV的.xml模型和建設的結果2 xmls是不同的(標籤,#組件,..),似乎這個版本的八度dpm生成後來opencv版本(我使用2.4)的xml文件。

  • VOC-release3.1是與opencv2.4.14相匹配的一個。我試圖使用opencv中提供的mat2xml函數將已經過訓練的模型轉換爲此版本,並且結果xml文件已成功加載並使用opencv。下面是一些有用的鏈接:

mat2xml code

VOC-release-3.1

How To Train DPM on a New Object