2017-08-22 16 views
0

このタスクの目的は、SVMを使用して画像を分類することです。変数 'images'には画像情報が含まれており、対応するlabelsには画像ラベルが含まれています。 imageslabelsにはどのような形式(および形式)を組み込むことができますか?私は(平坦化された画像を追加する)Pythonの配列であることをunsuccesfully imagesしようとしたし、その後、別の試み、numpyのアレイに:画像にOpenCV SVM分類子を訓練する方法

images=np.zeros((number_of_images, image_size)) 
labels=np.zeros((number_of_images, 1)) 

svm=cv2.SVM() 
svm.train(images, labels) 

それが問題に適切なアプローチですし、そうならば、トレーニングのための正しい方法は何ですかクラシファイア?

答えて

2

生の画像データを使用してSVMモデルをトレーニングすることはできません。 OK-ok、ですが、あまり効果がありません。

基本的なアプローチは、各画像からエキスにいくつかの機能であり、あなたのモデルを訓練するためにこれらの機能を使用します。一連の機能は単語の辞書を形成し、各単語は画像を記述します。それぞれのイメージを記述するために同じ単語セットを使用しているため、異なるイメージに対応するフィーチャを比較できます。 This linkに詳細が追加され、確認してください。

Whats next?

  1. あなたのアルゴのための特徴抽出を選択してください - HOG、SURF、SIFT(link)各画像から
  2. 抽出機能。画像配列と同じ長さの配列が得られます。
  3. 初期袋のワード(BOG)モデル
  4. 列車SVM BOGと

便利なリンク:

  1. C++ vey detailed example
  2. Documentation for existing BOG classifier
+0

あなたは原画像を使用することができます非常に有益なSVMモデルを訓練するためのデータ。例えば、R、G、B/L、a、bチャネルは、色補正のためのモデルを訓練する。 @RickM。 –

+0

しかし、我々は分類を議論しているのですか? – CaptainTrunky

関連する問題