(57)【要約】【課題】画像に含まれる文字列の配置にかかわらず、文字列を漏れなく抽出可能とする。【解決手段】複数の濃度値で画像から抽出された連結成分の包含関係を第１エッジで互いに接続することで示す成分ツリーを生成する第１生成部と、成分ツリーの各階層において、画像内での距離が第１値以下の連結成分を第２エッジで互いに接続して、第１エッジと第２エッジとによる連結成分の接続関係を示す情報を生成する第２生成部と、情報に含まれる連結成分の文字認識を行う認識部と、各第１エッジに接続された連結成分の認識結果に応じた第１コストを割り当て、第２エッジに第２値を有する第２コストを割り当てる設定部と、情報に含まれる複数の連結成分を２つの部分集合に分割する境界の中から、境界に跨る第１エッジおよび第２エッジに割り当てられたコストの総和が、他の境界よりも小さくなる境界を求める分割部と、分割された２つの部分集合のうち、濃度値が高い側の部分集合に含まれる連結成分について得られた候補文字を抽出する第２抽出部とを有する。【選択図】      図１
2015026290.tif 000002
【特許請求の範囲】
【請求項１】
複数の濃度値毎に、前記各濃度値以上の画素が連結した連結成分を画像から抽出する第１抽出部と、
前記濃度値が異なる連結成分の間で、包含関係を有する連結成分を第１エッジで互いに接続することで、前記濃度値で階層化された成分ツリーを生成する第１生成部と、
前記成分ツリーの各階層において、前記画像内での距離が第１値以下の連結成分を第２エッジで互いに接続して、前記第１エッジと前記第２エッジとによる前記連結成分の接続関係を示す情報を生成する第２生成部と、
前記情報に含まれる連結成分の文字認識を行うことで、前記連結成分に類似する文字を示す候補文字と、前記候補文字の確からしさとを求める認識部と、
前記各第１エッジに、前記濃度値が高い側に接続された前記連結成分について得られた前記確からしさに基づいて決定される値を有する第１コストを割り当て、前記第２エッジに第２値を有する第２コストを割り当てる設定部と、
前記情報に含まれる複数の連結成分を２つの部分集合に分割する境界の中から、前記境界に跨る第１エッジに割り当てられた前記第１コストと前記境界に跨る第２エッジに割り当てられた前記第２コストとの総和が、他の境界よりも小さくなる境界を求める分割部と、
前記分割部で求められた境界によって分割された２つの部分集合のうち、濃度値が高い側の部分集合に含まれる連結成分のうち、他の連結成分よりも前記境界に近い連結成分について得られた候補文字を抽出することで、前記画像に含まれるテキストを抽出する第２抽出部と、
を備えたことを特徴とする文字認識装置。
【請求項２】
請求項１に記載の文字認識装置において、
前記第２生成部で生成される情報は、前記第１エッジと前記第２エッジとによって前記連結成分を接続したグラフであり、
前記分割部は、前記グラフに対するグラフカット処理により、前記境界を示すカットを求める
ことを特徴とする文字認識装置。
【請求項３】
請求項１または請求項２に記載の文字認識装置において、
前記第２生成部は、更に、前記情報において濃度値が他の階層よりも高い階層にシンクノードを追加するとともに、前記情報内の連結成分のうち、他の連結成分を包含しない連結成分と前記シンクノードとを前記第１エッジでそれぞれ接続し、
前記設定部は、前記シンクノードに接続された前記第１エッジに、第３値を有する第１コストを割り当てる
ことを特徴とする文字認識装置。
【請求項４】
請求項１乃至請求項３のいずれか１項に記載の文字認識装置において、
更に、
前記第１エッジで接続された２つの連結成分が互いに類似していることを検出した場合に、類似する連結成分を縮約する縮約部を有し、
前記第２生成部は、前記縮約部による縮約が行われた後の成分ツリーに基づいて、前記情報の生成を行い、
前記認識部は、前記縮約部による縮約が行われた後の成分ツリーに含まれる前記縮約された連結成分について、選択的に文字認識を行う
ことを特徴とする文字認識装置。
【請求項５】
請求項４に記載の文字認識装置において、
前記縮約部は、更に、２つの前記縮約された連結成分の間に接続された前記成分ツリーの一部を一つの中間ノードで置き換え、置き換えた前記中間ノードに、前記２つの縮約された連結成分のそれぞれが属する前記濃度値の階層に基づいて決定される濃度値の範囲と、前記２つの縮約された連結成分の一方の前記画像における位置を示す情報とを設定し、
前記第２生成部は、前記中間ノードの間で、前記濃度値の範囲が重複し、かつ、前記画像内での距離が所定値以下である中間ノードを前記第２エッジで互いに接続し、
前記設定部は、前記中間ノードを前記縮約された連結成分よりも濃度値が高い側に接続する前記第１エッジに、所定の第４値を有する前記第１コストを割り当て、前記中間ノードを相互に接続する第２エッジに、前記重複する濃度値の範囲の大きさに基づいて決定される値を有する前記第２コストを割り当てる
ことを特徴とする文字認識装置。
【請求項６】
コンピュータが、
複数の濃度値毎に、前記各濃度値以上の画素が連結した連結成分を画像から抽出し、
前記濃度値が異なる連結成分の間で、包含関係を有する連結成分を第１エッジで互いに接続することで、前記濃度値で階層化された成分ツリーを生成し、
前記成分ツリーの各階層において、前記画像内での距離が第１値以下の連結成分を第２エッジで互いに接続して、前記第１エッジと前記第２エッジとによる前記連結成分の接続関係を示す情報を生成し、
前記情報に含まれる連結成分の文字認識を行うことで、前記連結成分に類似する文字を示す候補文字と、前記候補文字の確からしさとを求め、
前記各第１エッジに、前記濃度値が高い側に接続された前記連結成分について得られた前記確からしさに基づいて決定される値を有する第１コストを割り当て、前記第２エッジに第２値を有する第２コストを割り当て、
前記情報に含まれる複数の連結成分を２つの部分集合に分割する境界の中から、前記境界に跨る第１エッジに割り当てられた前記第１コストと前記境界に跨る第２エッジに割り当てられた前記第２コストとの総和が、他の境界よりも小さくなる境界を求め、
前記求められた境界によって分割された２つの部分集合のうち、濃度値が高い側の部分集合に含まれる連結成分のうち、他の連結成分よりも前記境界に近い連結成分について得られた候補文字を抽出することで、前記画像に含まれるテキストを抽出する、
ことを特徴とする文字認識方法。  
【請求項７】
複数の濃度値毎に、前記各濃度値以上の画素が連結した連結成分を画像から抽出し、
前記濃度値が異なる連結成分の間で、包含関係を有する連結成分を第１エッジで互いに接続することで、前記濃度値で階層化された成分ツリーを生成し、
前記成分ツリーの各階層において、前記画像内での距離が第１値以下の連結成分を第２エッジで互いに接続して、前記第１エッジと前記第２エッジとによる前記連結成分の接続関係を示す情報を生成し、
前記情報に含まれる連結成分の文字認識を行うことで、前記連結成分に類似する文字を示す候補文字と、前記候補文字の確からしさとを求め、
前記各第１エッジに、前記濃度値が高い側に接続された前記連結成分について得られた前記確からしさに基づいて決定される値を有する第１コストを割り当て、前記第２エッジに第２値を有する第２コストを割り当て、
前記情報に含まれる複数の連結成分を２つの部分集合に分割する境界の中から、前記境界に跨る第１エッジに割り当てられた前記第１コストと前記境界に跨る第２エッジに割り当てられた前記第２コストとの総和が、他の境界よりも小さくなる境界を求め、
前記求められた境界によって分割された２つの部分集合のうち、濃度値が高い側の部分集合に含まれる連結成分のうち、他の連結成分よりも前記境界に近い連結成分について得られた候補文字を抽出することで、前記画像に含まれるテキストを抽出する、
処理をコンピュータに実行させることを特徴とする文字認識プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本件開示は、画像に含まれる文字列を認識する文字認識装置および文字認識方法並びに文字認識プログラムに関する。
【背景技術】
【０００２】
テレビジョン放送等のテロップを含む映像をキャプチャして得られる画像や風景を撮影して得られた画像は、様々な物体の像と重なる文字列を含んでいる場合がある。このような画像に含まれる文字列に対して文字認識を行うことにより、テキストを抽出する従来技術として、エッジ解析に基づく技法とカラークラスタリングに基づく技法とが提案されている(例えば、特許文献１、２参照)。
【０００３】
エッジ解析に基づく技法では、画像から抽出したエッジの分布に基づいて、画像に含まれる文字列の範囲が特定され、特定された範囲を二値化することによって得た二値画像に対して文字認識を行うことでテキスト情報が抽出される。
【０００４】
また、カラークラスタリングに基づく技法では、個々の画素の色を色空間にマッピングした結果についてクラスタリングを行うことで、画像に含まれる文字列の色に対応するクラスタが特定される。そして、各画素の色が特定されたクラスタに含まれるか否かを示す二値画像が生成され、この二値画像に対して文字認識を行うことによりテキスト情報が抽出される。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０００−１８１９９２号公報
【特許文献２】特開２００９−１９９２７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、テロップなどで表された文字列の背景は、カメラの視野内に含まれる様々な物体の輪郭を表すエッジを含んでいる場合が多い。このため、上述のエッジ解析に基づく技法では、エッジを含む複雑な背景とテキストが分布する領域とを明確に判別できない場合がある。
【０００７】
また、画像に含まれる各文字パターンの色は、撮影の際の照明の当たり方や影などの環境条件や画像圧縮処理を行った際の劣化などによる影響を受ける場合があるため、必ずしも一様ではない。また、テロップの文字列の色と同じ色が、背景の画像に含まれている場合もある。このため、上述のカラークラスタリングに基づく技法では、文字パターンの一部を表す画像を、背景の一部として排除してしまう場合や、逆に、背景の一部を文字パターンの一部として含めてしまう場合がある。
【０００８】
また、上述した技法では、画像内の文字列が一つの方向に沿って配置されていることを前提として、文字列が含まれている可能性の高い矩形の領域が入力画像から切り出され、切り出した領域に対して文字認識が行われる。
【０００９】
しかしながら、画像に複数行の文字列が含まれている場合などに、個々の行の文字列に対応する領域を画像から切り出す処理は、困難となることがある。例えば、画像において、複数行の文字列の間隔が、文字の高さよりも小さい場合に、一つの行の文字列に含まれる一部の文字を示すパターンが、隣接する行に対応する領域の一部として切り出される場合がある。このような場合に、画像に含まれる文字列を示す認識結果を正しく得ることが困難になる。
【００１０】
本件開示の文字認識装置および文字認識方法並びに文字認識プログラムは、画像に含まれる文字列の配置にかかわらず、文字列を漏れなく抽出可能とする技術を提供することを目的とする。
【課題を解決するための手段】
【００１１】
一つの観点によれば、文字認識装置は、複数の濃度値毎に、各濃度値以上の画素が連結した連結成分を画像から抽出する第１抽出部と、濃度値が異なる連結成分の間で、包含関係を有する連結成分を第１エッジで互いに接続することで、濃度値で階層化された成分ツリーを生成する第１生成部と、成分ツリーの各階層において、画像内での距離が第１値以下の連結成分を第２エッジで互いに接続して、第１エッジと第２エッジとによる連結成分の接続関係を示す情報を生成する第２生成部と、情報に含まれる連結成分の文字認識を行うことで、連結成分に類似する文字を示す候補文字と、候補文字の確からしさとを求める認識部と、各第１エッジに、濃度値が高い側に接続された連結成分について得られた確からしさに基づいて決定される値を有する第１コストを割り当て、第２エッジに第２値を有する第２コストを割り当てる設定部と、情報に含まれる複数の連結成分を２つの部分集合に分割する境界の中から、境界に跨る第１エッジに割り当てられた第１コストと境界に跨る第２エッジに割り当てられた第２コストとの総和が、他の境界よりも小さくなる境界を求める分割部と、分割部で求められた境界によって分割された２つの部分集合のうち、濃度値が高い側の部分集合に含まれる連結成分のうち、他の連結成分よりも境界に近い連結成分について得られた候補文字を抽出することで、画像に含まれるテキストを抽出する第２抽出部とを有する。
【００１２】
別の観点によれば、文字認識方法は、コンピュータが、複数の濃度値毎に、各濃度値以上の画素が連結した連結成分を画像から抽出し、濃度値が異なる連結成分の間で、包含関係を有する連結成分を第１エッジで互いに接続することで、濃度値で階層化された成分ツリーを生成し、成分ツリーの各階層において、画像内での距離が第１値以下の連結成分を第２エッジで互いに接続して、第１エッジと第２エッジとによる連結成分の接続関係を示す情報を生成し、情報に含まれる連結成分の文字認識を行うことで、連結成分に類似する文字を示す候補文字と、候補文字の確からしさとを求め、各第１エッジに、濃度値が高い側に接続された連結成分について得られた確からしさに基づいて決定される値を有する第１コストを割り当て、第２エッジに第２値を有する第２コストを割り当て、情報に含まれる複数の連結成分を２つの部分集合に分割する境界の中から、境界に跨る第１エッジに割り当てられた第１コストと境界に跨る第２エッジに割り当てられた第２コストとの総和が、他の境界よりも小さくなる境界を求め、求められた境界によって分割された２つの部分集合のうち、濃度値が高い側の部分集合に含まれる連結成分のうち、他の連結成分よりも境界に近い連結成分について得られた候補文字を抽出することで、画像に含まれるテキストを抽出する。
【００１３】
また、別の観点によれば、文字認識プログラムは、複数の濃度値毎に、各濃度値以上の画素が連結した連結成分を画像から抽出し、濃度値が異なる連結成分の間で、包含関係を有する連結成分を第１エッジで互いに接続することで、濃度値で階層化された成分ツリーを生成し、成分ツリーの各階層において、画像内での距離が第１値以下の連結成分を第２エッジで互いに接続して、第１エッジと第２エッジとによる連結成分の接続関係を示す情報を生成し、情報に含まれる連結成分の文字認識を行うことで、連結成分に類似する文字を示す候補文字と、候補文字の確からしさとを求め、各第１エッジに、濃度値が高い側に接続された連結成分について得られた確からしさに基づいて決定される値を有する第１コストを割り当て、第２エッジに第２値を有する第２コストを割り当て、情報に含まれる複数の連結成分を２つの部分集合に分割する境界の中から、境界に跨る第１エッジに割り当てられた第１コストと境界に跨る第２エッジに割り当てられた第２コストとの総和が、他の境界よりも小さくなる境界を求め、求められた境界によって分割された２つの部分集合のうち、濃度値が高い側の部分集合に含まれる連結成分のうち、他の連結成分よりも境界に近い連結成分について得られた候補文字を抽出することで、画像に含まれるテキストを抽出する、処理をコンピュータに実行させる。
【発明の効果】
【００１４】
本件開示の文字認識装置および文字認識方法並びに文字認識プログラムは、画像に含まれる文字列の配置にかかわらず、文字列を漏れなく抽出することができる。
【図面の簡単な説明】
【００１５】
【図１】文字認識装置の一実施形態を示す図である。
【図２】図１に示したグレースケール画像の一例を示す図である。
【図３】図２に示した画像から抽出された連結成分の例を示す図である。
【図４】図３に示した連結成分の包含関係を示す成分ツリーの例を示す図である。
【図５】図１に示した第２生成部によって生成される隣接エッジの例を示す図である。
【図６】図１に示した第２生成部によって生成されるＣＴグラフの例を示す図である。
【図７】グレースケール画像の別例を示す図である。
【図８】図７に示したグレースケール画像から抽出された連結成分の例を示す図である。
【図９】図１に示した第２生成部によって生成されるＣＴグラフの別例を示す図である。
【図１０】図１に示した文字認識装置の動作を示す図である。
【図１１】図１０に示した処理で得られる最小カットγｍの例を示す図である。
【図１２】文字認識装置の別実施形態を示す図である。
【図１３】図１２に示した縮約部による成分ツリーの縮約例を示す図である。
【図１４】図１２に示した第２生成部によって生成される縮約されたＣＴグラフの例を示す図である。
【図１５】図１２に示した文字認識装置のハードウェア構成の一例を示す図である。
【図１６】図１５に示した文字認識装置の動作を示す図である。
【発明を実施するための形態】
【００１６】
以下、図面に基づいて、実施形態を説明する。
【００１７】
図１は、文字認識装置の一実施形態を示す。図１に示した文字認識装置１０は、変換装置ＣＶにより、カラー画像ＧＣＬに対してグレースケールへの変換を行うことで生成されたグレースケール画像ＧＧＲを受け、グレースケール画像ＧＧＲに含まれるテキストを抽出する。以下の説明において、グレースケール画像ＧＧＲは、単に画像ＧＧＲと称される場合がある。
【００１８】
なお、カラー画像ＧＣＬは、例えば、テレビ放送をキャプチャすることで得られる画像でもよいし、デジタルカメラなどで撮影された画像や、スキャナ装置で原稿を読み取ることで得られる画像でもよい。また、文字認識装置１０が受けるグレースケール画像ＧＧＲは、変換装置ＣＶによる変換処理で得られたグレースケール画像に限られない。例えば、文字認識装置１０は、デジタルカメラによる撮影で得られたグレースケール画像やスキャナ装置による読み取りで得られたグレースケール画像を、デジタルカメラやスキャナ装置から直接に受けてもよい。
【００１９】
文字認識装置１０は、第１抽出部１１と、第１生成部１２と、認識部１３と、第２生成部１４と、設定部１５と、グラフカット部１６と、第２抽出部１７とを含んでいる。なお、変換装置ＣＶによる変換処理で得られるグレースケール画像ＧＧＲを用いる場合に、文字認識装置１０は、変換装置ＣＶを含んでいてもよい。
【００２０】
第１抽出部１１は、複数の濃度値毎に、各濃度値以上の画素が連結した連結成分を画像ＧＧＲから抽出する。第１抽出部１１は、例えば、画像ＧＧＲを複数の濃度値を閾値として二値化することで複数の二値化画像を生成し、生成した二値化画像のそれぞれから連結成分を抽出する。
【００２１】
第１生成部１２は、画像ＧＧＲから抽出された連結成分のそれぞれにつき、異なる濃度値を用いて抽出された他の連結成分との間の包含関係を探索することで、濃度値で階層化された成分ツリーを生成する。
【００２２】
第１生成部１２は、例えば、濃度値ｔ(ｊ)(ｊは正の整数)を用いて抽出した各連結成分について、一段階薄い濃度値ｔ(ｊ−１)を用いて抽出した連結成分の中から濃度値ｔ(ｊ)の連結成分を包含する連結成分を探索する処理を繰り返す。
【００２３】
そして、第１生成部１１は、隣接する２つの濃度間で包含関係を有する連結成分を示すノードを互いに第１エッジで接続することで、濃度値で階層化された連結成分間の包含関係を示す成分ツリーを生成する。
【００２４】
以下の説明において、異なる濃度に対応する階層に含まれるノード間を接続するエッジは、階層エッジと称される場合がある。
【００２５】
ここで、図２〜図４を用いて、画像ＧＧＲから抽出される連結成分間の包含関係の探索により、成分ツリーを生成する手法について説明する。
【００２６】
図２は、図１に示したグレースケール画像ＧＧＲの一例を示す。図２に示した画像ＧＧＲは、複雑に濃淡が変化する背景Ｂｇとともに、文字列「Ｆｉｒｓｔ」を前景Ｆｇとして含んでいる。
【００２７】
図３は、図２に示した画像ＧＧＲから抽出された連結成分の例を示す。図３の例は、画像ＧＧＲから、７段階の濃度ｔ０，ｔ１，ｔ２，ｔ３，ｔ４，ｔ５，ｔ６を閾値として生成した７枚の二値画像Ｐ０，Ｐ１，Ｐ２，Ｐ３，Ｐ４，Ｐ５，Ｐ６のそれぞれから抽出した連結成分を示している。なお、図１に示した第１抽出部１１により、画像ＧＧＲから連結成分を抽出する際に用いる閾値は、図３に示したような７段階に限らず、例えば、２５６段階の濃度のそれぞれを示す閾値を用いてもよい。
【００２８】
図３に示した濃度ｔ０〜ｔ６の中で、濃度ｔ０は最も薄い濃度(例えば、白色を示す濃度)を示し、濃度ｔ６は最も濃い濃度(例えば、黒色を示す濃度)を示す。また、濃度ｔ１、ｔ２、ｔ３、ｔ４、ｔ５のそれぞれは、順に、白色と黒色との間を区切って得られた各段階に対応する中間の濃度を示す。
【００２９】
図３に示した各連結成分を示す符号において、符号「Ｃ」の後の数値は、当該連結成分が抽出された二値画像の閾値として用いられた濃度値を示し、符号「−」の次の数値は、二値画像からの抽出順を示す。
【００３０】
図３の例では、濃度ｔ０に対応する二値画像Ｐ０は、全体が一つの連結成分Ｃ０−１となっている。一方、濃度ｔ６に対応する二値画像Ｐ６は連結成分を含んでいない。
【００３１】
図３に示した二値画像Ｐ１は、２個の連結成分Ｃ１−１、Ｃ１−２を含んでいる。また、図３に示した二値画像Ｐ２は、３個の連結成分Ｃ２−１，Ｃ２−２，Ｃ２−３を含んでいる。同様に、図３に示した二値画像Ｐ３は、５個の連結成分Ｃ３−１，Ｃ３−２、Ｃ３−３，Ｃ３−４，Ｃ３−５を含んでいる。また、図３に示した二値画像Ｐ４は、７個の連結成分Ｃ４−１，Ｃ４−２，Ｃ４−３，Ｃ４−４，Ｃ４−５，Ｃ４−６，Ｃ４−７を含んでいる。また、図３に示した二値画像Ｐ５は、１２個の連結成分Ｃ５−１，Ｃ５−２，Ｃ５−３，Ｃ５−４，Ｃ５−５，Ｃ５−６，Ｃ５−７，Ｃ５−８，Ｃ５−９，Ｃ５−１０，Ｃ５−１１，Ｃ５−１２を含んでいる。
【００３２】
図４は、図３に示した連結成分の包含関係を示す成分ツリーの例を示す。なお、図４において、縦軸ｔは、濃度を示す。また、濃度ｔ０〜ｔ５のそれぞれを示す破線上に示した楕円のそれぞれは、濃度ｔ０〜ｔ５のそれぞれに対応する二値化画像Ｐ０〜Ｐ５から抽出された連結成分を示すノードである。なお、図４に示した成分ツリーおいて、各ノードは、当該ノードが示す連結成分と同一の符号で示される。
【００３３】
図４に示した成分ツリーにおいて、濃度ｔ０〜ｔ５のそれぞれに対応する階層に含まれる各ノードは、図３に示した二値画像Ｐ０〜Ｐ５のそれぞれに含まれる連結成分を示す。例えば、濃度ｔ０に対応する階層に含まれるノードＣ０−１は、二値画像Ｐ０に含まれる連結成分Ｃ０−１を示す。また、濃度ｔ１に対応する階層に含まれるノードＣ１−１，Ｃ１−２は、二値画像Ｐ１に含まれる連結成分Ｃ１−１，Ｃ１−２を示す。同様に、濃度ｔ２に対応する階層に含まれるノードＣ２−１，Ｃ２−２，Ｃ２−３は、二値画像Ｐ２に含まれる連結成分Ｃ２−１，Ｃ２−２，Ｃ２−３を示す。また、濃度ｔ３に対応する階層に含まれるノードＣ３−１，Ｃ３−２，Ｃ３−３，Ｃ３−４，Ｃ３−５は、二値画像Ｐ３に含まれる連結成分Ｃ３−１，Ｃ３−２，Ｃ３−３，Ｃ３−４，Ｃ３−５を示す。また、濃度ｔ４に対応する階層に含まれるノードＣ４−１，Ｃ４−２，Ｃ４−３，Ｃ４−４，Ｃ４−５，Ｃ４−６，Ｃ４−７は、二値画像Ｐ４に含まれる連結成分Ｃ４−１，Ｃ４−２，Ｃ４−３，Ｃ４−４，Ｃ４−５，Ｃ４−６，Ｃ４−７を示す。同様に、濃度ｔ５に対応する階層に含まれるノードＣ５−１，Ｃ５−２，Ｃ５−３，Ｃ５−４，Ｃ５−５，Ｃ５−６は、二値画像Ｐ５に含まれる連結成分Ｃ５−１，Ｃ５−２，Ｃ５−３，Ｃ５−４，Ｃ５−５，Ｃ５−６を示す。そして、濃度ｔ５に対応する階層に含まれるノードＣ５−７，Ｃ５−８，Ｃ５−９，Ｃ５−１０，Ｃ５−１１，Ｃ５−１２は、二値画像Ｐ５に含まれる連結成分Ｃ５−７，Ｃ５−８，Ｃ５−９，Ｃ５−１０，Ｃ５−１１，Ｃ５−１２を示す。
【００３４】
図４に示した成分ツリーにより、図３に示した連結成分間の包含関係は、最も薄い濃度ｔ０に対応する階層を最上位とする階層構造で示される。図４に示した成分ツリーにおいて、ある階層のノードと一つ下の階層のノードとを接続する実線で示した階層エッジは、下位の階層に属するノードが上位の階層に属するノードに包含される子ノードであることを示す。
【００３５】
例えば、図４に示した成分ツリーは、成分ツリーのルートノードであるノードＣ０−１とノードＣ１−１，Ｃ１−２のそれぞれとを結ぶ階層エッジにより、ノードＣ１−１，Ｃ１−２がルートノードの子ノードであることを示す。また、成分ツリーは、ノードＣ１−１とノードＣ２−１，Ｃ２−２のそれぞれとを結ぶ階層エッジにより、ノードＣ２−１，Ｃ２−２がノードＣ１−１の子ノードであることを示す。同様に、成分ツリーは、ノードＣ１−２とノードＣ２−３とを結ぶ階層エッジにより、ノードＣ２−３は、ノードＣ１−２の子ノードであることを示す。また、成分ツリーは、ノードＣ２−１，Ｃ２−２のそれぞれとノードＣ３−１，Ｃ３−２のそれぞれとを結ぶ階層エッジにより、ノードＣ３−１がノードＣ２−１の子ノードであり、ノードＣ３−２がノードＣ２−２の子ノードであることを示す。一方、成分ツリーは、ノードＣ２−３とノードＣ３−３，Ｃ３−４，Ｃ３−５のそれぞれとを結ぶ階層エッジにより、ノードＣ３−３，Ｃ３−４，Ｃ３−５のそれぞれがノードＣ２−３の子ノードであることを示す。また、成分ツリーは、ノードＣ３−１とノードＣ４−１、Ｃ４−２のそれぞれとを結ぶ階層エッジにより、ノードＣ４−１，Ｃ４−２のそれぞれがノードＣ３−１の子ノードであることを示す。また、成分ツリーは、ノードＣ３−２，Ｃ３−３のそれぞれとノードＣ４−３，Ｃ４−４のそれぞれとを結ぶ階層エッジにより、ノードＣ４−３がノードＣ３−２の子ノードであり、ノードＣ４−４がノードＣ３−３の子ノードであることを示す。同様に、成分ツリーは、ノードＣ３−４とノードＣ４−５とを結ぶ階層エッジにより、ノードＣ４−５がノードＣ３−４の子ノードであることを示す。また、成分ツリーは、ノードＣ３−５とノードＣ４−６，Ｃ４−７のそれぞれとを結ぶ階層エッジにより、ノードＣ４−６及びノードＣ４−７がノードＣ３−５の子ノードであることを示す。また、成分ツリーは、ノードＣ４−２とノードＣ５−１，Ｃ５−２とを結ぶ階層エッジにより、ノードＣ５−１及びノードＣ５−２がノードＣ４−２の子ノードであることを示す。また、成分ツリーは、ノードＣ４−３とノードＣ５−３，Ｃ５−４，Ｃ５−５のそれぞれとの間を結ぶ階層エッジにより、ノードＣ５−３，ノードＣ５−４およびノードＣ５−５は、ノードＣ４−３の子ノードであることを示す。同様に、成分ツリーは、ノードＣ４−４とノードＣ５−６，Ｃ５−７のそれぞれとを結ぶ階層エッジにより、ノードＣ５−６及びノードＣ５−７がノードＣ４−４の子ノードであることを示す。また、成分ツリーは、ノードＣ４−５とノードＣ５−８，Ｃ５−９のそれぞれとを結ぶ階層エッジにより、ノードＣ５−８及びノードＣ５−９がノードＣ４−５の子ノードであることを示す。また、成分ツリーは、ノードＣ４−６とノードＣ５−１０，Ｃ５−１１のそれぞれとを結ぶ階層エッジにより、ノードＣ５−１０及びノードＣ５−１１がノードＣ４−６の子ノードであることを示す。そして、成分ツリーは、ノードＣ４−７とノードＣ５−１２とを結ぶ階層エッジにより、ノードＣ５−１２がノードＣ４−７の子ノードであることを示す。
【００３６】
図４に示した成分ツリーは、成分ツリーに含まれる各ノードを次に挙げる情報を含むノード情報で表すことで、表現されてもよい。
【００３７】
各ノードを表すノード情報は、正の整数で示されるノード番号と、当該ノードが属する階層を示す濃度値と、当該ノードの包含関係を示す情報と、当該ノードで示される連結成分の画像ＧＧＲ内での位置及び大きさを示す情報とを含んでいる。各ノードを表すノード情報は、当該ノードの包含関係を示す情報として、当該ノードに接続される下層のノード(子ノード)を示すノード番号および子ノードの数と、当該ノードに接続される上層のノード(親ノード)を示すノード番号とを含んでいる。また、各ノードを表すノード情報は、連結成分の画像内での位置及び大きさを示す情報として、連結成分に外接する矩形である外接矩形の外接矩形の左上の頂点及び右下の頂点の画像ＧＧＲにおける座標と、連結成分に含まれる画素の数とを含んでいる。
【００３８】
図１に示した第２生成部１４は、成分ツリーに含まれる各ノードのノード情報に基づいて、同じ濃度を示す閾値を用いて抽出され、かつ、画像ＧＧＲにおいて互いの距離が所定の第１値以下である連結成分を示すノードを互いに接続する第２エッジを生成する。なお、第２エッジは、成分ツリー内で同じ階層に属するノードであって、画像ＧＧＲにおいて隣接する連結成分を示すノード間を接続することから、以下の説明において、第２エッジは隣接エッジと称される場合がある。
【００３９】
図５は、図１に示した第２生成部１４によって生成される隣接エッジの例を示す。図５の例は、図１に示した第１抽出部１１によって、ある濃度を示す閾値を用いて画像ＧＧＲから連結成分Ｃ％−１，Ｃ％−２，Ｃ％−３，Ｃ％−４が抽出された場合に、第２生成部１４によって生成される隣接エッジを示す。なお、連結成分を示す符号において、符号「Ｃ」の後の符号「％」は、任意の濃度値を示す。
【００４０】
図５(Ａ)は、画像ＧＧＲにおける連結成分Ｃ％−１〜Ｃ％−４の位置関係を示す。図５(Ａ)において、座標軸Ｘ，Ｙは、画像ＧＧＲにおいて、図５の左上の頂点を原点とし、画像ＧＧＲにおける位置を示す。
【００４１】
また、図５(Ｂ)は、図５(Ａ)に示した連結成分Ｃ％−１〜Ｃ％−４を示すノードＣ％−１〜Ｃ％−４を含む成分ツリーのノードＣ％−１〜Ｃ％−４が属する階層において、図１に示した第２生成部１４によって生成される隣接エッジの例を示す。
【００４２】
図５(Ａ)において、連結成分Ｃ％−１，Ｃ％−２，Ｃ％−３，Ｃ％−４のそれぞれを囲む破線で示した矩形は、連結成分Ｃ％−１，Ｃ％−２，Ｃ％−３，Ｃ％−４のそれぞれに対応する外接矩形Ｒ１，Ｒ２，Ｒ３，Ｒ４を示す。図５(Ａ)に示した座標軸Ｘ，Ｙで示される座標系において、外接矩形Ｒ１の左上頂点Ｑｓ１は座標(Ｘｓ１，Ｙｓ１)で示され、右下頂点Ｑｅ１は座標(Ｘｅ１，Ｙｅ１)で示される。同様に、外接矩形Ｒ２の左上頂点Ｑｓ２は座標(Ｘｓ２，Ｙｓ２)で示され、右下頂点Ｑｅ２は座標(Ｘｅ２，Ｙｅ２)で示される。また、外接矩形Ｒ３の左上頂点Ｑｓ３は座標(Ｘｓ３，Ｙｓ３)で示され、右下頂点Ｑｅ３は座標(Ｘｅ３，Ｙｅ３)で示される。同様に、外接矩形Ｒ４の左上頂点Ｑｓ４は座標(Ｘｓ４，Ｙｓ４)で示され、右下頂点Ｑｅ４は座標(Ｘｅ４，Ｙｅ４)で示される。
【００４３】
図１に示した第２生成部１４は、図５(Ａ)に示した外接矩形Ｒ１〜Ｒ４の中から２つを順次に選択し、例えば、次のようにして、選択した２つの外接矩形の相互の距離を計算する。
【００４４】
第２生成部１４は、外接矩形Ｒ１の右下頂点Ｑｅ１のＸ座標Ｘｅ１から外接矩形Ｒ２の左上頂点Ｑｓ２のＸ座標Ｘｓ２を減じた値Ｌｘ１と、外接矩形Ｒ２の右下頂点Ｑｅ２のＸ座標Ｘｅ２から外接矩形Ｒ１の左上頂点Ｑｓ１のＸ座標Ｘｓ１を減じた値Ｌｘ２を求める。図５(Ａ)に示したように、値Ｌｘ１と値Ｌｘ２との双方が正の値である場合に、第２生成部１４は、外接矩形Ｒ１，Ｒ２はＸ軸方向で重複すると判断し、外接矩形Ｒ１，Ｒ２のＸ軸方向の距離を零とする。
【００４５】
一方、図５(Ａ)に示した外接矩形Ｒ１、Ｒ３の組み合わせのように、外接矩形Ｒ１の右下頂点Ｑｅ１のＸ座標Ｘｅ１から外接矩形Ｒ３の左上頂点Ｑｓ３のＸ座標Ｘｓ３を減じた値が負になる場合に、第２生成部１４は、２つの外接矩形にＸ軸方向で重複する部分はないと判断する。この場合に、第２生成部１４は、一方の外接矩形の右下頂点のＸ座標と他方の外接矩形の左上頂点のＸ座標との差の絶対値と、一方の外接矩形の左上頂点のＸ座標と他方の外接矩形の右下頂点のＸ座標との差の絶対値との小さい方を、２つの外接矩形のＸ軸方向の距離とする。
【００４６】
例えば、図５(Ａ)に示した外接矩形Ｒ１と外接矩形Ｒ３とのＸ軸方向の距離Ｄｘ１−３は、外接矩形Ｒ１の右下頂点Ｑｅ１のＸ座標Ｘｅ１と外接矩形Ｒ３の左上頂点Ｑｓ３のｘ座標Ｘｓ３との差で示される。同様に、図５(Ａ)に示した外接矩形Ｒ２と外接矩形Ｒ３とのＸ軸方向の距離Ｄｘ２−３は、外接矩形Ｒ２の右下頂点Ｑｅ２のＸ座標Ｘｅ２と外接矩形Ｒ３の左上頂点Ｑｓ３のＸ座標Ｘｓ３との差で示される。また、図５(Ａ)に示した外接矩形Ｒ３と外接矩形Ｒ４とのＸ軸方向の距離Ｄｘ３−４は、外接矩形Ｒ３の右下頂点Ｑｅ３のＸ座標Ｘｅ３と外接矩形Ｒ４の左上頂点Ｑｓ４のＸ座標Ｘｓ４との差で示される。
【００４７】
また、第２生成部１４は、図５(Ａ)に示した外接矩形Ｒ１〜Ｒ４の中から２つを順次に選択し、Ｘ軸方向の距離と同様にして、Ｙ軸方向の距離を求める。
【００４８】
図５(Ａ)に示した外接矩形Ｒ１、Ｒ２，Ｒ３から２つを選択する場合に、全ての組み合わせに含まれる２つの外接矩形は、Ｙ軸方向に互いに重複する部分を持っている。このため、第２生成部１４は、外接矩形Ｒ１、Ｒ２，Ｒ３から２つを選択する全ての組み合わせについてのＹ軸方向の距離を零とする。
【００４９】
一方、図５(Ａ)に示した外接矩形Ｒ３と外接矩形Ｒ４とのＹ軸方向の距離Ｄｙ３−４は、外接矩形Ｒ３の右下頂点Ｑｅ３のＹ座標Ｙｅ３と外接矩形Ｒ４の左上頂点Ｑｓ４のＹ座標Ｙｓ４との差で示される。
【００５０】
図１に示した第２生成部１４は、２つの外接矩形のＸ軸方向の距離が閾値Ｔｈｘ以下であり、かつ、２つの外接矩形のＹ軸方向の距離が閾値Ｔｈｙ以下である場合に、選択した２つの外接矩形で示される連結成分を隣接エッジで互いに接続する。ここで、閾値Ｔｈｘ，Ｔｈｙは、２つの連結成分間の画像ＧＧＲにおける距離の近さを判定するための閾値であり、第１値の一例である。閾値Ｔｈｘは、例えば、画像ＧＧＲに含まれる文字のＸ軸方向の幅程度に設定されることが望ましく、閾値Ｔｈｙは、画像ＧＧＲに含まれる文字のＹ軸方向の高さ程度に設定されることが望ましい。
【００５１】
例えば、第２生成部１４は、図５(Ａ)に示した外接矩形Ｒ１，Ｒ２について求めたＸ軸方向の距離及びＹ軸方向の距離がともに零となることから、画像ＧＧＲにおける連結成分Ｃ％−１，Ｃ％−２間の距離は所定の第１値以下であると判定する。そして、第２生成部１４は、図５(Ｂ)に示すように、連結成分Ｃ％−１，Ｃ％−２を示すノードＣ％−１，Ｃ％−２を隣接エッジＥ−１２，Ｅ−２１で双方向に接続する。
【００５２】
また、第２生成部１４は、図５(Ａ)に示した外接矩形Ｒ１，Ｒ３について求めたＸ軸方向の距離が閾値Ｔｈｘ以下であり、Ｙ軸方向の距離が零となることから、画像ＧＧＲにおける連結成分Ｃ％−１，Ｃ％−３間の距離が所定値以下であると判定する。そして、第２生成部１４は、図５(Ｂ)に示すように、連結成分Ｃ％−１，Ｃ％−３を示すノードＣ％−１，Ｃ％−３を隣接エッジＥ−１３，Ｅ−３１で双方向に接続する。
【００５３】
同様に、第２生成部１４は、図５(Ａ)に示した外接矩形Ｒ２，Ｒ３について求めたＸ軸方向の距離が閾値Ｔｈｘ以下であり、Ｙ軸方向の距離が零となることから、画像ＧＧＲにおける連結成分Ｃ％−２，Ｃ％−３間の距離が所定値以下であると判定する。そして、第２生成部１４は、図５(Ｂ)に示すように、連結成分Ｃ％−２，Ｃ％−３を示すノードＣ％−２，Ｃ％−３を隣接エッジＥ−２３，Ｅ−３２で双方向に接続する。
【００５４】
一方、第２生成部１４は、図５(Ａ)に示した外接矩形Ｒ３，Ｒ４について求めたＹ軸方向の距離は閾値Ｔｈｙ以下であるが、Ｘ軸方向の距離が閾値Ｔｈｘを超えていることから、画像ＧＧＲでの連結成分Ｃ％−３，Ｃ％−４間の距離は所定値を超えていると判定する。このため、第２生成部１４は、連結成分Ｃ％−３，Ｃ％−４を示すノードＣ％−３，Ｃ％−４隣接エッジで接続しない。同様に、第２生成部１４は、図５(Ａ)に示した連結成分Ｃ％−１と連結成分Ｃ％−４との距離および連結成分Ｃ％−２と連結成分Ｃ％−４との距離は、いずれも所定値を超えていると判定する。したがって、連結成分Ｃ％−１を示すノードＣ％−１と連結成分Ｃ％−４を示すノードＣ％−４とは隣接エッジで接続されず、連結成分Ｃ％−２を示すノードＣ％−２と連結成分Ｃ％−４を示すノードＣ％−４とは隣接エッジで接続されない。
【００５５】
図１に示した第２生成部１４は、同じ濃度に対応する階層に含まれるノードのうち、画像ＧＧＲにおいて互いに近接するノードを接続する隣接エッジを、第１生成部１２によって生成された成分ツリーに追加することでグラフを生成する。即ち、第２生成部１４によって、隣接エッジを追加することにより、画像ＧＧＲから抽出された連結成分について、成分ツリーによって示される包含関係の階層構造とともに、画像ＧＧＲにおける２次元的な位置関係を示すグラフを生成することができる。
【００５６】
以下の説明において、第２生成部１４によって生成されるグラフは、ＣＴ(Component Tree)グラフと称される場合がある。
【００５７】
図６は、図１に示した第２生成部１４によって生成されるＣＴグラフの例を示す。図６に示したＣＴグラフは、図１に示した第２生成部１４により、図４に示した成分ツリーに、図５で説明した処理により生成した隣接エッジを追加することで生成される。
【００５８】
図６に示したＣＴグラフにおいて、最上位の階層である濃度ｔ０の階層に属するソースノードＳｃは、図４に示した成分ツリーのルートノードであるノードＣ０−１に相当する。
【００５９】
図１に示した第２生成部１４は、成分ツリーで示される階層構造において、成分ツリーのルートを示すソースノードＳｃが属する階層に対極する階層のノードとして、図６に示すシンクノードＳｋを追加することが望ましい。
【００６０】
図６に示したＣＴグラフは、図１に示した第２生成部１４により、最下位の階層である濃度ｔ６の階層に属するノードとして、シンクノードＳｋを追加した例である。
【００６１】
また更に、第２生成部１４は、成分ツリーで示される階層構造において、下位の階層のノードに接続されないことが示されたノードのそれぞれと、追加したシンクノードＳｋとを階層エッジで接続することが望ましい。
【００６２】
図６に示したＣＴグラフにおいて、濃度ｔ１の階層に属するノードＣ１−１，Ｃ１−２を双方向に接続する矢印は、ノードＣ１−１，Ｃ１−２について、図５で説明した処理により第２生成部１４によって生成され、ＣＴグラフに追加された隣接エッジを示す。同様に、図６に示したＣＴグラフにおいて、濃度ｔ２の階層に属するノードＣ２−１，Ｃ２−２，Ｃ２−３を接続する矢印は、ノードＣ２−１，Ｃ２−２，Ｃ２−３について、第２生成部１４によってＣＴグラフに追加された隣接エッジを示す。また、図６に示したＣＴグラフにおいて、濃度ｔ３の階層に属するノードＣ３−１〜Ｃ３−５を接続する矢印は、ノードＣ３−１〜Ｃ３−５について、第２生成部１４によってＣＴグラフに追加された隣接エッジを示す。同様に、図６に示したＣＴグラフにおいて、濃度ｔ４の階層に属する７個のノードＣ４−１〜Ｃ４−７を接続する矢印は、ノードＣ４−１〜Ｃ４−７について、第２生成部１４によってＣＴグラフに追加された隣接エッジを示す。また、図６に示したＣＴグラフにおいて、濃度ｔ５の階層に属するノードＣ５−１〜Ｃ５−１２を接続する矢印は、ノードＣ５−１〜Ｃ５−１２について、第２生成部１４によってＣＴグラフに追加された隣接エッジの例を示す。
【００６３】
なお、図６に示したＣＴグラフは、各階層に属する連結成分のうち、例えば、検出順を示す番号順に選択した２つの連結成分が、図５で説明した処理の過程で、互いに近接していると判定された場合の例を示している。また、図６に示したＣＴグラフにおいては、同じ階層に属するノード間を一つおきあるいは複数個おきで接続する隣接エッジの図示は省略されている。
【００６４】
また、図６に示したＣＴグラフは、ノードＣ５−１〜Ｃ５−１２およびノードＣ４−１とシンクノードＳｋとを接続する階層エッジを含む。即ち、シンクノードＳｋに接続される階層エッジは、図４に示した成分ツリーの葉に当たるノードに接続される。
【００６５】
第２生成部１４によって生成されたＣＴグラフに含まれる各ノードを表すノード情報は、成分ツリーの各ノードを表すノード情報に加えて、ノードの種類を示す種別情報と、隣接エッジで接続されるノードを示すノード番号と、隣接エッジの個数とを含む。ここで、ノードの種類を示す種別情報は、ノードがソースノードであるかシンクノードであるかソースノード及びシンクノード以外の一般ノードであるかを示す情報である。また、ＣＴグラフに含まれる各ノードを表すノード情報は、成分ツリーの各ノードを表すノード情報に含まれる子ノードを示す情報として、階層エッジで下位側に接続されるノードのノード番号を含む。同様に、ＣＴグラフに含まれる各ノードを表すノード情報は、成分ツリーの各ノードを表すノード情報に含まれる子ノードの数に相当する情報として、階層エッジの数を含む。
【００６６】
一方、図１に示した認識部１３は、第１抽出部１１によって画像ＧＧＲから抽出された連結成分について文字認識を行う。また、認識部１３は、各連結成分についての文字認識により、連結成分に類似する文字を示す候補文字とともに、候補文字の確からしさとして、例えば、連結成分の特徴と候補文字で示される文字の特徴との違いの大きさを示す認識距離を求める。認識距離は、連結成分が候補文字で示される文字を表している可能性が高いほど小さい値により、候補文字の確からしさを示す指標の一例である。
【００６７】
認識部１３は、例えば、第１生成部１２により成分ツリーを生成する処理あるいは第２生成部１４により、ＣＴグラフを生成する処理と並行して、各連結成分の文字認識を行ってもよい。
【００６８】
また、認識部１３は、成分ツリーの各ノードについての文字認識で得られた候補文字を示す文字コード及び認識距離を、第２生成部１４によって生成されたＣＴグラフの各ノードを表すノード情報に追加する。
【００６９】
例えば、認識部１３は、図３に示した二値画像Ｐ２に含まれる連結成分Ｃ２−２について文字認識を行うことで、候補文字「ｉ」を示す文字コードとともに、認識距離として、候補文字が確からしいことを示す値を得る。そして、認識部１３は、成分ツリーに含まれるノードＣ２−２のノード情報に、候補文字「ｉ」を示す文字コードと、候補文字に対応して得られた認識距離を追加する。ここで、候補文字が確からしい場合に得られる認識距離は、例えば、数値「１５００」〜数値「２０００」程度の範囲にばらつく場合が多く、認識距離として例えば数値「１０００」以下の値が得られることはまれである。このため、候補文字が確からしいと判断される最大の認識距離は、例えば、数値「２０００」〜数値「２５００」程度の範囲に含まれる値に設定される場合が多い。逆に、文字認識により、確からしい候補文字が得られなかった場合に得られる認識距離は、例えば、数値「４０００」〜数値「５０００」程度の範囲にばらつく場合が多く、認識距離として例えば１万を超える値が得られることはまれである。
【００７０】
同様に、認識部１３は、図３に示した二値画像Ｐ３に含まれる連結成分Ｃ３−１について文字認識を行うことで、候補文字「Ｆ」を示す文字コードとともに、認識距離として、候補文字が確からしいことを示す値を得る。また、認識部１３は、同じく二値画像Ｐ３に含まれる連結成分Ｃ３−２、Ｃ３−３，Ｃ３−４，Ｃ３−５についての文字認識により、候補文字「ｉ」，「ｒ」，「ｓ」，「ｔ」を示す文字コードと、それぞれの認識距離として、各候補文字が確からしいことを示す値を得る。そして、認識部１３は、成分ツリーに含まれるノードＣ３−１、Ｃ３−２，Ｃ３−４，Ｃ３−４，Ｃ３−５のノード情報のそれぞれに、候補文字「Ｆ」，「ｉ」，「ｒ」，「ｓ」，「ｔ」を示す文字コードと、各候補文字に対応して得られた認識距離を追加する。
【００７１】
また、認識部１３は、図３に示した二値画像Ｐ４に含まれる連結成分Ｃ４−４、Ｃ４−５，Ｃ４−６について文字認識を行うことで、候補文字「ｒ」，「ｓ」，「ｔ」を示す文字コードと、それぞれの認識距離として、各候補文字が確からしいことを示す値を得る。そして、認識部１３は、成分ツリーに含まれるノードＣ４−４、Ｃ４−５，Ｃ４−６のノード情報のそれぞれに、候補文字「ｒ」，「ｓ」，「ｔ」を示す文字コードと、各候補文字に対応して得られた認識距離を追加する。
【００７２】
一方、認識部１３により、図３に示した他の連結成分について文字認識を行うことで得られる認識距離は、いずれも、確からしい候補文字が得られなかった場合に認識距離として得られる値となる。したがって、成分ツリーに含まれる他のノードを表すノード情報のそれぞれに対して、認識部１３は、いずれも、確からしい候補文字が得られなかった場合に得られる値をそれぞれについて得られた候補文字に対応する認識距離として追加する。
【００７３】
図１に示した設定部１５は、図６に示したＣＴグラフに含まれる各ノードを表すノード情報に基づいて、ＣＴグラフに含まれる階層エッジ及び隣接エッジのそれぞれに、後述するグラフカット処理で用いるコストを設定する。設定部１５は、図６に示したシンクノードＳｋに接続された階層エッジを除く階層エッジのそれぞれに、当該階層エッジで接続された２つのノードのうち、下位の階層のノードのノード情報で示された認識距離に比例する値を第１コストとして設定する。
【００７４】
また、設定部１５は、ＣＴグラフに含まれる全ての隣接エッジのそれぞれに、所定の第２値を有する第２コストを割り当てる。設定部１５は、第２値として、例えば、文字である可能性が高い連結成分について認識部１３による文字認識を行った場合に得られる平均的な認識距離を示す値より小さい値(例えば、数値「５０」〜数値「８０」)を設定することが望ましい。より好ましくは、設定部１５は、文字認識で得られた候補文字が確からしい場合に得られる認識距離の平均値を所定の定数で除した値を第２コストとして、各隣接エッジに設定することが望ましい。なお、候補文字が確からしい場合に得られる認識距離の平均値から第２コストを算出する際に用いる定数の値は、ＣＴグラフで示される階層構造に含まれる階層の数に応じて設定することが望ましい。即ち、画像ＧＧＲから連結成分を抽出する際に用いた濃度の段階の数の増大に伴って、第２コストの算出に用いる定数の値を大きい値を設定することが望ましい。
【００７５】
更に、設定部１５は、シンクノードに接続された階層エッジに、所定の第３値を有する第１コストを割り当てる。設定部１５は、例えば、第３値として、確からしい候補文字が得られなかった場合に認識部１３で認識距離として得られる値よりも小さい値を用いることが望ましい。より好ましくは、設定部１５は、第３値として、シンクノードに接続された階層エッジに、例えば、文字を表していない可能性が高い連結成分について認識部１３で得られる認識距離の半分程度の値(例えば、数値「２５００」)を用いることが望ましい。
【００７６】
ここで、図６に示したＣＴグラフの濃度ｔ３の階層に属するノードＣ３−１〜Ｃ３−５のノード情報のそれぞれは、図１に示した認識部１３による文字認識により確からしい候補文字が得られたことを示す認識距離を含んでいる。同様に、ＣＴグラフの濃度ｔ２の階層に属するノードＣ２−２のノード情報は、認識部１３による文字認識で確からしい候補文字が得られたことを示す認識距離を含んでいる。また、ＣＴグラフの濃度ｔ４の階層に属するノードＣ４−４、Ｃ４−５，Ｃ４−６のそれぞれのノード情報は、認識部１３による文字認識で確からしい候補文字が得られたことを示す認識距離を含んでいる。
【００７７】
一方、ＣＴグラフに含まれる他のノードのそれぞれを表すノード情報に含まれる認識距離は、いずれも、認識部１３による文字認識で確からしい候補文字が得られなかったことを示す。
【００７８】
したがって、図１に示した設定部１５によって、ノードＣ２−１とノードＣ３−１とを結ぶ階層エッジおよびノードＣ２−２とノードＣ３−２とを結ぶ階層エッジに設定される第１コストは、確からしい候補文字が得られたことを示す認識距離に相当する値となる。同様に、ノードＣ２−３とノードＣ３−３、Ｃ３−４，Ｃ３−５のそれぞれとを結ぶ階層エッジに設定部１５によって設定される第１コストは、確からしい候補文字が得られたことを示す認識距離に相当する値となる。また、ノードＣ１−１とノードＣ２−２とを結ぶ階層エッジに設定部１５によって設定される第１コストは、確からしい候補文字が得られたことを示す認識距離に相当する値となる。更に、設定部１５により、ノードＣ３−３、Ｃ３−４，Ｃ３−５のそれぞれとノードＣ４−４，Ｃ４−５，Ｃ４−６のそれぞれとを結ぶ階層エッジに設定される第１コストは、確からしい候補文字が得られたことを示す認識距離に相当する値となる。なお、図６に示したＣＴグラフにおいて、太い破線で示した階層エッジは、確からしい候補文字が得られたことを示す認識距離に相当する値の第１コストが設定された階層エッジを示している。
【００７９】
一方、図６のＣＴグラフにおいて、実線で示した階層エッジのそれぞれに、設定部１５によって設定される第１コストは、確からしい候補文字が得られたことを示す認識距離に相当する値よりも大きい値となる。
【００８０】
図１に示したグラフカット部１６は、例えば、図６に示したＣＴグラフに含まれる複数のノードを２つの部分集合に分割する境界を示す複数のカットの中から、他のカットよりもコストの総和が小さくなるカットを求める。ここで、カットのコストの総和とは、カットに跨る階層エッジに割り当てられた第１コストと、カットに跨る隣接エッジに割り当てられた第２コストとの総和である。なお、カットに跨る階層エッジとは、カットによって、階層エッジの両端のノードがソースノードを含む部分集合とシンクノードを含む部分集合とに分けられる階層エッジである。一方、カットに跨る隣接エッジとは、カットにより、ソースノードを含む部分集合に分けられたノードからシンクノードを含む部分集合に分けられたノードに向かう方向の隣接エッジである。例えば、図６に示したノードＣ４−１からノードＣ４−２に向かう隣接エッジは、ノードＣ４−１をソースノードを含む部分集合の要素とするとともにノードＣ４−２をシンクノードを含む部分集合の要素とするカットに跨る隣接エッジである。即ち、図１に示したグラフカット部１６は、グラフを示す情報に含まれる複数の連結成分を２つの部分集合に分割する境界の中から、コストの総和が、他の境界よりも小さくなる境界を求める分割部に相当する。
【００８１】
グラフカット部１６は、例えば、フォード・ファルカーソンの方法等を用いることで、図６に示したＣＴグラフにつき、コストの総和を最小とする最小カットを求める。
【００８２】
図６に点線で示した曲線γｍは、図６に示したＣＴグラフについて、図１に示したグラフカット部１６によって求められる最小カットの一例を示す。図６に示した最小カットγｍは、ＣＴグラフを、濃度ｔ１、ｔ２の階層に含まれる各ノードとソースノードＳｃとを含む部分集合と、濃度ｔ３〜ｔ５の階層に含まれる各ノードとシンクノードＳｋとを含む部分集合とに分割する。以下の説明では、図６に示したソースノードＳｃを含む部分集合はソース側の部分集合と称され、また、シンクノードＳｋを含む部分集合はシンク側の部分集合と称される場合がある。
【００８３】
ここで、ＣＴグラフに含まれる階層エッジのうち、濃度値が高い側に、確からしい候補文字が得られた連結成分が接続された階層エッジに割り当てられた第１コストは、他の階層エッジの第１コストに比べて値が小さい。このため、濃度値が高い側に、確からしい候補文字が得られた連結成分が接続された階層エッジを多く切断するカットは、グラフカット部１６により、他のカットに比べて最小カットとして選ばれやすい。
【００８４】
例えば、図６に示した最小カットγｍは、確からしい候補文字が得られたことを示す認識距離に相当する値の第１コストが設定された階層エッジのうち、濃度ｔ２の階層のノードと濃度ｔ３の階層のノードとを接続する階層エッジを切断している。これにより、階層エッジで接続され、ともに確からしい候補文字が得られた複数のノードを含むノードの系列のそれぞれは、図６に示した最小カットγｍにより、同一の階層の境界を境として、ソース側の部分集合とシンク側の部分集合とに分けられている。つまり、ノードＣ２−２，Ｃ３−２を含むノードの系列と、ノードＣ３−３，Ｃ４−４を含むノードの系列と、ノードＣ３−４，Ｃ４−５を含むノードの系列と、ノードＣ３−５，Ｃ４−６を含むノードの系列とは、濃度ｔ２、ｔ３の階層の境界で区分されている。言い換えれば、図６に示した最小カットγｍは、ＣＴグラフを階層方向の凹凸が少ない断面となっている。
【００８５】
ところで、例えば、ノードＣ２−２とノードＣ３−２とについて得られた認識距離とがほぼ同等である場合に、第１コストの総和は、ノードＣ２−２をソース側の部分集合に含めるカットとシンク側の部分集合に含めるカットとでほぼ同等となる。しかしながら、他のノードの系列を区分する階層方向の位置を維持したまま、ノードＣ２−２をシンク側の部分集合に含めるカットの総コストは、図６に示した最小カットγｍよりも大きくなる。なぜなら、図６に一点鎖線で示したように、ノードＣ２−２をシンク側の部分集合に含めるカットγａｌｔは、ノードＣ２−１からノードＣ２−２に向かう隣接エッジとノードＣ２−３からノードＣ２−２に向かう隣接エッジとを切断することになるからである。ノードＣ３−３，Ｃ４−４を含むノードの系列と、ノードＣ３−４，Ｃ４−５を含むノードの系列と、ノードＣ３−５，Ｃ４−６を含むノードの系列とについても同様のことが言える。
【００８６】
つまり、図６に示したＣＴグラフのように、複数のノードの系列を含むＣＴグラフをカットする場合に、ノードの系列のそれぞれを互いに異なる階層の境界で切断するカットよりも、同じ階層の境界で切断するカットの方がコストの総和が小さくなりやすい。なぜなら、同じ階層の境界で切断するカットの方が、切断する隣接エッジの数が少なくなるからである。
【００８７】
すなわち、ＣＴグラフに含まれる隣接エッジのそれぞれに第２コストを設定することで、複数のノードの系列のそれぞれを互いに異なる階層の境界で切断するカットよりも、同じ階層の境界で切断するカットが最小カットとして選ばれやすくする効果を持っている。
【００８８】
階層エッジで接続されたノードの系列のそれぞれを同じ階層の境界で切断するカットが最小カットとして選ばれやすいという特徴は、画像ＧＧＲを背景とテキストとに切り分けるカットを求める上で有用である。なぜなら、テレビ放送をキャプチャすることで得られる画像やデジタルカメラなどで撮影された画像において、テキストに含まれる各文字は同じ色、即ち、同じ濃度で表される場合が多いからである。
【００８９】
つまり、図１に示したグラフカット部１６により、異なる濃度を閾値として画像ＧＧＲから抽出された連結成分を示すノードを階層エッジと隣接エッジとで接続したＣＴグラフの最小カットを求めることで、画像ＧＧＲを背景とテキストとに切り分けることができる。
【００９０】
図１に示した第２抽出部１７は、グラフカット部１６で求められたカットで分割された２つの部分集合の一方に含まれるノードに対応する連結成分のそれぞれについて、認識部１３で得られた候補文字を抽出することで、画像ＧＧＲに含まれるテキストを抽出する。第２抽出部１７は、例えば、グラフカット部１６で求められたカットで示される２つの部分集合のうち、図６に示したシンクノードＳｋを含む部分集合に属するノードのノード情報に基づいて、テキストを抽出することが望ましい。例えば、第２抽出部１７は、図６に示したシンクノードＳｋを含む部分集合に属するノードの中から、ＣＴグラフで示される階層構造においてソースノードＳｃ側に突出した階層にあるノードを選択する。また、第２抽出部１７は、選択したノードのそれぞれのノード情報から、候補文字を示す文字コードを抽出することで、画像ＧＧＲに含まれるテキストを抽出する。
【００９１】
図６の例では、シンクノードＳｋを含む部分集合に属するノードの中で、ソースノードＳｃ側に突出した階層にあるノードは、ノードＣ３−１，Ｃ３−２，Ｃ３−３，Ｃ３−４，Ｃ３−５である。そして、ノードＣ３−１，Ｃ３−２，Ｃ３−３，Ｃ３−４，Ｃ３−５のそれぞれのノード情報は、候補文字「Ｆ」、「ｉ」、「ｒ」、「ｓ」、「ｔ」のそれぞれを示す文字コードを含んでいる。
【００９２】
すなわち、図１に示した第２抽出部１７は、グラフカット部１６で得られた最小カットγｍによって分割されたシンク側の部分集合に属するノードのノード情報から、画像ＧＧＲに含まれるテキスト「Ｆｉｒｓｔ」を抽出することができる。
【００９３】
ここで、図５を用いて説明したように、図１に示した第２生成部１４によって生成されるＣＴグラフに含まれる隣接エッジは、各ノードで示される連結成分の画像ＧＧＲにおける位置関係を示している。したがって、図１に示したグラフカット部１６は、画像ＧＧＲにおいて予めテキストが含まれる領域を切り出しておかなくても、ＣＴグラフを背景に対応するソース側の部分集合とテキストに対応するシンク側の部分集合とに分割するカットを求めることができる。すなわち、グラフカット部１６は、画像ＧＧＲにおいて、例えば、テキストが二次元的に不規則に配置されている場合でも、画像ＧＧＲからテキストを切り出すカットを求めることができる。
【００９４】
したがって、図１に示した文字認識装置１０は、画像ＧＧＲに含まれるテキストの配置にかかわらず、画像ＧＧＲからテキストを漏れなく抽出することができる。
【００９５】
図１に示した文字認識装置１０は、背景にテキストよりも濃度が高い部分が含まれている画像から、テキストを高い精度で切り出すことも可能である。
【００９６】
図７は、グレースケール画像ＧＧＲの別例を示す。図７に示した画像ＧＧＲは、濃淡が大きく複雑に変化する背景Ｂｇとともに、文字列「Ｒｏｙ」を前景Ｆｇとして含んでいる。
【００９７】
図８は、図７に示したグレースケール画像ＧＧＲから抽出された連結成分の例を示す。図８の例は、画像ＧＧＲから、７段階の濃度ｔ０〜ｔ６を閾値として生成した７枚の二値画像Ｇ０，Ｇ１，Ｇ２，Ｇ３，Ｇ４，Ｇ５，Ｇ６のそれぞれから抽出した連結成分を示している。
【００９８】
図８に示した各連結成分を示す符号において、符号「Ｃ」の後の数値は、当該連結成分が抽出された二値画像の閾値として用いられた濃度値を示し、符号「−」の次の数値は、二値画像からの抽出順を示す。
【００９９】
図８の例では、濃度ｔ０に対応する二値画像Ｇ０は、全体が一つの連結成分Ｃ０−１となっている。一方、濃度ｔ６に対応する二値画像Ｇ６は連結成分を含んでいない。
【０１００】
図８に示した二値画像Ｇ１は、２個の連結成分Ｃ１−１、Ｃ１−２を含んでいる。また、図８に示した二値画像Ｇ２は、５個の連結成分Ｃ２−１，Ｃ２−２，Ｃ２−３，Ｃ２−４，Ｃ２−５を含んでいる。同様に、図８に示した二値画像Ｇ３は、７個の連結成分Ｃ３−１，Ｃ３−２、Ｃ３−３，Ｃ３−４，Ｃ３−５，Ｃ３−６，Ｃ３−７を含んでいる。また、図８に示した二値画像Ｇ４は、１０個の連結成分Ｃ４−１，Ｃ４−２，Ｃ４−３，Ｃ４−４，Ｃ４−５，Ｃ４−６，Ｃ４−７，Ｃ４−８，Ｃ４−９，Ｃ４−１０を含んでいる。また、図８に示した二値画像Ｇ５は、１０個の連結成分Ｃ５−１，Ｃ５−２，Ｃ５−３，Ｃ５−４，Ｃ５−５，Ｃ５−６，Ｃ５−７，Ｃ５−８，Ｃ５−９，Ｃ５−１０を含んでいる。更に、図８に示した二値画像Ｇ５は、７個の連結成分Ｃ５−１１，Ｃ５−１２，Ｃ５−１３，Ｃ５−１４，Ｃ５−１５，Ｃ５−１６，Ｃ５−１７を含んでいる。
【０１０１】
図９は、図１に示した第２生成部によって生成されるＣＴグラフの別例を示す。なお、図９において、縦軸ｔは、濃度を示し、濃度ｔ０〜ｔ５のそれぞれを示す点線上に示した楕円のそれぞれは、濃度ｔ０〜ｔ５のそれぞれに対応する二値化画像Ｐ０〜Ｐ５から抽出された連結成分を示すノードである。なお、図９に示したＣＴグラフおいて、各ノードは、当該ノードが示す連結成分と同一の符号で示される。
【０１０２】
図９に示したＣＴグラフにおいて、濃度ｔ０〜ｔ５のそれぞれに対応する階層に含まれる各ノードは、図８に示した二値画像Ｇ０〜Ｇ５のそれぞれに含まれる連結成分を示す。例えば、濃度ｔ０に対応する階層に含まれるソースノードＳｃは、二値画像Ｇ０に含まれる連結成分Ｃ０−１を示す。また、濃度ｔ１に対応する階層に含まれる２個のノードは、二値画像Ｇ１に含まれる連結成分Ｃ１−１，Ｃ１−２を示す。同様に、濃度ｔ２に対応する階層に含まれる５個のノードは、二値画像Ｇ２に含まれる連結成分Ｃ２−１，Ｃ２−２，Ｃ２−３，Ｃ２−４，Ｃ２−５を示す。また、濃度ｔ３に対応する階層に含まれる７個のノードは、二値画像Ｇ３に含まれる連結成分Ｃ３−１，Ｃ３−２、Ｃ３−３，Ｃ３−４，Ｃ３−５，Ｃ３−６，Ｃ３−７を示す。また、濃度ｔ４に対応する階層に含まれる１０個のノードは、二値画像Ｇ４に含まれる連結成分Ｃ４−１，Ｃ４−２，Ｃ４−３，Ｃ４−４，Ｃ４−５，Ｃ４−６，Ｃ４−７，Ｃ４−８，Ｃ４−９，Ｃ４−１０を示す。同様に、濃度ｔ５に対応する階層において左から１０番目までのノードは、二値画像Ｇ５に含まれる連結成分Ｃ５−１，Ｃ５−２，Ｃ５−３，Ｃ５−４，Ｃ５−５，Ｃ５−６，Ｃ５−７，Ｃ５−８，Ｃ５−９，Ｃ５−１０を示す。そして、濃度ｔ５に対応する階層において左から１１番目から１７番目までのノードは、二値画像Ｇ５に含まれる連結成分Ｃ５−１１，Ｃ５−１２，Ｃ５−１３，Ｃ５−１４，Ｃ５−１５，Ｃ５−１６，Ｃ５−１７を示す。
【０１０３】
なお、図９に示したＣＴグラフは、各階層に属する連結成分のうち、例えば、検出順を示す番号順に選択した２つの連結成分が、図５で説明した処理の過程で、互いに近接していると判定された場合の例を示している。また、図９に示したＣＴグラフにおいては、同じ階層に属するノードを、一つおきあるいは複数個おきで接続する隣接エッジの図示は省略されている。
【０１０４】
また、図９に示したＣＴグラフにおいて、図１に示した認識部１３による文字認識処理により、確からしい候補文字「Ｒ」が得られたノードＣ４−３と、確からしい候補文字「ｏ」が得られたノードＣ３−３，Ｃ４−５とを二重丸で示した。同様に、図９に示したＣＴグラフにおいて、確からしい候補文字「ｙ」が得られたノードＣ３−５，Ｃ４−７を二重丸で示した。
【０１０５】
また、図９に示したＣＴグラフにおいて、図１に示した設定部１５により、確からしい候補文字が得られた場合の認識距離に相当する第１コストが設定された階層エッジを破線で示した。そして、図９に示したＣＴグラフにおいて、図１に示した設定部１５により、確からしい候補文字が得られない場合の認識距離に相当する第１コストが設定された階層エッジを実線で示した。
【０１０６】
そして、図９において、太い点線で示した曲線γｍは、図７に示した画像ＧＧＲについて生成されたＣＴグラフについて、図１に示したグラフカット部１６によって求められた最小カットを示す。
【０１０７】
図９に示した最小カットγｍにより、ＣＴグラフは、ノードＣ４−３，Ｃ４−５，Ｃ３−５のそれぞれに対応する連結成分に包含されるノードとシンクノードＳｋとを含む部分集合と、ＣＴグラフの他のノードを含むソース側の部分集合とに分割されている。
【０１０８】
そして、図１に示した第２抽出部１７は、図９に示した最小カットγｍによる分割で得られたシンク側の部分集合の中で、階層の並び方向にソース側に突出した位置にあるノードのノード情報から、候補文字を示す文字コードを抽出することで、テキストを抽出する。つまり、第２抽出部１７は、最小カットγｍによる分割で得られたシンク側の部分集合から、ノードＣ４−３，Ｃ４−５，Ｃ３−５を検出し、これらのノードのノード情報に含まれる候補文字「Ｒ」，「ｏ」，「ｙ」を示す文字コードをそれぞれ抽出する。そして、第２抽出部１７は、抽出した文字コードを、図７に示した画像ＧＧＲから抽出したテキストとして出力する。
【０１０９】
以上に説明したように、図１に示した文字認識装置１０は、図７に示したように、濃度の変化幅が大きくしかも複雑な背景を含む画像ＧＧＲから、テキストを抽出することができる。
【０１１０】
ここで、図９に示したＣＴグラフにおいて、一点鎖線で囲んで示したノードの系列Ｎ１，Ｎ２，Ｎ３，Ｎ４，Ｎ５に属するノードは、確からしい候補文字が得られたノードＣ３−３，Ｃ３−５，Ｃ４−３，Ｃ４−５，Ｃ４−７のいずれとも包含関係を持っていない。また、これらのノードの系列Ｎ１〜Ｎ５に属する各ノードについて、図１に示した認識部１３で得られた認識距離は、いずれも、確からしい候補文字が得られなかったことを示す。つまり、図９に示したノードの系列Ｎ１〜Ｎ５は、図７に示した画像ＧＧＲからのテキスト抽出におけるノイズである可能性が高い。そして、これらのノードの系列Ｎ１〜Ｎ５に属するノード間を接続する階層エッジに図１に示した設定部１５により割り当てられた第１コストは、シンクノードＳｋに接続される階層エッジに第１コストとして割り当てられる第３値よりも大きい値となっている。
【０１１１】
このため、ノードの系列Ｎ１〜Ｎ５に属するノード間を接続する階層エッジのいずれかを切断するカットよりも、ノードの系列Ｎ１〜Ｎ５に属するノードとシンクノードＳｋとを接続する階層エッジを切断するカットの方がコストの総和が小さくなりやすい。したがって、図１に示したグラフカット部１６によって求められる最小カットは、ノードの系列Ｎ１〜Ｎ５に属する全てのノードをまとめてシンクノードＳｋから切り離すカットとなる可能性が高い。
【０１１２】
すなわち、シンクノードＳｋに接続される階層エッジに一律に設定された第３コストは、ノードの系列Ｎ１〜Ｎ５のように、ノイズである可能性の高いノードの系列をシンクノードＳｋから切り離す最小カットがグラフカット部１６で求められる可能性を高くする。つまり、設定部１５により、シンクノードＳｋに接続される階層エッジに一律に第３コストを設定することで、グラフカット部１６に、ノイズである可能性の高いノードの系列をシンク側の部分集合から切り離す最小カットを求めさせることができる。
【０１１３】
これにより、図１に示した文字認識装置１０は、図７に示したように、濃度の変化幅が大きくしかも複雑な背景を含む画像ＧＧＲから、高い精度でテキストを抽出することが可能となる。
【０１１４】
図１０は、図１に示した文字認識装置１０の動作を示す。図１０に示したステップＳ３０１〜ステップＳ３０７の処理は、図１に示した文字認識装置１０の動作を示すとともに、文字認識方法および文字認識プログラムの例を示す。例えば、図１０に示す処理は、文字認識装置１０に搭載されたプロセッサが文字認識プログラムを実行することで実現される。なお、図１０に示す処理は、文字認識装置１０に搭載されるハードウェアによって実行されてもよい。すなわち、図１０は、文字認識方法および文字認識プログラムの一実施形態を示す。
【０１１５】
ステップＳ３０１において、図１に示した第１抽出部１１は、例えば、変換装置ＣＶによる変換処理で得られたグレースケール画像ＧＧＲを受け、受けたグレースケール画像ＧＧＲから複数の閾値を用いて連結成分を抽出する。なお、第１抽出部１１は、デジタルカメラによる撮影で得られたグレースケール画像やスキャナ装置による読み取りで得られたグレースケール画像を、デジタルカメラやスキャナ装置から直接に受けてもよい。
【０１１６】
ステップＳ３０２において、第１生成部１２は、図３及び図４を用いて説明したようにして、ステップＳ３０１の処理で抽出した連結成分間の包含関係を探索することで、図４に示したような成分ツリーを生成する。
【０１１７】
ステップＳ３０３において、図１に示した認識部１３は、成分ツリーに含まれる各ノードに対応する連結成分について文字認識を行い、文字認識結果として得られる候補文字を示す文字コードと認識距離とを、各ノードを表すノード情報に追加する。
【０１１８】
なお、認識部１３によるステップＳ３０３の処理と、第１生成部１２によるステップＳ３０２の処理とは、図１０に示した順序とは逆の順序で実行されてもよいし、また、並行して実行されてもよい。
【０１１９】
ステップＳ３０４において、図１に示した第２生成部１４は、ステップＳ３０２の処理で生成した成分ツリーに、図５を用いて説明した隣接エッジと、図６に示したシンクノードＳｋ及びシンクノードＳｋに接続される階層エッジを追加することでＣＴグラフを生成する。
【０１２０】
ステップＳ３０５において、設定部１５は、図６を用いて説明したようにして、ＣＴグラフに含まれる階層エッジのそれぞれおよび隣接エッジのそれぞれへのコストの設定を行う。設定部１５は、図６または図９に示したＣＴグラフのシンクノードＳｋに接続される階層エッジ以外の階層エッジのそれぞれに、当該階層エッジで接続される２つのノードのうち子に当たるノードのノード情報に含まれる認識距離に比例する第１コストを設定する。また、設定部１５は、ＣＴグラフに含まれる全ての隣接エッジに、一律に、確からしい候補文字が得られた場合の認識距離よりも小さい値を持つ第２コストを設定する。また、設定部１５は、シンクノードＳｋに接続される全ての階層エッジに、一律に、確からしい候補文字が得られなかった場合の認識距離よりも小さい値を持つ第３コストを設定する。
【０１２１】
ステップＳ３０６において、図１に示したグラフカット部１６は、ステップＳ３０４の処理で生成されたＣＴグラフについてのグラフカットを実行し、例えば、図１１に示すような最小カットγｍを求める。
【０１２２】
図１１は、図１０に示したステップＳ３０６の処理で得られる最小カットγｍの例を示す。図１１において、縦軸ｔは、濃度ｔ(ｋ)，ｔ(ｋ−１)，ｔ(ｋ−２)，ｔ(ｋ−３)，ｔ(ｋ−４)，ｔ(ｋ−５)，ｔ(ｋ−６)の順に薄くなっていく濃度を示す。
【０１２３】
図１１において、破線で囲まれた図形は、図１０に示したステップＳ３０４の処理で生成される概念的なＣＴグラフＣＴＧを示す。
【０１２４】
図１１に示したＣＴグラフＣＴＧにおいて、網掛けされた円形Ｃ１，Ｃ２，Ｃ３，Ｃ４，Ｃ５，Ｃ６，Ｃ７のそれぞれは、図１に示した認識部１３により、確からしい候補文字が得られたノードを示す。また、ＣＴグラフＣＴＧにおいて、白い円形のそれぞれは、確からしい候補文字が得られなかったノードを示す。また、図１１に示したＣＴグラフＣＴＧにおいて、濃度を示す階層方向にノード間を接続する線分は階層エッジを示し、ＣＴグラフＣＴＧの各階層に含まれるノード間を接続する矢印は、ノード間を双方向に接続する隣接エッジを示す。
【０１２５】
図１１は、ＣＴグラフＣＴＧに含まれる確からしい候補文字が得られたノードのうち、一部のノード(図１１の例ではノードＣ４)が、他のノードとは異なる階層(図１１の例では濃度ｔ(ｋ−６)の階層)に含まれる例を示す。
【０１２６】
図１１に示した例のように、確からしい候補文字が得られたノードの多くが一つあるいは隣接する階層に集中して分布しており、一部のノードが離れた階層に分布している場合に、離れた階層に含まれるノードは、画像に含まれるノイズを示している可能性が高い。つまり、確からしい候補文字が得られた他のノードとは離れた階層に含まれるノードは、画像に含まれる背景から抽出された連結成分のうち、偶然にも文字に似た形状を持つ連結成分を示す可能性が高い。
【０１２７】
図１１に示したＣＴグラフＣＴＧについて、図１に示したグラフカット部１６は、図１０に示したステップＳ３０６の処理により、図１１に実線で示した曲線γｍを最小カットとして求める。図１１に示した最小カットγｍは、濃度ｔ(ｋ−２)の階層に含まれるノードＣ１〜Ｃ３とノードＣ５〜Ｃ７をシンクノードＳｋとともにシンク側の部分集合の要素とし、離れた階層に含まれるノードＣ４をシンク側の部分集合から切り離すカットである。
【０１２８】
すなわち、グラフカット部１６は、ステップＳ３０６の処理により、確からしい候補文字が得られたノードの集合のうち、ノイズである可能性の高いノードＣ４を除く要素をシンク側の部分集合に含めるカットを、最小カットγｍとして求めることができる。
【０１２９】
ここで、ステップＳ３０６の処理により、図１１に点線で示した曲線γａｌｔ１のように、離れた階層に含まれるノードＣ４を含めて、確からしい候補文字が得られたノードの全てをシンク側の部分集合に含めるカットが最小カットとして選ばれることはない。
【０１３０】
なぜなら、図１１に示したカットγａｌｔ１は、最小カットγｍに比べて、多くの隣接エッジを横切るため、隣接エッジに設定された第２コストのために、カットについてのコストの総和が大きくなるためである。
【０１３１】
また、ステップＳ３０６の処理により、図１１において鎖線で示した曲線γａｌｔ２のように、ノードＣ４に階層エッジで直接あるいは間接に接続されるノードの系列の一部をシンク側の部分集合の要素とするカットが最小カットとして選ばれることはない。
【０１３２】
なぜなら、図１１に示したカットγａｌｔ２は、確からしい候補文字が得られない場合の認識距離に相当する第１コストが設定された階層エッジを横切るため、最小カットγｍに比べて、第１コストの総和が大きくなるためである。
【０１３３】
したがって、図１に示したグラフカット部１６は、確からしい候補文字が得られたノードの集合にノイズが混在する場合にも、テキストを示す可能性が高いＣＴグラフのノードを選択的にシンク側の部分集合に含めるカットを最小カットとして求めることができる。つまり、図１に示したグラフカット部１６は、画像ＧＧＲに含まれるテキストを示すＣＴグラフのノードを高い精度で、背景から分離することができる。
【０１３４】
そして、図１０に示したステップＳ３０７において、図１に示した第２抽出部１７は、ステップＳ３０６の処理で得られた最小カットγｍにより、シンク側の部分集合の要素とされたノードのノード情報から候補文字を抽出することで、テキストの抽出を行う。例えば、第２抽出部１７は、シンク側の部分集合に含まれるノードのうち、ソース側に突出した階層のノードに対応するノード情報から、候補文字を示す文字コードを抽出し、抽出した文字コードの集合を画像ＧＧＲから抽出したテキストとして出力する。
【０１３５】
以上に説明したように、図１に示した文字認識装置１０は、画像ＧＧＲから抽出した連結成分間の包含関係を示す階層エッジに文字認識で得た認識距離を示すコストを与え、近接する連結成分間のエッジに所定のコストを一律に与えたＣＴグラフを生成する。また、文字認識装置１０は、生成したＣＴグラフにつき、カットに跨るエッジに設定されたコストが他のカットよりも小さくなる最小カットを求めることで、画像ＧＧＲに含まれる文字を表す連結成分を示すノードを漏れなく含むシンク側の部分集合を求める。そして、文字認識装置１０は、シンク側の部分集合に含まれるノードのノード情報から、確からしい文字候補を示す文字コードを抽出することにより、画像ＧＧＲに含まれるテキストを漏れなく、しかも、高い精度で抽出することができる。
【０１３６】
図１２は、文字認識装置１０の別実施形態を示す。なお、図１２に示した構成要素のうち、図１に示した構成要素と同等のものは、同一の符号で示され、その説明は省略される場合がある。
【０１３７】
図１２に示した文字認識装置１０は、図１に示した第１抽出部１１、第１生成部１２、第２生成部１４、認識部１３、設定部１５、グラフカット部１６及び第２抽出部１７に加えて、グラフ管理テーブルＧＭＴと、縮約部１８とを含んでいる。
【０１３８】
グラフ管理テーブルＧＭＴは、ＣＴグラフに含まれるノードのそれぞれを表すノード情報と、階層エッジのそれぞれおよび隣接エッジのそれぞれを表すエッジ情報とを含んでいる。グラフ管理テーブルＧＭＴは、例えば、第１抽出部１１によってグレースケール画像ＧＧＲから抽出された連結成分のそれぞれに与えられるノード番号に対応して、当該ノードを表すノード情報を保持する。また、グラフ管理テーブルＧＭＴは、第１生成部１２による包含関係の探索によって得られた階層エッジのそれぞれに、第１生成部１２により与えられるエッジ番号に対応して、各階層エッジを表すエッジ情報を保持する。また、グラフ管理テーブルＧＭＴは、第２生成部１４によって生成される隣接エッジのそれぞれ及びシンクノードに接続される階層エッジのそれぞれに、第２生成部１４によって与えられるエッジ番号に対応して、各隣接エッジおよび各階層エッジを表すエッジ情報を保持する。なお、第１生成部１２および第２生成部１４は、階層エッジ及び隣接エッジのそれぞれに、文字認識装置１０内で一意のエッジ番号を与えることが望ましい。
【０１３９】
第１抽出部１１は、例えば、ｎ(ｎは正の整数)段階の濃度を示す閾値を用いて、グレースケール画像ＧＧＲから閾値以上の濃度を持つ連結成分を抽出する。また、第１生成部１２は、第１抽出部１１によって抽出された連結成分の包含関係を探索することで得られた階層構造を示す成分ツリーを生成する。また、第１生成部１２は、成分ツリーを生成する過程で、各連結成分を示すノードを表すノード情報として、ノードが属する階層を示す濃度値と、連結成分の外接矩形の左上の頂点及び右下の頂点の画像ＧＧＲにおける座標とを、グラフ管理テーブルＧＭＴに保持させる。また、第１生成部１２は、各連結成分を示すノードを表すノード情報として、連結成分に含まれる画素の数と、当該ノードの子ノードのそれぞれを示すノード番号と、子ノードの数とを、グラフ管理テーブルＧＭＴに保持させる。更に、第１生成部１２は、各連結成分を示すノードを表すノード情報として、当該ノードの親ノードを示すノード番号を、グラフ管理テーブルＧＭＴに保持させる。
【０１４０】
また、第１生成部１２は、成分ツリーに含まれる各階層エッジを表すエッジ情報として、各階層エッジが接続するノードを示すノード番号を、エッジ番号に対応して、グラフ管理テーブルＧＭＴに保持させる。
【０１４１】
図１２に示した縮約部１８は、第１生成部１２によってグラフ管理テーブルＧＭＴに格納された情報に基づいて、第１生成部１２によって生成された成分ツリーを簡略化するための縮約処理を行う。
【０１４２】
縮約部１８は、グラフ管理テーブルＧＭＴに格納された情報に基づいて、階層エッジによって互いに接続されたノードの系列のそれぞれについて、連結成分の形状の濃度方向における安定性を調べる。縮約部１８は、例えば、画像ＧＧＲに設定したｘｙ軸に、濃度の変化方向を示すｚ軸を加えた３次元空間において、ノードの系列に含まれるノードに対応する連結成分で示される立体の体積の密度に基づいて、連結成分の形状の濃度方向における安定性を評価する。
【０１４３】
濃度ｚ１と濃度ｚ１より薄い濃度を示す濃度ｚ２で示される濃度の区間[ｚ２，ｚ１]において、ノードの系列に含まれるノードに対応する連結成分で示される立体の体積の密度は、式(１)を用いて計算することができる。なお、式(１)において、値ｖｄ(ｚ１，ｚ２)は、濃度の区間[ｚ２，ｚ１]に含まれる連結成分で示される立体の体積の密度を示し、関数Ｓ(ｚ)は、濃度ｚにおける連結成分の面積、すなわち、連結成分に含まれる画素数を示す。
【０１４４】
【数１】
2015026290.tif 000003
縮約部１８は、例えば、ノードの系列のそれぞれについて、各連結成分の濃度を含む濃度の区間［ｚ＋ｈ，ｚ］(ｚ，ｈはいずれも正の整数)において、連結成分で示される立体の体積の密度ｖｄ(ｚ，ｚ＋ｈ)を式(１)を用いて算出する。そして、縮約部１８は、算出した値が所定の閾値Ｔｈｚ以下である場合に、ノードの系列で示される連結成分は、濃度の区間［ｚ＋ｈ，ｚ］において形状が安定していると判断する。また、縮約部１８は、連結成分の形状が安定していると判断したノードの系列に含まれる複数のノードを、一つの安定ノードに置き換える。なお、連結成分の形状が安定しているか否かを判断するための閾値Ｔｈｚは、例えば、数値０．８程度の値に設定されることが望ましい。
【０１４５】
図１３は、図１２に示した縮約部１８による成分ツリーの縮約例を示す。図１３において、縦軸ｔは、濃度を示す。なお、図１３の例では、濃度の範囲を、最も薄い濃度を示す濃度ｔ０から、濃度ｔ１、ｔ２、ｔ３、ｔ４、ｔ５、ｔ６、ｔ７を経て、最も濃い濃度を示す濃度ｔ８までの９段階で示している。また、図１３(Ａ)は、図１２に示した第１生成部１２によって生成される成分ツリーの例を示す。また、図１３(Ｂ)は、図１３(Ａ)に示した成分ツリーについて、縮約部１８による縮約を適用したことで得られる縮約後の成分ツリーの例を示す。
【０１４６】
図１３(Ａ)に示した成分ツリーに含まれる円形のそれぞれは、第１抽出部１１によって画像から抽出された連結成分を示すノードを示す。なお、図１３(Ａ)に示したノードのうち、濃度ｔ０に対応する階層に含まれるノードは、成分ツリーのルートを示すルートノードＲｔである。
【０１４７】
また、図１３(Ａ)において、破線で示す楕円Ｎｇ１，Ｎｇ２，Ｎｇ３のそれぞれは、対応する連結成分の形状が濃度方向に安定しているノードの系列を示す。
【０１４８】
図１２に示した縮約部１８は、例えば、図１３(Ａ)に示したノードの系列Ｎｇ１，Ｎｇ２，Ｎｇ３のそれぞれに含まれる複数のノード(図１３(Ａ)の例では２つのノード)を、それぞれ一つの安定ノードに置き換えることで、図１３(Ａ)に示した成分ツリーを縮約する。
【０１４９】
図１３(Ｂ)において、網掛けされた円形Ｃ１，Ｃ２，Ｃ３のそれぞれは、縮約部１８により、図１３(Ａ)に示したノードの系列Ｎｇ１，Ｎｇ２，Ｎｇ３のそれぞれを置き換えた安定ノードを示す。
【０１５０】
ここで、図１２に示した第１抽出部１１は、画像ＧＧＲから連結成分を抽出する際に、例えば、２５６段階の濃度のそれぞれを用いる場合がある。この場合に、第１生成部１２によって生成される成分ツリーにおいて、連結成分の形状が濃度方向に安定しているノードの系列のそれぞれは、階層エッジで接続された多数のノードを含む可能性が高い。
【０１５１】
したがって、図１３(Ａ)，(Ｂ)で説明したように、濃度方向に形状が安定している連結成分を示すノードの系列のそれぞれを、縮約部１８により、一つの安定ノードに置き換えることで、第１生成部１２で生成された成分ツリーを大幅に簡略化することができる。
【０１５２】
縮約部１８は、安定ノードに置き換えるノードの系列に含まれる各ノードを表すノード情報に基づいて、ノードの系列を置き換える安定ノードを表すノード情報を生成する。
【０１５３】
縮約部１８は、例えば、安定ノードへの置き換えの対象となるノードの系列に含まれる複数のノードの中から一つの代表ノードを選択し、選択した代表ノードのノード情報を安定ノードのノード情報としてもよい。縮約部１８は、安定ノードへの置き換えの対象となるノードの系列に含まれる複数のノードのうち、最もルートノードＲｔに近い階層のノードを代表ノードとして選択してもよいし、逆に、最も離れた階層のノードを選択してもよい。また、縮約部１８は、安定ノードへの置き換えの対象となるノードの系列に含まれる複数のノードの中で、中間の濃度値の階層に属するノードを代表ノードとして選択してもよい。
【０１５４】
縮約部１８は、例えば、図１２に示した認識部１３による文字認識処理に用いる関数の特性に基づいて、代表ノードの選択方法を決定してもよい。例えば、文字認識処理に用いる関数の特性が、パターンの一部がかすれた文字についての認識に適している場合に、縮約部１８は、代表ノードとしてルートノードＲｔから離れた階層のノードを選択する。逆に、文字認識処理に用いる関数の特性が、文字パターン特徴の一部がつぶれた文字についての認識に適している場合に、縮約部１８は、代表ノードとしてルートノードＲｔに近い階層のノードを選択する。
【０１５５】
なお、図１３(Ａ)，(Ｂ)は、安定ノードへの置き換えの対象となるノードの系列Ｎｇ１，Ｎｇ２，Ｎｇ３のそれぞれに含まれるノードの中で、最もルートノードＲｔに近いノードを代表ノードとして選択した例を示している。
【０１５６】
また、縮約部１８は、ノードの系列から選択した代表ノードに対応してグラフ管理テーブルＧＭＴに格納されたノード情報を取得し、取得した情報を安定ノードのノード情報として、新たなノード番号に対応してグラフ管理テーブルＧＭＴに新たに登録してもよい。この場合に、グラフ管理テーブルＧＭＴは、縮約前の成分ツリーを示す情報に加えて、縮約部１８によって、連結成分の形状が濃度方向に安定しているノードの系列に代えて設けられた安定ノードを示す情報を含むことになる。
【０１５７】
図１２に示した縮約部１８は、濃度方向に形状が安定している連結成分を安定ノードに縮約した後の成分ツリーにおいて、更に、２つの安定ノードの間に階層エッジで接続された成分ツリーの一部を、一つの中間ノードで置き換える。なお、縮約部１８は、成分ツリーのルートノードＲｔを安定ノードの一つとし、ルートノードＲｔと安定ノードとの間の階層構造を一つの中間ノードで置き換えることが望ましい。また、縮約部１８は、最もルートノードＲｔから離れた安定ノードから成分ツリーの葉に当たるノードまでの階層構造を、階層構造に含まれるノードの数にかかわらず、一つの中間ノードで置き換える
例えば、縮約部１８は、図１３(Ａ)においてルートノードＲｔとノードの系列Ｎｇ１との間の階層構造を、図１３(Ｂ)において二重丸で示した中間ノードＣｉ１に置き換える。同様に、縮約部１８は、ノードの系列Ｎｇ１とノードの系列Ｎｇ２との間の階層構造およびノードの系列Ｎｇ１とノードの系列Ｎｇ３との間の階層構造のそれぞれを、図１３(Ｂ)において二重丸で示した中間ノードＣｉ２、Ｃｉ３に置き換える。また、縮約部１８は、ノードの系列Ｎｇ２から成分ツリーの葉に当たるノードまでの階層構造と、ノードの系列Ｎｇ３から成分ツリーの葉に当たるノードまでの階層構造とを、それぞれ中間ノードＣｉ４，Ｃｉ５に置き換える。
【０１５８】
また、縮約部１８は、図１３(Ｂ)を用いて説明したようにして置き換えた中間ノードのそれぞれに、中間ノードに接続された２つの安定ノードのそれぞれが属する階層で示される濃度の範囲と、２つの安定ノードの一方で示される画像における位置とを対応付ける。
【０１５９】
縮約部１８は、例えば、グラフ管理テーブルＧＭＴを参照することで、中間ノードに接続された２つの安定ノードのそれぞれに対応するノード情報から、安定ノードが属する階層を示す濃度値と外接矩形の位置及び大きさを示す情報とを取得する。また、縮約部１８は、中間ノードの親に当たる安定ノードについて得られた濃度値よりも１段階濃い濃度を下限とし、中間ノードの子に当たる安定ノードについて得られた濃度値よりも１段階薄い濃度を上限とする濃度の範囲を、中間ノードに対応付ける。また、縮約部１８は、例えば、中間ノードの子に当たる安定ノードについて得られた外接矩形の位置及び大きさを示す情報を、中間ノードに対応する仮想的な外接矩形の位置及び大きさを示す情報とする。
【０１６０】
例えば、縮約部１８は、図１３(Ｂ)に示した中間ノードＣｉ１に濃度の範囲として濃度ｔ１を設定し、また、中間ノードＣｉ１の仮想的な外接矩形の位置及び大きさを示す情報として、安定ノードＣ１の外接矩形の位置及び大きさを示す情報を設定する。同様に、縮約部１８は、中間ノードＣｉ２に濃度の範囲［ｔ３，ｔ４］を設定し、中間ノードＣｉ２の仮想的な外接矩形の位置及び大きさを示す情報として、安定ノードＣ２の外接矩形の位置及び大きさを示す情報を設定する。また、縮約部１８は、中間ノードＣｉ３に濃度の範囲［ｔ３，ｔ５］を設定し、中間ノードＣｉ３の仮想的な外接矩形の位置及び大きさを示す情報として、安定ノードＣ３の外接矩形の位置及び大きさを示す情報を設定する。一方、縮約部１８は、縮約後の成分ツリーの葉となる中間ノードＣｉ４に、中間オードＣｉ４の親に当たる安定ノードＣ２の外接矩形の位置及び大きさを示す情報を設定するとともに、濃度の範囲［ｔ５，ｔ６］を設定する。同様に、縮約部１８は、縮約後の成分ツリーの葉となる中間ノードＣｉ５に、中間オードＣｉ５の親に当たる安定ノードＣ３の外接矩形の位置及び大きさを示す情報を設定するとともに、濃度の範囲［ｔ５，ｔ７］を設定する。
【０１６１】
また、縮約部１８は、中間ノードのそれぞれに一意のノード番号を与え、中間ノードのそれぞれについて設定した濃度の範囲及び外接矩形の位置及び大きさを示す情報を含むノード情報を、ノード番号に対応してグラフ管理テーブルＧＭＴに格納する。なお、縮約部１８は、各中間ノードのノード情報として、更に、中間ノードに階層エッジで接続されているノードを示す情報をグラフ管理テーブルＧＭＴに保持させることが望ましい。
【０１６２】
以上に説明したように、図１２に示した縮約部１８は、形状が安定している連結成分に対応するノードの系列を一つの安定ノードに置き換え、また、安定ノードで挟まれた階層構造を中間ノードに置き換えることで、成分ツリーを簡略化する。これにより、例えば、図１３(Ａ)に示した２０個のノードを含む成分ツリーは、図１３(Ｂ)に示すように、縮約前よりも少数のノード(図１３の例では９個)を含む成分ツリーに簡略化される。
【０１６３】
図１２に示した認識部１３は、縮約後の成分ツリーに含まれる安定ノードで示される連結成分について、選択的に文字認識を行い、連結成分に類似する文字を示す候補文字と認識距離と含む認識結果を求める。また、認識部１３は、求めた認識結果を、安定ノードに対応するノード情報の一部として、グラフ管理テーブルＧＭＴに格納する。
【０１６４】
図１３を用いて説明したように、縮約後の成分ツリーに含まれる安定ノードの数は、縮約前の成分ツリーに含まれるノードの数に比べて少ない。したがって、図１２に示した認識部１３は、縮約前の成分ツリーに含まれる全てのノードについて文字認識を行う場合に比べて、少ない時間で、縮約後の成分ツリーに含まれる安定ノードについての文字認識を行うことができる。
【０１６５】
また、図１２に示した第２生成部１４は、縮約後の成分ツリーに基づいて、次に述べるようにして、縮約されたＣＴグラフを生成する。第２生成部１４は、縮約後の成分ツリーにおいて、同じ階層に属する安定ノードのうち、画像ＧＧＲにおいて近接する位置にある連結成分に対応する安定ノードを双方向に接続する隣接エッジを生成する。また、第２生成部１４は、縮約後の成分ツリーに含まれる中間ノードのうち、対応付けられた濃度の範囲が重複し、かつ、画像ＧＧＲにおける位置から求めた互いの距離が所定値以下である中間ノードを双方向に接続する第２エッジを生成する。更に、第２生成部１４は、縮約後の成分ツリーにシンクノードを追加するとともに、縮約後の成分ツリーの葉に当たる中間ノードあるいは安定ノードとシンクノードとを階層エッジで接続する。
【０１６６】
図１４は、図１２に示した第２生成部１４によって生成される縮約されたＣＴグラフの例を示す。図１４に示した縮約されたＣＴグラフは、図１３(Ｂ)に示した縮約後の成分ツリーに、図１２に示した第２生成部１４によって、安定ノード及び中間ノードを相互に接続する隣接エッジとシンクノードに接続される階層エッジとを追加することで生成される。なお、図１４に示した要素のうち、図１３に示した要素と同等のものは、同一の符号を付して示され、その説明は省略される場合もある。また、図１４において、縦軸ｔは、濃度ｔ０〜濃度ｔ８の９段階に区分された濃度を示す。
【０１６７】
図１４に示したソースノードＳｃは、図１３(Ａ)，(Ｂ)に示した成分ツリーのルートノードＲｔに相当する。また、図１４において、シンクノードＳｋと中間ノードＣｉ４、Ｃｉ５のそれぞれとを結ぶ線分は、図１２に示した第２生成部１４により、シンクノードＳｋと中間ノードＣｉ４、Ｃｉ５のそれぞれとの間に生成された階層エッジを示す。
【０１６８】
また、図１４に示した中間ノードＣｉ２と中間ノードＣｉ３とを結ぶ双方向の矢印は、第２生成部１４により、中間ノードＣｉ２，Ｃｉ３において共通する濃度の範囲［ｔ３，ｔ４］について生成された隣接エッジを示す。同様に、図１４に示した中間ノードＣｉ３と安定ノードＣ２とを結ぶ双方向の矢印は、第２生成部１４により、中間ノードＣｉ３と安定ノードＣ２とにおいて共通する濃度の範囲［ｔ５，ｔ５］について生成された隣接エッジを示す。また、図１４に示した安定ノードＣ３と中間ノードＣｉ４とを結ぶ双方向の矢印は、第２生成部１４によって安定ノードＣ３と中間ノードＣｉ４とにおいて共通する濃度の範囲［ｔ６，ｔ６］について生成された隣接エッジを示す。同様に、図１４に示した中間ノードＣｉ４と中間ノードＣｉ５とを結ぶ双方向の矢印は、第２生成部１４によって中間ノードＣｉ４と中間ノードＣｉ５とにおいて共通する濃度の範囲［ｔ７，ｔ８］について生成された隣接エッジを示す。
【０１６９】
図１２に示した第２生成部１４は、図１４を用いて説明したようにして生成した隣接エッジのそれぞれ及びシンクノードに接続される階層エッジのそれぞれに、一意のエッジ番号を与えるとともに、隣接エッジ及び階層エッジを示すエッジ情報を生成する。第２生成部１４は、隣接エッジのそれぞれに対応して、隣接エッジで接続されたノードを示すノード番号と、共通する濃度の範囲を示す情報とを含むエッジ情報を生成し、生成したエッジ情報をエッジ番号に対応してグラフ管理テーブルＧＭＴに格納する。同様に、第２生成部１４は、生成した階層エッジのそれぞれに対応して、階層エッジによってシンクノードに接続されたノードを示す情報を含むエッジ情報を生成し、生成したエッジ情報をエッジ番号に対応してグラフ管理テーブルＧＭＴに格納する。
【０１７０】
図１２に示した設定部１５は、グラフ管理テーブルＧＭＴに格納されたエッジ情報に基づいて、縮約されたＣＴグラフに含まれる階層エッジのそれぞれ及び隣接エッジのそれぞれにコストを設定する。
【０１７１】
設定部１５は、階層エッジのうち、階層エッジのシンクノード側に安定ノードが接続された階層エッジについて、接続された安定ノードのノード情報に含まれる認識距離に比例する第１コストを設定する。設定部１５は、例えば、図１４に示した中間ノードＣｉ１と安定ノードＣ１とを接続する階層エッジのコストとして、安定ノードのノード情報に含まれる認識距離に所定の比例係数α１を乗じた値を持つ第１コストを設定する。なお、比例係数α１の値は、例えば、数値「１」でもよいし、また、シンクノードに接続される階層エッジに設定されるコストや隣接エッジに設定されるコストの値とのバランスを考慮して決定してもよい。
【０１７２】
一方、設定部１５は、階層エッジのうち、階層エッジのシンクノード側に中間ノードが接続された階層エッジについて、確からしい文字候補が得られなかった場合の認識距離よりも大きい第４値(例えば、数値「１０００００」)を第１コストとして一律に設定する。設定部１５は、例えば、図１４に示した安定ノードＣ２と中間ノードＣｉ４とを接続する階層エッジに、例えば、数値「１０００００」程度の値を有する第１コストを割り当てる。なお、設定部１５は、例えば、第４値として、確からしい文字候補が得られなかった場合の平均的な認識距離に所定の係数α２を乗じた値を用いてもよい。ここで、係数α２の値は、例えば、数値「１０」〜数値「５０」またはそれ以上に大きな値に設定されることが望ましい。
【０１７３】
つまり、階層エッジのシンクノード側に中間ノードが接続された階層エッジについては、他の階層エッジに比べて大きな第４値を有する第１コストが設定される。これにより、図１２に示したグラフカット部１６は、第４値が第１コストとして設定された階層エッジを切断するカットより、他の階層エッジを切断するカットを最小カットとして選びやすくなる。
【０１７４】
また、設定部１５は、シンクノードに接続される階層エッジについて、所定の第３値を有する第１コストを一律に割り当てる。設定部１５は、例えば、図１４に示した中間ノードＣｉ４，Ｃｉ５のそれぞれをシンクノードに接続する階層エッジのそれぞれに、第３値を有する第１コストを割り当てる。なお、設定部１５は、第３値として、確からしい文字候補が得られなかった場合に相当する認識距離に所定の係数α３を乗じた値を用いてもよい。ここで、係数α３の値は、例えば、数値「０．５」程度の値に設定することが望ましい。
【０１７５】
更に、設定部１５は、隣接エッジのそれぞれに、隣接エッジが接続するノード間で共通する濃度の範囲の大きさに基づいて決定される値を有する第２コストを割り当てる。設定部１５は、縮約前のＣＴグラフに含まれる隣接エッジへの第２コストの割り当てに用いた第２値に、隣接エッジが接続するノード間で共通する濃度の範囲の大きさを乗じて得られた値を縮約されたＣＴグラフに含まれる隣接エッジの第２コストとしてもよい。設定部１５は、例えば、図１４に示した中間ノードＣｉ２，Ｃｉ３間の隣接エッジのコストとして、中間ノードＣｉ２，Ｃｉ３間で共通する濃度の範囲の大きさ（図１４の例では｜ｔ３−ｔ４｜＋１）と第２値との積を値として持つ第２コストを設定する。一方、図１４に示した中間ノードＣｉ３と安定ノードＣ２との間で共通する濃度の範囲の大きさは数値「１」であるので、設定部１５によって中間ノードＣｉ３と安定ノードＣ２とを接続する隣接エッジに設定される第２コストの値は第２値となる。
【０１７６】
隣接エッジが接続するノード間で共通する濃度の範囲の大きさを隣接エッジに割り当てられる第２コストに反映することで、縮約により減少した隣接エッジにより、元のＣＴグラフに含まれていた隣接エッジと同等の機能を果たさせることができる。例えば、図１４に示した中間ノードＣｉ２，Ｃｉ３間を接続する１本の隣接エッジを切断するコストと、図１３（Ａ）に示した濃度値ｔ３，ｔ４にそれぞれ含まれるノード間を接続する２本の隣接エッジを切断するコストとを同等にすることができる。
【０１７７】
また、設定部１５は、階層エッジのそれぞれに設定したコスト及び隣接エッジのそれぞれに設定したコストを、階層エッジのそれぞれ及び隣接エッジのそれぞれを示すエッジ番号に対応してグラフ管理テーブルＧＭＴに格納する。
【０１７８】
図１２に示したグラフカット部１６は、グラフ管理テーブルＧＭＴに格納された情報に基づいて、縮約されたＣＴグラフについてのグラフカット処理を行い、他のカットよりもコストの総和が小さい最小カットを求める。
【０１７９】
図１３及び図１４を用いて説明したように、縮約されたＣＴグラフは、第１生成部１２による探索で得られた成分ツリーに基づいて生成されるＣＴグラフに比べて、ノードの数もエッジの数も大幅に少ない。
【０１８０】
したがって、縮約されたＣＴグラフについてのグラフカット処理にかかる処理量は、縮約前のＣＴグラフについてグラフカット処理を行う場合に比べて、大幅に小さくなる。
【０１８１】
即ち、図１２に示した縮約部１８によって縮約された成分ツリーから縮約されたＣＴグラフを生成することで、認識部１３による文字認識処理にかかる処理量とともに、グラフカット部１６によるグラフカット処理にかかる処理量を削減することができる。
【０１８２】
一方、縮約部１８によって安定ノードに縮約される連結成分は、認識部１３による文字認識処理により、縮約後に残される安定ノードに対応する連結成分と同一の候補文字が得られる連結成分である。また、縮約部１８による縮約によって元の成分ツリーから失われる情報のほとんどは、認識部１３による文字認識処理により、確からしい候補文字が得られない連結成分を示す情報である。
【０１８３】
したがって、縮約後のＣＴグラフは、画像ＧＧＲからテキストを抽出するための情報を過不足なく含んでいる。
【０１８４】
このため、図１２に示した第２抽出部１７は、グラフカット部１６で求められた最小カットにより、シンク側の部分集合に分割された安定ノードに対応して得られた候補文字を示す文字コードを抽出することで、画像ＧＧＲからテキストを漏れなく抽出することができる。
【０１８５】
以上に説明した本件開示の文字認識装置１０は、例えば、パーソナルコンピュータなどのコンピュータ装置を用いて実現することができる。
【０１８６】
図１５は、図１２に示した文字認識装置１０のハードウェア構成の一例を示す。
【０１８７】
図１５に示したコンピュータ装置２０は、プロセッサ２１と、メモリ２２と、ハードディスク装置(ＨＤＤ)２３と、表示装置２４と、入力装置２５と、光学ドライブ装置２６と、周辺機器インタフェース２７と、ネットワークインタフェース２８とを含んでいる。また、図１５において、文字認識装置１０は、プロセッサ２１と、メモリ２２と、ハードディスク装置２３と、周辺機器インタフェース２７とを含んでいる。図１５に示したプロセッサ２１と、メモリ２２と、ハードディスク装置２３と、表示装置２４と、入力装置２５と、光学ドライブ装置２６と、周辺機器インタフェース２７と、ネットワークインタフェース２８とは、バスを介して互いに接続されている。また、コンピュータ装置２０は、周辺機器インタフェース２７を介して画像入力装置ＥＱに接続されている。
【０１８８】
この画像入力装置ＥＱは、文字列を含むカラー原稿を読み取ることで又はテロップを含むカラーテレビジョン放送の画像をキャプチャすることで得られるカラー画像に対して、グレースケール変換処理を行うことにより、グレースケール画像を生成する機能を有する。画像入力装置ＥＱで得られたグレースケール画像は、周辺機器インタフェース２７を介して、メモリ２２あるいはハードディスク装置２３に格納される。
【０１８９】
なお、カラー画像からグレースケール画像を生成する機能は、コンピュータ装置２０内に設けた画像処理部(図示せず)によって実現してもよい。また、プロセッサ２１が、メモリ２２あるいはハードディスク装置２３に読み込んだプログラムを実行することによって、カラー画像からグレースケール画像を生成する機能を実現してもよい。
【０１９０】
上述した光学ドライブ装置２６は、光ディスクなどのリムーバブルディスク２９を装着可能であり、装着したリムーバブルディスク２９に記録された情報の読み出しおよび記録を行う。また、コンピュータ装置２０は、ネットワークインタフェース２８を介して、ネットワークＮＷに接続されている。
【０１９１】
図１５に示した入力装置２５は、例えば、キーボードやマウスなどである。文字認識装置１０の操作者は、入力装置２５を操作することにより、文字認識装置１０に対して、例えば、グレースケール画像からテキストを抽出する処理を開始させる指示などを入力することができる。
【０１９２】
図１５に示したメモリ２２は、コンピュータ装置２０のオペレーティングシステムとともに、プロセッサ２１が上述した文字認識処理を実行するためのアプリケーションプログラムである文字認識プログラムを格納している。なお、文字認識プログラムは、例えば、光ディスクなどのリムーバブルディスク２７に記録して頒布することができる。そして、このリムーバブルディスク２７を光学ドライブ装置２６に装着して読み込み処理を行うことにより、文字認識プログラムを、メモリ２２およびハードディスク装置２３に格納させてもよい。また、ネットワークインタフェース２８を介してインターネットなどのネットワークＮＷにコンピュータ装置２０を接続させ、ネットワークＮＷ上に配置されたサーバ装置ＳＶから文字認識プログラムをダウンロードしてもよい。そして、ダウンロードした文字認識プログラムを、メモリ２２およびハードディスク装置２３に読み込ませてもよい。
【０１９３】
文字認識プログラムは、画像入力装置から受けたグレースケール画像に複数の濃度を示す閾値を適用して連結成分を抽出する処理をプロセッサ２１に実行させるための抽出処理プログラムを含んでいる。また、文字認識プログラムは、抽出した連結成分の包含関係を探索することで成分ツリーを生成する処理をプロセッサ２１に実行させるための探索処理プログラムを含んでいる。また、文字認識プログラムは、生成した成分ツリーを縮約する処理をプロセッサ２１に実行させるための縮約プログラムを含んでいる。また、文字認識プログラムは、縮約された成分ツリーに含まれる安定ノードに対応する連結成分についてのパターン認識処理をプロセッサ２１に実行させるためのパターン認識プログラムを含んでいる。また、文字認識プログラムは、縮約された成分ツリーに基づいてＣＴグラフを生成するグラフ生成処理をプロセッサ２１に実行させるためのグラフ生成プログラムを含んでいる。また、文字認識プログラムは、生成されたＣＴグラフに含まれる階層エッジ及び隣接エッジにコストを設定する設定処理をプロセッサ２１に実行させるためのコスト設定プログラムを含んでいる。また、文字認識プログラムは、生成されたＣＴグラフを２つの部分集合に分割するカットから最小カットを求めるグラフカット処理をプロセッサ２１に実行させるためのグラフカットプログラムを含んでいる。更に、文字認識プログラムは、グラフカットで得られた部分集合の一方に属するノードについて得られたパターン認識結果から候補文字を抽出する処理をプロセッサ２１に実行させるための抽出処理プログラムを含んでいる。したがって、プロセッサ２１が、文字認識プログラムを実行することにより、本件開示の文字認識方法に従って、グレースケール画像に含まれるテキストを抽出する文字認識処理を実行することができる。
【０１９４】
プロセッサ２１は、メモリ２２、ハードディスク装置２３及び周辺機器インタフェース２７と協働しつつ、抽出処理プログラムを実行することにより、図１２に示した第１抽出部１１の機能を果たす。また、プロセッサ２１は、メモリ２２、ハードディスク装置２３及び周辺機器インタフェース２７と協働しつつ、探索処理プログラムを実行することにより、図１２に示した第１生成部１２の機能を果たす。また、プロセッサ２１は、メモリ２２およびハードディスク装置２３と協働しつつ、縮約プログラムを実行することにより、図１２に示した縮約部１８の機能を果たす。同様に、プロセッサ２１は、メモリ２２およびハードディスク装置２３と協働しつつ、グラフ生成プログラムを実行することにより、図１２に示した第２生成部１４の機能を果たす。また、プロセッサ２１は、メモリ２２およびハードディスク装置２３と協働しつつ、パターン認識プログラムを実行することにより、図１２に示した認識部１３の機能を果たす。また、プロセッサ２１は、メモリ２２およびハードディスク装置２３と協働しつつ、コスト設定プログラムを実行することにより、図１２に示した設定部１５の機能を果たす。また、また、プロセッサ２１は、メモリ２２およびハードディスク装置２３と協働しつつ、グラフカットプログラムを実行することにより、図１２に示したグラフカット部１６の機能を果たす。そして、プロセッサ２１は、メモリ２２およびハードディスク装置２３と協働しつつ、抽出プログラムを実行することにより、図１２に示した第２抽出部１７の機能を果たす。また、図１２に示したグラフ管理テーブルＧＭＴは、例えば、図１５に示したメモリ２２あるいはハードディスク装置２３の記憶領域の一部を割り当てることで実現できる。このように、プロセッサ２１が、メモリ２２、ハードディスク装置２３及び周辺機器インタフェース２７と協働しつつ、文字認識プログラムを実行することにより、図１２に示した文字認識装置１０を実現することができる。
【０１９５】
図１６は、図１５に示した文字認識装置１０の動作を示す。図１６に示したステップＳ３０１，Ｓ３０２，Ｓ３０５〜ステップＳ３０７，Ｓ３１１〜Ｓ３１３の処理は、図１６に示した文字認識装置１０の動作を示すとともに、文字認識方法および文字認識プログラムの例を示す。例えば、図１６に示す処理は、図１５に示したプロセッサ２１が文字認識プログラムを実行することで実現される。すなわち、図１６は、文字認識方法および文字認識プログラムの一実施形態を示す。なお、図１６に示したステップのうち、図１０に示したステップと同等の処理を示すものは、図１０に示したステップと同一の符号で示される。
【０１９６】
ステップＳ３０１において、プロセッサ２１は、周辺機器インタフェース２７を介して、画像入力装置ＥＱからグレースケール画像を受け、受けたグレースケール画像ＧＧＲから複数の閾値を用いて連結成分を抽出する。プロセッサ２１は、受けたグレースケール画像を、例えば、ハードディスク装置２３などに格納し、格納したグレースケール画像から連結成分の抽出を行う。
【０１９７】
ステップＳ３０２において、プロセッサ２１は、ステップＳ３０１の処理で抽出した連結成分の包含関係を探索することで成分ツリーを生成する。プロセッサ２１は、成分ツリーを生成する処理の過程で生成した各ノードを示すノード情報及びノードで示される連結成分間の包含関係を示す階層エッジを示すエッジ情報をメモリ２２あるいはハードディスク装置２３に設けたグラフ管理テーブルＧＭＴに格納する。
【０１９８】
ステップＳ３１１において、プロセッサ２１は、図１２、図１３を用いて説明したようにして、成分ツリーを縮約する。プロセッサ２１は、成分ツリーに含まれる互いに形状が類似した複数の連結成分を示すノードの系列を、一つの連結成分に対応する安定ノードに縮約する処理を行う。また、プロセッサ２１は、２つの安定ノードの間の階層構造を一つの中間ノードに置換し、中間ノードに濃度の範囲と仮想的な連結成分の位置と大きさを示す情報とを対応付ける処理を行う。また、プロセッサ２１は、ステップＳ３１１の処理の過程で生成した安定ノード及び中間ノードのそれぞれを示すノード情報を、メモリ２２あるいはハードディスク装置２３に設けたグラフ管理テーブルＧＭＴに格納する。
【０１９９】
ステップＳ３１２において、プロセッサ２１は、縮約された成分ツリーに含まれる安定ノードについて文字認識を行い、対応する連結成分に類似する文字を示す候補文字と、候補文字と連結成分との間の認識距離とを求める。また、プロセッサ２１は、ステップＳ３１２の処理の過程で得られた候補文字を示す文字コード及び認識距離を、認識処理の対象となったノードのノード情報の一部として、グラフ管理テーブルＧＭＴに格納する。
【０２００】
ステップＳ３１３において、プロセッサ２１は、図１２、図１４を用いて説明したように、縮約された成分ツリーに基づいて、ＣＴグラフを生成することで、縮約されたＣＴグラフを生成する。また、プロセッサ２１は、ステップＳ３１３の処理の過程で生成した階層エッジ及び隣接エッジを示すエッジ情報を、メモリ２２あるいはハードディスク装置２３に設けたグラフ管理テーブルＧＭＴに格納する。
【０２０１】
ステップＳ３０５において、プロセッサ２１は、図１２、図１４を用いて説明したように、縮約されたＣＴグラフに含まれる隣接エッジのそれぞれ及び階層エッジのそれぞれにコストを設定する。また、プロセッサ２１は、ステップＳ３０５の処理で階層エッジおよび隣接エッジのそれぞれに設定したコストを示す情報を、コストを設定した階層エッジまたは隣接エッジを示すエッジ情報の一部として、グラフ管理テーブルＧＭＴに格納する。
【０２０２】
ステップＳ３０６において、プロセッサ２１は、ステップＳ３１１〜ステップＳ３０５の処理の過程でグラフ管理テーブルＧＭＴに格納された情報に基づいて、縮約されたＣＴグラフについてのグラフカットを行う。プロセッサ２１は、グラフカット処理により、縮約後のＣＴグラフに含まれるノードを２つの部分集合に分割するカットのうち、他のカットよりもカットに跨る階層エッジ及び隣接エッジに設定されたコストの総和が少ないカットを最小カットとして求める。
【０２０３】
ステップＳ３０７において、プロセッサ２１は、ステップＳ３０６の処理で求められた最小カットによって、シンク側の部分集合に属するとされた安定ノードに対応するノード情報から候補文字を示す文字コードを抽出することで、テキストの抽出を行う。
【０２０４】
以上に説明した各ステップの処理をプロセッサ２１が実行することで、画像入力装置ＥＱから受けたグレースケール画像における文字の２次元的な配置にかかわらず、グレースケール画像に含まれるテキストを漏れなく抽出することができる。
【０２０５】
以上の詳細な説明により、実施形態の特徴点及び利点は明らかになるであろう。これは、特許請求の範囲が、その精神および権利範囲を逸脱しない範囲で、前述のような実施形態の特徴点および利点にまで及ぶことを意図するものである。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良および変更を容易に想到できるはずである。したがって、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物および均等物に拠ることも可能である。
【０２０６】
以上の説明に関して、更に、以下の各項を開示する。
(付記１)
複数の濃度値毎に、前記各濃度値以上の画素が連結した連結成分を画像から抽出する第１抽出部と、
前記濃度値が異なる連結成分の間で、包含関係を有する連結成分を第１エッジで互いに接続することで、前記濃度値で階層化された成分ツリーを生成する第１生成部と、
前記成分ツリーの各階層において、前記画像内での距離が第１値以下の連結成分を第２エッジで互いに接続して、前記第１エッジと前記第２エッジとによる前記連結成分の接続関係を示す情報を生成する第２生成部と、
前記情報に含まれる連結成分の文字認識を行うことで、前記連結成分に類似する文字を示す候補文字と、前記候補文字の確からしさとを求める認識部と、
前記各第１エッジに、前記濃度値が高い側に接続された前記連結成分について得られた前記確からしさに基づいて決定される値を有する第１コストを割り当て、前記第２エッジに第２値を有する第２コストを割り当てる設定部と、
前記情報に含まれる複数の連結成分を２つの部分集合に分割する境界の中から、前記境界に跨る第１エッジに割り当てられた前記第１コストと前記境界に跨る第２エッジに割り当てられた前記第２コストとの総和が、他の境界よりも小さくなる境界を求める分割部と、
前記分割部で求められた境界によって分割された２つの部分集合のうち、濃度値が高い側の部分集合に含まれる連結成分のうち、他の連結成分よりも前記境界に近い連結成分について得られた候補文字を抽出することで、前記画像に含まれるテキストを抽出する第２抽出部と、
を備えたことを特徴とする文字認識装置。
(付記２)
付記１に記載の文字認識装置において、
前記第２生成部で生成される情報は、前記第１エッジと前記第２エッジとによって前記連結成分を接続したグラフであり、
前記分割部は、前記グラフに対するグラフカット処理により、前記境界を示すカットを求める
ことを特徴とする文字認識装置。
(付記３)
付記１または付記２に記載の文字認識装置において、
前記第２生成部は、更に、前記情報において濃度値が他の階層よりも高い階層にシンクノードを追加するとともに、前記情報内の連結成分のうち、他の連結成分を包含しない連結成分と前記シンクノードとを前記第１エッジでそれぞれ接続し、
前記設定部は、前記シンクノードに接続された前記第１エッジに、第３値を有する第１コストを割り当てる
ことを特徴とする文字認識装置。
(付記４)
付記１乃至付記３のいずれか１に記載の文字認識装置において、
前記第２抽出部は、前記分割部で求められた前記濃度値が高い側の部分集合に含まれる連結成分のうち、前記濃度値が低い階層にある連結成分について前記認識部で得られた候補文字を抽出する
ことを特徴とする文字認識装置。
(付記５)
付記１乃至付記４のいずれか１に記載の文字認識装置において、
更に、
前記第１エッジで接続された２つの連結成分が互いに類似していることを検出した場合に、類似する連結成分を縮約する縮約部を有し、
前記第２生成部は、前記縮約部による縮約が行われた後の成分ツリーに基づいて、前記情報の生成を行い、
前記認識部は、前記縮約部による縮約が行われた後の成分ツリーに含まれる前記縮約された連結成分について、選択的に文字認識を行う
ことを特徴とする文字認識装置。
(付記６)
付記５に記載の文字認識装置において、
前記縮約部は、更に、２つの前記縮約された連結成分の間に接続された前記成分ツリーの一部を一つの中間ノードで置き換え、置き換えた前記中間ノードに、前記２つの縮約された連結成分のそれぞれが属する前記濃度値の階層に基づいて決定される濃度値の範囲と、前記２つの縮約された連結成分の一方の前記画像における位置を示す情報とを設定し、
前記第２生成部は、前記中間ノードの間で、前記濃度値の範囲が重複し、かつ、前記画像内での距離が所定値以下である中間ノードを前記第２エッジで互いに接続し、
前記設定部は、前記中間ノードを前記縮約された連結成分よりも濃度値が高い側に接続する前記第１エッジに、所定の第４値を有する前記第１コストを割り当て、前記中間ノードを相互に接続する第２エッジに、前記重複する濃度値の範囲の大きさに基づいて決定される値を有する前記第２コストを割り当てる
ことを特徴とする文字認識装置。
(付記７)
付記１乃至付記６のいずれか１に記載の文字認識装置において、
前記設定部は、
前記第１エッジの前記濃度値が高い側に接続された前記連結成分について得られる前記確からしさが高いほど小さい値を有する第１コストを前記第１エッジに割り当てる
ことを特徴とする文字認識装置。
(付記８)
付記１乃至付記７のいずれか１に記載の文字認識装置において、
前記認識部は、前記候補文字が確からしいほど小さい値を持つ指標値を前記確からしさとして求め、
前記設定部は、前記候補文字が確からしい場合の前記指標値の平均値よりも小さい前記第２値を有する前記第２コストを前記第２エッジに割り当てる
ことを特徴とする文字認識装置。
(付記９)
付記２に記載の文字認識装置において、
前記認識部は、前記候補文字が確からしいほど小さい値を持つ指標値を前記確からしさとして求め、
前記設定部は、前記候補文字が確からしくない場合の前記指標値よりも小さい前記第３値を有する前記第１コストを前記シンクノードに接続された前記第１エッジに割り当てる
ことを特徴とする文字認識装置。
(付記１０)
付記６に記載の文字認識装置において、
前記認識部は、前記候補文字が確からしいほど小さい値を持つ指標値を前記確からしさとして求め、
前記設定部は、
前記候補文字が確からしくない場合の前記指標値よりも大きい前記第４値を有する前記第１コストを、前記中間ノードを前記縮約された連結成分よりも前記濃度値が高い側に接続する前記第１エッジに割り当てる
ことを特徴とする文字認識装置。
(付記１１)
コンピュータが、
複数の濃度値毎に、前記各濃度値以上の画素が連結した連結成分を画像から抽出し、
前記濃度値が異なる連結成分の間で、包含関係を有する連結成分を第１エッジで互いに接続することで、前記濃度値で階層化された成分ツリーを生成し、
前記成分ツリーの各階層において、前記画像内での距離が第１値以下の連結成分を第２エッジで互いに接続して、前記第１エッジと前記第２エッジとによる前記連結成分の接続関係を示す情報を生成し、
前記情報に含まれる連結成分の文字認識を行うことで、前記連結成分に類似する文字を示す候補文字と、前記候補文字の確からしさとを求め、
前記各第１エッジに、前記濃度値が高い側に接続された前記連結成分について得られた前記確からしさに基づいて決定される値を有する第１コストを割り当て、前記第２エッジに第２値を有する第２コストを割り当て、
前記情報に含まれる複数の連結成分を２つの部分集合に分割する境界の中から、前記境界に跨る第１エッジに割り当てられた前記第１コストと前記境界に跨る第２エッジに割り当てられた前記第２コストとの総和が、他の境界よりも小さくなる境界を求め、
前記求められた境界によって分割された２つの部分集合のうち、濃度値が高い側の部分集合に含まれる連結成分のうち、他の連結成分よりも前記境界に近い連結成分について得られた候補文字を抽出することで、前記画像に含まれるテキストを抽出する、
ことを特徴とする文字認識方法。
(付記１２)
複数の濃度値毎に、前記各濃度値以上の画素が連結した連結成分を画像から抽出し、
前記濃度値が異なる連結成分の間で、包含関係を有する連結成分を第１エッジで互いに接続することで、前記濃度値で階層化された成分ツリーを生成し、
前記成分ツリーの各階層において、前記画像内での距離が第１値以下の連結成分を第２エッジで互いに接続して、前記第１エッジと前記第２エッジとによる前記連結成分の接続関係を示す情報を生成し、
前記情報に含まれる連結成分の文字認識を行うことで、前記連結成分に類似する文字を示す候補文字と、前記候補文字の確からしさとを求め、
前記各第１エッジに、前記濃度値が高い側に接続された前記連結成分について得られた前記確からしさに基づいて決定される値を有する第１コストを割り当て、前記第２エッジに第２値を有する第２コストを割り当て、
前記情報に含まれる複数の連結成分を２つの部分集合に分割する境界の中から、前記境界に跨る第１エッジに割り当てられた前記第１コストと前記境界に跨る第２エッジに割り当てられた前記第２コストとの総和が、他の境界よりも小さくなる境界を求め、
前記求められた境界によって分割された２つの部分集合のうち、濃度値が高い側の部分集合に含まれる連結成分のうち、他の連結成分よりも前記境界に近い連結成分について得られた候補文字を抽出することで、前記画像に含まれるテキストを抽出する、
処理をコンピュータに実行させることを特徴とする文字認識プログラム。
【符号の説明】
【０２０７】
１０…文字認識装置；１１…第１抽出部；１２…第１生成部；１３…認識部；１４…第２生成部；１５…設定部；１６…グラフカット部；１７…第２抽出部；１８…縮約部；２０…コンピュータ装置；２１…プロセッサ；２２…メモリ；２３…ハードディスク装置(ＨＤＤ)；２４…表示装置；２５…入力装置；２６…光学ドライブ装置；２７…周辺機器インタフェース；２８…ネットワークインタフェース；２９…リムーバブルディスク；ＣＶ…変換装置；ＧＣＬ…カラー画像；ＧＧＲ…グレースケール画像；ＧＭＴ…グラフ管理テーブル；ＥＱ…画像入力装置；ＮＷ…ネットワーク；ＳＶ…サーバ装置
【図１】
2015026290.tif 000004
【図４】
2015026290.tif 000005
【図５】
2015026290.tif 000006
【図６】
2015026290.tif 000007
【図９】
2015026290.tif 000008
【図１０】
2015026290.tif 000009
【図１１】
2015026290.tif 000010
【図１２】
2015026290.tif 000011
【図１３】
2015026290.tif 000012
【図１４】
2015026290.tif 000013
【図１５】
2015026290.tif 000014
【図１６】
2015026290.tif 000015
【図２】
2015026290.tif 000016
【図３】
2015026290.tif 000017
【図７】
2015026290.tif 000018
【図８】
2015026290.tif 000019