7

孤立した文字の多くの画像から特徴を抽出しました (勾配、隣接するピクセルの重み、幾何学的特性など)。このデータでトレーニングされた分類器として HMM を使用するにはどうすればよいですか? HMM について読んだすべての文献は状態と状態遷移に言及していますが、 「それを機能やクラスのラベル付けに接続しないでください。JAHMM のホームページの例は、私の問題とは関係ありません。HMM を使用する必要があるのは、この問題に対する他のアプローチよりもうまく機能するからではなく、プロジェクトのトピックに関する制約のためです。

この質問に対するオンライン認識の回答がありましたが、オフラインでも同じことをもう少し詳しく知りたいです

編集:各文字を一定数の正方形のグリッドに分割しました。現在、各グリッド ブロックで特徴抽出を実行し、左から右、上から下に移動して、各サンプルの一連の特徴を取得することを計画しています。

  1. これは、HMM にとって適切な「シーケンス」を表すでしょうか。つまり、文字が左から右、上から下に描かれていない場合でも、HMM はデータの時間的変化を推測できますか? そうでない場合は、別の方法を提案してください。

  2. 多くの機能をフィードする必要がありますか、それとも少数から開始する必要がありますか? HMM が十分に機能していないか、機能が悪いかどうかを知るにはどうすればよいですか? JAHMMを使用しています。

  3. ストロークの特徴を抽出するのは難しく、グリッドの特徴と論理的に組み合わせることができませんか? (HMM は何らかのランダムなプロセスによって生成されたシーケンスを想定しているため)

4

1 に答える 1

2

私は通常、この種の認識タスクにニューラル ネットワークが使用されているのを見てきました。つまり、ここここ、 ここ、そしてここです。単純な Google 検索で OCR のニューラル ネットワークに非常に多くのヒットが表示されるため、HMM を使用するように設定されていると仮定します (プロジェクトの制限ですよね?) とにかく、これらのリンクは、画像のグリッド化と画像の特徴の取得に関する洞察を提供します。 .

グリッドを一連の観測に変換するアプローチは合理的です。この場合、観測と状態を混同しないように注意してください。1 つのブロックから抽出した特徴は、1 つの観測、つまり特徴ベクトルに収集する必要があります。(音声認識と比較すると、ブロックの特徴ベクトルは、音声音素に関連付けられた特徴ベクトルに類似しています。) 基本的な状態に関する情報はあまりありません。これは HMM の隠れた側面であり、トレーニング プロセスは、ある文字についてある特徴ベクトルが別の特徴ベクトルに続く可能性 (つまり、遷移確率) をモデルに通知する必要があります。

これはオフラインのプロセスであるため、文字が実際にどのように描画されるかという時間的な側面は気にしないでください。タスクの目的のために、左から右、上から下のブロック シーケンスを使用して、観察のシーケンスに時間的な順序を課しました。これはうまくいくはずです。

HMM のパフォーマンスに関しては、顕著な特徴の合理的なベクトルを選択します。音声認識では、特徴ベクトルの次元が高くなる可能性があります (>10)。(これは、引用文献が役立つ場合でもあります。) モデルを適切にテストできるように、トレーニング データの一部を確保します。まず、モデルをトレーニングしてから、トレーニング データセットでモデルを評価します。あなたのキャラクターはどの程度分類されていますか?うまくいかない場合は、特徴ベクトルを再評価します。テスト データでうまくいく場合は、予約済みのテスト データで実行して、分類器の一般性をテストします。

状態の数については、ヒューリスティックに導き出された数から始めます。キャラクターの画像がスケーリングされて正規化されていると仮定すると、おそらくブロックの 40% (?) が占められているでしょうか? ソース画像が提供されていないため、これは私の大雑把な推測です。8x8 グリッドの場合、これは 25 ブロックが占有されていることを意味します。次に、25 の状態から始めることができますが、それはおそらく単純です。空のブロックは情報を伝えることができます (つまり、状態の数が増える可能性があります)。私だったら、おそらく 20 の州を選ぶでしょう。そうは言っても、機能と状態を混同しないように注意してください。特徴ベクトルは、特定の状態で観測されたものの表現です。

幸運を。

于 2013-11-14T23:15:38.273 に答える