9

データをトレーニングし、HOG アルゴリズムを使用して歩行者を検出したいと考えています。検出に使用できるようdefaultHog.setSVMDetector(HOGDescriptor::getDefaultPeopleDetector());になりましopencvたが、テスト ビデオの結果はあまり良くありません。だから私は自分のデータベースを使ってトレーニングをしたいと思っています。

1000以上のポジティブサンプルと1000以上のネガティブサンプルを用意しました。それらは 50 * 100 のサイズにトリミングされ、リスト ファイルを作成しました。

そして、インターネットでいくつかのチュートリアルを読みましたが、それらはすべて非常に複雑で、時には難解です. それらのほとんどは、ソースコードと HOG のアルゴリズムを分析しています。ただし、例は少なく、単純な ylize のみです。

トレーニングに使用できるいくつかの指示ショー、libsvm\windows\svm-train.exe1000+ 50*100 のポジティブ サンプルによる例を誰か挙げてもらえますか?
たとえば、 のように、いくつかのパラメーターを使用haartraingして から実行し、結果として を取得して、人の検出に使用できますか?opencvhaartraining.exe –a –b*.xml

または、トレーニングと検出のための他の方法はありますか?

使用方法と詳細な手順を知りたいです。詳細アルゴリズムとして、それは私にとって重要ではありません。実装したいだけです。

どなたかご存知でしたら、コツを教えてください。

4

1 に答える 1

7

openCV を使用して独自の HOG 記述子のトレーニングを開始するためのサンプル コードと手順をいくつか提供しました。 https://github.com/DaHoC/trainHOG/wiki/trainHOG-Tutorialを参照してください。

アルゴリズムは確かに複雑すぎて簡単に説明できませんが、基本的な考え方は次のとおりです。

  1. 同じサイズとタイプのネガティブ サンプル イメージとポジティブ サンプル イメージから HOG 特徴を抽出します。
  2. 抽出された特徴ベクトルをそれぞれのクラスとともに使用して、SVM 分類子をトレーニングします。この手順では、特徴ベクトルとそのクラスを含む正しい形式の生成ファイルで svm-train.exe を使用できます (または、ソースの libsvm ライブラリ クラス)。
  3. 結果の SVM モデルとサポート ベクターは、openCV 検出器で使用できる単一の記述子ベクターに計算されます。

よろしくお願いします

于 2013-04-21T17:51:55.483 に答える