02.実装の方法

Created: 2021/07/03
Last Update: 2021/07/03

いろんなアプローチがあると思いますが、最近流行のDeepLearningを用いてOCRをしたいと思います。

処理の流れ

  1. 画像から、文字の場所を特定する
  2. 文字の配置から、文の方向を決定する
  3. 文字の画像から、何の文字か判定する
  4. 配置にしたがって、ふりがなや本文を構成する

実装方法

詳しくは次章以降で述べますが、簡単には次の方針でいくことにします。

  1. 文字の場所の特定

    このタスクは、物体認識のDeepLearningの手法を用いることで解決できます。 物体認識は、「何が」「どこの場所に」「どんな大きさで」存在するか判定しますが、 今回は、文字があるかないかの2クラス(背景と文字)分類のバウンディングボックスを 検索させることとします。

  2. 文の方向の特定

    日本語の場合、縦書きと横書きがあり、文字の配置の順番が異なります。 文字の場所の詰まり具合や空きの状況、配置の角度等から縦横を判定し、 基線がどこにあるかを決定します。

  3. 画像から文字コードにする

    文字の画像から、text表現にします。 今の時代はUTF8で何でも表現できるので、この文字コードで表すこととします。 1文字ずつ処理するのですが、前後の文脈を読んでカタカナとひらがな等を 切り替えようと、Transformerベースの変換器を使用します。

  4. ふりがなや配置の復元

    UTF8文字列が得られたので、あとは、ふりがな等の位置によって意味がある文字を 適切に出力します。

もくじへ戻る