2017-10-27 19 views
2

手書きをコンピュータ文字に変換するためのニューラルネットワークをKerasに作成します。ケラスの1つの入力に対する複数の出力ベクトル

私の最初のステップは、文を配列に変換することです。 My Arrayの形状は(1, number of letters,27)です。今度はディープニューラルネットワークに入力してトレーニングしたいと思います。

しかし、寸法が画像の寸法に合わない場合は、どうすれば正しく入力できますか?そして、私の予測関数が私に(1, number of letters,27)の出力配列を与えることをどのように達成するのですか?

+0

あなたの入力の形式は何ですか? –

+0

(1,124,240,1)(グレースケール)の画像 – DrDeep

+1

文字の数は定数ですか? –

答えて

1

Handwritten Recognitionまたは同様のOptical Character RecognitionまたはOCRを実行しようとしているようです。これはかなり広い分野であり、進める多くの方法があります。にもかかわらず、私が提案する一つの方法は次のとおりです。

一般的にニューラルネットワークは、固定サイズの入力を持っている、それはあなたが取るためにそれを構築する場合、たとえば、形状(28,28,1)の入力は、モデルがあることを期待することが知られています形状を入力として使用します。したがって、NFCでこのような方法でモデルを訓練することができないため、文章内の文字数(変数)に依存するサンプル内の次元を持つは、はお勧めできません。

の文字を1文字ずつ予測し、長さが異なる可能性のある文全体を予測し、予測された文字をグループ化すると、そのようなモデルを学習できます。あなたはこれを達成しようとすることができます手順は次のようになります。

  1. は、あなたが(例えばMNISTデータベースなど)を認識したい文字に学習サンプルを入手し、そしてデザインと一度に一つの文字を予測するモデルを訓練します。

  2. 画像を書き込んで分類し、予想される入力サイズ(たとえば、28x28ウィンドウ)に一致するスライディングウィンドウを渡します。次に、それぞれのウィンドウを文字に分類します。スライディングウィンドウの代わりに、目的のフィーチャを何らかの方法で分離し、その代わりに28x28セグメントを分類することができます。

  3. 予想される文字を何らかの形でグループ化して、単語を取得します(おそらく空白で区切られたものをグループ化する)か、予測で必要なものを実行します。

また、私は非常に有用であることが分かってきたthis oneのような手書き文字認識のためのチュートリアルやガイドを検索してみてくださいすることができます。これがあなたの進路、幸運に役立つことを願っています。

+0

@DrDeepこのように思えます:)嬉しいことに、フォローアップは頼みます – DarkCygnus

関連する問題