2017-01-27 7 views
-2

私は室内環境オブジェクト(椅子、テーブルなど)を認識するためのプロジェクトに取り組んでいます。私はopencvに傾いているマシンには新しく(C++を使って)。私の計画は、SURF特徴検出法を使用して、SVM分類を使用してオブジェクトを分類することです。SVMをオブジェクト認識で使用する方法

私は多くのサンプルコードを見てきましたが、データを提供する方法、1または0にラベルを付ける方法、モデルを作成する方法、それを使用する方法などを理解することができませんでした。私は誰もが明確なステップで私を助けることができることに感謝します。私にとって本当に混乱しています。

+0

これはあまりにも広い質問です。質問の1つの側面に焦点を当て、試したコードを提供して、うまくいかないことを明確に説明する必要があります。私は[ツアー](http://stackoverflow.com/tour)と[質問する方法](http://stackoverflow.com/help/how-to-ask)を見直すことをお勧めします。 – Tchotchke

+1

ようこそStackOverflowへ。ヘルプドキュメントの投稿ガイドラインを読み、それに従ってください。 [on topic](http://stackoverflow.com/help/on-topic)および[How to Ask](http://stackoverflow.com/help/how-to-ask)をここで適用してください。 StackOverflowは、コーディングまたはチュートリアルサービスではありません。 – Prune

答えて

0

機能記述子は、マシン学習モデルのトレーニングの一部として使用できます。私はSURFで働いていますが、私のモデルのトレーニングにはこれを使用していません。

私はHOGを使用し、トレーニングにSVMを使用したプロジェクトの例をお手伝いします。 this repositoryを確認してください。私はあなたがC++と私の例がPythonであることを要求していることを知っています。このリポジトリを例として使用し、あなたの好みの言語で同様に使用できます。

は、主に関係するこれらのステップがあります。

  1. あなたは1と-1(または0)にそれぞれ分類のためにマークを付けることができたため、正と負の画像のサンプルを取得します。十分なデータがあると思うなら、フィーチャーエンジニアリングの部分に進むことができます。または、ヘルプsample_create.pyをリポジトリから取り出して、より大きなデータセットを作成することができます。

  2. サンプルを使用してフィーチャエンジニアリングを実行します。すなわち、フィーチャ記述子を見つけ出し、後でそのモデルを訓練するために使用できるどこかに格納する。レポジトリのファイルfeature_engineering.pyからすべてのイメージを読み込み、HOGディスクリプタを作成してファイルに保存することができます。

  3. 最後に、トレーニングデータをトレーニングモデルに渡します。私は私の例でSVMを使用しました。これはファイルlinear_svm.pyです。私はTensorFlowライブラリを使っています。

  4. モデルはダンプされて保存されます。モデルはダンプされて保存されます。このモデルは、画像を直接オブジェクトに渡すことにより、さらにオブジェクトを検出するために使用できます。私はすぐにこの使用を掲載するつもりです。

+0

ありがとうございます。 linear_svmは、それが1対1の分類権であることを意味しますか?あなたが私と多対多のガイドができるなら、私は感謝します。 –

+0

linear svmの詳細については、https://en.wikipedia.org/wiki/Support_vector_machine#Linear_SVMを参照してください。私はあなたがマルチクラスの分類をしたいことが分かりました、マルチクラスのSVMが可能です。詳細はhttps://en.wikipedia.org/wiki/Support_vector_machine#Extensionsを参照してください。 FYIは、必ずしも1対1または多対多ではなく、常にデータをクラスに似ています。必要なのは、それに関連付けられたクラス(https://github.com/cprakashagr/hog-svm-tf/blob/master/src/feature_engineering.py#L43)のデータだけです。トレーニングを続行してください。 – cprakashagr

関連する問題