(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-08-29
(45)【発行日】2022-09-06
(54)【発明の名称】テキスト行の区分化方法
(51)【国際特許分類】
G06V 30/14 20220101AFI20220830BHJP
【FI】
G06V30/14 340K
【外国語出願】
(21)【出願番号】P 2018172774
(22)【出願日】2018-09-14
【審査請求日】2021-08-23
(32)【優先日】2017-11-30
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】507031918
【氏名又は名称】コニカ ミノルタ ラボラトリー ユー.エス.エー.,インコーポレイテッド
(74)【代理人】
【識別番号】110000671
【氏名又は名称】八田国際特許業務法人
(72)【発明者】
【氏名】シュバーン アガワル
(72)【発明者】
【氏名】ヨンミャン チャン
【審査官】藤原 敬利
(56)【参考文献】
【文献】特開2003-281468(JP,A)
【文献】特開平10-031716(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06V 30/00-30/424
(57)【特許請求の範囲】
【請求項1】
二値の文書画像に対して実行されるテキスト
行の区分化方法であって、
前記文書画像において連結成分を検出し、前記連結成分の重心およびバウンディングボックスを計算するステップ(a)と、
前記連結成分を、前記連結成分のバウンディングボックスのサイズに基づいて、通常サイズの連結成分の第1のサブセット、大きいサイズの連結成分の第2のサブセット、および小さいサイズの連結成分の第3のサブセットを含む3つのサブセットに分類するステップ(b)と、
前記連結成分の第1のサブセットの前記重心にハフ変換を適用することによって、前記連結成分の第1のサブセットから複数の候補
行を検出するステップ(c)と、
全ての候補
行のうち、
行のバウンディングボックスの平均高さの所定の乗数倍よりも大きい、
行のバウンディングボックスの高さを有する候補
行を削除するステップ(d)と、ここで、残りの候補
行は、正当な
行を構成し、
前記第1のサブセットの前記連結成分の各々について、前記連結成分と前記正当な
行の各々との間の重なり領域を計算し、前記重なり領域のうちの最大の領域が、前記連結成分のバウンディングボックスの領域の所定の割合よりも大きくない場合、新たな
行を正当な
行として追加するステップ(e)と、ここで、前記新たな
行は、前記連結成分の前記重心を通り、全ての候補
行の平均の角度に等しい角度を有し、
前記連結成分の第2のサブセットの各々を、2つ以上の連結成分に分解するステップ(f)と、
前記第1のサブセットの前記連結成分の各々と、前記第3のサブセットの前記連結成分の各々と、前記ステップ(f)において前記第2のサブセットの前記連結成分を分解することによって取得された前記連結成分の各々とを、前記ステップ(e)において取得された前記正当な
行のうちの最も近接する
行に割り当てて、区分化されたテキスト
行を生成するステップ(g)と、
を含む方法。
【請求項2】
前記所定の乗数は、1.2である請求項1に記載の方法。
【請求項3】
前記所定の割合は、3分の1である請求項1または2に記載の方法。
【請求項4】
前記ステップ(c)は、
前記連結成分の第1のサブセットの前記重心にハフ変換を適用して、複数のセルを有するアキュムレータアレイを生成するステップ(c1)と、
前記セルのうち、最大の値を有する前記アキュムレータアレイのセルを特定し、当該値が所定の閾値よりも大きい場合、特定した前記セルに対応する
行を候補
行のリストに追加し、前記連結成分の第1のサブセットから前記候補
行に属する前記連結成分を削除するステップ(c2)と、
最大の値を有する前記セルの前記値が、前記所定の閾値よりも大きくなくなるまで、前記ステップ(c1)および(c2)を繰り返すステップと、
を含む請求項1~3のいずれか一項に記載の方法。
【請求項5】
前記ステップ(c1)において、前記ハフ変換の角度は、85~95度の範囲に制限される請求項4に記載の方法。
【請求項6】
前記所定の閾値は、5である請求項4または5に記載の方法。
【請求項7】
前記ステップ(d)は、
前記ステップ(c)において検出された前記候補
行の各々について、前記候補
行に属する前記第1のサブセットの全ての連結成分の境界を示す、
行のバウンディングボックスを計算するステップと、
全ての候補
行の前記
行のバウンディングボックスについて、
行のバウンディングボックスの平均高さを計算するステップと、
前記
行のバウンディングボックスの平均高さの前記所定の乗数倍よりも大きい、
行のバウンディングボックスの高さを有する全ての候補
行を削除するステップと、
を含む請求項1~6のいずれか一項に記載の方法。
【請求項8】
前記ステップ(b)において、前記連結成分は、前記連結成分のバウンディングボックスのサイズ、および前記連結成分の平均高さに基づいて、3つのサブセットに分類され、前記連結成分は、
【数1】
という条件を満たす場合、通常サイズの前記連結成分の第1のサブセットに分類され、ここで、HおよびWは、前記連結成分の高さおよび幅であり、AHは、前記連結成分の平均高さであり、AWは、AHに等しい平均の文字幅であり、s1、s2およびs3は、所定の閾値サイズであり、前記連結成分は、
【数2】
という条件を満たす場合、大きいサイズの前記連結成分の第2のサブセットに分類され、上述した前記条件を満たさない場合、小さいサイズの前記連結成分の第3のサブセットに分類される請求項1~7のいずれか一項に記載の方法。
【請求項9】
前記ステップ(g)において生成された、前記区分化されたテキスト
行を用いて、テキスト
行の平均高さを計算するステップ(h)と、
前記ステップ(a)において検出された前記連結成分を、前記連結成分のバウンディングボックスのサイズと、前記ステップ(h)において計算された前記テキスト
行の平均高さとに基づいて、通常サイズの前記連結成分の第1のサブセット、大きいサイズの前記連結成分の第2のサブセット、および小さいサイズの前記連結成分の第3のサブセットを含む3つのサブセットに分類するステップ(i)と、ここで、前記連結成分は、
【数3】
という条件を満たす場合、通常サイズの前記連結成分の第1のサブセットに分類され、ここで、HおよびWは、前記連結成分の高さおよび幅であり、AH’は、前記テキスト
行の平均高さであり、AW’は、AH’に等しく、s1、s2およびs3は、所定の閾値サイズであり、前記連結成分は、
【数4】
という条件を満たす場合、大きいサイズの前記連結成分の第2のサブセットに分類され、上述した前記条件を満たさない場合、小さいサイズの前記連結成分の第3のサブセットに分類され、
前記ステップ(i)において取得された前記連結成分の前記3つのサブセットを用いて、前記ステップ(c)、(d)、(e)、(f)および(g)を繰り返すステップと、
をさらに含む請求項8に記載の方法。
【請求項10】
前記ステップ(h)は、
前記ステップ(g)において生成された、前記区分化されたテキスト
行の各々について、
前記テキスト
行の各行について、画素濃度を表す画素濃度のヒストグラムを計算するステップと、
k=2を用いたk平均クラスタリングの計算を前記画素濃度のヒストグラムに適用して、ヒストグラムの要素を、高濃度の行および低濃度の行に対応する2つのクラスに分類するステップと、
前記テキスト
行の高さとして、最も広い高濃度の領域の幅を計算するステップと、
前記テキスト
行の平均高さとして、全てのテキスト
行の前記高さの平均を計算するステップと、
を含む請求項9に記載の方法。
【請求項11】
データ処理装置を制御するためのコンピュータープログラムであって、請求項1~10のいずれか一項に記載の方法を前記データ処理装置に実行させるように構成されるコンピュータープログラム。
【請求項12】
請求項11に記載のコンピュータープログラムを格納したコンピューター読取可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、文書画像の処理、特に文書画像に関するテキスト行(text line)の区分化のための方法に関する。
【背景技術】
【0002】
テキスト行の区分化、すなわち文書画像(例えば、手書きの文書)からテキストの行を区分化することは、インテリジェント文字/単語認識(ICR/IWR)システムの重要な部分である。
【発明の概要】
【発明が解決しようとする課題】
【0003】
多くの方法が説明されてきたが、異なる勾配、傾き、行間の接続を有する種々の文書のサンプルにおいて、良好に機能できる一般的なアルゴリズムを得ることは困難である。
【0004】
オフラインのインテリジェント単語/文字認識の分野では、従来のICR/IWRシステムは、一般的に、入力されるテキスト文書画像を処理するために、テキスト行の区分化、単語/文字の区分化、および認識モジュール(通常、kNNのCNN)という段階を含み、出力される単語または文字を生成する。ロバストなテキスト行および単語の区分化は、主要なボトルネックである。テキスト行の区分化における誤りは、単語/文字認識モジュールに対する歪んだ入力、ひいては誤った出力をもたらす。多次元のリカレントニューラルネットワークの導入によって、行の区分化の段階を回避することを試みる提案がある。言い換えれば、入力されるテキスト文書画像は、認識されたテキストを出力する、多次元のRNNに直接入力される。RNNのアプローチは、より良好な認識精度を与えるが、非常に高い計算コストがかかり、現在、リアルタイムのオフラインのICR/IWRシステムにおいて展開することは困難である。
【0005】
G.Louloudis、B.Gatos、I.PratikakisおよびC.Halatsisの、Text line and word segmentation of handwritten documents,Pattern Recognition 42,no.12(2009):3169-3183(以下「Louloudis 2009」)は、「手書きの文書をそれらの個別の要素、すなわち、テキスト行および単語に区分化する方法論」を記載している。テキスト行の区分化は、文書画像の連結成分のサブセットに、ハフ変換を適用することによって実現される。後処理の工程は、誤りの可能性があるアラームの訂正、ハフ変換が作成し損ねたテキスト行の検出、および、最後にはスケルトン化に基づく新たな方法を用いた垂直連結文字の効率的な分離を含む。
【0006】
A.VinciarelliおよびJ.Luettinの、A new normalization technique for cursive handwritten words,Pattern recognition letters,22(9),1043-1050(2001)は、筆記体の手書きの単語を正規化するための方法を記載している。これは、コア領域の概念を用いて単語のベースラインを識別し、正規化のために用いる。
【0007】
本発明は、平均の文字高さの推定のための新たな方法、およびテキスト行を識別するよりロバストな方法を用いる、ICR/IWRシステムのための改良されたテキスト行の区分化方法を対象とする。
【課題を解決するための手段】
【0008】
本発明の追加の特徴および利点は、以下の説明において記載され、その一部は当該説明から明らかであり、または、本発明の実施によって理解され得る。本発明の目的および他の利点は、明細書およびその特許請求の範囲、ならびに添付する図面において、具体的に示された構成によって実現および達成される。
【0009】
上述した目的を達成するために、本発明は、二値の文書画像に対して実行されるテキスト行の区分化方法であって、前記文書画像において連結成分を検出し、前記連結成分の重心およびバウンディングボックスを計算するステップ(a)と、前記連結成分を、前記連結成分のバウンディングボックスのサイズに基づいて、通常サイズの連結成分の第1のサブセット、大きいサイズの連結成分の第2のサブセット、および小さいサイズの連結成分の第3のサブセットを含む3つのサブセットに分類するステップ(b)と、前記連結成分の第1のサブセットの前記重心にハフ変換を適用することによって、前記連結成分の第1のサブセットから複数の候補行を検出するステップ(c)と、全ての候補行のうち、行のバウンディングボックスの平均高さの所定の乗数倍よりも大きい、行のバウンディングボックスの高さを有する候補行を削除するステップ(d)と、ここで、残りの候補行は、正当な行を構成し、前記第1のサブセットの前記連結成分の各々について、前記連結成分と前記正当な行の各々との間の重なり領域を計算し、前記重なり領域のうちの最大の領域が、前記連結成分のバウンディングボックスの領域の所定の割合よりも大きくない(所定の割合と同じ、または、所定の割合よりも小さい)場合、新たな行を正当な行として追加するステップ(e)と、ここで、前記新たな行は、前記連結成分の前記重心を通り、全ての候補行の平均の角度に等しい角度を有し、前記連結成分の第2のサブセットの各々を、2つ以上の連結成分に分解するステップ(f)と、前記第1のサブセットの前記連結成分の各々と、前記第3のサブセットの前記連結成分の各々と、前記ステップ(f)において前記第2のサブセットの前記連結成分を分解することによって取得された前記連結成分の各々とを、前記ステップ(e)において取得された前記正当な行のうちの最も近接する行に割り当てて、区分化されたテキスト行を生成するステップ(g)と、を含む方法を提供する。
【0010】
いくつかの実施形態では、前記ステップ(c)は、前記連結成分の第1のサブセットの前記重心にハフ変換を適用して、複数のセルを有するアキュムレータアレイを生成するステップ(c1)と、前記セルのうち、最大の値を有する前記アキュムレータアレイのセルを特定し、当該値が所定の閾値よりも大きい場合、特定した前記セルに対応する行を候補行のリストに追加し、前記連結成分の第1のサブセットから前記候補行に属する前記連結成分を削除するステップ(c2)と、最大の値を有する前記セルの前記値が、前記所定の閾値よりも大きくなくなる(前記所定の閾値と同じになる、または、前記所定の閾値よりも小さくなる)まで、前記ステップ(c1)および(c2)を繰り返すステップと、を含む。
【0011】
いくつかの実施形態では、前記ステップ(d)は、前記ステップ(c)において検出された前記候補行の各々について、前記候補行に属する前記第1のサブセットの全ての連結成分の境界を示す、行のバウンディングボックスを計算するステップと、全ての候補行の前記行のバウンディングボックスについて、行のバウンディングボックスの平均高さを計算するステップと、前記行のバウンディングボックスの平均高さの前記所定の乗数倍よりも大きい、行のバウンディングボックスの高さを有する全ての候補行を削除するステップと、を含む。
【0012】
いくつかの実施形態では、前記ステップ(b)において、前記連結成分は、前記連結成分のバウンディングボックスのサイズ、および前記連結成分の平均高さに基づいて、3つのサブセットに分類される。
【0013】
いくつかの実施形態では、前記方法は、前記ステップ(g)において生成された、前記区分化されたテキスト行を用いて、テキスト行の平均高さを計算するステップ(h)と、前記ステップ(a)において検出された前記連結成分を、前記連結成分のバウンディングボックスのサイズと、前記ステップ(h)において計算された前記テキスト行の平均高さとに基づいて、通常サイズの前記連結成分の第1のサブセット、大きいサイズの前記連結成分の第2のサブセット、および小さいサイズの前記連結成分の第3のサブセットを含む3つのサブセットに分類するステップ(i)と、前記ステップ(i)において取得された前記連結成分の前記3つのサブセットを用いて、前記ステップ(c)、(d)、(e)、(f)および(g)を繰り返すステップと、をさらに含む。
【0014】
いくつかの実施形態では、前記ステップ(h)は、前記ステップ(g)において生成された、前記区分化されたテキスト行の各々について、前記テキスト行の各行について、画素濃度を表す画素濃度のヒストグラムを計算するステップと、k=2を用いたk平均クラスタリングの計算を前記画素濃度のヒストグラムに適用して、ヒストグラムの要素を、高濃度の行および低濃度の行に対応する2つのクラスに分類するステップと、前記テキスト行の高さとして、最も広い高濃度の領域の幅を計算するステップと、前記テキスト行の平均高さとして、全てのテキスト行の前記高さの平均を計算するステップと、を含む。
【0015】
他の態様では、本発明は、データ処理装置を制御するためのコンピュータープログラム、および、コンピュータープログラムを内部に格納したコンピューター読取可能な記録媒体(例えば、メモリーまたは記憶装置)を提供し、当該コンピュータープログラムは、上述した方法をデータ処理装置に実行させるように構成される。
【0016】
前述した一般的な説明、および後述する詳細な説明は共に、具体的および例示的であり、特許請求の範囲に記載された本発明のさらなる説明を提供することを目的とするものであると理解される。
【図面の簡単な説明】
【0017】
【
図1】従来の
行の区分化方法を概略的に説明する図である。
【
図2】本発明の一実施形態に係るテキスト
行の検出方法を概略的に説明する図である。
【
図3】本発明の他の実施形態に係るテキスト
行の区分化方法を概略的に説明する図である。
【
図4】手書きの単語のためのコア領域の推定の一例を示す図である。
【
図5A】例示的なテキスト
行の画像、および対応する画素濃度のヒストグラムを示す図である。
【
図5B】
図5Aの例の画素濃度のヒストグラムにおいて、k=2を用いたk平均クラスタリングの結果を示す図である。
【
図6】本発明の一実施形態に係るテキスト
行の高さを推定する方法を概略的に説明する図である。
【
図7】本発明の他の実施形態に係るテキスト
行の区分化方法を概略的に説明する図である。
【
図8A】テキスト
行の区分化のためのテキストのサンプル、およびそれらの処理を示す図である。
【
図8B】テキスト
行の区分化のためのテキストのサンプル、およびそれらの処理を示す図である。
【
図8C】テキスト
行の区分化のためのテキストのサンプル、およびそれらの処理を示す図である。
【
図9】本発明の実施形態が実装され得るコンピューターシステムを概略的に説明する図である。
【発明を実施するための形態】
【0018】
図1は、Louloudis 2009に記載されているような、手書きの文書のための従来の
行の区分化方法を概略的に説明する図である。当該方法は、テキストの内容を表す前景画素(すなわち、黒画素)、および背景画素(すなわち、白画素)を含む二値画像である、テキスト文書画像の入力(ステップS100)によって始まる。入力画像に連結成分解析が適用され、連結成分が抽出される(ステップS101)。連結成分(CC)は、連結された前景画素のグループである。CCの特性、例えば、それらの重心、バウンディングボックス(CCのバウンディングボックスは、CCの境界を示す横辺および縦辺を有する長方形のボックスである)、および高さ等が、当該ステップにおいて計算される。そして、平均の文字高さとしてのCCの平均高さを用いて、分類のための基準が設定され、CCが、それらのサイズに基づいて、3つのサブセットに分類される(ステップS102)。3つのサブセットを、通常サイズのための第1のサブセット、大きいサイズ(大サイズ)のための第2のサブセット、および小さいサイズ(小サイズ)のための第3のサブセットと称する。一例では、3つのサブセットのための境界線は、CCの平均高さの、第1の所定の閾値サイズs1(例えば0.5)倍と、CCの平均高さの、第2の所定の閾値サイズs2(例えば3)倍とに設定される。より具体的には、この例において、CCは、以下の条件を満たす場合、通常サイズのCCに分類される。
【0019】
【0020】
ここで、HおよびWは、CCの高さおよび幅であり、AHは、上記で算出された平均の文字高さであり、AWは、この例では、算出されたAHと同じになるように設定された平均の文字幅である。s3は、第3の所定の閾値サイズ(例えば0.5)である。CCは、以下の条件を満たす場合、大サイズのCCに分類される。
【0021】
【0022】
CCは、上述したこれらの条件を満たさない場合、小サイズのCCに分類される。
【0023】
一般的な事項として、通常サイズのCCは、1つ以上のテキスト文字を含み、小サイズのCCは、句読点、ダイアクリティカルマーク(発音区別符号)、「i」等の小さい文字等であり、大サイズのCCは、通常、互いに接触して1つのCCになる複数の
行から
の文字に起因する。
図8Aは、サンプルのテキスト画像を示し、パネル(a)、(b)および(c)は、通常サイズのCC、大サイズのCC、および小サイズのCCのバウンディングボックス81、82および83をそれぞれ示す。
【0024】
通常サイズのCCのサブセットが、CCの重心にハフ変換を適用することによって、行(線)を検出するために用いられる(ステップS103)。
【0025】
ハフ変換は、一連の点から直線を見つけるために用いられ得る、数学的手法である。ハフ変換は、以下に示すようなヘッセ標準形における直線を用いる。
【0026】
【0027】
ここで、ρは、原点から線までの垂直距離、θは、線の垂直方向と正のx軸との間の角度である。ハフ変換では、線は、極座標において(ρ,θ)と表される。x-y平面における対象の点について、その点を通る各直線は、(ρ,θ)空間における点を与え、その点を通る全ての直線は、(ρ,θ)空間における曲線を与える。x-y平面における一連の点について、(ρ,θ)空間におけるアキュムレータアレイ(accumulator array)が構成され、アキュムレータアレイの各セルにおける値は、当該セルの(ρ,θ)値に対応する直線上に位置する点の数を表し得る。(ρ,θ)空間におけるアキュムレータアレイは、ハフ変換である。一連の点(例えば、CCの重心)にハフ変換を適用することによって、高い値を有するアキュムレータアレイのセルは、好ましくは、点によって形成される線を表す。
【0028】
図8A、
図8Bのサンプルのテキスト画像を用いて、通常サイズのCCのバウンディングボックス81(パネル(d))、通常サイズCCの重心84(パネル(e))、および、ハフ変換によって検出された
行85(パネル(f))を示す。
【0029】
テキスト行の検出の後、大サイズのCCのサブセットは、より小さいCCに分解される(ステップS104)。一例では、これは、これらのCCにまず細線化を適用してから、行間の接合点を削除することによって行われる。接合点が見つからない場合、2つの行の中間点が接合点であるとみなされる。そして、通常サイズのCC、小サイズのCC、および大サイズのCCを分解することによって生じたCCの各々を含む各CCは、ステップS103において検出された最も近接するテキスト行に割り当てられて(ステップS105)、区分化されたテキスト行を出力として生成する。
【0030】
図1に示す
行の区分化方法は、ほとんどの手書きのバリエーションに対して、非常にロバストである。それは、CCの平均高さが、テキスト文書における平均の文字高さに非常に近いという仮定に基づいている。しかし、文書画像が、CCの平均高さを高くさせ得る多くの
行間の接続を有する場合、この仮定はしばしば機能しない。
図8Aおよび
図8Bに示すサンプルテキストでは、例えば、2つのCC81Aは、従来の方法によって通常サイズのCCに分類され(パネル(a)およびパネル(d))、パネル(f)では、それらの重心84Aが、検出された
行85から離れて位置することが確認され得る。
【0031】
この問題に対処するために、本発明の実施形態は、平均の行の高さおよびバウンディングボックスの重なり(重複)を用いて、新たな行を識別するための方法を提供する。また、本発明の実施形態は、Louloudis 2009に記載された方法に追加される改良段階として用いられる、テキストのコア領域を用いて平均の文字高さを概算するための方法を提供する。
【0032】
図2は、本発明の一実施形態に係るテキスト
行の検出方法を概略的に説明する図である。本方法は、
図1の方法のステップS103における「
行を算出」するモジュールを、置換するために用いられ得る。
図2の方法に対する入力は、
図1のステップS102によって生成される通常サイズのCCのサブセットである。CCの重心、バウンディングボックスおよび高さは、ステップS101において計算されている。
【0033】
図2を参照すると、ステップS201において、CCの重心のハフ変換が計算される。いくつかの実装では、ハフ変換のρの分解能は、CCの平均高さの0.2倍に設定される。ハフ変換は、アキュムレータアレイの各(ρ,θ)セルについて、重みを与える。より高い重みを有する(ρ,θ)セルに寄与する重心は、
行内に位置するより高い可能性を有する。文書画像は、(一般的なビットマップ画像と比較して)テキストが書き込まれている特殊な場合であるため、ほとんどの場合、比較的小さい傾斜または傾きの角度を有するほぼ水平な
行では、テキスト
行を表すとみなされる(ρ,θ)セルのθの値に、追加の制限が課せられてもよい。一実装では、ステップS201において、θは85~95度の範囲に制限される。同様に、例えば、書き手が2つの異なるテキスト
行を交差させる可能性が低いという仮定のように、他の情報が、
行の検出を制限するための条件として用いられてもよい。
【0034】
ステップS202では、全てのセルのうち、最大値を有する(ρ,θ)セルが分析されて、その値が所定の閾値、例えば5よりも大きいかどうかが判断される。閾値よりも大きい場合(ステップS202において「yes」)、(ρ,θ)セルは、候補行とみなされて、候補行のリストに追加され(ステップS203)、その行に属する全ての重心は、重心のリストから削除される(ステップS204)。そして、処理はステップS201に戻り、残りの重心のみを用いて、再びハフ変換が算出される。
【0035】
したがって、ステップS201~204の各々の繰り返しが、元の重心のリストから、一つの行および対応する重心を抽出する。
【0036】
ステップS202において、最大値を有する(ρ,θ)セルが、閾値よりも大きい値を有しない場合(ステップS202において「no」)、全ての行が抽出されたとみなされる。結果は、候補行のリストと、残りのCCの(それらの重心およびバウンディングボックスを含む)リストとなる(ステップS205)。
【0037】
各候補行について、その行に属する全てのCCの境界を示す行のバウンディングボックスが取得され、行のバウンディングボックスの高さが計算される(ステップS206)。全ての候補行の行のバウンディングボックスの平均高さと、全ての候補行の平均の傾斜角θとが計算される(ステップS206)。
【0038】
そして、行のバウンディングボックスの平均高さの所定の乗数(例えば、1.2)倍よりも大きい、行のバウンディングボックスの高さを有する全ての候補行は、正当でない行とみなされて、候補行のリストから削除される(ステップS207)。残りの行は、正当な行とみなされる。
【0039】
次に、任意の正当な行に属していない各重心(これは、ステップS205の結果としての、任意の候補行の一部ではない重心と、ステップS207において、行のリストから削除された正当でない行に属する重心とを含む)について、対応するCC、およびそのバウンディングボックスが取得され、CCのバウンディングボックスと、候補行の各々との間の重なりが計算される(ステップS208)。CCのバウンディングボックスが、CCのバウンディングボックスの領域の所定の割合(例えば、3分の1)よりも大きい、正当な行のいずれかとの重なりを有しない場合(ステップS209において「NO」)、新たな行が追加される。新たな行は、以下のパラメーターを有する(ステップS210)。
【0040】
【0041】
ここで、cxおよびcyはそれぞれ、CCの重心のx座標およびy座標である。言い換えれば、新たな行は、CCの重心を通り、平均の傾斜角を有するものである。
【0042】
ステップS209において、CCのバウンディングボックスが、CCのバウンディングボックスの領域の所定の割合(例えば、3分の1)よりも大きい、正当な行の少なくとも1つとの重なりを有する場合(ステップS209において「YES」)、何の措置もなされない。
【0043】
ステップS209およびS210は、任意の正当な行に属しない各重心について、全てのこのような重心が処理される(ステップS211において「NO」になる)まで、繰り返される。これにより、テキスト行の検出ステップが終了し、検出されたテキスト行が出力される。
【0044】
上述したように、Louloudis 2009に記載されたアルゴリズムは、ほとんどの現実世界のシナリオについて良好に機能する。それは、CCの平均高さに応じた、CCの3つのカテゴリーへの分類に基づいている。しかし、
行が、CCの平均高さについての高い値、ひいては誤ったサブ分類をもたらす、多数の相互接続を有する場合、当該方法はしばしば機能しない。このことは、
行間の接続のいくつかが、通常サイズのCCのカテゴリーに分類されることにつながり、ひいては、それらが分解されずに、
行の1つに割り当てられてしまう。
図8Aおよび
図8Bにおけるサンプルのテキスト画像は、2つの例である81Aを示す。
【0045】
図3に示す、本発明の他の実施形態に係る
行の区分化方法は、この問題を解決するのに役立つ改良モジュールを提供する。改良モジュールは、テキスト
行のコア領域を用いて、
行の高さを判断する。ローマ字のコア領域は、文字の中央領域であり、全ての文字は、コア領域を含み、いくつかの文字は、コア領域のみを含み、いくつかの他の文字は、コア領域の上および/または下の部分も含む。
図4は、コア領域の近似の例を与える。コア領域の概念は、単語のベースがコア領域を用いて計算され、テキストの勾配および傾きを推定するために用いられる、単語正規化のためのテキスト文書の区分化において広く用いられる。
【0046】
図3の改良モジュールは、
図1(ステップS300)に示す従来の
行の区分化方法を用いて取得される、一連のテキスト
行の画像を入力として取り込み、より正確なテキスト
行の区分化を表す、新たな一連のテキスト
行を出力する。上述した問題によって、入力されるテキスト
行は、単一の
行に割り当てられた、いくつかの大きい複数の
行のCCを有してもよい。テキスト
行のほとんどは正しく区分化されているため、入力されるテキスト
行が用いられて、コアテキスト領域が抽出され得る。上述したように、コア領域は、ローマ字の主要な部分を表し、長い文字についての外れ値を無視し、平均の文字高さについて良好な近似を与えることができる。より詳細に後述されるステップS301は、コア領域のアプローチを用いて、テキスト
行の平均高さを算出する。
【0047】
図3の方法のステップS302は、入力画像におけるCCを計算し、平均の文字高さを用いてCCを3つのサブセットに分類する、
図1の従来の方法のステップS101およびS102と同様である。しかし、ステップS302は、(ステップS102のように)CCを用いて算出された平均の文字高さではなく、ステップS301において算出されたテキスト
行の平均高さを用いて、CCをサブセットに分類するための基準を設定する。言い換えれば、ステップS102の式において、ここでは、AHはテキスト
行の平均高さAH’に置換され、AWはAH’と等しいAW’に置換される。ステップS303の
行の算出は、
図2の方法を用いて実行され得る。ステップS304(大きいCCの分解)およびS305(最も近接する
行に対するCCの割り当て)は、
図1のステップS104およびS105と同様である。
【0048】
コア領域を用いてテキスト
行の高さを計算するステップS301について、
図6を参照して詳細に説明する。
【0049】
ステップS301に入力されたテキスト
行の画像の各々について、当該画像の各行における前景画素の数を計算することによって、画素濃度のヒストグラムが生成される(ステップS601)。一般的な手書きのような、比較的低い傾斜角を有するテキスト
行の画像について、ヒストグラムは、
行の中心が当該
行の上端および下端と比較して高い画素濃度を有する、およそガウス分布となる。
図5Aは、例示的な
行の画像と、右側に対応する画素濃度のヒストグラムとを示す図である。このヒストグラムの表現では、縦軸が、画素位置の行インデックスであり、横軸が、当該行における前景画素の数または濃度である。
【0050】
ヒストグラムを生成した後、k平均(k-means)クラスタリングの計算が、ヒストグラムの値に適用されて、ヒストグラムの要素が、高濃度の行および低濃度の行に対応する2つのクラスに分類される(ステップS602)。
図5Bは、
図5Aの例における画素濃度データにおいて、k=2を用いたk平均クラスタリングの結果を示す図である。高濃度の行の行インデックスが、ヒストグラムの単一の連続領域にあるという通常の状況では、高濃度の領域の幅が、コア領域の高さとして取得される(ステップS603)。この状況が、
図5Bに示される。
【0051】
入力されるテキスト行の画像が、1つ以上の実際のテキスト行からなるテキストを含む場合に発生し得る、高密度の行が、ヒストグラムの2つ以上の連続領域において現れるという状況では、高密度の領域の各々の幅が計算され、最大幅がコア領域の高さとして取得される(ステップS603)。
【0052】
ステップS601からS603は、入力される全てのテキスト
行の画像について、コア領域の高さを計算するために繰り返される(ステップS604)。そして、入力される全てのテキスト
行のコア領域の高さの平均が算出され(ステップS605)、
図3のステップS302において平均の文字高さとして用いられて、通常サイズのサブセット、大サイズのサブセットおよび小サイズのサブセットに、CCが分類される。
【0053】
図8Cは、
図8Aにおけるサンプルのテキスト画像と同じものを用いて、ステップS302の結果として
図3の方法を用いて、CCを3つのサブセットに分類した結果を示す図である。パネル(g)、(h)および(i)は、ステップS302によって取得された、通常サイズのCC、大サイズのCCおよび小サイズのCCのバウンディングボックスをそれぞれ示す。
図8Aのパネル(a)および(b)と比較すると、従来の方法によって、誤って通常サイズのCCに分類された2つのCC(パネル(a))が、ここでは、大サイズのCC82に分類される(パネル(h))ことがわかる。したがって、これらの大サイズのCCは、ステップS304において適切に分解され、ステップS305においてテキスト
行に正しく割り当てられ得る。
【0054】
改良モジュール、すなわち、
図3の方法は、任意の
行の区分化アルゴリズムに適用され、その制度を向上させ得る。言い換えれば、ある区分化方法を用いたテキスト
行の区分化の1回のパスの後に、
行の区分化の改良された結果を生み出すために、
図3の方法が適用され得る。
【0055】
図7は、本発明の他の実施形態に係る
行の区分化方法を示すフローチャートである。
図1の方法と同様に、入力されるデータは、二値のテキスト文書画像である。
図7の方法において、ステップS701~S705は、
図1の方法のステップS101~S105とそれぞれ同様である。1回目にステップS702が実行されるとき、ステップS701において算出されたCCの平均高さは、CCを3つのサブセットに分類するための基準を設定するのに用いられる。ステップS703における
行の検出は、上述した
図2の方法を用いて、あるいは、従来の
行の検出方法によって、実行されてもよい。ステップS701~S705が一回実行された後、ステップS705によって出力されるテキスト
行を用いて、コア領域の平均高さを計算するという、コア領域の高さの計算ステップ(ステップS707)が実行される。ステップS707のコア領域の高さの計算は、上述した
図6の方法を用いて実行される。そして、処理はステップS702に戻り、CCを3つのサブセットに分類するが、今回は、ステップS707において取得されたコア領域の平均高さを用いて、分類のための基準が設定される。
【0056】
図7の処理フローは、フラグ「出力」によって制御される。処理が始まったとき、フラグは「NO」に初期化され、ステップS705の後、フラグが「NO」である場合(ステップS706)、ステップS707が実行される。ステップS707は、ステップS702に戻る前に、フラグを「YES」に設定する。ステップS702では、フラグが「NO」である場合、ステップS701によって取得された平均高さが用いられ(1回目)、フラグが「YES」である場合、ステップS707によって取得された平均高さが用いられる(2回目)。2回目のステップS706が実行され、フラグは「YES」に設定されて、処理は終了する。
【0057】
図7の方法は、
図3の方法と同じ改良された結果を達成できる。
【0058】
本発明の実施形態は、ICR/IWRのためのテキスト
行の区分化に関するロバストな方法を提供する。本方法は、Louloudis 2009に記載された従来の方法に対して、以下に挙げるいくつかの利益および利点を有する。本方法は、相互接続から独立した、コア領域を用いて平均の文字高さを概算するための、ロバストな方法を提供する。本方法は、連結成分からテキスト
行を見つけるための、より正確な方法を提供する。高さおよび
行のより正確な計算は、ICR/IWRのための、より良好な認識精度をもたらす。
図2の
行の検出方法では、初期段階における誤った
行の削除(例えば、平均高さの1.2倍よりも高い
行の削除、ステップS207)は、
行の区分化、およびICR/IWRシステムの計算の複雑性を低減させる。文字高さは、続く単語/文字の区分化段階のために再使用され得る。
図3の方法は、任意の他の
行の区分化方法によって生成される、
行の区分化結果を改良するために用いられ得る。
【0059】
上述した種々の方法は、ハードウェア、ソフトウェアまたはファームウェアにおいて実装され得る。例えば、
図9は、本発明の実施形態が実装され得る例示的なコンピューターを示す図である。
図9に示すように、このコンピューター10は、中央処理装置(CPU)101、メモリー102、キーボード等の入力部103、コンピューターモニター等の表示部104、およびネットワークインターフェース105を備え、(図示されない構成要素も含む)これらの全ての構成要素は、バス106を介して、相互に内部的に通信する。ネットワークインターフェース105を通して、コンピューター10は、LANまたはWAN等のネットワーク20に接続され、当該ネットワークに接続される他の装置と通信する。通常、メモリー102は、動作中に必要に応じてソフトウェアプログラムを実行するように構成されるCPU101がアクセス可能な、コンピューターが実行可能な指示、またはソフトウェアプログラムを記憶する。好ましくは、そのようなソフトウェアプログラムは、GUI(グラフィックユーザーインターフェース)を実装するコンピューターオペレーティングシステムにおいて、動作するように設計される。一実施形態では、メモリー102におけるそのようなソフトウェアは、CPU101によって実行されると、コンピューター10が上述したテキスト
行の区分化方法を実行することを可能にする、プログラム100を含む。また、CPU101は、他の種類のソフトウェア(例えば、管理ソフトウェア)、アプリケーション(例えば、ネットワーク通信アプリケーション)、オペレーティングシステム等を実行するようにも構成される。
【0060】
当業者には明らかなように、本発明の思想または範囲から逸脱することなく、本発明のテキスト行の区分化方法および関連する装置において、種々の改良および変更が行われ得る。したがって、本発明は、添付する特許請求の範囲およびその均等物の範囲に入る改良および変更を包含することが意図される。