質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%

Q&A

解決済

4回答

7395閲覧

複数行にまたがる手書き文字列の認識方法

kzsegs

総合スコア11

2グッド

1クリップ

投稿2017/10/17 13:21

質問のきっかけ

  • 流行りに乗り、ディープラーニングを用いたアプリを作りたいと思った
  • 手書き文字認識が面白そうだと思った

やりたいこと

  • 枠に囲まれた場所に書かれた手書き文字の認識をしたい
  • 認識させたい文字種は、アルファベット、数字に加え、できればひらがな・カタカナ
  • 様式の定まった帳票を使う

困ったこと

  • 枠に囲まれた文字列は、複数行に書かれる可能性がある

理想的な記載例

氏名    住所            年齢  
やまだたろうとうきょうとしぶやく・・・・30さい

枠が小さい場合等は、このように書かれる可能性がある

氏名    住所            年齢  
やまだとうきょうと30さい
たろうしぶやく

※やまだ、と「たろう」は1つの枠に書かれる

知りたいこと

  • 複数行に書かれた手書き文字を、1つの行として認識し、文字列として認識するにはどういう方法が考えられるか?
  • 今流行りのディープラーニングで実現可能なのか?
  • 上記のような処理をするための方法や技術に名前があるのなら、それは何か?(ググるためのポインタが欲しい)

以上、よろしくお願い致します。

LouiS0616👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答4

0

ベストアンサー

handwritten segmentation がいい感じに検索できると思います。
https://scholar.google.co.jp/scholar?hl=ja&as_sdt=0%2C5&as_ylo=2014&q=handwritten+segmentation&btnG=

deepを加えればいいのではないでしょうか。
https://scholar.google.co.jp/scholar?hl=ja&as_sdt=0%2C5&as_ylo=2014&q=handwritten+segmentation+deep&btnG=

(2014年以降に設定してあります)

うまく解ければベンチャーを1つ興せるぐらいの課題です。そのぐらいの気概でがんばって勉強して下さい。
http://www.itmedia.co.jp/news/articles/1709/19/news072.html

投稿2017/10/17 23:46

quickquip

総合スコア11029

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kzsegs

2017/10/20 11:33

情報いただきありがとうございます。 難しさ度合いがよくわかりました。 今の私のスキルでは解けないレベルの問題なので、問題のハードルを下げるため、前提条件を見直したいと思います。
guest

0

投稿2017/10/17 23:05

編集2017/10/17 23:11
MasashiKimura

総合スコア1150

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kzsegs

2017/10/20 11:33

教えてくださりありがとうございます。
guest

0

複数行かどうかの判定もそうですが、より細かく考えると、1文字をどのように識別するのか、ということを考える必要があるかと思います。
文字が全てマス目で区切られていれば識別は容易かもしれませんが、実際にやりたい状況ではそのようなことはないかと思います。
その場合、パターンマッチングやパターンサーチといった方法で1文字を探すこととなるかと思います。

パターンサーチについては例えば以下のページが分かりやすそうでした。

位置検出の基礎 | 画像処理.com | キーエンス

機械学習等で文字認識を学習させる場合、何が1文字かというのはあらかじめ切り出されている場合を考えることも多く、実際の文書解析に関してはOCRのような技術の実装を参考にされるとよいのではないかと思います。
OCRの例としては下記のような記事があるようです。

文字の読み取り・認識技術 | OCR技術解説 | メディアドライブ

投稿2017/10/17 13:44

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kzsegs

2017/10/20 11:34

なるほど、実務で使うには、OCRの技術を活用するというのが方法の一つだということですね。
guest

0

ディープラーニングをするには学習データが必要です。

まずそのデータをどう集めるか考えてみてはどうでしょうか?
データが集まらなければいくら手法を考えても無駄ですので。

ライブラリも充実して手軽にはなりましたが、データがなければ何もできません。どういう手法でやるかはその次です。

投稿2017/10/17 13:30

_Victorique__

総合スコア1392

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kzsegs

2017/10/17 13:40 編集

言葉足らずでした。学習データの元ネタは、紙様式です。 紙様式をスキャンし、画像ファイルとして保存する。その上で、手書き文字が書かれている画像領域をカットし、学習データとして使うことを考えています。 元のデータをお見せすることはできませんが、その様式には、住所、氏名、電話番号、その他自由記入のメッセージが書かれています。手書きで。  手書きなので、複数行にまたがって書かれているものが相当な確率で存在するため、質問しています。意図は通じるでしょうか?
_Victorique__

2017/10/17 14:02

複数行にまたがっているかはそもそも人で判断できるものですか?
kzsegs

2017/10/17 14:17

はい。人はほぼ100%の精度で判断できます。 人間は、書かれている情報の種類を(無意識に)認識しています。  ex)住所、氏名、電話番号、その他特定業界で使われる隠語 等
_Victorique__

2017/10/17 14:51

その人で100%判断できる部分を機械的にコードに落とせば良いのではないでしょうか? 100%ならコード化することができるはずです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問