今回のアプローチは、CenterNetを使って、文字の場所と特徴量を同時に取得しようというものです。
詳しくは次章以降で述べますが、簡単には次の方針でいくことにします。
このタスクは、CenterNetという手法で解決できます。詳しくは次章で記述しますが、 簡単に言うと、文字の場所のありそうな中心位置をヒートマップで取得し、そのピークの場所に、 文字があると認識します。同時にもしその場所に文字があった場合、特徴量も同時に出力されます。 ピークの位置の特徴量を用いて、文字の特定を行うということです。
日本語の場合、縦書きと横書きがあり、文字の配置の順番が異なります。 文字の場所の詰まり具合や空きの状況、配置の角度等から縦横を判定し、 基線がどこにあるかを決定します。 このタスクは、前段のCenterNetの出力に、文字の連結の可能性ラインを出力させることで、 線分の認識問題に変えることができます。
文字の画像から、text表現にします。 今の時代はUnicodeで何でも表現できるので、この文字コードで表すこととします。 1文字ずつ処理するのですが、前後の文脈を読んでカタカナとひらがな等を 切り替えようと、Transformerベースの変換器を使用します。
ここで、文の方向に沿って、各文字の特徴量ベクトルを並べたものを、Transformerで 文字コードに直接変換してやります。その際、ふりがなを同時に符号化することを考えます。