(57)【特許請求の範囲】
【請求項１】
プレプリント情報を含む帳票等に記入された文字を認識するための文字認識方法において，
前記プレプリント情報と記入文字を読取って得た画像から認識すべき文字が存在する領域の画像を線分に個別に分割し，前記線分の分割は前記領域内の画像中の全ての線分を個別に細線化し，
前記線分の中から端点・交点を抽出し，前記細線化画像を前記端点から前記交点まで，前記端点から前記端点まで，または前記交点から前記交点までの線分に分割し，
前記各線分を前記入力された原画像を参照して元の線幅に拡張することで線分を個別に分割し，
前記分割された複数の線分の組合せを変えて認識画像を作成し，
作成した認識画像について文字認識を行って信頼度と共に認識結果を記憶し，
前記線分の組合せを順次変更して全ての組合せについて前記の認識を行って，最大の信頼度を持つ認識結果を出力し，
前記文字認識結果が他の文字パターンに対する誤認識の可能性が高いものとして予め登録されている文字の場合，前記の線分の組合せを変更しながら文字認識を行う過程で前記他の文字についても認識候補が得られていると，前記文字認識結果を前記他の文字と交換することを特徴とする文字認識方法。
【請求項２】
請求項１において，
前記文字認識結果の交換は，前記他の文字に対する文字認識の信頼度が予め設定された一定値以上の場合にのみ行うことを特徴とする文字認識方法。
【請求項３】
請求項１において，
前記文字認識結果の交換は，前記他の文字の認識候補を構成する線分に当該文字認識結果の線分が含まれる場合にのみ行うことを特徴とする文字認識方法。
【請求項４】
請求項１において，
前記文字認識結果の交換は，前記他の文字に対する文字認識の信頼度が予め設定された一定値以上であり，且つ前記他の文字の認識候補を構成する線分に当該文字認識結果の線分が含まれる場合にのみ行うことを特徴とする文字認識方法。
【請求項５】
プレプリント情報を含む帳票等に記入された文字を読取ることにより得た画像の認識すべき文字が存在する領域の画像を線分に個別に分割し，前記線分の分割は前記領域内の画像中の全ての線分を細線化し，
前記線分の中から端点・交点を抽出し，前記細線化画像を前記端点から前記交点まで，前記端点から前記端点まで，または前記交点から前記交点までの線分に分割し，
前記各線分を前記入力された原画像を参照して元の線幅に拡張することで線分を個別に分割し，
前記分割された複数の線分の組合せを変えて認識画像を作成し，作成した認識画像について文字認識を行って信頼度と共に認識結果を記憶し，前記線分の組合せを順次変更して全ての組合せについて認識を行って，最大の信頼度を持つ認識結果を出力し，
前記出力された文字認識結果が他の文字パターンに対する誤認識の可能性が高いものとして予め登録されている文字であることが検出されると，前記文字認識過程で得られた他の認識候補の文字が得られていると，前記文字認識結果を前記他の文字と交換する機能をコンピュータに実行させることを特徴とするプログラム。
【請求項６】
プレプリント情報を含む帳票等に記入された文字を読取ることにより得た画像の認識すべき文字が存在する領域の画像を線分に個別に分割し，前記線分の分割は前記領域内の画像中の全ての線分を個別に細線化し，
前記線分の中から端点・交点を抽出し，前記細線化画像を前記端点から前記交点まで，前記端点から前記端点まで，または前記交点から前記交点までの線分に分割し，
前記各線分を前記入力された原画像を参照して元の線幅に拡張することで線分を個別に分割し，
前記分割された複数の線分の組合せを変えて認識画像を作成し，作成した認識画像について文字認識を行って信頼度と共に認識結果を記憶し，前記線分の組合せを順次変更して全ての組合せについて認識を行って，最大の信頼度を持つ認識結果を出力し，
前記出力された文字認識結果が他の文字パターンに対する誤認識の可能性が高いものとして予め登録されている文字であることが検出されると，前記文字認識過程で得られた他の認識候補の文字が得られていると，前記文字認識結果を前記他の文字と交換する機能をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は文字認識方法，プログラム及び記録媒体に関する。
【背景技術】
【０００２】
近年，文字が手書きまたは印刷された用紙をコンピュータに入力するために文字認識の技術が広く利用されているが，帳票等の用紙に文字を記入する位置を示すため，予め紙面上に印刷等により案内のための文字や，罫線等（以下，プレプリント情報という）を描いておいて，それらの近傍に文字を記入する場合が多い。
【０００３】
このような場合，プレプリント情報の存在により，記入した文字を正確に認識することが困難になるため，その改善が望まれている。
【０００４】
図２８はプレプリント情報上に書かれた文字の例を示す。この例では，金額として千（万），百（万），十（万），万，千，百，十，円の各単位を表す文字と，各単位に対応して文字（数字）を記入する枠を表す罫線が予め印刷されており，このような用紙に対し利用者が図に示すように手書きの文字（数字）を記入することができる。
【０００５】
このようなプレプリント情報を含む紙面に記入された文字を認識するための従来の方法を説明すると，プレプリント情報に関する既知の情報を用いて，プレプリントを含む読取り情報からプレプリント情報を削除することにより，記入された文字情報だけ残し，その文字情報について認識を行う方法が用いられている。その場合，プレプリント文字や罫線が存在する領域の位置情報，プレプリント文字の種類等の既知の情報を用いて，当該プレプリント文字や罫線を削除することができた。また，濃淡画像として文書を取り込める環境では，プレプリント情報と，認識すべき文字に濃淡の差がある場合には，その濃淡差を用いて，認識すべき文字のみを抽出する処理を行って文字認識を行うという方法もある。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記した従来の方法のうち，プレプリント情報を削除する方法は，プレプリント情報に関する知識が無い場合には文字認識を正確に行うことが不可能であるという問題があった。また，プレプリント情報を別の方法で抽出できたとしても，その中には抽出誤りを生じる場合があり，罫線やプレプリント情報が認識したい文字に重なって残ると文字認識結果を誤ってしまう場合があった。
【０００７】
更に，システムの制約により文書を濃淡画像で取得できない場合や，元々プレプリント情報と認識する文字との間に濃淡差がないか，少ない場合には濃淡情報から認識すべき文字を抽出することは不可能であるという問題があった。
【０００８】
本発明はこれらの問題を解決し，プレプリント情報の知識や，濃淡差を使用することなくプレプリント情報に接触，重畳した文字を認識することができる文字認識方法，プログラム及び記録媒体を提供することを第１の目的とする。
【０００９】
上記第１の目的を実現する新たな文字認識方法を本発明により提案したが，その方法によると次の図２９に示すような誤認識が発生する場合がある。
【００１０】
すなわち，図２９は誤認識の事例を示し，上記図２８に示すプレプリント情報上に書かれた文字に対して，上記の第１の目的を達成する文字認識方法によれば，図２９の(a) 〜(c) のそれぞれの左側に示す入力画像に対して, それぞれ右側に示すように画像が認識結果として採用される。詳細には，図２９の(a) のように，縦方向の線分を有する「７」がプレプリントされた文字等に重畳されて書かれた場合に，「７」の縦直線成分により認識結果が「１」と誤認識されることがある。また，図２９の(b) のように「８」がプレプリントされた文字に重畳されて書かれた場合に，「８」が形成される２個のループのうち１つのループについて「０」と誤認識してしまう等の本来の文字認識結果に対して，その文字の部分パターンと近似する他の文字に誤認識される場合があった。また，図２９の(c) のように「０」がプレプリントされた文字等に重畳して書かれた場合，「０」に交わる線により「６」（または「８」）に誤認識される場合があった。
【００１１】
本発明は上記の第１の目的を実現する認識方法により発生することがある誤認識を防止して正しい認識結果を得ることを第２の目的とする。
【課題を解決するための手段】
【００１２】
図１は本発明の第１の原理構成である。図中，１０は画像取得部，１１は認識領域指定部，１２は認識領域内線分分割部，１２０は細線化手段，１２１は端点・交点抽出手段，１２２は線分分割手段，１２３は線幅拡張手段，１３は線分組合せ文字認識部，２はメモリ，２ａは原画像，２ｂは指定領域画像，２ｃは分割線分画像である。
【００１３】
最初に画像取得部１０でプレプリント情報（罫線を含む）が描かれた面上に文字が記入された領域を読取ってメモリ２内に原画像２ａを格納する。次に認識領域指定部１１により紙面上の領域の中から一つの文字記入領域を指定する。この指定は予め領域を指定しても，レイアウト解析等による結果を参照することによっても可能である。この指定により特定の認識対象の文字を含む領域がその文字に接触または重畳するプレプリント情報と共に切出されて，メモリ２内に指定領域画像２ｂが得られる。次いで認識領域内線分分割部１２において，１２０〜１２３の手段により線分の分割を行う。すなわち，指定領域内の各線分を細線化手段１２０で画像を構成する線を細線化した上で，端点・交点抽出手段１２１で端点または交点を抽出し，更に抽出した端点，交点を利用して線分分割手段１２２により連続した細線に対して端点から端点，端点から交点，または交点から交点までの個別の線分に分割（または分解）する。更に，線幅拡張手段１２３により分割した各線分の線幅を原画像２ａと同程度に拡張し，その結果はメモリ２内に分割線分画像２ｃとして得られる。次に線分組合せ文字認識部１３において，分割線分画像２ｃの各線分を組合せて文字認識を行う。この時，分割（分解）した線分の組合せや，線分の処理には次の「まる１」〜「まる６」のように種々の方法がある。
【００１４】
「まる１」プレプリント情報に接触，重畳して記入された文字を認識する方法として，当該文字を含む領域の成分を線分に分解して，分解した線分の組合せを変更しながら文字認識を行い，当該組合せの中で最大の信頼度を発生する文字認識結果を採用することにより，罫線，文字等のプレプリント情報に接触，重畳して記入された文字を認識する。
【００１５】
「まる２」上記「まる１」において，組合せた線分全てが連結する場合にのみ文字認識を行う。
【００１６】
「まる３」上記「まる１」において，線幅の細い線分を予め除去してから，文字認識を行う。
【００１７】
「まる４」上記「まる１」において，認識すべき文字が記入される記入領域が既知の場合や，レイアウト解析の結果から抽出できる場合，その記入領域に含まれる線分は必ず線分の組合せに含むように線分を組合せて文字認識を行う。
【００１８】
「まる５」上記「まる１」において，線分の両端のうち一方が端点であり，且つその線分が短い場合に，当該線分を前記の組合せる線分の候補から除外し，文字認識を行う。
【００１９】
「まる６」上記「まる１」において，線分の組合せにより作成される図形のサイズが一定範囲内部導体の時だけ，文字認識を行う。
【００２０】
図２は上記第２の目的を実現するための本発明の第２の原理構成を示す。図中，１０〜１３，２，認識領域内線分分割部１２の１２０〜１２３とメモリ２内の２ａ〜２ｃの各符号は上記図１の同一符号の各部と同じであり，説明を省略する。１４はこの第２の原理構成の特徴である認識結果交換部であり，メモリ２内の２ｄは候補文字対応信頼度，２ｅは文字認識結果交換の参照テーブルである。
【００２１】
上記図１と同様に認識領域指定部１１で領域を指定し，認識領域内線分分割部１２で領域内の線分を各手段１２０〜１２３を用いて分割し，線分組合せ文字認識部１３において分割した線分の組合せを変更しながら各認識候補の文字パターンについて照合することでそれぞれの信頼度（類似度）を求め，各認識候補文字とそれぞれの信頼度（類似度）２ｄがメモリ２に格納され，最も高い信頼度が得られた認識結果が出力される。
【００２２】
一方，メモリ２の文字認識結果交換の参照テーブル２ｅには，文字認識結果が他の文字パターンに対する誤認識の可能性が高いものとして予め登録した文字（これを以下，被交換対象文字という）が格納されている。
【００２３】
認識結果交換部１４は線分組合せ文字認識部１３から認識結果を受け取ると，次の「まる１」乃至「まる４」に示す何れかにより認識結果の交換を行う。
【００２４】
「まる１」  認識結果交換部１４は，認識結果として受け取った文字がメモリ２の参照テーブル２ｅの被交換対象文字に該当するか判別し，該当する場合は，前記メモリの参照テーブル２ｅを参照して他の認識候補（交換対象文字）が得られていると，被交換対象文字をその交換対象文字に交換する。これにより，誤認識を回避でき，文字認識精度を高めることができる。
【００２５】
「まる２」  認識結果交換部１４における文字認識結果の交換は，交換対象文字（他の認識候補文字）に対する文字認識の信頼度が候補文字対応信頼度２ｄを参照して，その値が一定値以上の場合にのみ行うようにする。これにより，登録されている被交換対象文字に該当する場合に，全てが交換されてしまうことがなくなり，信頼性の高い認識結果の交換が可能となる。
【００２６】
「まる３」  認識結果交換部１４における文字認識結果の交換は，交換対象文字に対する認識候補を構成する線分に，被交換対象文字の認識結果を交換する線分が含まれる場合にのみ行う。これにより，ある文字についての部分パターンにより誤った文字認識結果が得られる場合に，これを正しい文字に置き替えることができ，その信頼性を高めることができる。
【００２７】
「まる４」  認識結果交換部１４における文字認識結果の交換は，交換対象文字に対する文字認識結果の信頼度が一定値以上であり，また当該交換対象文字の認識候補を構成する線分に被交換対象文字の認識結果を構成する線分が含まれる場合にのみ行う。すなわち，上記の「まる２」と「まる３」を組み合わせることにより，文字認識結果の交換の精度を更に高めることができる。
【００２８】
本発明の第１の原理構成及び第２の原理構成は図１及び図２に示す機能の内，特に認識領域指定部１１，認識領域内線分分割部１２，線分組合せ文字認識部１３，認識結果交換部１４等の各機能はコンピュータにより読み取り可能な記録媒体に記録されたプログラムにより実現することができる。
【発明の効果】
【００２９】
本発明によれば，プレプリント文字や罫線等に接触，重畳して書かれた文字をプレプリント文字や罫線に関する知識がなくても認識することが可能になる。
【００３０】
また，提案した種々の線分の組合せの方法により線分組合せの数を低減することにより計算時間を大幅に削減することができる。
【００３１】
更に，認識結果の文字に対して誤認識を起こす可能性のある文字として予め登録されている場合に，その信頼度や形状等について妥当性を検証しながら交換対象となる他の文字との認識結果の交換を，精度よく行うことができ，結果としてプレプリント文字等に重畳等して書かれた文字の認識精度を高めることができる。
【図面の簡単な説明】
【００３２】
【図１】本発明の第１の原理構成を示す図である。
【図２】本発明の第２の原理構成を示す図である。
【図３】本発明が実施される情報処理装置の構成を示す図である。
【図４】読取った結果の例を示す図である。
【図５】線分分割のフローチャートを示す図である。
【図６】線分画像作成の具体例を示す図である。
【図７】端点・交点の画素の例を示す図である。
【図８】交点での細線化画像分割の処理フローを示す図である。
【図９】細線線分拡張の処理フローを示す図である。
【図１０】第１の線分組合せ文字認識の処理フローを示す図である。
【図１１】第２の線分組合せ文字認識の処理フローを示す図である。
【図１２】線分連結性チェックの処理フロー（その１）を示す図である。
【図１３】線分連結性チェックの処理フロー（その２）を示す図である。
【図１４】連結線分の番号を記録する線分のデータ構造を示す図である。
【図１５】線分画像の連結性による認識回数削減の例を示す図である。
【図１６】線幅の細い部分の画像削除の説明図である。
【図１７】細い線幅のプレプリント情報を除去した具体例を示す図である。
【図１８】文字記入領域が予め分かっている例を示す図である。
【図１９】線分両端のタイプと線分長を備える線分のデータ構造を示す図である。
【図２０】第５の線分組合せ文字認識の方法の具体例を示す図である。
【図２１】線分を組合せた図形のサイズを考慮した文字認識の処理フローを示す図である。
【図２２】認識結果交換の実施例１のフローチャートである。
【図２３】実施例１の文字認識結果交換の参照テーブルを示す図である。
【図２４】認識結果交換の実施例２のフローチャートである。
【図２５】実施例２の文字認識結果交換の参照テーブルを示す図である。
【図２６】認識結果交換の実施例３のフローチャートである。
【図２７】認識結果交換の実施例４のフローチャートである。
【図２８】プレプリント情報上に書かれた文字の例を示す図である。
【図２９】誤認識の事例を示す図である。
【発明を実施するための形態】
【００３３】
図３は本発明が実施される情報処理装置（コンピュータ）の構成を示し，図中，２０はＣＰＵ，２１はデータやプログラムを格納するメモリ，２２はハードディスク，２３はキーボード，２４はディスプレイ，２５は紙の上に印刷または記入された文字やパターンを読み取るスキャナ，２６はＣＤＲＯＭ装置，２７はフレキシブルディスク装置，２８は通信装置を表す。
【００３４】
最初に図１，図２に示す画像取得部１０の機能として，スキャナ２５で認識の対象となる帳票等の用紙を読み取って，メモリ２１に格納する。こうして，読取った結果の例を図４に示すが，この例は上記図２８に示した内容と同じである。次に上記図１，図２の認識領域指定部１１に対応する機能として，予め文字が記入される可能性のある領域がレイアウト情報として予め与えられるか，またレイアウト解析の結果により文字が記入される領域が取得され，その矩形座標が線分に分割する領域として上記図１，図２の認識領域内線分分割部１２に渡される。図４の例の場合，文字記入領域の左側から５番目の領域が指定される。
【００３５】
本発明は以下に説明する処理機能を備えるメモリ２１上のプログラムにより実現され，プログラムはＣＤＲＯＭ装置２６，フレキシブルディスク装置２７へのＣＤＲＯＭやフレキシブルディスク等に記録されたり，通信装置２８を介して遠隔の端末等の装置からメモリにロードすることができる。
【００３６】
上記図１，図２の認識領域内線分分割部１２に対応する機能により，矩形の座標情報に基づき，その領域内の成分（プレプリント情報を含む）を線分に分割する処理が行われ，その詳細を図５を用いて説明する。
【００３７】
図５は線分分割のフローチャートである。この線分分割を上記図４に示す指定領域の例について，図６に示す線分画像作成の具体例及び図７に示す端点・交点の画素の例を参照しながら説明する。なお，線分分割部の端点・交点間分割の詳細を示す処理フローを図８に示し合わせて説明する。
【００３８】
最初に領域内細線化を行う（図５のＳ１）。図６の例では，領域内の原画はＡ．に示され，帳票のプレプリントの「千」の文字と記入枠を表す線に対し手書きの文字「５」が記入されている。この領域の画像を細線化処理することで，Ｂ．に示すような細線化画像が得られる。次にこの細線化画像から，端点・交点を抽出し（図５のＳ２），端点または交点での細線化画像の分割を行う（同Ｓ３）。端点・交点の画素の例を図７に示す。図７の(a) は端点の例であり，この例は注目画素が黒画素である場合に，注目画素を中心とした周囲８画素に１点しか黒画素がない場合であり，図７の(b) は交点の例であり，これも注目画素が黒画素である場合に，注目画素を中心とした周囲８画素に３点以上に黒画素がある場合をいう。
【００３９】
次に図５のフローでは，ステップＳ３で交点での細線化画像の分割が行われる。これに対応する図６の例では，この分割の処理により，Ｃ．に示すように(1) 〜(11)という１１個の細線線分に分割される。
【００４０】
ここで，交点での細線化画像分割の処理フローを図８により説明する。最初に全ての端点・交点をチェックしたか判別し（図８のＳ１），全ての端点・交点のチェックが終了していないと交点または端点を一つ取り出し（同Ｓ２），注目画素の周囲８画素（上記図７に示す９画素の中の中心画素を除く８画素）に未探索画素があるか判別する（同Ｓ３）。未探索画素があると，一つの未探索画素を探索（検出）し（同Ｓ４），探索された画素をメモリ（図示省略）に記録し（同Ｓ５），探索画素が交点又は端点か判別する（同Ｓ６）。この判別は，注目画素の周囲の画素（黒）が端点のパターン（図７の(a) はパターンの一例）か，交点のパターン（図７の(b) はパターンの一例）の何れに該当するかを識別することにより行われる。端点または交点であることが判別されると，この点を含む線分を登録し（図８のＳ７），Ｓ３に戻り，周囲８画素に未探索画素があるとＳ４に移行し，未探索画素がないとＳ１に戻り，更に端点・交点のチェックを行う。
【００４１】
図５のフローでは，次のステップＳ４において細線線分拡張が行われる。これに対応する図６の例では，この細線線分拡張の処理により，Ｄ．の(1) 〜(11)に示すように各細線線分を原画像の線幅まで線の太さを拡張する。
【００４２】
図９は細線線分拡張の処理フローである。まず，全体の処理概要を説明すると，細線線分を画像として初期段階の線分画像とする。次に線分画像の各画素に注目し，その注目画素がエッジ画素（注目画素が黒画素で周囲８画素に白画素がある場合の注目画素）で，原画像上の対応する位置で周囲８画素に黒画素があるならば，細線線分の対応する位置に黒画素を拡張する。この一連の処理を全線分に対して行い，１段目の処理とする。また，１段目の処理が終わった段階で既に拡張の対象となった画素が次の段階の処理で追加されないように記憶しておく。次に，１段階目の拡張を行った線分画像に対して，注目画素がエッジ画素の場合に，原画像の対応する位置の隣接８画素に黒画素があるならば，線分画像の対応する位置に黒画素を拡張する。この一連の段階処理を追加対象の黒画素がなくなるまで繰り返し，全線分の線幅画像を作成する。
【００４３】
処理フローの詳細では，最初に原画像上の全ての黒画素が拡張対象となったか判別し（図９のＳ１），全てが対象となっていない場合，ｉを線分の番号としてｉ＝１に設定し（同Ｓ２），ｉが線分数を越えないか判別する（同Ｓ３）。越えない場合，ｉ番目の線分画像を取り出し（図９のＳ４），線分画像をバッファにコピーして（同Ｓ５），線分画像の画素を１つ取り出す（同Ｓ６）。ここで，その画素が黒画素で，且つ周囲の８画素に白画素があるか判別し（図９のＳ７），白画素がなければ後述するステップＳ１１に移行し，白画素がある場合は原画像の対応する位置で周囲８画素に黒画素があり，且つ既に拡張対象となっていないか判別する（同Ｓ８）。Ｓ８の条件を満たされければ後述するステップＳ１１に移行し，Ｓ８の条件を満たす場合は，原画像の黒画素の位置と同じバッファの位置に黒画素を追加し（図９のＳ９），拡張対象画素を記憶する（同Ｓ１０）。次いで，線分画像の全ての画素を処理したか判別し（図９のＳ１１），処理した場合はバッファから線分画像にコピーし（同Ｓ１３），Ｓ１に戻り，原画上の全ての黒画素を拡張対象として処理が終了するまで繰り返される。
【００４４】
なお，線分画像の作成方法は原画像を何らかの形で最小単位の線分情報に分割する限り，この方法に限定する必要はなく，例えば，所定面積単位に連結する黒画素の領域を分割する等の方法等を採ることも可能である。
【００４５】
次に線分組合せ文字認識部（図１，図２の１３）による線分画像の組合せを変更しながら文字認識処理を行う。ここでは，線分の組合せにより線分画像を合成した認識画像を作成し，文字認識処理をする。各認識候補の文字認識結果とその信頼度を記憶し，全ての認識結果のうち最大の信頼度を出力する文字を最終的な認識結果とする。ここで，信頼度は文字認識処理が出力する辞書との距離差や，尤度等を用いる。
【００４６】
図１０は第１の線分組合せ文字認識の処理フローである。最初に全組合せを処理をしたか判別し（図１０のＳ１），全組合せを処理してない場合，線分組合せを変更し（同Ｓ２），認識画像を作成して（同Ｓ３），文字認識を行う（同Ｓ４）。続いて文字認識結果の信頼度が従前（以前）の認識結果より大きいか判別し（図１０のＳ５），大きくないとＳ１に戻り，信頼度が従前の認識結果より大きい場合は文字認識結果を記憶し（同Ｓ６），ステップＳ１に戻る。Ｓ１で全組合せを終了したと判別されると，最大信頼度の文字認識結果を出力する（図１０のＳ７）。
【００４７】
この第１の線分組合せ文字認識には，線分がｎ本抽出されたとすると，線分の組合せ可能な数が２n のオーダとなり，この回数分の文字認識の処理が必要となる。そのため，認識回数を減らすには線分の組合せ数を低減する必要があり，そのための方法として複数の方法があり，その内容は以下に説明する。なお，以下の各方法は単独で用いても，組合せても良い。
【００４８】
第２の線分組合せ文字認識の方法。
【００４９】
第２の線分組合せ文字認識は，線分の連結性を考慮した方法であり，その原理は上記図６のＤ．に例として示すような，各線分について文字認識する前に組合せとして選び出した線分が全て連結するかチェックし，連結する場合にのみ認識を行い，最大の信頼度の文字認識結果を採用する。
【００５０】
図１１は第２の線分組合せ文字認識の処理フローである。図１１のステップＳ１，Ｓ２は上記図１０のＳ１，Ｓ２と同様であり，図１１ではＳ２において組合せを変更した時，ステップＳ３で組合せに連結性があるかチェックする点が相違する。このチェックの詳細は後述する図１２，図１３に示す処理フローに示す。このチェックで連結性がないと判別された場合はＳ１に戻り，連結性があると判別されると，上記図１０のＳ３以下の処理フローと同様に，認識画像の作成（図１１のＳ４），文字認識（同Ｓ５），文字認識結果の信頼度が以前の認識結果より大きいかの判別（同Ｓ６），信頼度が以前の認識結果より大きい場合の文字認識結果の記憶（同Ｓ７），が実行される。
【００５１】
図１２，図１３は線分連結性チェックの処理フロー（その１），（その２）である。
【００５２】
最初に全ての線分の連結フラグをオフ（OFF)にし（図１２のＳ１），組合せ中から線分を一つ選択する（同Ｓ２）。そして処理終了フラグをオン(ON)にし（図１２のＳ３），残りの線分を全て処理したか判別し（同Ｓ４），全て処理してないと，残りの線分を一つ選択し（同Ｓ５），選択した２線分が連結するか判別する（同Ｓ６）。連結しないとステップＳ４に移行し，連結すると両線分の連結フラグをオンにし（図１２のＳ７），処理終了フラグをオフにして（同Ｓ８），ステップＳ４に戻る。なお，連結フラグはオンの場合，当該線分が他の線分と連結が有ることを表し，オフの場合は他の線分と連結しないことを表す。また，処理終了フラグはオンの場合，図１３のステップＳ９で後述するステップＳ１０に進み，オフの場合はステップＳ１３に進む。
【００５３】
ステップＳ４において，残りの線分を全て処理したと判別されると，処理終了フラグはオンか判別し（図１３のＳ９），オンの場合全線分の連結フラグがオンか判別し（同Ｓ１０），全線分の連結フラグがオンの場合は，連結性フラグをオンにし（図１３のＳ１１），オンでない場合（オフの場合）は連結性フラグをオフにする（図１３のＳ１２）。上記Ｓ９において，処理終了フラグがオンでない場合は，処理終了フラグをオンにし（図１３のＳ１３），連結フラグオフの線分があるか判別し（同Ｓ１４），ない場合はＳ９に戻り処理終了フラグのオン，オフによりそれぞれＳ１０，Ｓ１３へ進む。Ｓ１４で連結フラグオフの線分がある場合は，連結フラグオフの線分を一つ選択する（同Ｓ１５）。この線分を線分１という。次に連結フラグオンの線分を全て処理したか判別し（図１３のＳ１６），処理した場合はステップＳ９に戻り，処理してない場合は，連結フラグオンの線分を一つ選択する（同Ｓ１７）。この線分を線分２という。次に線分１と線分２が連結するか判別し（図１３のＳ１８），連結しないとステップＳ１６に戻り，連結すると線分１の連結フラグをオンにし（同Ｓ１９），処理終了フラグをオフにし（同Ｓ２０），ステップＳ９に戻る。
【００５４】
図１４は連結線分の番号を記録する線分のデータ構造である。図中，３０は線分データ，３１は画素座標リスト，３２は連結線分番号リストである。線分データ３０は３０ａ〜３０ｅの各項目からなる。３０ａは線分番号，３０ｂは画素数，３０ｃは画素座標リストへのポインタ，３０ｄは連結線分数，３０ｅは連結線分番号リストへのポインタとからなる。このデータ構造により，各線分の線分番号毎に，画素数（ｍ１，ｍ２等）が設定され，更にその線分を構成する各画素の座標リスト３１がポインタ３０ｃによりアクセスでき，連結線分数（ｋ１，ｋ２等）及び各連結線分の番号が記録された連結線分番号リスト３２がポインタ３０ｅによりアクセスできる。
【００５５】
図１５は線分画像の連結性による認識回数削減の例を示す図である。すなわち，(a) の原画に対して，(b) のように選択した線分の組合せに連結性がない場合は文字認識処理を行わず，(c) のように選択した線分の組合せに連結性がある場合にのみ文字認識を行う。これにより線分が連結しない場合の分だけ文字認識を行う回数が低減できる。連結続性の確認方法としては，細線化線分作成の際に，細線化線分に分割する点（交点）で接続する他の線分の番号を記憶しておく。線分を組合せ，文字認識する前に，組合せとして選ばれた線分が連結しているかどうかをその情報を基に確認でき，連結している場合のみ，文字認識を行うことで文字認識処理の回数が削減できる。
【００５６】
第３の線分組合せ文字認識の方法。
【００５７】
第３の線分組合せ文字認識は，プレプリント情報の一部または全部が認識すべき文字（手書き）より線幅が細いという前提が成り立つ場合に，本発明の認識方法を適用する前処理として，原画像に対して線幅の細い線分を除去することを原理とする。
【００５８】
その除去方法は，画像を水平方向と垂直方向に走査して，黒画素のラン（幅）の分布を別々に求め，そのランが小さい部分を除去することにより，細い線分部分のプレプリント情報を削除できる。これにより，この方法を適用した場合の線分数が削減でき，従って認識の対象となる線分組合せの数が削減して計算時間を短縮することができる。
【００５９】
図１６は線幅の細い部分の画像削除の説明図であり，垂直方向の例を示す。
【００６０】
図１６の(a) はプレプリント情報として明朝体の「十」（数字の１０）の記号を印刷した画像の例であり，(b) はこの画像を垂直方向に走査した時のラン分布でありその中の数値「１」，「２」，「ａ」，「９」は垂直方向の走査時の各位置における黒画素の長さを１６進数で表す。この例では「十」の記号の横方向の線幅は１画素分であり細い線分であることが分かる。この横方向の線分の垂直方向の線幅が１画素である線分を除去することで(c) の画像が得られる。
【００６１】
図１７は細い線幅のプレプリント情報を除去した具体例である。図１７の(a) は認識対象領域の原画で，上記図６のＡ．に示す帳票に文字「５」が記入された画像と同じであり，プレプリント情報として線幅が細い「千」の文字の一部が含まれている。図１７の(b) はそのような細い線分を(a) の原画から除去した後の画像であり, これにより線分の組合せ数が削減できる。また，この方法以外にも，分割後の線分の線幅を線分の方向に対して適宜に求めることにより線幅を求めて，線幅の細い線分を除去する方法を用いることができる。
【００６２】
第４の線分組合せ文字認識の方法
この方法は認識すべき文字が書かれる領域が予め，またはレイアウト解析の結果等によりわかっている場合に，当該領域に含まれる線分は，線分の組合せを決定する際に必ず含まれるようにする。これにより線分の組合せ数が削減でき，文字認識回数が削減できる。
【００６３】
図１８は文字記入領域が予め分かっている例である。図中，点線で示す文字記入領域内の線分を，文字認識のための線分の組合せに必ず含むようにし，これ以外の領域にある線分の組合せを変更する。
【００６４】
第５の線分組合せ文字認識の方法。
【００６５】
第５の線分組合せ文字認識は，線分の一方が端点となる短い線分を認識のための線分の組合せ中に含めないようにする方法である。一方が端点となる短い線分は，本来の文字に占める領域が小さいため，これを含めなくとも文字認識に与える影響が小さい。従って，このような線分を組合せの候補に含めないことにより，線分の組合せ数を削減でき，結果として文字認識の処理回数を削減できる。
【００６６】
この第４の線分組合せ文字認識の方法では，線分データとして両端のタイプ（端点から３点交点または４点交点までの線分，端点から端点までの線分等）と線分長を含むと処理が簡単になり，図１８にデータ構造を示す。
【００６７】
図１９は線分両端のタイプと線分長を備える線分のデータ構造である。このデータ４０は，各線分に付与した線分番号に対応して，４０ａの画素数（ｍ１，ｍ２等），４０ｂの画素座標リストへのポインタ（ａ１，ａ２等），４０ｃの線分端タイプ１（線分の一方の端点のタイプ），４０ｄの線分端タイプ２（線分の他方の端点のタイプ），４０ｅの線分長さとで構成され，座標リスト４１はポインタ４０ｂにより指定される。座標リスト４１には，当該線分番号の線分を構成する画素数分の各座標番号に対応する座標が格納されている。また，線分端タイプ１，タイプ２には，端点や３点交差等のタイプがある。
【００６８】
図２０は第５の線分組合せ文字認識の方法の具体例である。この例は，図２０のＡ．の原画像に示すようにプレプリント文字の明朝体の「千」の文字の上に手書きで「１」と書かれている。記入文字は同図のＢ．に示され，この線分の「１」の上部先端の線分のように，線分に分解した場合に，一方が端点に接続する短い線分を削除することで，同図Ｃ．のような線分になり，この線分について文字認識を行う。
【００６９】
第６の線分組合せ文字認識の方法。
【００７０】
第６の線分組合せ文字認識は，線分を組合せて文字認識を行う前に，その線分の組合せによりできる図形のサイズが一定範囲内のサイズの時だけ文字認識を行い，線分の組合せの中から最大の信頼度を出力する文字認識結果を利用する。記入される文字のサイズの上限，下限，またはその両者が想定できる場合にはこの方法によって文字認識の回数を削減することが可能である。この場合，図形のサイズとしては，線分を組合せた図形の外接矩形の面積，または図形の高さ等を用いることができる。
【００７１】
図２１は線分を組合せた図形のサイズを考慮した文字認識の処理フローである。最初に全組合せを終了したか判別し（図２１のＳ１），終了してない場合は，線分の組合せを変更し（同Ｓ２），組合せた図形のサイズが一定範囲内か判別する（同Ｓ３）。一定範囲内でないとステップＳ１に戻り，一定範囲内の場合は，認識画像を作成し（図２１のＳ４），文字認識を行う（同Ｓ５）。この認識結果の信頼度が従前（以前）の認識結果より大きいか判別し（図２１のＳ６），大きいと文字認識結果を記憶し（同Ｓ７），大きくないとステップＳ１に戻る。全組合せを処理した場合は，最大信頼度の文字認識結果を出力する（図２１のＳ８）。
【００７２】
例えば，図１８に示す帳票のように，文字が記入される領域が与えられるような場合では，そこに記入される文字のサイズの範囲を定めておき，これから外れるサイズの線分の組合せの場合は，文字認識処理を行わず，この分の文字認識処理の回数が削減できる。
【００７３】
次に本発明の第２の原理構成（図２）で設けられた認識結果交換部１４において実行される認識結果交換の処理を上記に説明した「まる１」〜「まる４」の各方法に対応した図を用いて以下に説明する。
【００７４】
ここで，上記図２の線分組合せ文字認識部１３に対応する処理フロー（上記図９，図１０）において，各線分組合せを変更しながら文字認識を行い，各認識結果を候補文字としてそれぞれの信頼度（または類似度）を求めて，最大の信頼度の候補文字を最適な文字認識結果として出力する。この場合，最大の信頼度の認識候補文字以外にも，線分を組み合わせて文字認識する過程で得られる認識候補のうち，信頼度の高いものから順に所定の個数の認識候補をメモリ（図３の２１）に記憶しておくものとする。
【００７５】
図２２は認識結果交換の実施例１のフローチャートであり，図２３は実施例１の文字認識結果交換の参照テーブルである。なお，この図２２の実施例１のフローチャートは上記図２について説明した「まる１」の文字認識結果の交換方法に対応する。
【００７６】
最初に受け取った文字認識結果が参照テーブル（図２３）に被交換対象文字として登録されているか判別する（図２２のＳ１）。被交換対象文字に登録されていない場合は，交換を行わないで終了するが，登録されている場合は，参照テーブルの当該被交換対象文字に対応する交換対象文字としてこの認識結果文字以外の認識候補がある（メモリに格納されている）かの判別をする（図２２のＳ２）。認識候補が無い場合には交換を行わずに終了するが，ある場合はその認識候補（認識結果の次に信頼度が高い候補）の文字を認識結果の文字と交換する（図２２のＳ３）。なお，上記ステップＳ２において，被交換対象文字に対する認識候補の文字が複数ある場合は，そのうち最大の信頼度の文字と交換する。
【００７７】
図２４は認識結果交換の実施例２のフローチャートであり，図２５は実施例２の文字認識結果交換の参照テーブルである。この実施例２の参照テーブルには被交換対象文字に対して交換対象文字が設定されると共に各交換対象文字について交換する場合の信頼度が設定されている。なお，この図２４の実施例２のフローチャートは上記図２について説明した「まる２」の文字認識結果の交換方法に対応する。
【００７８】
最初に上記図２２と同様に文字認識結果が参照テーブル（図２５）に被交換対象文字として登録されているか判別する（図２４のＳ１）。被交換対象文字に登録されていない場合は，交換を行わないで終了するが，登録されている場合は，参照テーブルの当該被交換対象文字に対応する交換対象文字としてこの認識結果文字以外により次に信頼度が低い認識候補があり，且つ交換対象文字に対する信頼度（認識動作においてメモリに格納）が参照テーブル（図２５）の当該交換対象文字に対して設定した一定値以上か判定する（図２４のＳ２）。一定値以上である場合は被交換対象文字をその交換対象文字と交換し（同Ｓ３），候補が無いかまたはあったとしても信頼度が設定された一定値に達しない場合は処理を終了する。
【００７９】
上記図２５の参照テーブルに設定されている「信頼度」は，文字認識処理により出力される特徴ベクトルの距離値等を使うことが可能であるが，その信頼度は適用する文字認識処理系，交換対象となる文字により，適切な値に調整する必要がある。交換する場合の信頼度の値は，予め学習することにより，図２５のテーブルのように設定することができる。なお，交換対象文字に対する認識信頼度のみでなく，被交換対象の文字の信頼度の差異も条件とすることができる。
【００８０】
図２６は認識結果交換の実施例３のフローチャートである。
【００８１】
この認識結果交換の実施例３のフローチャートは上記図２について説明した「まる３」の文字認識結果の交換方法に対応する。上記図２２に示す実施例１の方法では，文字認識結果が参照テーブル上に登録されている被交換対象文字であり，且つテーブルに登録されている交換対象文字に一致する文字が文字認識の過程で候補として認識されている場合に，文字認識結果の交換を行っているが，この実施例３では，この交換の際に図２６のステップＳ２に示すように，被交換対象の文字を構成する線分が，交換対象の文字を構成する線分に含まれているか判別し，含まれている場合に，文字認識結果を交換する（図２６のＳ３）。
【００８２】
例えば，上記図２９の(a) の事例のように「１」が文字認識結果として出力された場合に，被交換対象文字のテーブル（図２３，図２５参照）に「１」が登録されているので，交換対象文字「４」，「７」，「９」のうちいずれかの認識候補があるかを調べる。認識候補がある場合には，その候補を構成する線分に「１」を構成する線分が含まれていれば認識結果の交換を行う。これにより，文字の部分パターンにより誤った文字認識結果が得られた場合に，これを正しい文字に置き替えることができ，文字認識の信頼性を高めることができる。
【００８３】
また，上記図２９の(c) に示すように「０」に横線が交わることにより，「６」が文字認識結果とされた場合には，「０」が認識候補として存在する場合には，「６」を形成する図形の凸形の線分を求め，凸形の形成に寄与する線分を抽出し，これが「０」の認識候補を形成する線分に含まれ場合には，「０」を被交換対象文字，「６」を交換対象文字として，認識結果の交換を行うことができる。更に，「０」に横罫線が交わった図形に対し，「８」が文字認識結果として出力された場合にも，同様の処理により，「０」を被交換対象文字，「８」を交換対象文字として，認識結果の交換を行えばよい。
【００８４】
図２７は認識結果交換の実施例４のフローチャートである。
【００８５】
この認識結果交換の実施例４のフローチャートは上記図２について説明した「まる４」の文字認識結果の交換方法に対応する。この実施例４では，上記の実施例２（図２４）及び実施例３（図２６）を組み合わせたものである。すなわち，文字認識結果がテーブル上に登録されている被交換対象文字であるか判別し（図２７のＳ１），登録されている場合は，テーブルに登録されている交換対象文字と一致する文字が認識過程で候補として認識され，且つ交換対象となる文字の文字認識による信頼度が一定値（図２５のテーブル参照）より高く，しかも被交換対象の文字を構成する線分が，交換対象の文字を構成する線分に含まれるか判別し（図２７のＳ２），この条件を全て満たす場合に，文字認識結果を交換する（図２７のＳ３）。
【００８６】
この実施例４により，文字認識結果を交換する修正の信頼性を更に高めることが可能となる。
【００８７】
上記図８乃至図１３，図２１，図２２，図２４，図２６及び図２７に示した各フローや，動作説明で示す機能は，図３に示すような情報処理装置（コンピュータ）において，メモリ，ＲＯＭ，フレキシブルディスク等の記録媒体に記録されたプログラムまたは通信装置を介して外部から伝送されてメモリにローディングされたプログラムにより実行することができる。
【００８８】
（付記１）  プレプリント情報を含む帳票等に記入された文字を認識するための文字認識方法において，前記プレプリント情報と記入文字を読取って得た画像から認識すべき文字が存在する領域の画像の線分に対して，前記領域内の画像中の全ての線分を個別に細線化し，前記線分の中から端点・交点を抽出し，前記細線化画像を前記端点から前記交点まで，前記端点から前記端点まで，または前記交点から前記交点までの線分に分割し，前記各線分を前記入力された原画像を参照して元の線幅に拡張することで線分を個別に分割し，前記分割された複数の線分の組合せを変えて認識画像を作成し，作成した認識画像について文字認識を行って信頼度と共に認識結果を記憶し，前記線分の組合せを順次変更して全ての組合せについて上記の認識を行って，最大の信頼度を持つ認識結果を出力し，前記文字認識結果が他の文字パターンに対する誤認識の可能性が高いものとして予め登録されている文字の場合，前記の線分の組合せを変更しながら文字認識を行う過程で前記他の文字についても認識候補が得られていると，前記文字認識結果を前記他の文字と交換することを特徴とする文字認識方法。
【００８９】
（付記２）  付記１において，前記文字認識結果の交換は，前記他の文字に対する文字認識の信頼度が予め設定された一定値以上の場合にのみ行うことを特徴とする文字認識方法。
【００９０】
（付記３）  付記１において，前記文字認識結果の交換は，前記他の文字の認識候補を構成する線分に当該文字認識結果の線分が含まれる場合にのみ行うことを特徴とする文字認識方法。
【００９１】
（付記４）  付記１において，前記文字認識結果の交換は，前記他の文字に対する文字認識の信頼度が予め設定された一定値以上であり，且つ前記他の文字の認識候補を構成する線分に当該文字認識結果の線分が含まれる場合にのみ行うことを特徴とする文字認識方法。
【００９２】
（付記５）  プレプリント情報を含む帳票等に記入された文字を読取ることにより得た画像の認識すべき文字が存在する領域の画像を線分に対して，前記領域内の画像中の全ての線分を個別に細線化し，前記線分の中から端点・交点を抽出し，前記細線化画像を前記端点から前記交点まで，前記端点から前記端点まで，または前記交点から前記交点までの線分に分割し，前記各線分を前記入力された原画像を参照して元の線幅に拡張することで線分を個別に分割し，前記分割された複数の線分の組合せを変えて認識画像を作成し，作成した認識画像について文字認識を行って信頼度と共に認識結果を記憶し，前記線分の組合せを順次変更して全ての組合せについて認識を行って，最大の信頼度を持つ認識結果を出力し，前記出力された文字認識結果が他の文字パターンに対する誤認識の可能性が高いものとして予め登録されている文字であることが検出されると，前記文字認識過程で得られた他の認識候補の文字が得られていると，前記文字認識結果を前記他の文字と交換する機能をコンピュータに実行させることを特徴とするプログラム。
【００９３】
（付記６）  プレプリント情報を含む帳票等に記入された文字を読取ることにより得た画像の認識すべき文字が存在する領域の画像を線分に対して，前記領域内の画像中の全ての線分を個別に細線化し，前記線分の中から端点・交点を抽出し，前記細線化画像を前記端点から前記交点まで，前記端点から前記端点まで，または前記交点から前記交点までの線分に分割し，前記各線分を前記入力された原画像を参照して元の線幅に拡張することで線分を個別に分割し，前記分割された複数の線分の組合せを変えて認識画像を作成し，作成した認識画像について文字認識を行って信頼度と共に認識結果を記憶し，前記線分の組合せを順次変更して全ての組合せについて認識を行って，最大の信頼度を持つ認識結果を出力し，前記出力された文字認識結果が他の文字パターンに対する誤認識の可能性が高いものとして予め登録されている文字であることが検出されると，前記文字認識過程で得られた他の認識候補の文字が得られていると，前記文字認識結果を前記他の文字と交換する機能をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体。
【符号の説明】
【００９４】
１０      画像取得部
１１      認識領域指定部
１２      認識領域内線分分割部
１２０    細線化手段
１２１    端点・交点抽出手段
１２２    線分分割手段
１２３    線幅拡張手段
１３      線分組合せ文字認識部
２        メモリ
２ａ      原画像
２ｂ      指定領域画像
２ｃ      分割線分画像
【図１】
0004878057.tif 000002
【図２】
0004878057.tif 000003
【図３】
0004878057.tif 000004
【図４】
0004878057.tif 000005
【図５】
0004878057.tif 000006
【図６】
0004878057.tif 000007
【図７】
0004878057.tif 000008
【図８】
0004878057.tif 000009
【図９】
0004878057.tif 000010
【図１０】
0004878057.tif 000011
【図１１】
0004878057.tif 000012
【図１２】
0004878057.tif 000013
【図１３】
0004878057.tif 000014
【図１４】
0004878057.tif 000015
【図１５】
0004878057.tif 000016
【図１６】
0004878057.tif 000017
【図１７】
0004878057.tif 000018
【図１８】
0004878057.tif 000019
【図１９】
0004878057.tif 000020
【図２０】
0004878057.tif 000021
【図２１】
0004878057.tif 000022
【図２２】
0004878057.tif 000023
【図２３】
0004878057.tif 000024
【図２４】
0004878057.tif 000025
【図２５】
0004878057.tif 000026
【図２６】
0004878057.tif 000027
【図２７】
0004878057.tif 000028
【図２８】
0004878057.tif 000029
【図２９】
0004878057.tif 000030