(57)【特許請求の範囲】
【請求項１】
入力画像を複数の閾値で二値化して前記複数の閾値のそれぞれに対応する複数の二値化画像を生成する二値化処理部と、
前記二値化処理部により生成された複数の二値化画像に基づいて文字認識対象の複数の画像候補を生成する画像生成部と、
前記画像生成部により生成された複数の画像候補のそれぞれを文字認識する文字認識部とを備え、
前記画像生成部は、
二値化画像で複数の黒画素が連結している領域をラベルとして抽出し、
二値化画像間で対応する位置にあるラベルそれぞれの面積または数に基づいて、当該二値化画像間における前記ラベルの分割または統合の関係を判定し、
前記ラベルの分割または統合の関係を示す判定データに基づいて二値化画像でとり得る前記ラベルの複数の組み合わせを特定し、
前記特定した前記ラベルの複数の組み合わせに基づいて前記複数の画像候補を生成すること
を特徴とする文字認識装置。
【請求項２】
入力画像を複数の閾値で二値化して前記複数の閾値のそれぞれに対応する複数の二値化画像を生成する二値化処理部と、
前記二値化処理部により生成された複数の二値化画像に基づいて文字認識対象の複数の画像候補を生成する画像生成部と、
前記画像生成部により生成された複数の画像候補のそれぞれを文字認識する文字認識部とを備え、
前記画像生成部は、
二値化画像で複数の黒画素が連結している領域をラベルとして抽出し、
二値化画像間における前記ラベルの分割または統合の関係を判定し、
前記ラベルの分割または統合の関係を示す判定データに基づいて二値化画像でとり得る前記ラベルの複数の組み合わせを特定し、
前記特定した前記ラベルの複数の組み合わせに基づいて前記複数の画像候補を生成し、
さらに、前記画像生成部は、
前記入力画像の複雑度を算出し、
前記算出した複雑度に基づいて前記ラベルの分割または統合の関係の判定の可否を決定すること
を特徴とする文字認識装置。
【請求項３】
二値化処理部が、入力画像を複数の閾値で二値化して前記複数の閾値のそれぞれに対応する複数の二値化画像を生成するステップと、
画像生成部が、前記二値化処理部により生成された複数の二値化画像に基づいて文字認識対象の複数の画像候補を生成するステップと、
文字認識部が、前記画像生成部により生成された複数の画像候補のそれぞれを文字認識するステップとを備え、
前記画像生成部は、
二値化画像で複数の黒画素が連結している領域をラベルとして抽出し、
二値化画像間で対応する位置にあるラベルそれぞれの面積または数に基づいて、当該二値化画像間における前記ラベルの分割または統合の関係を判定し、
前記ラベルの分割または統合の関係を示す判定データに基づいて二値化画像でとり得る前記ラベルの複数の組み合わせを特定し、
前記特定した前記ラベルの複数の組み合わせに基づいて前記複数の画像候補を生成すること
を特徴とする文字認識方法。
【請求項４】
二値化処理部が、入力画像を複数の閾値で二値化して前記複数の閾値のそれぞれに対応する複数の二値化画像を生成するステップと、
画像生成部が、前記二値化処理部により生成された複数の二値化画像に基づいて文字認識対象の複数の画像候補を生成するステップと、
文字認識部が、前記画像生成部により生成された複数の画像候補のそれぞれを文字認識するステップとを備え、
前記画像生成部は、
二値化画像で複数の黒画素が連結している領域をラベルとして抽出し、
二値化画像間における前記ラベルの分割または統合の関係を判定し、
前記ラベルの分割または統合の関係を示す判定データに基づいて二値化画像でとり得る前記ラベルの複数の組み合わせを特定し、
前記特定した前記ラベルの複数の組み合わせに基づいて前記複数の画像候補を生成し、
さらに、前記画像生成部が、
前記入力画像の複雑度を算出し、
前記算出した複雑度に基づいて前記ラベルの分割または統合の関係の判定の可否を決定すること
を特徴とする文字認識方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、画像から文字を認識する文字認識装置および文字認識方法に関する。
【背景技術】
【０００２】
例えば、特許文献１には、撮像装置により得られた情景画像あるいは文書画像から文字を認識し、文字認識結果をテキスト情報として出力する文字認識方法が記載されている。
この文字認識方法では、グレースケール画像からそれぞれ異なる閾値に対応する二値化画像を生成して、複数の二値化画像からそれぞれ抽出した連結成分についての包含関係を示す成分ツリーを生成する。
複数の連結成分のそれぞれについて、対象の連結成分からの距離が所定値以下であり、かつ成分ツリーによって包含関係を持たないことが示された連結成分を検出して、対象の連結成分と検出した連結成分との並び順をそれぞれ設定する。これにより、複数の連結成分のそれぞれに対応する候補文字の並び順を網羅的に示す認識ラティスを生成する。
次に、認識ラティスにより接続が示された連結成分ごとに文字認識を行い、各連結成分の認識結果に基づいて、各候補文字列が入力画像に含まれる文字列である可能性の高さをそれぞれ評価する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−１７５０８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来の文字認識装置は、情景画像から実用的な処理時間で精度よく文字認識結果を得ることが難しいという課題があった。
例えば、特許文献１に記載される文字認識装置の評価部は、動的計画法の最適経路探索を用いて、認識ラティスによって示された各パスの評価値を算出している。
このような最適化処理は一般的に計算量が多く処理時間が長くなるため、文字認識結果が得られるまでに長時間を要する。【０００５】
この発明は上記課題を解決するもので、文字認識の精度を保ちつつ、文字認識結果が得られるまでの時間を短縮することができる文字認識装置および文字認識方法を得ることを目的とする。
【課題を解決するための手段】
【０００６】
この発明に係る文字認識装置は、二値化処理部、画像生成部および文字認識部を備えている。二値化処理部は、入力画像を複数の閾値で二値化して複数の閾値のそれぞれに対応する複数の二値化画像を生成する。画像生成部は、二値化処理部により生成された複数の二値化画像に基づいて文字認識対象の画像候補を生成する。文字認識部は、画像生成部により生成された複数の画像候補のそれぞれを文字認識する。特に、画像生成部が、二値化画像で複数の黒画素が連結している領域をラベルとして抽出し、二値化画像間で対応する位置にあるラベルそれぞれの面積または数に基づいて、当該二値化画像間におけるラベルの分割または統合の関係を判定し、ラベルの分割または統合の関係を示す判定データに基づいて二値化画像でとり得るラベルの複数の組み合わせを特定し、ラベルの複数の組み合わせに基づいて複数の画像候補を生成する。
【発明の効果】
【０００７】
この発明によれば、入力画像を二値化した複数の二値化画像のそれぞれで複数の黒画素が連結している領域をラベルとして抽出し、二値化画像間におけるラベルの分割または統合の関係に基づいて二値化画像でとり得るラベルの複数の組み合わせを特定し、ラベルの複数の組み合わせに基づいて複数の画像候補を生成する。これにより、計算量が多い最適化処理を用いた画像候補の生成が不要となることから、文字認識の精度を保ちつつ、文字認識結果が得られるまでの時間を短縮することができる。
【図面の簡単な説明】
【０００８】
【図１】この発明の実施の形態１に係る文字認識装置の構成を示すブロック図である。
【図２】実施の形態１における画像生成部の構成を示すブロック図である。
【図３】図３Ａは、実施の形態１に係る文字認識装置の機能を実現するハードウェア構成を示すブロック図である。図３Ｂは、実施の形態１に係る文字認識装置の機能を実現するソフトウェアを実行するハードウェア構成を示すブロック図である。
【図４】実施の形態１に係る文字認識装置の動作を示すフローチャートである。
【図５】原画像から二値化画像を生成する処理の概要を示す図である。
【図６】実施の形態１における画像生成部の動作を示すフローチャートである。
【図７】二値化画像からラベルを抽出する処理の概要を示す図である。
【図８】図８Ａは、二値化画像間でラベルの面積が変化した場合を示す図である。図８Ｂは、二値化画像間でラベルの数が変化した場合を示す図である。
【図９】二値化画像間のラベルの分割または統合の様子を示す図である。
【図１０】この発明の実施の形態２に係る文字認識装置の構成を示すブロック図である。
【図１１】実施の形態２における画像生成部の構成を示すブロック図である。
【図１２】実施の形態２における画像生成部の動作を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下、この発明をより詳細に説明するため、この発明を実施するための形態について、添付の図面に従って説明する。
実施の形態１．
図１はこの発明の実施の形態１に係る文字認識装置１の構成を示すブロック図である。また、図２は、画像生成部３の構成を示すブロック図である。
文字認識装置１は、入力画像に写った文字を認識する装置であり、図１に示すように、二値化処理部２、画像生成部３および文字認識部４を備えている。画像生成部３は、図２に示すように、ラベル抽出部３０、判定部３１および画像候補生成部３２を備えている。
【００１０】
二値化処理部２は、入力画像を複数の閾値で二値化して、複数の閾値のそれぞれに対応するＮ枚の二値化画像Ｐ１〜ＰＮを生成して画像生成部３に出力する。
入力画像は文字認識対象の原画像であり、グレースケール画像またはカラー画像であってもよい。また、複数の閾値は、例えば、入力画像の輝度に関する閾値であってもよい。なお、Ｎは２以上の自然数である。
【００１１】
画像生成部３は、Ｎ枚の二値化画像Ｐ１〜ＰＮに基づいて複数の画像候補を生成する。
ラベル抽出部３０は、二値化画像Ｐ１〜ＰＮのそれぞれで複数の黒画素が連結している塊領域をラベルとして抽出する。
例えば、複数の黒画素が連結している塊領域に外接する矩形が１つのラベルとして抽出される。抽出されたラベルの二値化画像上の位置および大きさを示す情報はラベルデータ２１に含められてラベル抽出部３０から判定部３１に出力される。なお、ラベルの大きさは、例えば、二値化画像上でラベルが囲む領域の面積で表される。
【００１２】
判定部３１は、ラベルデータ２１に基づいて二値化画像間におけるラベルの分割または統合の関係を判定する。
例えば、一方の二値化画像から第１のラベルが抽出され、他方の二値化画像における、第１のラベルに対応する位置から第２のラベルと第３のラベルとが抽出された場合、第１のラベルが第２のラベルと第３のラベルとに分割されたと判定される。
また、一方の二値化画像から第４のラベルと第５のラベルとが抽出され、他方の二値化画像における、第４のラベルと第５のラベルに対応する位置から第６のラベルが抽出された場合、第４のラベルと第５のラベルとが第６のラベルに統合されたと判定される。
ラベルの分割または統合の関係を示す判定データ２２は、判定部３１から画像候補生成部３２に出力される。
【００１３】
画像候補生成部３２は、判定データ２２に基づいて二値化画像でとり得るラベルの複数の組み合わせを特定し、特定したラベルの複数の組み合わせに基づいて複数の画像候補２３を生成する。
例えば、画像候補生成部３２は、第１のラベルが第２のラベルと第３のラベルとに分割された場合、第１のラベルと第２のラベルおよび第３のラベルとが二値化画像でとり得るラベルの組み合わせであると特定する。
画像候補生成部３２は、このようにして特定したラベルの組み合わせに基づいて、第１のラベルを有する二値化画像を画像候補２３として生成し、第１のラベルに対応する位置に第２のラベルと第３のラベルとを有する二値化画像を画像候補２３として生成する。
これにより、画像上の文字である可能性が高い黒画素の連結部分が様々な組み合わせで特定され、これらの組み合わせを含んだ複数の画像候補２３が生成される。
【００１４】
文字認識部４は、複数の画像候補２３のそれぞれを文字認識する。
文字認識の方法として、例えば、下記の参考文献１に記載された方法を利用する。
この文字認識方法では、文字認識結果とともに、文字認識結果の信頼度を示すスコアが算出される。文字認識部４は、上記スコアに基づいて文字認識結果を評価し、上記スコアが最も高い文字認識結果を最終的な文字認識結果として出力する。
参考文献１；森稔、澤木美奈子、萩田紀博、村瀬洋、武川直樹，“ランレングス補正を用いた画像劣化にロバストな特徴抽出”，電子情報通信学会論文誌，Ｖｏｌ．Ｊ８６−Ｄ２，Ｎｏ．７，ｐｐ．１０４９−１０５７，２００３年  ７月．
【００１５】
図３Ａは、文字認識装置１の機能を実現するハードウェア構成を示すブロック図である。図３Ｂは、文字認識装置１の機能を実現するソフトウェアを実行するハードウェア構成を示すブロック図である。画像取り込み装置１００は、文字認識装置１に入力画像データを取り込む装置であり、例えば、スキャナまたはカメラを含んで構成される。ディスプレイ１０１は、入力画像データが示す画像または文字認識結果を表示する。ハードディスク１０２は、入力画像データまたは文字認識結果を記憶する。
【００１６】
文字認識装置１における、二値化処理部２、画像生成部３および文字認識部４の各機能は、処理回路により実現される。すなわち、文字認識装置１は、これらの機能を実行するための処理回路を備える。処理回路は、専用のハードウェアであってもメモリに格納されるプログラムを実行するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）であってもよい。
【００１７】
処理回路が図３Ａに示す専用のハードウェアの処理回路１０３の場合、処理回路１０３は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）またはこれらを組み合わせたものが該当する。
文字認識装置１における、二値化処理部２、画像生成部３および文字認識部４の各機能をそれぞれ処理回路で実現してもよいし、各機能をまとめて１つの処理回路で実現してもよい。
【００１８】
処理回路が図３Ｂに示すプロセッサ１０５である場合、二値化処理部２、画像生成部３および文字認識部４の各機能は、ソフトウェア、ファームウェア、またはソフトウェアとファームウェアとの組み合わせにより実現される。ソフトウェアおよびファームウェアはプログラムとして記述され、メモリ１０４に格納される。
【００１９】
プロセッサ１０５は、メモリ１０４に格納されたプログラムを読み出して実行することにより、各機能を実現する。
すなわち、文字認識装置１は、処理回路により実行されるときに、入力画像から複数の二値化画像を生成するステップ、複数の二値化画像に基づいて複数の画像候補を生成するステップ、複数の画像候補のそれぞれを文字認識するステップが結果的に実行されるプログラムを格納するためのメモリを備える。
また、これらのプログラムは、二値化処理部２、画像生成部３、および文字認識部４の手順または方法をコンピュータに実行させるものである。
【００２０】
ここで、メモリは、例えば、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、フラッシュメモリ、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  ＥＰＲＯＭ）などの不揮発性または揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）などが該当する。
【００２１】
また、二値化処理部２、画像生成部３および文字認識部４の各機能について一部を専用のハードウェアで実現し、一部をソフトウェアまたはファームウェアで実現してもよい。例えば、二値化処理部２は専用のハードウェアの処理回路でその機能を実現し、画像生成部３および文字認識部４については、プロセッサ１０５がメモリ１０４に格納されたプログラム実行することにより、その機能を実現する。
このように、処理回路は、ハードウェア、ソフトウェア、ファームウェアまたはこれらの組み合わせによって前述の機能を実現することができる。
【００２２】
次に動作について説明する。
図４は、文字認識装置１の動作を示すフローチャートであり、文字認識対象の画像候補が生成されるまでの一連の処理を示している。
まず、二値化処理部２は、画像取り込み装置１００により取り込まれた入力画像データを入力し、このデータが示す入力画像を複数の閾値で二値化して二値化画像Ｐ１〜Ｐｎを生成する（ステップＳＴ１）。なお、入力画像が二値化されると、入力画像上の背景などの余白が白画素に変換され、文字、罫線、シンボル図形などの余白以外が黒画素に変換されるものとする。
【００２３】
図５は、原画像Ｐから二値化画像Ｐ１〜Ｐ４を生成する処理の概要を示す図である。
原画像Ｐは、前述した入力画像である。図５に示すように、原画像Ｐには、５つの文字１１〜１５と模様１０Ａおよび模様１０Ｂとが含まれる。
模様１０Ａは、文字１１と文字１２とに重なった模様であり、模様１０Ａ中には局所的に暗い部分１０Ａ−１がある。
また、模様１０Ｂは、文字１４と文字１５とに重なった模様であり、模様１０Ｂ中には局所的に暗い部分１０Ｂ−１がある。
【００２４】
二値化処理部２は、複数の閾値を用いて原画像Ｐを二値化して二値化画像Ｐ１〜Ｐ４を生成する（Ｎ＝４）。例えば、二値化処理部２は、複数の閾値のうち二値化に用いる閾値をそれぞれ変えて輝度の異なる原画像を二値化することで、二値化画像Ｐ１〜Ｐ４を生成する。図５において、二値化画像Ｐ１画像には、文字１１〜１５と、模様１０Ａに由来する黒色領域１０Ｃと、模様１０Ｂに由来する黒色領域１０Ｄとが含まれる。二値化画像Ｐ２には、文字１１〜１５と、模様１０Ａの暗い部分１０Ａ−１に由来する黒色領域１０Ｅと、模様１０Ｂの暗い部分１０Ｂ−１に由来する黒色領域１０Ｆとが含まれる。また、二値化画像Ｐ３には、文字１１〜１５と、模様１０Ａの暗い部分１０Ａ−１に由来する黒色領域１０Ｇとが含まれる。二値化画像Ｐ４には、文字１１〜１５と、模様１０Ｂの暗い部分１０Ｂ−１に由来する黒色領域１０Ｈとが含まれる。
【００２５】
図４の説明に戻る。
画像生成部３は、二値化画像Ｐ１〜Ｐ４に基づいて複数の画像候補を生成する（ステップＳＴ２）。画像候補の生成処理の詳細は、図６を用いて後述する。
文字認識部４は、画像生成部３により生成された複数の画像候補２３のそれぞれを文字認識する（ステップＳＴ３）。ここで、文字認識部４は、複数の画像候補２３の文字認識結果とともに、それぞれの文字認識結果の信頼度を示すスコアを算出する。そして、文字認識部４は、複数の画像候補２３の文字認識結果のうち、スコアが最も高い文字認識結果を最終的な文字認識結果として出力する。
【００２６】
次に、画像候補の生成処理の詳細について説明する。
図６は、画像生成部３の動作を示すフローチャートであり、画像候補２３が生成されるまでの一連の処理を示している。
まず、ラベル抽出部３０が、二値化処理部２から二値化画像データを入力して、二値化画像データが示す二値化画像Ｐ１〜Ｐ４からラベルを抽出する（ステップＳＴ１ａ）。
このとき、抽出されたラベルの位置および大きさを示すラベルデータ２１が、ラベル抽出部３０から判定部３１に出力される。
【００２７】
図７は二値化画像Ｐ１〜Ｐ４からラベルａ〜ｋを抽出する処理の概要を示す図である。図７に破線で示すように、ラベル抽出部３０は、二値化画像Ｐ１の黒色領域１０Ｃと文字１１および文字１２の一部とを特定して、これらを横方向に区分けする矩形をラベルａとして抽出する。同様に、ラベル抽出部３０は、文字１２の残り構成部分を横方向に区分けする矩形をラベルｂとして抽出し、文字１３を横方向に区分けする矩形をラベルｃとして抽出し、文字１４と黒色領域１０Ｄと文字１５の一部とを横方向に区分けする矩形をラベルｄとして抽出する。さらに、ラベル抽出部３０は、二値化画像Ｐ２〜Ｐ４からラベルｅ〜ｋを抽出する。
【００２８】
図６の説明に戻る。
判定部３１は、ラベルデータ２１に基づいて、二値化画像Ｐ１〜Ｐ４のそれぞれの二値化画像間におけるラベル位置を比較する（ステップＳＴ２ａ）。この比較により、異なる二値化画像間で対応する位置にあるラベルが特定される。
例えば、図７に示すように、二値化画像Ｐ１のラベルａに対応する二値化画像Ｐ２上の位置にはラベルｅがあるので、ラベルａとラベルｅが、二値化画像Ｐ１と二値化画像Ｐ２との間で互いに対応する位置にあると特定される。また、二値化画像Ｐ１のラベルｄに対応する二値化画像Ｐ２上の位置にはラベルｆとラベルｇとがあるので、ラベルｄとラベルｆおよびラベルｇとが、二値化画像Ｐ１と二値化画像Ｐ２との間で互いに対応する位置にあると特定される。
【００２９】
続いて、判定部３１は、二値化画像Ｐ１〜Ｐ４のうちの二値化画像間におけるラベルの分割または統合の関係を判定する（ステップＳＴ３ａ）。例えば、上記判定には、図８Ａと図８Ｂとに示す判定基準を用いる。また、下記式（１）〜（３）は、これらの判定基準を数式化したものである。ただし、Ｓｎは、二値化画像Ｐｎでラベルが囲む領域の面積であり、Ｓｎ＋１は、二値化画像Ｐｎの上記ラベルに対応する二値化画像Ｐｎ＋１上の位置にあるラベルが囲む領域の面積である。また、ＴＨｌｏｗは、これらの面積比の下限閾値であり、ＴＨｈｉｇｈは、これらの面積比の上限閾値である。Ｌｎは、二値化画像Ｐｎ上の対象位置にあるラベルの数であり、Ｌｎ＋１は、この対象位置に対応する二値化画像Ｐｎ＋１上の位置にあるラベルの数である。
Ｓｎ／Ｓｎ＋１＜ＴＨｌｏｗ      ・・・（１）
Ｓｎ／Ｓｎ＋１＞ＴＨｈｉｇｈ      ・・・（２）
Ｌｎ≠Ｌｎ＋１                  ・・・（３）
【００３０】
図８Ａに示す判定基準は、同一の入力画像から得られた二値化画像間の互いに対応するラベル位置にあるラベル同士が異なる面積であると、これらのラベルは、異なるラベルであると判定するものである。
例えば、ラベル１６とラベル１７とが互いに対応する位置にある場合に、ラベル１６が囲む領域の面積Ｓｎに対するラベル１７が囲む領域の面積Ｓｎ＋１の比が閾値ＴＨｈｉｇｈよりも大きければ、ラベル１６とラベル１７は異なるラベルであると判定される。
ここで、“ラベル１６とラベル１７とが異なる”とは、ラベル１６に囲まれた領域内の黒画素の連結部分と、ラベル１７に囲まれた領域内の黒画素の連結部分とが異なることを意味する。
【００３１】
図８Ｂに示す判定基準は、同一の入力画像から得られた二値化画像間の互いに対応するラベル位置にあるラベルの数が異なると、ラベルが分割または統合されたと判定するものである。例えば、二値化画像Ｐｎ上の対象位置にあるラベル１６の数が１（Ｌｎ＝１）であり、この対象位置に対応する二値化画像Ｐｎ＋１上の位置にラベル１８とラベル１９とがある場合、Ｌｎ＋１＝２である。この場合、判定部３１は、ラベル１６が二値化画像Ｐｎ＋１においてラベル１８とラベル１９とに分割されたと判定する。
【００３２】
図９は、二値化画像Ｐ１〜Ｐ４のうちの二値化画像間のラベルの分割または統合の様子を示す図である。図９において、二値化画像Ｐ１上でラベルａが囲む領域の面積は、ラベルａに対応するラベルｅが二値化画像Ｐ２上で囲む領域の面積よりも大きい。この場合、判定部３１は、上記式（２）に基づいてラベルａとラベルｅが互いに異なると判定する。
なお、二値化画像Ｐ１上でラベルｂ，ｃが囲む領域の面積と、ラベルｂ、ｃに対応する二値化画像Ｐ２上の対応する位置にあるラベルが囲む領域の面積とは、いずれも上記式（１）および上記式（２）に合致しない関係にある。この場合、判定部３１は、二値化画像Ｐ２上にもラベルｂ，ｃがあると判定する。
一方、二値化画像Ｐ１上のラベルｄに対応する二値化画像Ｐ２上の位置にはラベルｆとラベルｇとがある。この場合、判定部３１は、上記式（３）に基づいてラベルｄが二値化画像Ｐ２上でラベルｆとラベルｇとに分割されたと判定する。
【００３３】
二値化画像Ｐ２上でラベルｇが囲む領域の面積は、ラベルｇに対応するラベルｈが二値化画像Ｐ３上で囲む領域の面積よりも大きい。この場合、判定部３１は、上記式（２）に基づいてラベルｇとラベルｈとが互いに異なると判定する。
また、二値化画像Ｐ３上のラベルｅに対応する二値化画像Ｐ４上の位置には、ラベルｉとラベルｊとがある。この場合、判定部３１は、上記式（３）に基づいてラベルｉが二値化画像Ｐ４上でラベルｉとラベルｊとに分割されたと判定する。
さらに、二値化画像Ｐ３上でラベルｈが囲む領域の面積は、ラベルｈに対応するラベルｋが二値化画像Ｐ４上で囲む領域の面積よりも小さい。この場合、判定部３１は、上記式（１）に基づいてラベルｈとラベルｋとが互いに異なると判定する。
このように判定されたラベルの分割または統合の関係を示す判定データ２２は、判定部３１から画像候補生成部３２に出力される。
【００３４】
図６の説明に戻る。
画像候補生成部３２は、判定データ２２に基づいて二値化画像でとり得るラベルの組み合わせを特定し、ラベルの組み合わせごとに識別情報を付与する（ステップＳＴ４ａ）。
例えば、二値化画像Ｐ１には、左側から順にラベルａ、ラベルｂ、ラベルｃ、ラベルｄがある。画像候補生成部３２は、上記判定データ２２に基づいて、ラベルａ〜ｄのうち、ラベルｄがラベルｆとラベルｇとに分割されることを認識すると、分割元のラベルと分割先のラベルとが別の組み合わせになるようにラベルの組み合わせを特定する。
この場合、画像候補生成部３２は、二値化画像で左から順に、ラベルａ、ラベルｂ、ラベルｃ、ラベルｄが並ぶ組み合わせと、ラベルａ、ラベルｂ、ラベルｃ、ラベルｆ、ラベルｇが並ぶ組み合わせとを、二値化画像でとり得るラベルの組み合わせとして特定する。
画像候補生成部３２は、このように特定したラベルの組み合わせのそれぞれに識別情報を付与する。
【００３５】
同様に、画像候補生成部３２が、二値化画像Ｐ１〜Ｐ４におけるラベルの複数の組み合わせを特定することにより、下記の１２個の組み合わせが得られる。
ここで、識別情報は、ラベルの組み合わせのそれぞれに割り当てた通し番号（１）〜（１２）である。
組み合わせ（１）；（ａ，ｂ，ｃ，ｄ）
組み合わせ（２）；（ａ，ｂ，ｃ，ｆ，ｇ）
組み合わせ（３）；（ａ，ｂ，ｃ，ｆ，ｈ）
組み合わせ（４）；（ａ，ｂ，ｃ，ｆ，ｋ）
組み合わせ（５）；（ｅ，ｂ，ｃ，ｄ）
組み合わせ（６）；（ｅ，ｂ，ｃ，ｆ，ｇ）
組み合わせ（７）；（ｅ，ｂ，ｃ，ｆ，ｈ）
組み合わせ（８）；（ｅ，ｂ，ｃ，ｆ，ｋ）
組み合わせ（９）；（ｉ，ｊ，ｂ，ｃ，ｆ，ｈ）
組み合わせ（１０）；（ｉ，ｊ，ｂ，ｃ，ｆ，ｇ）
組み合わせ（１１）；（ｉ，ｊ，ｂ，ｃ，ｆ，ｋ）
組み合わせ（１２）；（ｉ，ｊ，ｂ，ｃ，ｄ）
【００３６】
続いて、画像候補生成部３２は、識別情報からラベルの組み合わせを特定し、特定したラベルの組み合わせに基づいて複数の画像候補２３を生成する（ステップＳＴ５ａ）。
例えば、画像候補生成部３２は、二値化画像Ｐ１〜Ｐ４から、ラベルａ〜ｄのそれぞれに囲まれた領域内の黒画素の連結部分を特定し、これらの黒画素の連結部分を含む二値化画像を、組み合わせ（１）に対応する画像候補２３として生成する。
また、画像候補生成部３２は、二値化画像Ｐ１〜Ｐ４から、ラベルａ〜ｃのそれぞれに囲まれた領域内の黒画素の連結部分とラベルｆ，ｇのそれぞれに囲まれた領域内の黒画素の連結部分とを特定する。そして、画像候補生成部３２は、これらの黒画素の連結部分を含む二値化画像を、組み合わせ（２）に対応する画像候補２３として生成する。
同様にして、画像候補生成部３２は、組み合わせ（３）から組み合わせ（１２）までのそれぞれに対応する画像候補２３を生成する。
【００３７】
このようにして生成された１２個の画像候補２３は、画像候補生成部３２から文字認識部４に出力される。文字認識部４は、１２個の画像候補２３のそれぞれを文字認識する。ここで、文字認識部４は、１２個の画像候補２３の文字認識結果と、それぞれの文字認識結果の信頼度を示すスコアを算出する。そして、文字認識部４は、１２個の画像候補２３の文字認識結果のうち、スコアが最も高い文字認識結果を最終的な文字認識結果として出力する。
【００３８】
以上のように、実施の形態１に係る文字認識装置１において、ラベル抽出部３０は、二値化画像において複数の黒画素が連結している領域をラベルとして抽出する。判定部３１は、二値化画像間におけるラベルの分割または統合の関係を判定する。画像候補生成部３２は、ラベルの分割または統合の関係を示す判定データ２２に基づいて二値化画像でとり得るラベルの複数の組み合わせを特定して、ラベルの複数の組み合わせに基づいて複数の画像候補２３を生成する。
一般的に、文字認識の精度は、画像上での文字の状態に大きく影響を受ける。例えば、画像上で、文字が部分的に分割されているか、本来ならば分かれている文字の構成部分が塊になっていると、文字認識の精度が劣化する。
そこで、実施の形態１に係る文字認識装置１では、ラベルの分割または統合の関係から二値化画像でとり得るラベルの複数の組み合わせを特定し、ラベルの複数の組み合わせに基づいて複数の画像候補を生成している。これにより、前述したような画像上での文字の状態に応じた文字認識対象の画像候補が得られるので、入力画像を画一的に二値化した場合よりも文字認識の精度を高めることができる。
また、実施の形態１に係る文字認識装置１は、成分ツリーの作成および動的計画法の最適化処理といった計算量が多い処理が不要であり、特許文献１に記載された文字認識装置に比べて、文字認識結果が得られるまでの処理時間を格段に短縮することができる。
【００３９】
実施の形態２．
実施の形態１では、入力画像が複雑であるか否かによらず、ラベルの分割または統合の関係を判定したが、実施の形態２では、入力画像の複雑度に基づいて上記判定の可否を決定する。一般的に入力画像が複雑であるほど、二値化画像上の文字の精度が劣化する傾向にある。これは、複雑度が高い入力画像に基づく二値化画像には、文字が部分的に分割した箇所または本来ならば分かれている文字の構成部分が塊になった箇所が多数存在することを意味する。そこで、実施の形態２では、入力画像の複雑度に基づいて上記判定の可否を決定することにより、実用的な処理時間の範囲内で文字認識結果を得ることができる。
【００４０】
図１０は、この発明の実施の形態２に係る文字認識装置１Ａの構成を示すブロック図である。図１０において、図１と同一の構成要素には同一の符号を付して説明を省略する。また、図１１は、画像生成部３Ａの構成を示すブロック図である。図１１において、図２と同一の構成要素には同一の符号を付して説明を省略する。
文字認識装置１Ａは、入力画像に写った文字を認識する装置であり、図１０に示すように、二値化処理部２、画像生成部３Ａおよび文字認識部４を備える。
画像生成部３Ａは、図１１に示すように、ラベル抽出部３０、判定部３１Ａ、画像候補生成部３２および複雑度算出部３３を備えている。
【００４１】
判定部３１Ａは、ラベルデータ２１に基づいて二値化画像間におけるラベルの分割または統合の関係を判定する。また、判定部３１Ａは、入力画像の複雑度に基づいて判定の可否を決定する。例えば、入力画像の複雑度が閾値よりも高いと上記判定を行わず、複雑度が上記閾値以下であれば上記判定を行う。
【００４２】
複雑度算出部３３は、多値画像データ２４に基づいて入力画像の複雑度を算出する。
多値画像データ２４は、例えば、二値化処理前の入力画像データである。
複雑度算出部３３は、多値画像データ２４が示す入力画像上のエッジを抽出し、下記式（４）に従って入力画像上の全画素数に対するエッジの数の割合である複雑度Ｃを算出する。下記式（４）において、Ｅ（ｘ，ｙ）は、入力画像上の座標（ｘ，ｙ）におけるエッジの有無を示す関数であり、エッジがある場合はＥ（ｘ，ｙ）＝１、エッジがない場合にはＥ（ｘ，ｙ）＝０となる。
Ｃ＝（ΣＥ（ｘ，ｙ））／全画素数      ・・・（４）
【００４３】
文字認識装置１Ａの二値化処理部２、画像生成部３Ａおよび文字認識部４の各機能は、処理回路により実現される。すなわち、文字認識装置１Ａは、これらの機能を実行するための処理回路を備える。処理回路は、専用のハードウェアであってもメモリに格納されるプログラムを実行するＣＰＵであってもよい。
【００４４】
処理回路が図３Ａに示した専用のハードウェアの処理回路１０３の場合、処理回路１０３は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ＡＳＩＣ、ＦＰＧＡ、またはこれらを組み合わせたものが該当する。
文字認識装置１Ａにおける、二値化処理部２、画像生成部３Ａ、および文字認識部４の各機能をそれぞれ処理回路で実現してもよいし、各機能をまとめて１つの処理回路で実現してもよい。
【００４５】
処理回路が図３Ｂに示したプロセッサ１０５の場合、二値化処理部２、画像生成部３Ａおよび文字認識部４の各機能は、ソフトウェア、ファームウェア、またはソフトウェアとファームウェアとの組み合わせにより実現される。ソフトウェアおよびファームウェアはプログラムとして記述され、メモリ１０４に格納される。
【００４６】
プロセッサ１０５は、メモリ１０４に格納されたプログラムを読み出して実行することにより、各機能を実現する。
すなわち、文字認識装置１Ａは、処理回路により実行されるときに、入力画像から複数の二値化画像を生成するステップ、複数の二値化画像に基づいて複数の画像候補を生成するステップ、複数の画像候補のそれぞれを文字認識するステップが結果的に実行されるプログラムを格納するためのメモリを備える。
また、これらのプログラムは、二値化処理部２、画像生成部３Ａ、および文字認識部４の手順または方法をコンピュータに実行させるものである。
【００４７】
また、二値化処理部２、画像生成部３Ａおよび文字認識部４の各機能について、一部を専用のハードウェアで実現し、一部をソフトウェアまたはファームウェアで実現してもよい。例えば、二値化処理部２は専用のハードウェアの処理回路でその機能を実現し、画像生成部３Ａおよび文字認識部４については、プロセッサ１０５がメモリ１０４に格納されたプログラム実行することにより、その機能を実現する。
このように、処理回路は、ハードウェア、ソフトウェア、ファームウェアまたはこれらの組み合わせによって前述の機能を実現することができる。
【００４８】
次に動作について説明する。
図１２は画像生成部３Ａの動作を示すフローチャートであり、文字認識対象の画像候補が生成されるまでの一連の処理を示している。
複雑度算出部３３が、二値化画像データ２０と多値画像データ２４とを二値化処理部２から入力し、多値画像データ２４に基づいて入力画像の複雑度を算出する（ステップＳＴ１ｂ）。例えば、上記式（４）に従って入力画像の複雑度Ｃが算出される。
【００４９】
複雑度算出部３３は、入力画像の複雑度Ｃを閾値と比較し、複雑度Ｃが閾値よりも高い場合に、フラグデータ２５に対して判定不可を示す値を設定する。また、複雑度算出部３３は、複雑度Ｃが閾値以下である場合、フラグデータ２５に対して判定可を示す値を設定する。なお、判定不可を示す値は、例えば“０”、判定可を示す値は、例えば“１”とする。複雑度算出部３３は、二値化画像データ２０をラベル抽出部３０に出力するとともに、フラグデータ２５を判定部３１Ａに出力する。
【００５０】
次に、判定部３１Ａは、フラグデータ２５が判定を許可する値であるか否かを確認する（ステップＳＴ２ｂ）。フラグデータ２５に判定を許可する値（例えば“１”）が設定された二値化画像がある場合（ステップＳＴ３ｂ；ＹＥＳ）、判定部３１Ａは、ステップＳＴ３ｂに移行して、二値化画像間におけるラベルの分割または統合の関係を判定する。
ステップＳＴ３ｂからステップＳＴ６ｂまでの処理は、図６に示したステップＳＴ１ａからステップＳＴ４ａまでと同じ処理が実行される。
【００５１】
一方、判定部３１Ａは、フラグデータ２５に判定を許可しない値（例えば“０”）である場合（ステップＳＴ２ｂ；ＮＯ）、入力画像の二値化画像の中から文字認識対象の画像候補となる二値化画像を選択する（ステップＳＴ７ｂ）。
例えば、判定部３１Ａは、入力画像の平均輝度に最も近い閾値を用いて二値化された画像を選択する。これにより、画像上の文字の精度が最も高いと推測される二値化画像が画像候補として選択される。
【００５２】
ステップＳＴ８ｂにおいて、画像候補生成部３２は、識別情報からラベルの組み合わせを特定し、特定したラベルの組み合わせに基づいて複数の画像候補２３を生成する。この処理は、図６に示したステップＳＴ５ａと同じ処理である。
一方、画像候補生成部３２は、ステップＳＴ７ｂで選択された二値化画像については、そのまま画像候補２３とする。
【００５３】
このようにして生成された複数の画像候補２３は、画像候補生成部３２から文字認識部４に出力される。文字認識部４は、複数の画像候補２３のそれぞれを文字認識する。
ここで、文字認識部４は、複数の画像候補２３の文字認識結果と、それぞれの文字認識結果の信頼度を示すスコアを算出する。そして、文字認識部４は、複数の画像候補２３の文字認識結果のうち、スコアが最も高い文字認識結果を最終的な文字認識結果として出力する。
【００５４】
以上のように、実施の形態２に係る文字認識装置１Ａにおいて、画像生成部３Ａが、入力画像の複雑度に基づいてラベルの分割または統合の関係の判定の可否を決定する。
このように構成することで、ラベルの分割または統合の関係に応じた画像候補２３が過剰に生成されなくなり、実用的な処理時間の範囲内で文字認識結果を得ることができる。
【００５５】
なお、実施の形態１および実施の形態２では、二値化画像Ｐ１〜Ｐｎの画像全体を対象として処理を行ったが、個々の二値化画像を複数の分割領域に分割し、複数の分割領域のそれぞれを対象として処理を行ってもよい。
例えば、二値化画像間の分割領域におけるラベルの分割または統合の関係を判定してもよい。これにより、分割領域ごとに画像候補を生成することができるので、文字認識の精度を高めることができる。さらに、分割領域ごとの画像候補を文字認識すればよいので、文字認識結果が得られるまでの処理時間を短縮できる。
【００５６】
また、二値化画像を分割する方法としては、例えば、下記参考文献２に記載された方法を用いることができる。
参考文献２；永橋知行、伊原有仁、藤吉弘亘、“前景と背景情報の共起表現を用いたＢａｇ−ｏｆ−ｆｅａｔｕｒｅｓによる画像分類”、画像の認識・理解シンポジウム、２０１０年７月．
【００５７】
なお、本発明はその発明の範囲内において、各実施の形態の自由な組み合わせあるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
【産業上の利用可能性】
【００５８】
この発明に係る文字認識装置は、文字認識の精度を保ちつつ、文字認識結果が得られるまでの時間を短縮することができるので、例えば、車両の走行路にある標識の内容を認識して運転支援を行う運転支援装置に好適である。
【符号の説明】
【００５９】
１，１Ａ  文字認識装置、２  二値化処理部、３，３Ａ  画像生成部、４  文字認識部、１０Ａ，１０Ｂ  模様、１０Ａ−１，１０Ｂ−１  暗い部分、１０Ｃ〜１０Ｈ  黒色領域、１１〜１５  文字、１６〜１９  ラベル、２０  二値化画像データ、２１  ラベルデータ、２２  判定データ、２３  画像候補、２４  多値画像データ、２５  フラグデータ、３０  ラベル抽出部、３１，３１Ａ  判定部、３２  画像候補生成部、３３  複雑度算出部、１００  画像取り込み装置、１０１  ディスプレイ、１０２  ハードディスク、１０３  処理回路、１０４  メモリ、１０５  プロセッサ。
【図１】
0006513311.tif 000002
【図２】
0006513311.tif 000003
【図３】
0006513311.tif 000004
【図４】
0006513311.tif 000005
【図５】
0006513311.tif 000006
【図６】
0006513311.tif 000007
【図７】
0006513311.tif 000008
【図８】
0006513311.tif 000009
【図９】
0006513311.tif 000010
【図１０】
0006513311.tif 000011
【図１１】
0006513311.tif 000012
【図１２】
0006513311.tif 000013