2013-07-09 11 views
5

openCVを使用して新しい潜在SVM検出器モデルを訓練する方法が見つかりませんでした。私は現在xmlファイルで与えられた既存のモデルを使用していますが、私は自分自身を鍛えたいと思います。OpenCV - 新しいLatentSVMDetectorモデルのトレーニング

そうする方法はありますか?

ありがとう、

ギル。

+0

あなたは解決策を見つけますか? – Misaki

答えて

8

現在のところ、DPM検出はトレーニングではなくOpenCVでのみ実装されています。 独自のモデルを訓練したい場合は、最も信頼性の高いアプローチはFelzenszwalbのとGirshickのMATLABコードを使用することです(重いもののほとんどはCで実装されている) http://www.cs.berkeley.edu/~rbg/latent/http://www.rossgirshick.info/latent/)それは信頼性が高く、適度に高速

の作品

Cのみで実行したい場合は、自分で試していない実装(http://libccv.org/doc/doc-dpm/)があります。

+0

潜在的なSVMを訓練してOpenCVでファイルを読み込み、それを使ってオブジェクトを検出するために "Discriminatively training deformable part models"を使うことができますか? – definera

+0

@ Crash-ID、著者のコードはmatlabモデルを訓練するためにのみ使用できます。あなたはOpenCVでそのモデルを使うことはできません。私はまた、opencvでmatlabモデルをxml形式に変換するコードを探しています。 – killogre

+0

@killogre mat2opencvxml.mを使用することができます:https://github.com/Itseez/opencv_extra/tree/master/testdata/cv/dpm変換を実行する(私は試していないので私は確かに分かりません) – Scott

0

投稿者コードのオクターブ版にはここに (Octave Version of DPM)の機能があると思います。それは私がそれを試してみて、あなたはその結果についてお知らせします

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

、ステップ#5です。


EDIT

  • 私は私が.xmlファイルに前に述べたオクターブバージョンから.matファイルを変換しようとした、とOpenCVのに建て.xmlモデルの構築と結果を比較しました2つのxmlは異なっていた(タグ、#コンポーネント、..)、それはこのバージョンのオクテットdpmが、後でopencvバージョン用のXMLファイルを生成するようだ(私は2.4を使用している)。

  • VOC-release3.1は、opencv2.4.14に一致します。私はすでに訓練されたモデルをこのバージョンからopencvで利用できるmat2xml関数を使って変換しようとしました。結果のXMLファイルは正常に読み込まれ、opencvで作業しています。ここではいくつかの有用なリンクです:

mat2xml code

VOC-release-3.1

How To Train DPM on a New Object

関連する問題