4

Web ブラウザーで手書き認識アプリケーションを作成することに非常に興味があります。ユーザーが文字を描き、ajax がデータをサーバーに送信し、ニューラル ネットワークが最も近い一致を見つけて結果を返します。したがって、a を描画すると、最初の結果は a、次に o、次に e のようになるはずです。

ニューラルネットワークについてはよくわかりません。どのようなデータを NN に渡す必要があるでしょうか。ユーザーがパッドに描画した x/y 座標の配列でしょうか。または、ニューラル ネットワークが想定している、または手書きに最適な結果を生成するデータの種類は何ですか?

4

3 に答える 3

2

X/Y 座標を送信する必要があるだけでなく、それらが描画された順序も送信する必要があります。したがって、一連のポイントよりもパスの方が適している場合があります。ニューラルネットはそれを処理できるはずであり、それを処理できる方法はたくさんあります. 1 つの方法として、パスをn個のニューロンのn個のセグメントに分割し、各ニューロンに文字の一部を認識させることが考えられます。

于 2011-01-06T16:43:35.440 に答える
2

一般に、画像/手書き認識用の単純な NN は、2 次元ブール行列を入力として受け取ります。つまり、白黒のビットマップです。これらのトレーニング セットが利用可能であることを確認してください。または、ユーザーがオンラインのバックプロップ学習を使用してアルゴリズムをトレーニングできるようにします。

注文も送信するという@FrustratedWithFormsDesignerの提案により、NNははるかに「スマート」になる可能性がありますが、学習しているだけの場合は、最初にビットマップバージョンを試して、どれだけうまく機能するかを確認してください. また、ビットマップの粒度で遊んでください。最初に数字認識を試してみてください。その問題の標準的なデータセットがウェブ上にあります。

于 2011-01-06T16:43:36.880 に答える
1

基本的なプロセスは、識別される各文字の例を多数蓄積し、生データを前処理し、候補モデルのコレクションをトレーニングし、別のホールドアウト データ セットでのテスト パフォーマンスに基づいて最終モデルを選択することです。

前処理の性質は、収集するデータによって異なります。「ドットをつなぐ」ペンの動きのデータである場合は、画像を領域に分割し、領域ごとのドットの数で集計するのが最も簡単な場合があります。代わりに、ラスター画像を記録している場合は、単純な統計や垂直および水平投影プロファイル (行と列の平均) など、他の前処理が役立ちます。

"Dr. Dobb's Journal" は、数年前に手形認識コンテストを開催しました (電子インク データを使用)。ここでそれについて読むことができます:

http://www.drdobbs.com/184408743;jsessionid=IG5ALGCW1HZZVQE1GHPCKH4ATMY32JVN?pgno=4

...そしてここ:

http://www.drdobbs.com/184408923;jsessionid=IG5ALGCW1HZZVQE1GHPCKH4ATMY32JVN?pgno=2

于 2011-01-20T20:26:23.413 に答える