2016-12-24 4 views
0

OpenCV SVMを初めて使用しました。 OpenCV svmで開発された訓練されたデータセットのグラフをプロットしたり、ビジュアルコンテンツを作成したりすることで、トレーニングデータが正確かどうかをチェックし、SVMパラメータを調整することができますか?可視化ダイアグラムを描画OpenCV SVMデータセット

+0

OpenCVでは描画するための組み込み関数があります...あなたはデータをCSV以外に保存し、MATLABなどにプロットする方がよいでしょう – Miki

+0

opencvが生成するymlとxmlファイルがありますが、解析する方法を理解できませんでしたmatlab /オクターブを使用しています。 – molecule

答えて

1

SVM応答を視覚化することができ、OpenCV描画機能を使用して行うことができます。

この質問は既に古くなっていますが、SVMを視覚化するためにGoogleの検索結果が高くなっています。私はこの質問を見つけるかもしれない誰にでも答えます。それは、SVMはを学習したものを可視化するためのコードが含まれてい https://docs.opencv.org/2.4/doc/tutorials/ml/introduction_to_svm/introduction_to_svm.html

ここではサンプルコードとSVMのチュートリアルがあります。この例は平面上のデータを示しているので、データが2Dの場合にのみ動作することに注意してください。

このコードは、リンクされたOpenCVドキュメントから得られます。画像は512 x 512ピクセルで、ピクセルごとに1つのクラスまたは別のクラスに属しているかどうかをチェックします(レスポンス1または-1)。その上に、データポイントがマークされているので、SVM分類がうまく機能するかどうかを確認できます。

// Train the SVM 
CvSVM SVM; 
SVM.train(trainingDataMat, labelsMat, Mat(), Mat(), params); 

Vec3b green(0,255,0), blue (255,0,0); 
// Show the decision regions given by the SVM 
for (int i = 0; i < image.rows; ++i) 
    for (int j = 0; j < image.cols; ++j) 
    { 
     Mat sampleMat = (Mat_<float>(1,2) << j,i); 
     float response = SVM.predict(sampleMat); 

     if (response == 1) 
      image.at<Vec3b>(i,j) = green; 
     else if (response == -1) 
      image.at<Vec3b>(i,j) = blue; 
    } 

// Show the training data 
int thickness = -1; 
int lineType = 8; 
circle(image, Point(501, 10), 5, Scalar( 0, 0, 0), thickness, lineType); 
circle(image, Point(255, 10), 5, Scalar(255, 255, 255), thickness, lineType); 
circle(image, Point(501, 255), 5, Scalar(255, 255, 255), thickness, lineType); 
circle(image, Point(10, 501), 5, Scalar(255, 255, 255), thickness, lineType); 

これは、データポイントが整数のペアである場合に適しています。 floatデータポイントがある場合、必要な視覚化の解像度を決定し、ピクセルを1×1ブロックではなく最小限の解像度(例えば5.0e-27x2.0e-24)にする必要があります。

+0

ありがとうございました..私は今はとても違う何かをしていますので、今すぐ試してみてください。確かにそれが動作するかどうかを確認します。それが他の人を助けても答えを受け入れるだろう。 – molecule

+0

こんにちは@分子、これを試しましたか?あなたの質問に答えたら、その答えを受け入れることができます。 –

+0

こんにちは、私は誰かがそれが動作しないと言うまで、今のところ答えを受け入れています。 – molecule

関連する問題