スキャン画像のズレ修正と記入箇所抽出について

普段の業務とは別に、空いている時間を使っている活動でOCRのユーザビリティ向上があります(OCRはAPIを叩くだけ。その前準備を楽にしたい)。元々は物体検知で手書き文字のみ抽出しようとしていたのですが、データを集めるのもアノテーションするのも時間がなく、IAMやICDAR等英語データで試しました。英語はそこそこ検出できるのですが、日本語だと

  • 漢字の中に複数の文字を見つけだす
  • ↑のくせに普通の文字でもちょいちょい見落とす
  • ちょっとした隙間で別単語扱いする(日本語ってなんで言葉をスペースで区切らないんだ…)
等の非常に残念な感じになるので、未記入のテンプレートと記入済みの差分が記入箇所だろうという古典的なアプローチを検証中です。

差分を取る際にわずかでもズレていたら差分として扱われてしまうため、

  • RIPOCでズレ修正
  • ↑でも差分が残るので、dilationして差分を取ってからerosionする
という超強引な手法で何とかならないか実装中です。ある程度形になったらソースの抜粋と今苦しめられている画像処理諸君の理解をアウトプットする予定です。RIPOCは画像をフーリエ変換して極座標変換することで回転量を推定する発想が素敵な手法です。 (先に概要書いて詳細はリンク先にしていくスタイルにしないとすぐネタ切れするな…)

徐々にこのページのリンク先が増えていく(はずです)
RIPOC概要と、DilationとErosionに記載しました。(全然増えなかった)


カテゴリー:OpenCV,python,画像処理

Output不足なエンジニア

統計が好きになれず、機械学習やったら必然的に統計が必要になるだろうと思ったら想像以上に機械学習にハマる。数学は芸術なので商売にするつもりはないけど、DeepLearningは数学じゃないし商売にしたいと思っているところ。画像処理がメイン。