2017-02-15 26 views
6

TensorFlowとDeep Learningの新機能です。 自然のシーン画像でテキストを認識しようとしています。私はOCRで作業していましたが、Deep Learningを使いたいと思います。テキストの形式は常に ABC-DEF 88:88です。TensorFlow - 画像のテキスト認識

私がしたことは、すべての文字/数字を認識することです。つまり、各キャラクターの周りに画像を切り取って(それぞれの画像に10文字ずつ)トレーニングとテストセットを構築し、2つのconvニューラルネットワークを構築するということです。私の訓練セットは一連の文字写真で、ラベルは単なる文字/数字でした。

しかし、さらに行きたいです。私がしたいのは、完全な画像を与え、テキスト全体を出力することです(前のモデルのように1文字ではありません)。

ご協力いただきありがとうございます。

答えて

5

難しいのは、テキストがどこにあるのかわからないことです。解決方法は、画像を与えられたときにスライディングウィンドウを使用して画像の別の部分を切り抜く必要があります。次に、切り抜いた領域にテキストがあるかどうかを判別するために分類子を使用します。そうしている場合は、文字/数字認識プログラムを使用して、実際にどの文字/数字になっているかを確認します。

別のクラスファイヤーを訓練する必要があります。トリミングされた画像(トリミングされた画像のサイズはテキスト領域のサイズよりも少し大きくする必要があります)があれば、内部にテキストがあるかどうかを判断します。

ただ、トレーニングセットを構築する(陽性サンプルは、テキスト領域であり、負のサンプルは、他の領域はランダムに大きな画像からトリミングされている)と、それを訓練〜

+0

おかげではなく(スライディングウィンドウ)この分類器はconvnetでなければならないでしょうか?トレーニングセットには、複数文字のテキスト領域または1文字のみが含まれている必要があります。 –

+1

TensorFlow、Caffeまたは他の深い学習フレームワークを使用している場合、convnetはうまく実装できますが、検出フェーズが遅くなる可能性があります(画像全体にウィンドウをスライドさせる必要があるため多くの窓)。 Haarのような機能を使ったブースティングなど、他のモデルも機能しています(Googleの「haar like feature adaboost cascade」により、顔認識に多くの資料があります)。 – soloice

+0

@alexattiaトレーニングセットは、複数の文字を含む方が適しています。これにより、ウィンドウを大きくして偽陽性を減らすことができます。面積が小さすぎると、他のものが文字/数字として報告されることがあります。言う、アルゴリズムは、数字 "1"として、いくつかの垂直エッジを取るかもしれないひどいです。 – soloice