5

問題は、従来の手書き認識とは少し異なります。次の何千ものデータセットがあります。(x, y)1 つの描画された文字に対して、ペンが押し下げられた連続した座標がいくつかあります。したがって、これはシーケンシャル (時間的) 問題です。

このデータに基づいて手書き文字を分類できるようにしたいと考えており、学習目的で HMM を実装したいと考えています。しかし、これは正しいアプローチですか?これを行うためにどのように使用できますか?

4

2 に答える 2

3

@jens が言及した両方の問題で HMM を使用できると思います。私もオンライン手書きに取り組んでおり、HMM は多くの記事で使用されています。最も簡単なアプローチは次のとおりです。

  1. 機能を選択します。
  2. 選択した機能が連続の場合は、離散に変換します。
  3. HMM パラメーターを選択します: トポロジーと状態の数。
  4. HMM を使用してキャラクター モデルをトレーニングします。クラスごとに 1 つのモデル。
  5. テストセットを使用してテストします。

各項目について:

  1. 最も単純な特徴は、連続する点を結ぶベクトルの角度です。Douglas & Peucker アルゴリズムによって取得されたベクトルの角度など、より複雑な機能を使用できます。
  2. 離散化の最も簡単な方法は Freeman コードを使用することですが、k-means や GMM などのクラスタリング アルゴリズムも使用できます。
  3. HMM トポロジ: Ergodic、Left-Right、Bakis、Linear。状態数は試行錯誤で取得できます。HMM パラメーターは、モデルごとに可変にすることができます。観測数は離散化によって決定されます。観測サンプルは可変長にすることができます。
  4. Kevin Murphy HMM ツールボックスをお勧めします。
  5. 幸運を。
于 2012-07-14T12:02:34.117 に答える
2

この問題は、実際には2つの問題が混在しています。

  1. データから1文字を認識する
  2. (ノイズの多い)文字シーケンスから単語を認識する

HMMは、ノイズの多い測定値から有限数の離散状態の最も可能性の高いシーケンスを見つけるために使用されます。離散状態az、0-9のノイズの多い測定値が順番に続くため、これはまさに問題2です。

問題1の場合、基礎となるシーケンスに関心がないため、HMMは役に立ちません。あなたが望むのは、あなたがそれをどのように書いたかについての情報であなたの手書きの数字を補強することです。

個人的には、(畳み込みニューラルネットワークまたはディープラーニングを使用して)すでに非常に優れている、定期的な最先端の手書き認識を実装することから始めます。その後、時計回り/反時計回りなど、どのように記述されたかに関する情報を追加できます。

于 2012-03-04T14:17:31.547 に答える