(57)【要約】【課題】手書きの文字列から各文字を切り出して文字認識結果を得る。【解決手段】文字列画像を取得して輪郭形状に基づいて複数の基本セグメントに分割する工程と、基本セグメントを文字セグメントとすると共に基本セグメントを複数組み合わせた文字セグメントを生成する工程と、各文字セグメントと文字認識結果の類似度を示す文字コストを求めると共に接続線の可能性がある文字セグメントに前記文字コストに加えて接続線コストを付与する処理及びノイズの可能性がある文字セグメントに前記文字コストに加えてノイズコストを付与する処理の少なくともいずれか一方を行う工程と、文字コストと接続線コスト又はノイズコストの少なくともいずれか一方とに基づいて各文字セグメントを組み合わせる最適経路を探索する工程と、探索された最適経路を形成する文字セグメントに基づいて文字列から各文字を切り出す工程を実行して文字認識結果を得る。【選択図】  図１
2014130510.tif 000002
【特許請求の範囲】
【請求項１】
手書きの文字列から各文字を切り出して認識する文字認識方法であって、
前記文字列が含まれる文字列画像を取得する画像取得工程と、
前記文字列画像の輪郭形状に基づいて前記文字列画像を複数の基本セグメントに分割する画像分割工程と、
前記基本セグメントを文字セグメントとすると共に前記基本セグメントを複数組み合わせた文字セグメントを生成する文字セグメント生成工程と、
生成された各文字セグメントと該文字セグメントを文字認識して得られた文字との類似度を示す文字コストを求めると共に、接続線の可能性がある文字セグメントに前記文字コストに加えて接続線コストを付与する処理及びノイズの可能性がある文字セグメントに前記文字コストに加えてノイズコストを付与する処理の少なくともいずれか一方を行うセグメント評価工程と、
前記セグメント評価工程で得られた文字コストと、接続線コスト及びノイズコストの少なくともいずれか一方とに基づいて各文字セグメントを組み合わせる最適経路を探索する最適経路探索工程と、
前記最適経路探索工程で探索された最適経路を形成する文字セグメントに基づいて前記文字列から各文字を切り出す文字切出工程と
を含んだことを特徴とする文字認識方法。
【請求項２】
前記最適経路探索工程で、最適経路であるか否かを評価する評価コストを算出する際に、
接続線の可能性がある文字セグメントを通る経路では前記文字コスト及び前記接続線コストから２つの評価コストを算出して以降の経路探索に利用して、
ノイズの可能性がある文字セグメントを通る経路では前記文字コスト及び前記ノイズコストから２つの評価コストを算出して以降の経路探索に利用する
ことを特徴とする請求項１に記載の文字認識方法。
【請求項３】
前記最適経路探索工程では、文字として認識された前記文字セグメントと、隣接する文字セグメントとの接続状態に応じて、前記文字セグメントの文字コストにペナルティを付加することを特徴とする請求項１又は２に記載の文字認識方法。
【請求項４】
前記最適経路探索工程では、最適経路であるか否かを評価する評価コストを、経路上で認識された文字の数に基づいて算出することを特徴とする請求項１、２又は３に記載の文字認識方法。
【請求項５】
前記画像分割工程は、
前記文字列画像から輪郭を抽出する輪郭抽出工程と、
抽出した輪郭上にある画素を注目画素として該注目画素から所定距離だけ離れた前記輪郭上の２点とを結んだ線分の成す角度を前記注目画素の角度として算出する角度算出工程と、
前記注目画素の角度が所定値以下である場合に切断開始点として特定する切断開始点特定工程と、
前記切断開始点特定工程で特定された切断開始点と、前記輪郭上にある画素との距離を算出して、該距離の変化から極小値を示す画素を切断終点として特定する切断終点特定工程と、
前記切断開始点と前記切断終点とを結ぶ切断線により前記文字列画像を切断して分割する工程と
を含んだことを特徴とする請求項１〜４のいずれか１項に記載の文字認識方法。
【請求項６】
手書きの文字列から各文字を切り出して認識する文字認識装置であって、
前記文字列が含まれる文字列画像を取得する入力画像取得部と、
前記文字列画像の輪郭形状に基づいて前記文字列画像を複数の基本セグメントに分割する入力画像分割部と、
前記基本セグメントを文字セグメントとすると共に前記基本セグメントを複数組み合わせた文字セグメントを生成するセグメント生成部と、
生成された各文字セグメントと該文字セグメントを文字認識して得られた文字との類似度を示す文字コストを求めると共に、接続線である可能性がある文字セグメントに前記文字コストに加えて接続線コストを付与する処理及びノイズの可能性がある文字セグメントに前記文字コストに加えてノイズコストを付与する処理の少なくともいずれか一方を行うセグメント評価部と、
前記セグメント評価部によって得られた文字コストと、接続線コスト及びノイズコストの少なくともいずれか一方とに基づいて各文字セグメントを組み合わせる最適経路を探索する最適経路探索部と、
前記最適経路探索部によって探索された最適経路を形成する各文字セグメントに基づいて前記文字列から各文字を切り出す文字切出部と
を備えることを特徴とする文字認識装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、手書きの文字列を撮像した文字列画像から各文字を切り出して文字認識結果を得る文字認識方法及び文字認識装置に関する。
【背景技術】
【０００２】
従来、帳票を撮像した画像から帳票に記入された文字を自動的に文字認識する装置が利用されている。近年は枠内に文字を一文字ずつ記入する文字枠ではなく、１つの記入枠内に複数の文字を自由に記入できる帳票が増えている。このような帳票の記入枠内では、隣接する文字が互いに接続されるように、続けて書かれることも多い。文字認識を行う際には、各文字を接続する線は不要であり、各文字のみを切り出すことが望ましい。このため、続けて書かれた手書きの文字列から各文字を切り出すために、様々な技術が利用されている。
【０００３】
例えば、特許文献１では、隣接する文字を接続する続き線を抽出することにより、各文字を切り出す方法が開示されている。具体的には、文字列を形成する画素の中から横方向に長いパターンを抽出して、これが水平続き線であるか否かを判定する。そして、水平続き線である場合には、該水平続き線から文字列の輪郭を探索して垂直方向に分割する垂直分離線の位置を決定する。垂直分離線により一文字毎に分割した後、得られた文字がゼロである場合には続き線を消去することにより、各文字を切り出すものである。
【０００４】
また、特許文献２では、候補文字の組み合わせを求めることにより、各文字を切り出す方法が開示されている。具体的には、文字列を複数の部分に分割して、隣接する文字を接続する文字線を含む候補文字、文字線を含まない候補文字等、複数の候補文字を生成する。そして、各候補文字の組み合わせから候補文字ラティスを生成して、該候補文字ラティス上で、各候補文字の文字認識結果を評価する評価値に基づいて最適経路を探索する。そして、最適経路に基づいて各文字を切り出すものである。
【０００５】
また、非特許文献１では、文字列を、一文字よりも細かい基本セグメントに細かく分割した後、各文字を形成する基本セグメントの組合せを求めることにより、各文字を切り出す方法が開示されている。具体的には、文字列を細かく分割した基本セグメントの組み合わせをグラフ構造化して候補ラティスを生成する。そして、基本セグメントを組み合わせて構成される各候補文字の文字認識結果を評価しながら基本セグメントを組み合わせる最適経路を探索する。そして、最適経路に基づいて各文字を切り出すものである。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第３１８８５８０号公報
【特許文献２】特開２００９−１９９１０２号公報
【非特許文献】
【０００７】
【非特許文献１】登内洋次郎著、「高精度オンライン枠なし文字認識技術」、東芝レビューＶｏｌ．６６、Ｎｏ．４、（２０１１）、ｐ．５６−５７
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、上記従来技術によれば、手書きされた文字の状態等によっては各文字を正確に切り出せない場合があった。例えば、特許文献１に記載の方法では、隣接する文字をつなぐ続き線（以下では接続線と記載する）がかすれて書かれているために、接続線が接続線として認識されず、各文字を正確に切り出せない場合があった。具体的には、例えば接続線がかすれて途中で切断された状態で書かれていると、接続線が文字として認識され、文字「−（ハイフン）」として切り出される場合があった。
【０００９】
また、特許文献２及び非特許文献１に記載の方法では、ラティス上で最適経路を探索するためにＤＰマッチング法（動的計画法（Ｄｙｎａｍｉｃ  Ｐｒｏｇｒａｍｍｉｎｇ）によるマッチング手法）が利用され、各候補文字の文字認識結果に基づいて、最適経路の探索が行われる。例えば、候補文字が文字認識結果として得られた文字である可能性が高いほど小さい値を示す認識コストを利用する。そして、各候補文字の認識コストに基づいて、認識コストが最小となるように候補文字をつなぐ経路をたどってゆくことによって最適経路を探索する。言い換えれば、この手法では、各候補文字の認識コストが定まっていなければ最適経路を探索することができない。このため、文字「−（ハイフン）」が含まれる可能性のある文字列で、接続線とハイフンとが酷似しているために文字認識時に接続線であるのかハイフンであるのかを正確に判定できず、誤認識された状態で最適経路が探索されて、最終的に誤った文字認識結果が得られる場合がある。
【００１０】
本発明は、上述した従来技術による問題点を解消するためになされたもので、文字列が接続線で接続された文字を含む場合でも、接続線と文字とを分割して各文字を正確に切り出して文字認識結果を得ることができる文字認識方法及び文字認識装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上述した課題を解決し、目的を達成するために、本発明は、手書きの文字列から各文字を切り出して認識する文字認識方法であって、前記文字列が含まれる文字列画像を取得する画像取得工程と、前記文字列画像の輪郭形状に基づいて前記文字列画像を複数の基本セグメントに分割する画像分割工程と、前記基本セグメントを文字セグメントとすると共に前記基本セグメントを複数組み合わせた文字セグメントを生成する文字セグメント生成工程と、生成された各文字セグメントと該文字セグメントを文字認識して得られた文字との類似度を示す文字コストを求めると共に、接続線の可能性がある文字セグメントに前記文字コストに加えて接続線コストを付与する処理及びノイズの可能性がある文字セグメントに前記文字コストに加えてノイズコストを付与する処理の少なくともいずれか一方を行うセグメント評価工程と、前記セグメント評価工程で得られた文字コストと、接続線コスト及びノイズコストの少なくともいずれか一方とに基づいて各文字セグメントを組み合わせる最適経路を探索する最適経路探索工程と、前記最適経路探索工程で探索された最適経路を形成する文字セグメントに基づいて前記文字列から各文字を切り出す文字切出工程とを含んだことを特徴とする。
【００１２】
また、本発明は、上記発明において、前記最適経路探索工程で、最適経路であるか否かを評価する評価コストを算出する際に、接続線の可能性がある文字セグメントを通る経路では前記文字コスト及び前記接続線コストから２つの評価コストを算出して以降の経路探索に利用して、ノイズの可能性がある文字セグメントを通る経路では前記文字コスト及び前記ノイズコストから２つの評価コストを算出して以降の経路探索に利用することを特徴とする。
【００１３】
また、本発明は、上記発明において、前記最適経路探索工程では、文字として認識された前記文字セグメントと、隣接する文字セグメントとの接続状態に応じて、前記文字セグメントの文字コストにペナルティを付加することを特徴とする。
【００１４】
また、本発明は、上記発明において、前記最適経路探索工程では、最適経路であるか否かを評価する評価コストを、経路上で認識された文字の数に基づいて算出することを特徴とする。
【００１５】
また、本発明は、上記発明において、前記画像分割工程は、前記文字列画像から輪郭を抽出する輪郭抽出工程と、抽出した輪郭上にある画素を注目画素として該注目画素から所定距離だけ離れた前記輪郭上の２点とを結んだ線分の成す角度を前記注目画素の角度として算出する角度算出工程と、前記注目画素の角度が所定値以下である場合に切断開始点として特定する切断開始点特定工程と、前記切断開始点特定工程で特定された切断開始点と、前記輪郭上にある画素との距離を算出して、該距離の変化から極小値を示す画素を切断終点として特定する切断終点特定工程と、前記切断開始点と前記切断終点とを結ぶ切断線により前記文字列画像を切断して分割する工程とを含んだことを特徴とする。
【００１６】
また、本発明は、手書きの文字列から各文字を切り出して認識する文字認識装置であって、前記文字列が含まれる文字列画像を取得する入力画像取得部と、前記文字列画像の輪郭形状に基づいて前記文字列画像を複数の基本セグメントに分割する入力画像分割部と、前記基本セグメントを文字セグメントとすると共に前記基本セグメントを複数組み合わせた文字セグメントを生成するセグメント生成部と、生成された各文字セグメントと該文字セグメントを文字認識して得られた文字との類似度を示す文字コストを求めると共に、接続線である可能性がある文字セグメントに前記文字コストに加えて接続線コストを付与する処理及びノイズの可能性がある文字セグメントに前記文字コストに加えてノイズコストを付与する処理の少なくともいずれか一方を行うセグメント評価部と、前記セグメント評価部によって得られた文字コストと、接続線コスト及びノイズコストの少なくともいずれか一方とに基づいて各文字セグメントを組み合わせる最適経路を探索する最適経路探索部と、前記最適経路探索部によって探索された最適経路を形成する各文字セグメントに基づいて前記文字列から各文字を切り出す文字切出部とを備えることを特徴とする。
【発明の効果】
【００１７】
本発明によれば、文字列を文字である可能性のある複数の文字セグメントに分割して、文字セグメントを組み合わせる最適経路を探索する際に、文字セグメントが接続線である可能性がある場合には、文字である場合と接続線である場合との両方の可能性を残した状態で最適経路を探索することができる。また、文字セグメントがノイズである可能性がある場合にも、同様に、文字である場合とノイズである場合との両方の可能性を残した状態で最適経路を探索することができる。これにより、文字セグメントが、文字、接続線及びノイズのいずれであるかを正確に判定して、文字列から各文字を切り出して、正確な文字認識結果を得ることができる。
【００１８】
また、本発明によれば、各文字セグメントを通過する最適経路を探索する際に、接続線又はノイズの可能性がある文字セグメントでは、文字である場合の文字コストと、接続線である場合の接続線コスト又はノイズである場合のノイズコストとを利用して、最適経路であるか否かを評価する評価コストを算出することができる。そして、これを中間コストとして保持した状態で、経路上で下流側にある文字セグメントを考慮して最適経路の探索を行うことができるので、文字セグメントが文字、接続線及びノイズのいずれであるかを正確に判定して、文字列から各文字を切り出して、正確な文字認識結果を得ることができる。
【００１９】
また、本発明によれば、一文字を分割した部分領域が単独文字として誤認識されることを回避するために、隣接する文字セグメントと接続されている場合に文字コストにペナルティを加えて評価コストを算出することにより、各文字セグメントが一文字であるか一文字を分割した部分領域であるかを正確に判定することができる。
【００２０】
また、本発明によれば、例えば、最適経路であるか否かを各文字セグメントの文字コストの平均値で評価する場合に、経路上に含まれる文字数を考慮して経路探索を行うので、最適経路を正確に探索することができる。
【００２１】
また、本発明によれば、文字列画像を基本セグメントに分割する際に、文字列画像の輪郭を形成する画素の中から筆跡の方向が変化した可能性のある切断開始点と該切断開始点に対応する切断終点とを特定して、切断開始点と切断終点とを結ぶ切断線により文字列画像を分割するので、文字列画像を文字又は文字を形成する部分領域に分割して、最適経路の探索を正確に行うことができる。
【図面の簡単な説明】
【００２２】
【図１】図１は、本実施形態に係る文字認識装置の構成概略を説明するブロック図である。
【図２】図２は、文字列画像を基本セグメントに分割する方法を説明する図である。
【図３】図３は、文字列画像を基本セグメントに分割する切断線を構成する切断開始点及び切断終点について説明する図である。
【図４】図４は、文字列画像を切断する切断線を集約する方法について説明する図である。
【図５】図５は、文字列画像を基本セグメントに分割した例を示す図である。
【図６】図６は、文字列画像から文字セグメントを生成して各ノードを結ぶ探索経路を設定する方法について説明する図である。
【図７】図７は、接続線を含む各文字セグメントのコストについて説明する図である。
【図８】図８は、最適経路の探索時に各ノードで保存される情報について説明する図である。
【図９】図９は、各文字セグメントのコストに基づいて最適経路を探索する方法について説明する図である。
【図１０】図１０は、最適経路として得られた経路をバックトレースする方法について説明する図である。
【図１１】図１１は、各文字セグメントのコストの平均値から最適経路を探索する方法を説明する図である。
【図１２】図１２は、実施例２で処理対象とする文字列画像から文字セグメントを生成して、文字数を考慮した探索経路を設定する方法について説明する図である。
【図１３】図１３は、文字数を考慮した探索経路で最適経路を探索する方法について説明する図である。
【図１４】図１４は、最適経路として得られた経路のバックトレースを示す図である。
【図１５】図１５は、実施例３で処理対象とする文字列画像について説明する図である。
【図１６】図１６は、図１５に示す画像について実施例２に係る方法で最適経路を探索した結果を示す図である。
【図１７】図１７は、文字セグメントに付与するペナルティについて説明する図である。
【図１８】図１８は、図１５に示す画像についてペナルティを考慮して最適経路を探索した結果を示す図である。
【図１９】図１９は、ペナルティ及び局所的制約の有無により最適経路の探索結果が異なることを説明する図である。
【図２０】図２０は、実施例３で処理対象とする別の文字列画像の例を示す図である。
【図２１】図２１は、図２０に示す文字列画像で設定される探索経路を示す図である。
【図２２】図２２は、図２０に示す文字列画像から生成された各文字セグメントの文字認識結果及びコストを示す図である。
【図２３】図２３は、図２０に示す領域Ｄ１で行われる経路探索を説明する図である。
【図２４】図２４は、図２０に示す領域Ｄ２で行われる経路探索を説明する図である。
【発明を実施するための形態】
【００２３】
以下に添付図面を参照して、この発明に係る文字認識方法及び文字認識装置の好適な実施例について詳細に説明する。この発明に係る文字認識方法は、平仮名、カタカナ、漢字、数字、アルファベット等、各種の文字に適用可能であるが、以下では、数字を例に説明を行うこととする。
【実施例１】
【００２４】
図１は、本実施例に係る文字認識方法を実現する文字認識装置１の構成概略を示すブロック図である。文字認識装置１は、外部から入力される文字列画像を受けて、この文字列画像から文字認識した各文字を切り出して文字画像として外部へ出力したり、各文字を文字認識した結果を出力したりする機能を有している。
【００２５】
文字認識装置１は、入力画像取得部１１と、入力画像分割部１２と、セグメント生成部１３と、セグメント評価部１４と、最適経路探索部１５と、認識結果出力部１６とを有している。入力画像取得部１１は外部から入力される文字列画像を受信する機能を有し、入力画像分割部１２は入力画像取得部１１で取得された文字列画像を最小単位の基本セグメントに分割する機能を有する。セグメント生成部１３は、入力画像分割部１２で分割された基本セグメントを文字セグメントとすると共に、複数の基本セグメントを組み合わせて文字セグメントを生成する機能を有する。セグメント評価部１４は、セグメント生成部１３で生成された各文字セグメントの文字認識を行って、各文字セグメントと文字認識結果との類似度を評価する文字コストを算出する機能を有する。最適経路探索部１５は、文字セグメントの組み合わせとして設定された探索経路の中から最適経路を探索する機能を有する。最適経路探索部１５によって探索された最適経路上にある各文字セグメントが、入力された文字列画像から切り出される各文字、すなわち、文字列に含まれる各文字の文字認識結果となる。認識結果出力部１６は、文字切出部として機能して、最適経路探索部１５によって探索された最適経路に基づいて、文字列画像から各文字が含まれる文字画像を切り出して外部へ出力したり、切り出した各文字画像の文字認識結果を出力したりする機能を有している。なお、文字認識装置１は、専用のハードウェア及びソフトウェアプログラムにより実現される態様であってもよいし、汎用のコンピュータ装置上で専用のソフトウェアプログラムを実行することにより実現される態様であっても構わない。
【００２６】
以下では、入力画像取得部１１によって取得された文字列画像を入力画像分割部１２によって基本セグメントに分割する処理から、最適経路探索部１５によって最適経路を探索して、文字列に含まれる各文字を文字認識した結果が得られるまでの処理の詳細について説明する。
【００２７】
次に、図２〜図５を参照しながら、入力された文字列画像を基本セグメントに分割する処理について説明する。図２は、文字列画像を基本セグメントに分割する切断線の起点となる切断開始点を決定する処理を説明する図である。
【００２８】
図２（ａ）は、入力画像取得部１１によって取得された文字列画像を示している。この文字列画像では、３文字から成る文字列「２００」が、隣接する文字を接続する接続線によって接続された状態で書かれている。具体的には、１文字目の文字「２」と２文字目の文字「０」の間、２文字目の文字「０」と３文字目の文字「０」の間が接続線によって接続されている。
【００２９】
入力画像分割部１２は、この文字列画像から、図２（ｂ）に示すように、輪郭を形成する画素のみを抽出する。そして、輪郭を形成する各画素位置で、その画素が切断開始点であるか否かを判定する。
【００３０】
図２（ｃ）は、同図（ｂ）に矢印で示した画素Ａ１が切断開始点であるか否かを判定する処理を説明する図である。図２（ｃ）では、各画素を円形状で示している。図２（ｃ）に示すように、判定対象となる画素Ａ１から所定距離だけ離れた位置にある輪郭上の２つの画素を、各々画素Ｐ１及び画素Ｐ２とする。そして、画素Ａ１と画素Ｐ１を結ぶ線分と、画素Ａ１と画素Ｐ２を結ぶ線分との間の角度（図２（ｂ）に示す輪郭外側の角度）をθとする。そして、この角度θが所定角度以下である場合に、画素Ａ１は切断開始点であると判定する。こうして、文字列の輪郭を形成する各画素位置で判定を行って、切断開始点となる画素を抽出すると、例えば、図２（ｄ）に白丸で示すように、複数の切断開始点が抽出される。
【００３１】
図２（ｃ）に示す角度θは、輪郭を形成する画素の接線方向の変化量を示している。すなわち、この角度θが小さいほど、この画素位置で輪郭が鋭角に曲がっていることを示す。例えば、一文字を書く間に筆跡の方向が変わる点、文字を書いた後に接続線を書くために筆跡の方向が変わる点、接続線を書いた後に文字を書くために筆跡の方向が変わる点等で、輪郭の成す角度が鋭角となる。全ての接続線を左右の文字から分割するため、角度θが所定角度以下である場合には、接続線とは無関係に一文字の中に含まれる画素を含めて、全てを切断開始点として抽出するものである。
【００３２】
入力画像分割部１２は、切断開始点を抽出した後、この切断開始点に対応する切断終点を探索する。切断開始点と対応する切断終点とを結ぶ線分を切断線として、文字列画像が切断されて、切断後の各領域が基本セグメントとなる。図３は、切断開始点Ａ１に対応する切断終点の探索方法を説明する図である。図３に矢印で示したように、切断開始点Ａ１から、輪郭を形成する画素を順にたどりながら、各画素位置で切断開始点Ａ１からの距離を求める。そして、求めた切断開始点Ａ１からの距離をグラフ化した際に、距離が極小値をとる位置にある画素を切断終点として選択する。図３では、切断開始点を円形状、切断終点を矩形形状で示している。こうして、各切断開始点に対応する切断終点を探索した後、切断開始点と切断終点とを切断候補ペアとして、各切断候補ペアを評価する。
【００３３】
例えば、図３に示すように、切断候補ペアである切断開始点Ａ１と切断終点ａ１１とを線分で結んだときに、破線で示したように、文字列画像の輪郭の外側（図２（ａ）に示す文字列画像の黒画素以外の領域）を通る場合には、この切断候補ペアは文字列画像を切断するものではないと判定する。そして、画素ａ１１を切断終点から除外する。これに対して、切断開始点Ａ１と切断終点ａ１２との切断候補ペアでは、これらを結ぶ線分が、文字列画像の輪郭から文字列画像内部のみを通っているので、この切断候補ペアは文字列画像を切断するのに適していると判定して、画素ａ１２を切断終点として維持する。こうして、不要な切断終点が除外された後、図３に実線で示したように、各切断開始点（白丸）と対応する切断終点（白矩形）とを結ぶ切断線が設定される。
【００３４】
不要な切断終点を除いた後も、複数の切断線が近接して存在する場合や、複数の切断線が交差した状態で存在する場合があるので、これらを集約して、最終的な切断線を決定する。図４は、切断線を集約する方法を説明する図である。図４（ａ）に示す矩形領域Ｂを拡大したものが同図（ｂ）であり、同図（ｃ）は同図（ｂ）に示す切断線を集約した結果を示している。なお、図４では、切断開始点（Ａ２及びＡ３）を白丸で示し、切断終点（ａ２１、ａ２２、ａ２３、ａ３１、ａ３２及びａ３３）を白矩形で示している。また、各切断開始点と対応する各切断終点とを結ぶ切断線ｃ３〜ｃ８を実線で示し、この切断線上に位置する画素を矩形で示している。
【００３５】
ここで、近接とは、切断候補ペアである切断開始点Ｈと切断終点Ｉによる線分を切断線ＨＩ、別の切断候補ペアである切断開始点Ｊと切断終点Ｋによる線分を切断線ＪＫとした場合に、線分ＨＪ及びＩＫの長さが所定値以下である場合、又は、線分ＨＫ及びＩＪの長さが所定値以下である場合を言う。これらの長さが予め設定された所定値以下である場合には、切断線ＨＩとＪＫのうち、長い方の切断線が除外される。具体的には、例えば、図４（ｂ）に示したように、切断候補ペアである切断開始点Ａ３と切断終点ａ３３とを結ぶ切断線ｃ３と、切断開始点Ａ３と切断終点ａ３２とを結ぶ切断線ｃ４とがあって、切断開始点Ａ３が共通しており（距離ゼロ）、切断終点ａ３２とａ２２との間が所定値以下の距離である場合に、２本の切断線ｃ３及びｃ４は近接していると判定される。そして、２本の切断線ｃ３及びｃ４のうち、長い方の切断線ｃ３を除外するとの判定がなされて、画素ａ３３が切断終点から除外される。なお、交差した切断線がある場合にも、同様に、長い方の切断線が除外される。
【００３６】
切断線の集約を行う際に、水平に近い切断線がある場合には、この切断線が優先して除外される。文字列が、横方向に並んだ文字によって形成されるものであり、各文字を切断する方向及び文字と接続線とを切断する方向はいずれも縦方向になることから、横方向の切断線を除外するものである。すなわち、文字列を形成する文字の並び方向と同一方向の切断線が除外される。例えば、図４（ｂ）では、切断線ｃ７とｃ８とが近接している。この場合、水平である切断線ｃ７を除外するとの判定がなされて、画素ａ２１が切断終点から除外される。また、同様に、交差する切断線ｃ５及びｃ６のうち、水平である切断線ｃ５を除外するとの判定がなされて、画素ａ３１が切断終点から除外される。こうして切断線を集約した結果、図４（ｂ）に示す６本の切断線ｃ３〜ｃ８が３本の切断線ｃ４、ｃ６及びｃ８に集約されて、同図（ｃ）に示すように、領域Ｂの文字列画像が領域Ｂ１〜Ｂ４の４つの領域に分割されることになる。
【００３７】
図５は、切断線によって基本セグメントに分割された文字列画像の例を示す図である。このように、入力画像分割部１２によって文字列画像を分割する切断線が決定されると、例えば、図２（ａ）に示す文字列画像が、図５に示すようにＢ０〜Ｂ１４の１５の領域に分割される。このとき分割された各領域が基本セグメントとなる。
【００３８】
以下では、文字列から、該文字列を形成する各文字を切り出して文字認識結果を得る方法について詳細を説明する。図６は、文字列画像から文字セグメントを生成して各ノードを結ぶ探索経路を設定する方法について説明する図である。なお、図６〜図１４では、説明を簡単にするため、２つの文字「０（ゼロ）」が接続線によって接続して書かれた場合を例に説明する。
【００３９】
図６（ａ）は入力画像取得部１１によって取得された文字列画像を示し、同図（ｂ）はこの文字列画像が入力画像分割部１２によって基本セグメントＳ１〜Ｓ３に分割された結果を示している。ここで、図６（ｂ）に示すＳ０は、最適経路探索時の開始点を示す仮のセグメントである。また、図６（ｃ）は、セグメント生成部１３によって生成された文字セグメントに基づいて、最適経路探索部１５によって設定された探索経路を示す図である。セグメント生成部１３は、各基本セグメントを文字セグメントとすると共に、複数の基本セグメントを組み合わせて文字セグメントを生成する。すなわち、基本セグメントで取り得る組み合わせの全てを文字セグメントとする。例えば、図６（ｃ）では、文字セグメントＳ１〜Ｓ３に加えて、Ｓ１及びＳ２を組み合わせたもの、Ｓ２及びＳ３を組み合わせたもの、Ｓ１〜Ｓ３全てを組み合わせたものが、それぞれ文字セグメントとされる。また、探索経路についても、同様に、各文字セグメントの組み合わせから取り得る全ての経路が探索経路として設定される。
【００４０】
図６（ｃ）に示したｎ０〜ｎ３は、基本セグメントＳ０〜Ｓ３に対応するノードを示している。各ノードｎ０〜ｎ３をつなぐ経路上に対応する各文字セグメントがあって、経路を右方向にたどってゆくことで文字セグメントの組合せが表現される。例えば、最適経路がノードｎ０からノードｎ１に至る経路であると判定された場合には、文字列画像に含まれる最初の文字が、この経路上にある文字セグメントＳ１であると判定されたことを示し、最適経路がノードｎ０からノードｎ２に至る経路であると判定された場合には、文字列画像に含まれる最初の文字が、この経路上にある、基本セグメントＳ１及びＳ２を組み合わせた文字セグメント（Ｓ１＋Ｓ２）であると判定されたことを示す。
【００４１】
こうして、文字列画像を分割した基本セグメントから文字セグメントを生成して、各文字セグメントに基づいて探索経路が設定される一方で、セグメント評価部１４による文字セグメントの評価が行われる。具体的には、各文字セグメントの文字認識処理を行って、各文字セグメントと得られた文字認識結果との類似度を評価する評価値であるコストを算出して、これを文字コストとする。なお、文字コストは、文字セグメントが文字認識結果として得られた文字である可能性を評価する評価値であれば、その算出方法や内容は特に限定されず、点数、距離、確率等、様々な数値を利用することができる。以下では、文字コストが、文字認識結果と文字セグメントとが類似するほど（正しく文字認識された可能性が高いほど）小さい値を示す数値であるものとして説明を続ける。
【００４２】
図７は、セグメント評価部１４によって得られた各文字セグメントのコストと、図６（ｃ）に示す探索経路との関係を示す図である。本実施例では、最適経路を求めるためのコストが、経路上にある各文字セグメントのコストの和で定義され、探索経路上で取り得る経路のうち、コストの和が最小となる経路が最適経路となる。
【００４３】
ここで、図７のノードｎ１からノードｎ２に至る経路上に示したように、文字セグメントＳ２は、コストの値が１０２の文字「−（ハイフン）」又はコストの値が１０の接続線として取り扱われる。なお、以下では、文字コストと区別するために、接続線とした場合のコストを接続線コストと記載する。
【００４４】
セグメント評価部１４は、文字セグメントの文字認識結果として、例えば、文字「−（ハイフン）」や漢字の「一」のように、接続線が誤って文字認識された可能性がある結果が得られた場合には、この文字セグメントに、文字認識結果に基づく文字コストに加えて接続線としての接続線コストを付与する。本実施例では、接続線コストの値が１０とされる。このように、文字セグメントがハイフン又は接続線のいずれかである場合には、文字認識の段階でいずれであるかを決定することなく、両方の可能性を残した状態で、処理を進める。
【００４５】
なお、接続線の他、ノイズが誤って文字認識された可能性がある場合にも、同様に、この文字セグメントには、文字コストに加えて、ノイズとしてのノイズコストが付与される。例えば、文字セグメントの大きさが所定の大きさ以下である場合に、この文字セグメントに、文字コストに加えてノイズとしてのノイズコストが付与される。なお、ノイズコストとして付与する値はノイズとされた文字セグメントの大きさによって変更される。例えば、本実施例では、ノイズの大きさにより、ノイズコストとして１０〜４０の値を付与する。
【００４６】
また、後の実施例で詳細を説明するが、文字セグメントの文字認識結果及び隣接する文字セグメントとの接続状態に応じて、ペナルティとしてコストを付加する場合もある。各コストの数値については、処理対象となる文字の種類や手書き文字に表れる傾向等々によって異なるため、予め、サンプルを準備して実験的に決定することが望ましい。例えば、処理対象とする帳票から多数のサンプルを取得して、本実施形態で説明する方法で正しい処理結果が得られるように実験的にコストの数値を決定する。これにより、その後は、決定した数値を利用して、文字列に含まれる各文字を正確に切り出して文字認識結果を得ることが可能となる。
【００４７】
最適経路を探索するための探索経路及びコストが決定されると、最適経路探索部１５により、最適経路の探索が開始される。図８は、最適経路の探索時に、各ノードで保存される情報を示している。図８に示す項目の「仮説」は、各文字セグメントの文字認識結果に基づいて、文字認識結果が文字である場合、接続線である場合、ノイズである場合の各々の仮定の下で情報を保存することを示している。また、「評価コスト」については、文字セグメントが文字である場合には文字の欄に、接続線である場合には接続線の欄に、ノイズである場合にはノイズの欄に、そのノードに至るまでの最小コストの和が保存される。そして、「前ノード」については、最小コストが得られた１つ前のノードの情報が保存される。以下、図７に示す探索経路で、図８に示す情報の保存を行いながら最適経路を探索する方法について、具体的に説明する。
【００４８】
図９は、最適経路の探索方法を説明する図である。初期状態のノードｎ０では、左側からこのノードに至る経路が存在しないので、ノードｎ０に示したように、文字、接続線及びノイズの全てで評価コストが０（ゼロ）となり、前ノードに該当する情報も含まれない。
【００４９】
ノードｎ１では、ノードｎ０からの経路だけであるから、この経路上にある文字セグメントＳ１の文字認識結果に基づいて情報が保存される。具体的には、ノードｎ１に示したように、文字セグメントＳ１が文字「０（ゼロ）」と認識されているため、文字のコスト欄に評価コストが保存される。保存される評価コストの値は、ノードｎ０の評価コストの値０（ゼロ）と文字セグメントＳ１の文字コストの値１３０の和として求められて「１３０」となる。また、前ノードの情報として、ノードｎ０を示す「ｎ０」が保存される。
【００５０】
次に、ノードｎ２では、ノードｎ１からの経路とノードｎ０からの経路がある。また、ノードｎ１からの経路には、文字セグメントＳ２が文字である場合の文字コストと接続線である場合の接続線コストの２つが存在している。
【００５１】
文字セグメントＳ２が、文字「−（ハイフン）」であると仮定すると、ノードｎ２に至る文字の評価コストは、ノードｎ１の評価コストの値１３０及び文字セグメントＳ２の文字コストの値１０２との和として求められて２３２となる。ノードｎ２では、ノードｎ０からの経路でも、文字セグメント（Ｓ１＋Ｓ２）が、文字「５」として認識されているので、ここでも文字の評価コストが得られることになる。このときの評価コストは、ノードｎ０の評価コストの値０（ゼロ）及び文字セグメント（Ｓ１＋Ｓ２）の文字コストの値１７０との和として求められて１７０となる。最適経路として、最小コストを示す経路を探索するため、このように文字に関する評価コストが複数得られる場合には、値の小さい方が選択される。よって、ここでは、ノードｎ１からの評価コストの値２３２とノードｎ０からの評価コストの値１７０とを比較して、値の小さいノードｎ０が選択される。この結果、ノードｎ２に示したように、文字の評価コストとして「１７０」、前ノード情報として「ｎ０」が保存されることになる。
【００５２】
また、ノードｎ１からの経路には、文字セグメントＳ２が接続線であると仮定した場合の接続線コストが存在する。このため、ノードｎ２に示したように、ノードｎ１の評価コストの値１３０と接続線コストの値１０との和「１４０」が、接続線の評価コストとして保存される。そして、前ノードの情報として「ｎ１」が保存される。
【００５３】
このように、文字である場合と接続線である場合の両方のコストを有する文字セグメントＳ２については、両方のコストを利用して最適経路の探索が進められる。具体的には、経路上で文字セグメントＳ２の下流側にあるノードｎ２では、文字セグメントＳ２が文字である場合の文字コストから求めた文字の評価コストと、接続線である場合の接続線コストから求めた接続線の評価コストとの両方が、経路の中間位置にある中間コストとして維持された状態で、経路探索が進められる。
【００５４】
なお、ここでは接続線の例を示したが、本実施例では、文字である場合の文字コストに加えて、接続線である場合の接続線コスト又はノイズである場合のノイズコストが付与された文字セグメントでは、文字コストと、接続線コスト又はノイズコストとを利用して、最適経路の探索が進められる。
【００５５】
次に、ノードｎ３では、ノードｎ０〜ｎ２からの経路がある。ノードｎ０からの経路では、ノードｎ０の評価コストの値０（ゼロ）及び文字セグメント（Ｓ１＋Ｓ２＋Ｓ３）が文字「０（ゼロ）」として認識された文字コストの値２５０の和として求められて、文字の評価コストの値は２５０となる。同様に、ノードｎ１からの経路では、ノードｎ１の評価コストの値１３０及び文字セグメント（Ｓ２＋Ｓ３）が文字「０（ゼロ）」として認識された際の文字コストの値１５６の和として求められて、文字の評価コストの値は２８６となる。
【００５６】
また、ノードｎ２からの経路では、ノードｎ２の文字の評価コストの値１７０及び文字セグメントＳ３が文字「０（ゼロ）」として認識された文字コストの値１０８との和として求められて、文字の評価コストの値は２７８となる。また、ノードｎ２からの経路には、文字セグメントＳ２を接続線とした場合の結果も含まれているので、これについても評価コストが計算される。この評価コストの値は、ノードｎ２の接続線の評価コストの値１４０及び文字セグメントＳ３の文字コストの値１０８の和として求められて２４８となる。
【００５７】
なお、文字セグメントＳ３が文字「０（ゼロ）」として認識されているので、１つ前のセグメントである文字セグメントＳ２を接続線とする場合の結果も利用するが、文字セグメントＳ３が文字０（ゼロ）以外の文字と認識されている場合には、文字セグメントＳ２を接続線とする結果は利用しない。すなわち、後に続く文字セグメントが、接続線の後に続けて書かれることがない文字として認識された場合には、直前の文字セグメントを接続線とする結果は利用しない。
【００５８】
こうして、ノードｎ３の文字の評価コストでは、ノードｎ０からの評価コスト、ノードｎ１からの評価コスト、ノードｎ２で文字セグメントＳ２を文字とした場合の評価コスト、ノードｎ２で文字セグメントＳ２を接続線とした場合の評価コストの４つが求められるが、これらのうち、評価コストの値が最小値となる経路が選択される。この結果、ノードｎ２で文字セグメントＳ２を接続線とした場合の経路が選択されて、ノードｎ３に示したように、文字の評価コスト「２４８」、前ノード情報「ｎ２」が保存される。
【００５９】
最終ノードであるノードｎ３までの最小コストが確定すると、探索された経路をバックトレースする処理が行われる。図１０は、図９に示すように最適経路の探索結果が得られた後、最適経路探索部１５によって行われるバックトレースの内容を説明する図である。最終ノードまでの評価コストを算出した時点では最適経路を形成する各文字セグメントの具体的な文字認識結果は特定されておらず、このバックトレースの処理により、各文字セグメントの文字認識結果が特定される。まず、ノードｎ３の最小コスト２４８の前ノードはノードｎ２であるから、ノードｎ２へ戻る経路が選択される。
【００６０】
ノードｎ２には、文字及び接続線の２つの評価コストが存在する。文字セグメントＳ３の認識結果が文字「０（ゼロ）」なので、どちらも有効であり、より小さいコストの接続線の方が選択され、前ノードはノードｎ１となる。なお、このとき、例えば、文字セグメントＳ３が０（ゼロ）以外の文字であれば、その前に接続線が書かれることはないと判定されて、文字の方が選択され、前ノードはノードｎ０とされる。すなわち、本実施例に係る文字認識方法では、文字セグメントＳ２が文字であるか接続線であるかを決定することなく、両方のコストを維持した状態で最適経路の探索を進めて、経路下流側の文字セグメントＳ３の結果を考慮して文字セグメントＳ２の結果が最終決定される。
【００６１】
ノードｎ１の前ノードはノードｎ０のみであるから、ノードｎ０が無条件に選択される。このようにして、ノードｎ３、ｎ２、ｎ１、ｎ０とバックトレースして、最適経路及び各文字セグメントの文字認識結果が決定される。具体的には、決定された最適経路の経路上にある各文字セグメントの文字認識結果が、文字列を形成する各文字となる。図１０の結果では、各文字が、文字「０（ゼロ）」、接続線、文字「０（ゼロ）」であると決定される。そして、この結果に基づいて、図６（ａ）に示す文字列を、２つの文字０（ゼロ）と、その間を接続する接続線とに分割することができる。また、接続線を除いて、図６（ａ）に示す文字列は、文字「０（ゼロ）」と文字「０（ゼロ）」であるとの文字認識結果を得ることができる。
【００６２】
なお、本実施例では、文字コストの値が小さいほど、各文字セグメントが得られた文字認識結果と類似しており、各経路での文字セグメントのコストの和を求めることによって、最適経路を探索可能である場合を示した。しかし、本実施形態がこれに限定されるものではない。例えば、経路を進むにしたがってコストが単調増加又は単調減少する場合には、本実施例と同様に、コストの和に基づいて同様の方法で経路探索を行うことが可能であるが、コストの値によっては、各文字セグメントのコストの積を確認しながら最適経路を探索することも可能である。具体的には、各文字セグメントの文字コストを、得られた文字認識結果が正しいことを示す確率で表せば、この確率の積に基づいて最適経路を探索することができる。
【００６３】
また、本実施例では、各ノードで前ノードを示す情報を保存しているが、バックトレースする際には、バックトレース元及びバックトレース先の各ノードのコストと、この経路上の文字セグメントのコストとを利用して、バックトレース先となる前ノードをサーチすることができる。よって、経路探索時に、前ノードを示す情報を保存項目に入れることは必須ではない。
【実施例２】
【００６４】
本実施例では、最適経路を探索する際の評価コストが各文字セグメントのコストの平均値で定義される場合について説明する。なお、実施例１の場合と同様に、各文字セグメントの文字コストは、値が小さいほど文字認識結果と文字セグメントとが類似することを示す。
【００６５】
文字認識装置１の構成や文字列画像を基本セグメントに分割する方法については、実施例１と同じであるため説明を省略することとし、以下では、実施例１とは異なる処理内容について詳細を説明することとする。
【００６６】
最適経路探索時の評価コストを、単純に各文字セグメントのコストの平均値として定義した場合には、途中にある中間ノードまでの最適経路が、文字列全体で見た場合の最適経路にならない場合がある。
【００６７】
図１１は、各文字セグメントの文字コストの平均値に基づいて最適経路を探索する例を示している。例えば、図６の場合と同様に、文字列が３つの基本セグメントＳ１〜Ｓ３に分割されて、これらの基本セグメントに対応して設定されたノードｎ０〜ｎ３の間の経路が、図１１（ａ）に示すように設定されたものとする。図１１（ａ）に示す数値は、各文字セグメントの文字コストを示している。
【００６８】
図１１（ａ）に示す経路及び文字コストによれば、ノードｎ０−ｎ１−ｎ２−ｎ３とたどる経路が最適経路となり、平均値で定義される最小コストは、同図（ｂ）にノードｎ３の評価コストとして示したように、文字セグメントＳ１、Ｓ２及びＳ３の文字コストの平均値として、１２０（＝（１０５＋１０５＋１５０）／３）と算出される。一方、ノードｎ０−ｎ２−ｎ３とたどった場合の経路では、最小コストが文字セグメント（Ｓ１＋Ｓ２）と文字セグメントＳ３の文字コストの平均値として求められて１２５（＝（１００＋１５０）／２）と算出され、最適経路ではないことが分かる。
【００６９】
ところが、ノードｎ２までの評価コストを算出すると、ノードｎ０−ｎ１−ｎ２とたどった最適経路上で、文字セグメントＳ１及びＳ２の文字コストの平均値として１０５（＝（１０５＋１０５）／２）と算出されるのに対して、ノードｎ０−ｎ２とたどった経路では文字セグメント（Ｓ１＋Ｓ２）の文字コストから１００となり、こちらの経路の方が評価コストの値が小さくなる。よって、単純に各経路でのコストの平均値を算出しながら、評価コストが最小値をとる経路をたどるだけでは最適経路を誤ることになる。
【００７０】
このため、本実施例に係る文字認識方法では、認識した文字数を考慮してコストの平均値を算出することにより、最適経路の探索を行う。以下、本実施例に係る文字認識方法について具体的に説明する。
【００７１】
図１２は、本実施例で処理対象とする文字列画像から文字セグメントを生成して、文字数を考慮した探索経路を設定する方法を説明する図である。説明を簡単にするため、２つの文字「０（ゼロ）」が接続線によって接続して書かれた場合を例に説明を続ける。
【００７２】
図１２（ａ）は入力画像取得部１１によって取得された文字列画像を示し、同図（ｂ）はこの文字列画像が入力画像分割部１２によって基本セグメントＳ１〜Ｓ３に分割された結果を示している。そして、図１２（ｃ）は、セグメント生成部１３によって生成された文字セグメントに基づいて、最適経路探索部１５によって文字数を考慮して設定された探索経路を示している。このように、文字セグメントＳｘ、文字数ｙに対応するノードをｎｘｙとして、各ノードが２次元で配置される。
【００７３】
図１２（ｃ）で、右方向に水平にたどる経路は、接続線やノイズ等、文字ではないと仮定した場合の経路である。文字セグメントが接続線やノイズとされた場合には、文字数が増えないので、右方向への水平な経路となる。これに対して、文字セグメントが文字とされた場合には、文字数が増えるため、右方向かつ下方向へ至る経路となる。例えば、ノードｎ１１からの経路において、文字セグメントＳ２を接続線とした場合には、右方向へ水平にノードｎ２１に至る経路となる。これに対して、文字セグメントＳ２を文字とした場合には、右方向かつ下方向にノードｎ２２へ至る経路となる。
【００７４】
次に、各文字セグメントのコストを用いて最適経路を探索する方法を具体的に説明する。図１３は、図１２（ｃ）に示す探索経路上で、最適経路を探索する方法を説明する図である。初期状態のノードｎ００では、左側からｎ００に至る経路がないので、全ての評価コストが０（ゼロ）となり、前ノードに該当する情報も含まれない。
【００７５】
ノードｎ１１では、ｎ００からの経路しか存在しない。この経路上では、文字セグメントＳ１が文字「０（ゼロ）」と認識されて、文字コストの値が１３０である。よって、ノードｎ１１では、文字の評価コストの欄に、文字コストの値「１３０」と、前ノードの情報「ｎ００」とが保存される。
【００７６】
ノードｎ２１では、ノードｎ１１からの経路とノードｎ００からの経路が存在する。ノードｎ１１からの経路では、文字セグメントＳ２が接続線とされており、接続線コストの値が１０である。よって、ノードｎ２１の接続線の評価コストとして、ノードｎ１１の文字コストの値１３０と接続線コストの値１０との和「１４０」が保存され、前ノードの情報として「ｎ１１」が保存される。また、ノードｎ００からの経路では、文字セグメント（Ｓ１＋Ｓ２）が文字「５」として認識されて文字コストの値が１７０とされている。よって、ノードｎ２１の文字の評価コストとして、ノードｎ００の評価コストの値０（ゼロ）と文字セグメント（Ｓ１＋Ｓ２）の文字コストの値１７０との和「１７０」が保存され、前ノードの情報として「ｎ００」が保存される。この結果、ノードｎ２１では、接続線とされた文字セグメントＳ２を通る経路の評価コスト及び前ノード情報と、文字とされた文字セグメント（Ｓ１＋Ｓ２）を通る経路の評価コスト及びノード情報との２つの情報が保存された状態となる。
【００７７】
同様にｎ２２、ｎ３１、ｎ３２及びｎ３３について、最小コストとこの最小コストが得られるときの前ノードの情報とが保存される。全てのノードについて最小コストの計算を終えると、次に、最終ノードｎ３１、ｎ３２及びｎ３３で、最小コストの平均値が算出される。この結果、各経路での評価コストの値は、１文字のノードｎ３１では２４７、２文字のノードｎ３２では１２４、３文字のノードｎ３３では１４７となり、最小値を示すｎ３２への経路が最適経路であると判定される。
【００７８】
最終ノードをノードｎ３２として最適経路が探索されると、最適経路をバックトレースする処理が行われる。最終ノードまでの評価コストを算出した時点では最適経路を形成する各文字セグメントの具体的な文字認識結果は特定されておらず、このバックトレースの処理により、各文字セグメントの文字認識結果が特定される。図１４は、図１３に示すように最適経路の探索結果が得られた後、最適経路探索部１５によって行われるバックトレースの内容を説明する図である。まず、ノードｎ３２の評価コストの値２４８の前ノードはノードｎ２１であるから、ノードｎ２１へ戻る経路が選択される。
【００７９】
ノードｎ２１には、文字及び接続線の２つの評価コストが存在する。文字セグメントＳ３の認識結果が文字「０（ゼロ）」であるから、どちらも有効な結果であり、コストの値が小さい接続線の方が選択されて、ノードｎ１１へ遡る経路が選択される。すなわち、このバックトレースの段階で、文字セグメントＳ２の文字認識結果が接続線であると決定される。なお、実施例１と同様に、例えば、文字セグメントＳ３が０（ゼロ）以外の文字である場合には、その前に接続線が書かれることはないと判定されて、文字の方が選択され、前ノードがノードｎ００とされる。
【００８０】
ノードｎ１１の前ノードはノードｎ００であるから、ノードｎ００が選択される。このようにして、ノードｎ３２、ｎ２１、ｎ１１、ｎ００とバックトレースされて最適経路及び各文字セグメントの文字認識結果が決定される。具体的には、決定された最適経路の経路上にある各文字セグメントの文字認識結果が、文字列を形成する各文字となる。図１４の結果では、各文字が、文字「０（ゼロ）」、接続線、文字「０（ゼロ）」であると決定される。これにより、図１２（ａ）に示す文字列を、２つの文字「０（ゼロ）」と、その間を接続する接続線とに正しく分割することができる。そして、文字列画像から各文字を含む文字画像を正確に切り出すことができる。また、接続線を除いて、図１２（ａ）に示す文字列は、文字「０（ゼロ）」と文字「０（ゼロ）」であるとの文字認識結果を得ることができる
【実施例３】
【００８１】
本実施例では、実施例２に示す方法に加えて、ペナルティを利用する場合の例について説明する。なお、ここでも、実施例１及び２の場合と同様に、各文字セグメントのコストは、値が小さいほど文字認識結果と文字セグメントとが類似することを示すものとする。
【００８２】
ペナルティとは、文字セグメントが所定条件を満たすときに、コストに付加する数値のことを言う。文字セグメント間で可能性の低い接触状態を含む経路では、評価コストにペナルティを付加して評価コストの値を上げる（評価を下げる）ことにより、誤った経路探索を防ぐために利用する。
【００８３】
評価コストに基づく評価を下げるため、コストが小さいほど良好な結果を示す場合にはコストが大きくなるようにペナルティが付加され、コストが大きいほど良好な結果を示す場合にはコストが小さくなるようにペナルティが付加される。実施例１及び２で、文字セグメントを接続線としたときの接続線コストの値１０もペナルティの一種であるが、本実施例では、文字として認識された場合にもペナルティを付加する点が、実施例１及び２と異なっている。どのような場合にペナルティを付加するかについては後述する。
【００８４】
また、本実施例では、局所的制約の効果についても説明する。局所的制約とは、実施例１及び２でも説明したように、接続線が書かれた後には数字の０（ゼロ）が書かれるといった内容を条件化したものである。具体的には、文字セグメントが文字０（ゼロ）以外の文字と認識された場合には、直前の文字セグメントは接続線ではないとの局所的制約を課して処理を行う。言い換えれば、文字セグメントを接続線として処理する場合には、直後の文字セグメントは文字０（ゼロ）でなければならない。以下、具体的な例をあげて説明する。
【００８５】
まず、本実施例で処理対象とする画像について説明する。通常は、文字列を対象として、該文字列を形成する各文字を切り出すものであるが、本実施例では、説明を簡単にして、かつ、ペナルティ及び局所的制約の内容及び効果を容易に理解できるように、１文字を認識する場合を例に説明を続けることとする。
【００８６】
図１５は、本実施例で、文字認識装置１による処理対象とする文字「７」と、この文字を入力画像分割部１２によって分割した結果を示す図である。図１５（ａ）は入力画像と基本セグメントＳ１〜Ｓ３の関係を示し、同図（ｂ）は基本セグメントＳ１〜Ｓ３を示している。
【００８７】
図１６は、セグメント生成部１３によって生成された文字セグメントに基づいて探索経路を設定して、この探索経路上で、実施例２に示した方法で最適経路を探索した結果を示す図である。各ノードｎ００〜ｎ３３で、最小コストを求めて前ノードの情報を保存する方法は、実施例２と同一であるため説明を省略するが、図１６に示す探索結果では、ノードｎ３３のコストが最小値を示し、最適経路がｎ００−ｎ１１−ｎ２２−ｎ３３となる。これにより、図１５（ａ）に示す文字「７」から、文字「１」と、文字「−（ハイフン）」と、文字「１」との３つの文字が切り出されることになる。このように、処理対象とする文字列に、実施例２による方法では最適経路が誤って探索されるような文字が含まれる場合には、本実施例に示す方法により、最適経路を正しく探索することができる。
【００８８】
本実施例では、ペナルティを利用して最適経路を探索する。図１７は、ペナルティの種類と、ペナルティとして文字コストに付加される値を示す図である。例えば、Ｎｏ．１は、文字セグメントが文字「−（ハイフン）」として認識されているのに、その左側が、左側にある直前の文字セグメントと接触している場合には、接続線が文字と誤認識されている可能性があるので、ペナルティとして文字コストに値５０を付加するものである。Ｎｏ．２も同様に、接続線が文字として誤認識されている可能性があるので、ペナルティとして、文字コストに値５０を付加することを示している。また、Ｎｏ．３及びＮｏ．４は、文字セグメントが文字「１」として認識されているにも拘わらず、文字の上部又は下部が、他の文字セグメントと接触している場合には、文字を分割して得られた部分領域が文字と誤認識されている可能性があるので、ペナルティとして文字コストに値５０を付加することを示している。
【００８９】
ペナルティのＮｏ．５は、文字セグメントをノイズとした場合に、本実施例では、ノイズコストの値を５０とすることを示している。また、Ｎｏ．６は、実施例１及び２でも示したように、文字セグメントを接続線とした場合に、接続線コストの値を１０とすることを示している。Ｎｏ．５及びＮｏ．６は、文字ではなく、ノイズや接続線とされた場合である。文字セグメントがノイズ又は接続線とされた場合には、例えば、図１６のノードｎ１１とｎ２１との間に示した文字セグメントＳ２のように、文字認識結果の文字数は増えず、探索経路上で右方向に水平に経路をたどることになる。
【００９０】
図１８は、図１７に示したペナルティを利用して、図１６に示した最適経路の探索結果を修正した結果を示している。すなわち、本実施例に係るペナルティ及び局所的制約条件に基づく最適経路探索を行った結果である。
【００９１】
ノードｎ１１からノードｎ２２へ至る経路では、文字セグメントＳ２が文字「−（ハイフン）」とされている。図１５（ａ）に示したように、この文字セグメントＳ２は、左側が文字セグメントＳ１と接触しているので、ペナルティＮｏ．１が適用される。また、同様に、右側も文字セグメントＳ３と接触しているので、ペナルティＮｏ．２が適用される。このため、図１８で、ノードｎ１１からノードｎ２２へ至る経路上の文字セグメントＳ２の下部に示したように、ペナルティとしてＰ＝１００（＝５０×２）が文字コストに付加される。よって、ノードｎ２２での文字の評価コストは、ノードｎ１１の評価コストの値１６４と、文字セグメントＳ２の文字コストの値１１８と、ペナルティのコストの値１００との和として算出されて３８２となる。
【００９２】
また、同様に、ノードｎ２２からノードｎ３３に至る経路では、文字セグメントＳ３が文字「１」とされているが、図１５（ａ）に示したように、この文字セグメントＳ３は、上部で文字セグメントＳ２と接触しているので、ペナルティＮｏ．３の条件が適用されて、コストにＰ＝５０が付加される。よって、ノードｎ３３での文字コストは、ノードｎ２２の評価コストの値３８２と、文字セグメントＳ３の文字コストの値１００と、ペナルティの値５０との和として算出されて５３２となる。そして、この経路上には３文字が存在するので、ノードｎ３３での評価コストは、最終的に、１７７（＝５３２／３）と算出される。ノードｎ１１からノードｎ３２に至る経路、ノードｎ２１からノードｎ３２に至る経路でも、同様に、ペナルティが適用され文字コストに所定の値が付加される。
【００９３】
また、図１６及び図１７で、ノードｎ２１からノードｎ３２へ至る経路に、局所的制約が適用された例を示している。ノードｎ２１からノードｎ３２へ至る経路上では、文字セグメントＳ３が文字「１」として認識されている。すなわち、文字「０（ゼロ）」として認識されていないことから、直前のノードｎ２１には、接続線であってはならないという局所的制約が適用されることになる。図１６及び図１７では、局所的制約により絶たれた経路を×印で示している。この局所的制約により、ノードｎ２１からノードｎ３２へ至る経路では、直前のノードｎ２１の文字セグメントＳ２を接続線とする結果（コスト１２４，前ノードをｎ１１とする結果）を利用することができない。
【００９４】
このように、ペナルティ及び局所的制約を含めて最適経路を探索した結果、図１８に示すように、ノードｎ３１のコストが最小値を示す。そして、ノードｎ３１からバックトレースを行って、最適経路がｎ００−ｎ３１であると決定される。そして、この経路上に存在する文字セグメント（Ｓ１＋Ｓ２＋Ｓ３）の内容から、図１５（ａ）に示す文字を、１文字の「７」として正しく文字認識することができる。
【００９５】
図１９は、図１８に示す経路探索で局所的制約及びペナルティの有無により表れる探索結果の違いを説明する図である。図１９（ａ）が、局所的制約及びペナルティが無い場合の結果であり、同図（ｂ）が局所的制約及びペナルティが有る場合の結果を示している。図１９（ａ）に示すように、局所的制約及びペナルティが無いと、図中Ｎｏ．１に示す経路が最適経路とされて、誤った文字認識結果が得られる。また、ここで、局所的制約条件を適用して、Ｎｏ．３の経路を除いても、誤ったＮｏ．１の最適経路が維持される。これに対して、図１９（ｂ）に示すように、ペナルティ及び局所的制約の両方を適用すると、局所的制約によりＮｏ．３の結果が除かれて、最適経路としてＮｏ．５の経路が選択される。このように、制約条件及びペナルティの両方を適用することにより、最適経路を正確に探索することが可能となる。そして、正しい文字認識結果を得ることができる。
【００９６】
図１５〜図１８では、説明を簡単にするため、一文字の場合を例に説明したが、本実施例に係る文字認識方法により、文字列を処理対象として各文字を正確に文字認識できることは言うまでもない。以下、複数の文字を含む文字列から、本実施例に係る文字認識方法によって、最適経路を探索した結果の例を示す。
【００９７】
図２０〜図２４は、本実施例で示した文字認識方法を適用した別の例を示す図である。図２０は、文字認識装置１による処理対象となる文字列について説明する図である。図２０（ａ）は、入力画像取得部１１によって取得された文字列画像、同図（ｂ）及び（ｃ）はこの文字列画像が入力画像分割部１２によって基本セグメントＳ１〜Ｓ６に分割された結果を示している。
【００９８】
また、図２１は、セグメント生成部１３によって生成された各文字セグメントに基づいて、最適経路探索部１５によって設定された探索経路を示している。このように、６つの基本セグメントに分割された場合には多数のノードと経路が設定されることになる。
【００９９】
図２２は、セグメント評価部１４によって得られた各文字セグメントの文字コストを示している。このように、セグメント生成部１３によって、６つの基本セグメントから生成された２１個の各文字セグメントについて、セグメント評価部１４により文字コストが求められる。
【０１００】
そして、本実施例で上述したように、最適経路探索部１５によって、最適経路を探索する処理が行われる。図２３及び図２４は、図２１に示す経路上で最適経路を探索した際に得られる評価コスト及び前ノード情報の保存結果の一部を示す図である。図２３は、図２１の領域Ｄ１の結果を示し、図２４は、図２１の領域Ｄ２に含まれる結果の一部を示している。なお、図２１に示す探索経路上で最適経路を探索する際には、上述したように、接続線又はノイズである可能性がある文字セグメントでは、文字コストに加えて、接続線コスト又はノイズコストを利用して評価コストを算出する。各文字セグメントの文字コストは図２２に示した通りであるため、図２３及び図２４では、接続線又はノイズである可能性がある文字セグメントでは文字コストの表示を省略している。具体的には、文字セグメントが文字又は接続線であるとされた場合は（セグメントＳ３及びＳ５）接続線コストのみを示し、文字又はノイズであるとされた場合も（セグメントＳ２）ノイズコストのみを示している。
【０１０１】
例えば、図２０（ｂ）に示すように、文字セグメントＳ２は他の文字セグメントに比べて小さいため、文字セグメントＳ２には、セグメント評価部１４によって、図２２に示す文字コストに加えて、ノイズとしてのノイズコストが付与される。この結果、図２３のノードｎ１１からノードｎ２１へ至る経路に示したように、文字セグメントＳ２がノイズコスト５０のノイズとされて、ノードｎ２１のノイズの評価コストが算出される。
【０１０２】
このように、図２２に示す各文字セグメントの文字コストを用いて、図２１に示す全ての経路で評価コストを求めると、図２１に示すようにノードｎ００−ｎ３１−ｎ４２−ｎ５２−ｎ６３へ至る経路が最適経路として求められる。このときの評価コストは、図２４に示す値から、１２４（＝３７１／３）となる。そして、最適経路をバックトレースして得られた結果に基づいて、文字列から、ノードｎ００からノードｎ３１へ至る経路上の文字セグメント（Ｓ１＋Ｓ２＋Ｓ３）の文字「２」、ノードｎ３１からノードｎ４２へ至る経路上の文字セグメントＳ４の文字「０（ゼロ）」、ノードｎ４２からノードｎ５２へ至る経路上の文字セグメントＳ５の接続線、ノードｎ５２からノードｎ６３へ至る経路上の文字セグメントＳ６の文字「０（ゼロ）」が切り出されることになる。すなわち、図２０（ａ）に示す文字列から、文字「２」、文字「０（ゼロ）」、接続線、文字「０（ゼロ）」が切り出される。そして、接続線を除いて、図２０（ａ）に示す文字列は、文字「２」、文字「０（ゼロ）」及び文字「０（ゼロ）」であるとの文字認識結果を得ることができる。
【０１０３】
上述してきたように、本実施形態によれば、接続線で接続された文字が文字列に含まれる場合でも、文字列を分割した基本セグメントから文字セグメントを生成して、各文字セグメントを結ぶ探索経路を設定して、各文字セグメントの文字コストに基づいて最適経路を探索する。このとき、文字又は文字以外（接続線やノイズ）である可能性がある文字セグメントは、両方の可能性を残した状態で最適経路を探索する処理を進めることができる。そして、得られた経路をバックトレースする処理を行って、探索方向下流側の文字セグメントの情報を利用しながら文字セグメントが文字又は文字以外のいずれであるのかを決定することができる。これにより、最適経路を正確に探索して、文字列から各文字を正確に切り出した文字認識結果を得ることができる。
【０１０４】
また、文字セグメントによる経路を設定する際に、文字数が増える方向と文字数が増えない方向の二次元で探索経路を設定することにより、文字数を考慮して各探索経路のコストを算出して、最適経路を正確に探索することができる。
【０１０５】
また、最適経路を探索する際に、文字セグメントの文字認識結果と、この文字セグメントの左右に隣接する各文字セグメントとの接触状態に応じてペナルティを付加することにより、最適経路を正確に探索することができる。
【０１０６】
また、最適経路を探索する際に、例えば、接続線の後には文字「０（ゼロ）」が来るといった内容に基づいて局所的制約を設定することにより、あり得ない経路を除外して、最適経路の探索に係る負荷を低減すると共に、最適経路の探索を正確に行うことができる。
【産業上の利用可能性】
【０１０７】
以上のように、本発明は、手書きされた文字列が接続線によって接続して書かれた文字を含む場合に、文字列から各文字を正確に切り出して文字認識するために有用な技術である。
【符号の説明】
【０１０８】
１  文字認識装置
１１  入力画像取得部
１２  入力画像分割部
１３  セグメント生成部
１４  セグメント評価部
１５  最適経路探索部
１６  認識結果出力部
【図１】
2014130510.tif 000003
【図２】
2014130510.tif 000004
【図３】
2014130510.tif 000005
【図４】
2014130510.tif 000006
【図５】
2014130510.tif 000007
【図６】
2014130510.tif 000008
【図７】
2014130510.tif 000009
【図８】
2014130510.tif 000010
【図９】
2014130510.tif 000011
【図１０】
2014130510.tif 000012
【図１１】
2014130510.tif 000013
【図１２】
2014130510.tif 000014
【図１３】
2014130510.tif 000015
【図１４】
2014130510.tif 000016
【図１５】
2014130510.tif 000017
【図１６】
2014130510.tif 000018
【図１７】
2014130510.tif 000019
【図１８】
2014130510.tif 000020
【図１９】
2014130510.tif 000021
【図２０】
2014130510.tif 000022
【図２１】
2014130510.tif 000023
【図２２】
2014130510.tif 000024
【図２３】
2014130510.tif 000025
【図２４】
2014130510.tif 000026