2011-01-05 15 views
1

こんにちは 私は機械学習を勉強しています。私はpythonとopencvで簡単な手書き認識ソフトウェアを書きたいと思います。手書き認識について少し質問

ここでは簡単のため、同じサイズの大文字のみを認識します。 私は、文字を認識するための良い方法は、ガウス混合モデルのパラメータを学習するための期待値最大化アルゴリズムであり、訓練セットを使用し、新しい文字ガウス混合を訓練されたものと比較すると考えます。私はどのように混合物中のガウスの数を選択するか理解していません。

2番目の問題は、1つのページにいくつの単語が含まれているか、そして1つの単語にいくつの文字があるかを理解する方法です。私はemアルゴリズムやそれに類するもの(例えばk-means)が解決策ではないと思っていますが、確かにセグメンテーションの問題があります。

いくつかのアドバイスはありますか?

答えて

1

まず、文字を揃える必要があります。あなたはあなたがその直立していると仮定した場合、罰金。その後、2つのクラスタでkmeansセグメンテーションを使用して、バックグラウンドからの文章をクラスタリングすることができます(バックグラウンドは単純です)。あなたがそれを済ませたら、基本的に前景として1の、そして背景としてゼロのバイナリイメージを得ます。その後、連結成分分析を実行して各文字を分割することができます。

GMMではなく、ニューラルネットワークを使って文字を分類することができます。同様に、文字イメージを正規化し、ピクセルを26個のアルファベットの26個の出力でニューラルネットワークに送ることができます。

これは問題を解決する方法の1つです。あなたがもっと多くの情報や資料を実装したり参照したりしたい場合は、それを求めることができます。

ありがとう、 Krishna

+0

ありがとうございました。ええ、あなたは私にいくつかの実装資料を教えてもらえますか? – nkint