2012-02-29 14 views
2

デバイスの画面上にユーザーの指で描かれた要素を認識する必要があります。最初は、円、水平線、対角線、ボックス、さらには雷のような複雑なものです。手描きの幾何学図形を認識するための最良のアルゴリズムとデータを収集する最良の方法は何ですか?

どの要素がそうであるかを言う必要があるだけでなく、要素が間違って描画されているかどうかを認識する必要があるため、私が認識する要素の1つではありません。

私はどのアルゴリズムがそれに最も適しているのだろうか、またそのためのデータを収集する最良の方法は何か疑問です。

私はOpenCVを使用していますが、アルゴリズムはサポートベクターマシンです。中心座標から10点の画像までの距離を数えてデータを収集します。それはうまくいきません。

+3

一般に「ジェスチャ認識」として知られています。 –

答えて

2

"ジェスチャー"を説明するために、特徴ベクトルを抽出する必要があるように聞こえます。理想的には、フィーチャは、スケールと平行移動不変でなければなりません。すなわち、彼らはそれが作成されたサイズまたは角度に関係なくジェスチャを区別します。

モーション自体が重要な場合に使用する機能として、Velocity Momentsを使用することを検討するとよいでしょう。

または、ジェスチャーの完成した形だけで扱う場合は、OpenCVによって提供される画像ベースの方法を使用できます。あなたは特に、胡同をベースにしたmatchShapes()メソッドに興味があるかもしれません。

すでにSVMを使用している場合は、それを訓練するために、各ジェスチャ(ラベル付き)に抽出された特徴ベクトルを供給するのは監督された分類器です。クラシファイア(PCA、Naive Bayes、ANNなど)の選択とは別に、問題の要点はトレーニングデータの質にあります。

私が過去に似たようなことをしたとき、マウスの動きをキャプチャする小さなスクリプトを使ってトレーニングデータを収集しました(ボタンを押したまま)。私はウィンドウマウスのイベントをキャプチャするために、UNIXコマンド 'xev'を使用してその時点で覚えているようだ。

関連する問題