(57)【要約】【課題】  画像から文字を自動的に読み取る際に、認識速度および認識精度を向上させる。【解決手段】  本発明の文字認識装置は、入力画像から画素塊を検出し、画素塊から丁目・番地部分を検出した後、検出した丁目・番地部分以外を対象として、偏と旁に分離した部首同士を結合させる。そして、画素塊の組み合わせに基づき複数の文字列候補を作成し、それぞれの文字認識結果や類似度に基づき文字列候補を決定する。【選択図】  図４
2010020421.tif 000002
【特許請求の範囲】
【請求項１】
入力された画像データから文字画像を構成する複数の画素塊を抽出する画素塊抽出手段と、
前記複数の画素塊のうち、隣接する画素塊の間の距離と縦横比とが、予め定められた閾値を満たす画素塊同士を結合する結合手段と、
文字認識処理により、結合された画素塊に対応する文字の候補と、前記文字の候補に対応する評価値を取得する文字候補取得手段と、
前記文字画像の全体で、前記評価値が最大となる文字候補を決定する決定手段と、
を備えることを特徴とする文字認識装置。
【請求項２】
前記画素塊から特定文字の連続した部分を検出する検出手段を更に備え、
前記検出手段により検出される前記特定文字には、数字と、前記数字と数字の間を区切る区切り記号と、が含まれることを特徴とする請求項１に記載の文字認識装置。
【請求項３】
前記検出手段は、前記画素塊の縦横比と、前記画素塊が配置されている位置の情報に基づき、前記区切り記号の候補を検出することを特徴とする請求項２に記載の文字認識装置。
【請求項４】
前記検出手段は、前記区切り記号の候補のうち、前記区切り記号の両隣が数字のものを前記区切り記号として決定することを特徴とする請求項２に記載の文字認識装置。
【請求項５】
前記結合手段は、前記検出手段で検出された特定文字が連続する部分を除く画素塊を対象として、画素塊の結合処理を実行することを特徴とする請求項２に記載の文字認識装置。
【請求項６】
画素塊抽出手段と、結合手段と、文字候補取得手段と、決定手段と、を有する文字認識装置における文字認識方法であって、
画素塊抽出手段が、入力された画像データから文字画像を構成する複数の画素塊を抽出する画素塊抽出工程と、
結合手段が、前記複数の画素塊のうち、隣接する画素塊の間の距離と縦横比とが、予め定められた閾値を満たす画素塊同士を結合する結合工程と、
文字候補取得手段が、文字認識処理により、結合された画素塊に対応する文字の候補と、前記文字の候補に対応する評価値を取得する文字候補取得工程と、
決定手段が、前記文字画像の全体で、前記評価値が最大となる文字候補を決定する決定工程と、
を有することを特徴とする文字認識方法。
【請求項７】
コンピュータを、請求項１乃至５のいずれか１項に記載の文字認識装置として機能させることを特徴とするコンピュータプログラム。
【請求項８】
請求項７に記載のコンピュータプログラムを格納したことを特徴とするコンピュータにより読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像から文字を認識する技術に関する。
【背景技術】
【０００２】
罫線で囲まれた複数の文字を記入するための枠内に、手書きで記入された文字を認識する技術がある。この技術では、まず、文字列を画素塊に分割し、画素塊を組み合わせたパターンを文字と見なして認識処理を行う。そして、その認識結果を用いて文字評価値を算出し、この評価値の和の最大となる画素塊の組み合わせの列を動的計画法を用いて探索するというものである。
【０００３】
この画素塊の組み合わせの列を減らす方法として、以下の従来技術が存在する。
（１） 丁目・番地部分のような文字の並びの規則性を利用して、画素塊の組み合わせの列を絞り込む技術として、例えば、特許文献１がある。
（２） 地名部分、丁目・番地部分のような特定の部分において、字種を限定することを考慮に入れて画素塊の組み合わせの列を絞り込む技術として、例えば、特許文献２がある。
【特許文献１】特開平０６−１２４３６６号公報
【特許文献２】特開平０８−２４３５０４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記のような従来技術を用いても、地名部分の認識において、偏と旁のように部首同士が分離してしまう画素塊が多い場合、動的計画法を用いて探索すると、処理に時間がかかる可能性がある。また、画素塊の組み合わせの数が増えると誤認識率が増加する可能性がある。
【課題を解決するための手段】
【０００５】
上記の課題を鑑み、本発明にかかる文字認識装置は、入力された画像データから文字画像を構成する複数の画素塊を抽出する画素塊抽出手段と、
前記複数の画素塊のうち、隣接する画素塊の間の距離と縦横比とが、予め定められた閾値を満たす画素塊同士を結合する結合手段と、
文字認識処理により、結合された画素塊に対応する文字の候補と、前記文字の候補に対応する評価値を取得する文字候補取得手段と、
前記文字画像の全体で、前記評価値が最大となる文字候補を決定する決定手段と、を備えることを特徴とする。
【発明の効果】
【０００６】
本発明によれば、画像から文字を自動的に読み取る際に、認識速度および認識精度が向上する。
【発明を実施するための最良の形態】
【０００７】
以下、図面を参照して、本発明の好適な実施形態を例示的に詳しく説明する。ただし、この実施の形態に記載されている構成要素はあくまで例示であり、本発明の技術的範囲は、特許請求の範囲によって確定されるのであって、以下の個別の実施形態によって限定されるわけではない。
【０００８】
（第１実施形態）
図１は第１実施形態に係る文字認識装置の概略構成を示すブロック図である。
【０００９】
ＣＰＵ１０１は、ＲＯＭ１０２に格納されている制御プログラムを実行することにより、本装置全体の制御を行う。ＲＯＭ１０２は、ＣＰＵ１０１が実行するコンピュータプログラムや各種パラメータデータを格納する。コンピュータプログラムは、ＣＰＵ１０１で実行されることにより、後述するフローチャートに示す各処理を実行するための実行手段として、文字認識装置（コンピュータ）を機能させる。なお、本実施形態では、後述するフローチャートの各ステップに対応する処理を、ＣＰＵ１０１を用いてソフトウェアで実現することとするが、その処理の一部または全部を電子回路などのハードウェアで実現するようにしても構わない。また、本発明の文字認識装置は、汎用パソコンを用いて実現してもよいし、文字認識専用の装置として実現するようにしても構わない。
【００１０】
ＲＡＭ１０３は、画像や各種情報を記憶する。また、ＲＡＭ１０３は、ＣＰＵのワークエリアやデータの一時待避領域として機能する。
【００１１】
外部記憶装置１０４は、辞書などの各種データを記憶する。外部記憶装置１０４は、例えば、ハードディスクやＣＤ−ＲＯＭ等で構成される。なお、文字認識装置の制御方法をコンピュータに実行させるためのコンピュータプログラムは、コンピュータ読取可能な外部記憶媒体に格納されていても構わないし、ネットワークを介して供給されるようにしても構わない。ディスプレイ１０５は、例えば、ＬＣＤやＣＲＴで構成される。
【００１２】
入力装置１０６は、例えば、スキャナやデジカメ等の画像入力装置を接続するためのインターフェースであってもよいし、スキャナ等の画像入力装置そのものであっても構わない。
【００１３】
ネットワークインターフェース（Ｉ／Ｆ）１０７は、ネットワーク上に接続されている外部装置、例えば、サーバ、外部記憶装置、画像入力装置等と通信し、プログラムやデータを読み込んだり、書き込んだりする。尚、ネットワークは、典型的にはインターネットやＬＡＮやＷＡＮや電話回線などのいわゆる通信ネットワークであり、データの送受信が可能であれば良い。また、ディスプレイ１０５や入力装置１０６は、ネットワークインターフェース１０８を介して接続されていても良い。
【００１４】
このような文字認識装置は、例えば、図２に示すシステムにおいて実現される。図２は、第1実施形態において採用可能なコンピュータシステムの構成例を示す図である。２０１はコンピュータ装置であり、スキャナ２０２で光学的に読み取った画像データを受信して、文字認識のための処理を実行する。
【００１５】
次に、文字認識処理について図３〜図９を用いて説明する。本実施形態では、スキャナ等で光学的に読み取った画像データ内に記載された住所を認識する。
【００１６】
図３は手書き住所の一例を示す図である。日本語の住所の場合には、地名部分３０１と丁目・番地部分３０２とが存在する。図３の「東京都世田谷区下馬」を地名部分とし、それ以下を丁目・番地部分とする。
【００１７】
図４は、第1実施形態の文字認識装置における文字認識処理を示すフローチャートである。本処理は、ＣＰＵ１０１の全体的な制御の下に実行される。
【００１８】
ステップＳ４０１では、入力された画像データから文字画像を構成する複数の画素塊を抽出する。行抽出は、行方向に射影を取り、射影の存在する部分を高さとするように行方向の矩形（行矩形）を取ればよい。画素塊の抽出は、行矩形内から文字を形成する画素を見つけ、その輪郭を追跡していき元の画素まで戻ってきたら、それを１つの画素塊とする。同様にして行矩形内の全ての画素塊を取り出し、横書きなら上下に存在する画素塊同士を結合する。または垂直方向に射影を取り、射影の存在する部分を幅とするように画素塊を抽出してもよい。その後、文字の一部の孤立した小画素塊を対象とし、孤立した小画素塊と接近して存在する画素塊同士を結合する。
【００１９】
ステップＳ４０２では、画素塊から特定文字の連続した部分（丁目・番地部分）を検出する。ステップＳ４０２の詳細を図５に示す。
【００２０】
図５のステップＳ５０１では、区切り記号の検出を行う。区切り記号とは、「−」（ハイフン）、「の」、「ノ」、「丁目」、「番地」、「号」のような丁目・番地部分で用いられる数字と数字の間に存在する文字とする。ステップＳ５０１の詳細を図６に示す。
【００２１】
図６のステップＳ６０１では、形状や位置情報等による区切り記号候補の検出を行う。例えば、ハイフンの場合、画素塊の縦横比や行高（１行分の高さ）のどの位置に画素塊が配置されているかという情報で特定できる。住所記入例を見ると、区切り記号にハイフンを利用する人が多く、文字の形状や位置情報だけで区切り記号候補を検出でき、処理の高速化に繋がることが期待される。
【００２２】
ステップＳ６０２では、ステップＳ６０１で検出した区切り記号候補が存在するまで、ステップＳ６０３とステップＳ６０４の処理を実行する。
【００２３】
ステップＳ６０３では、区切り記号候補の両隣が数字かどうかを判定する。区切り記号候補の両隣が数字であればステップＳ６０４へ進む。
【００２４】
ステップＳ６０４では、区切り記号候補を区切り記号と確定する。
【００２５】
ステップＳ６０５では、ステップＳ６０１〜ステップＳ６０４で区切り記号が複数検出されたかどうかを確認し、検出された場合は区切り記号検出の処理を終了する。検出されない場合は、ステップＳ６０６へ進む。
【００２６】
ステップＳ６０６では、ＯＣＲを利用した区切り記号候補検出を行う。画素塊に対して、1文字認識を繰り返し行うことで、区切り記号候補を検出する。
【００２７】
ステップＳ６０７では、ステップＳ６０６で検出した区切り記号候補が存在するまで、ステップＳ６０８とステップＳ６０９の処理を実行する。
【００２８】
ステップＳ６０８では、区切り記号候補の両隣が数字かどうかを判定する。区切り記号候補の両隣が数字であればステップＳ６０９へ進む。
【００２９】
ステップＳ６０９では、区切り記号候補を区切り記号と確定する。
【００３０】
ステップＳ６０９が終了すると、処理は図５のステップＳ５０２に戻される。
【００３１】
図５のステップＳ５０２では、区切り記号を検出したかどうかを判定する。区切り記号を検出した場合は、ステップＳ５０３へ進む。区切り記号が検出されていない場合、丁目・番地部分検出処理を終了する。
【００３２】
ステップＳ５０３では、丁目・番地部分を選択する。ステップＳ５０３の詳細を図７に示す。
【００３３】
図７のステップＳ７０１では、横書きの場合は最左端の区切り記号から左に丁目・番地部分の境界が確定されるまで、ステップＳ７０２〜ステップＳ７０４の処理を実行する。
【００３４】
ステップＳ７０２では、最左端の区切り記号の左隣を1文字認識する。
【００３５】
ステップＳ７０３では、1文字認識の結果が数字かどうかを判定する。数字であればステップＳ７０４へ進み、数字でなければステップＳ７０５へ進む。
【００３６】
ステップＳ７０４では、丁目・番地部分の境界を1文字分広げ、ステップＳ７０１へ戻る。その後、ステップＳ７０２では更に左隣を1文字認識し、ステップＳ７０３、ステップＳ７０４の処理を行う。
【００３７】
ステップＳ７０５では、横書きの場合は最右端の区切り記号から右に丁目・番地部分の境界が確定されるまで、ステップＳ７０６〜ステップＳ７０８の処理を実行する。
【００３８】
ステップＳ７０６では、最右端の区切り記号の右隣を1文字認識する。
【００３９】
ステップＳ７０７では、1文字認識の結果が数字かどうかを判定する。数字であればステップＳ７０８へ進み、数字でなければ丁目・番地部分選択処理を終了する。
【００４０】
ステップＳ７０８では、丁目・番地部分の境界を1文字分広げ、ステップＳ７０５へ戻る。その後、ステップＳ７０６では更に右隣を1文字認識し、ステップＳ７０７、ステップＳ７０８の処理を行う。
【００４１】
ステップＳ５０３で丁目・番地部分を選択した例を図８に示す。
【００４２】
８０１では、区切り記号に「丁目」、「番地」、「号」を使用した例を示す。「号」の右側に数字が存在しないため、「号」は丁目・番地部分に指定されない。しかし、ステップＳ４０４で行う部首結合の処理には影響しないので問題はない。
【００４３】
８０２は区切り記号に「の」を使用した例である。この場合、処理を通じて全体が丁目・番地部分とされる。
【００４４】
８０３は区切り記号に「ノ」を使用した例である。この場合、処理を通じて全体が丁目・番地部分とされる。
【００４５】
８０４では区切り記号に「丁目」と「−」（ハイフン）が混在した例である。この場合、処理を通じて全体が丁目・番地部分とされる。
【００４６】
８０５では区切り記号に「丁目」と「の」が混在した例である。この場合、処理を通じて全体が丁目・番地部分とされる。
【００４７】
８０６では区切り記号に「丁目」と「ノ」が混在した例である。この場合、処理を通じて全体が丁目・番地部分とされる。
【００４８】
図５の丁目・番地部分の選択処理（ステップＳ５０３）が終了すると、図４のステップＳ４０３に処理は進められる。
【００４９】
図４のステップＳ４０３では丁目・番地部分を検出したかどうかを判定する。検出が確認されればステップＳ４０４へ処理は進められ、丁目・番地部分が未検出であればステップＳ４０５へ処理は進められる。
【００５０】
ステップＳ４０４では、ステップＳ４０２で検出された丁目・番地部分以外の画素塊を対象として、偏と旁に分離した画素塊同士の結合を行う。複数の画素塊のうち隣接する画素塊の間の距離と縦横比とが、予め定められた閾値を満たす画素塊同士を結合する。例えば、画素塊の高さが行高の３分の２以上であり、画素塊同士の距離が一定の閾値（距離判定閾値）内であり、画素塊同士を結合させたものの縦横比が一定の閾値（縦横比判定閾値）内であるような場合、画素塊同士を結合させる。偏と旁の条件を厳しくするのであれば、画素塊の縦横比が、縦１に対し横０．４〜０．６となるような画素塊を対象とすることを条件に加えても良い。これにより、丁目・番地部分に存在する数字のような細長い文字同士を結合させることを防ぎながら、地名部分に存在する部首同士の結合が可能となる。
【００５１】
ステップＳ４０５では、ここまでのステップで得られた画素塊を組み合わせてラティス構造を生成する。例えば推定文字サイズの１．２倍もしくは行高の１．２倍の大きい方を選択し、画素塊同士を組み合わせた幅が閾値（文字サイズ判定閾値）以内となる場合はラティス構造にその組み合わせを追加するようにする。
【００５２】
ステップＳ４０６では、ステップＳ４０５で作成されたラティス構造の各個別文字パターン候補に文字認識処理を行う。文字認識処理により、結合された画素塊に対応する文字候補取得処理が実行され、文字候補に対応する評価値を取得する。文字認識処理の結果として、複数の文字候補を取得することが可能である。文字候補を、例えば、「第1候補」（評価値ｘ１）、「第２候補」（評価値ｘ２）、・・・「第ｎ候補」（評価値ｘｎ）として求め、評価値が最大となる文字の組み合わせを、ラティス構造の最適経路として決定する。最適経路の決定アルゴリズムとしては、ビタビ（Ｖｉｔｅｒｂｉ）アルゴリズムの使用が好適である。尚、本発明の趣旨は、このアルゴリズムの使用に限定されるものではなく、他の同様に機能を実現するアルゴリズムであれば、同様に適用可能であることはいうまでもない。また、ラティス構造を構成する文字の候補の評価値を外部記憶装置１０４に記憶させておくことも可能である。
【００５３】
図９はこれまでのステップで得られた文字認識処理の結果を例示する図である。
【００５４】
９０１は画素塊抽出後の画素塊の状態を示す。「都」は偏と旁に分離している。このケースでは、射影でなく、輪郭を探索することによって画素塊を抽出しているので、「谷」のようなケースが分離している。
【００５５】
９０２は丁目・番地部分検出後の画素塊の状態を示す。「０−００−００」を丁目・番地部分としている。
【００５６】
９０３は部首同士の結合処理後の画素塊の状態を示す。「都」は結合した状態となる。このケースでは「谷」を構成する文字塊の外接矩形が重なっているため、部首結合の対象からは除外している。
【００５７】
９０４はラティス構造を生成し、最適経路決定した後の文字列の状態を示す。ここでは、「谷」の文字が正しく検出されているのがわかる。
【００５８】
以上説明したように、本実施形態に拠れば、画像から文字を自動的に読み取る際に、認識速度および認識精度に優れた文字認識が可能になる。
【００５９】
丁目・番地部分に存在する数字同士の結合を防ぎながら、地名部分に存在する部首同士の結合により、最適経路決定の際に、文字候補判定の組み合わせパターン（経路数）を削減することにより文字認識処理の高速化が可能になる。また経路数を削減することにより誤認識率の低下も期待される。
（他の実施形態）
なお、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムを記録したコンピュータ可読の記憶媒体を、システムあるいは装置に供給することによっても、達成されることは言うまでもない。また、システムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムを読出し実行することによっても、達成されることは言うまでもない。
【００６０】
この場合、記憶媒体から読出されたプログラム自体が前述した実施形態の機能を実現することになり、そのプログラムを記憶した記憶媒体は本発明を構成することになる。
【００６１】
プログラムを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【００６２】
また、コンピュータが読出したプログラムを実行することにより、前述した実施形態の機能が実現される。また、プログラムの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【００６３】
【図１】本発明の実施形態に係る文字認識装置の概略構成を示すブロック図である。
【図２】本発明の実施形態に係る文字認識装置の概略構成を示すシステム構成図である。
【図３】手書き住所の一例を示す図である。
【図４】本発明の実施形態に係る文字認識処理の流れを説明するフローチャートである。
【図５】本発明の実施形態に係る丁目・番地部分の検出処理の流れを説明するフローチャートである。
【図６】本発明の実施形態に係る区切り記号検出処理の流れを説明するフローチャートである。
【図７】本発明の実施形態に係る丁目・番地部分の選択処理の流れを説明するフローチャートである。
【図８】丁目・番地部分を選択した例を示す図である。
【図９】文字認識処理の結果を例示する図である。
【符号の説明】
【００６４】
１０１    ＣＰＵ
１０２    ＲＯＭ
１０３    ＲＡＭ
１０４    外部記憶装置
１０５    ディスプレイ
１０６    入力装置
【図１】
2010020421.tif 000003
【図２】
2010020421.tif 000004
【図３】
2010020421.tif 000005
【図４】
2010020421.tif 000006
【図５】
2010020421.tif 000007
【図６】
2010020421.tif 000008
【図７】
2010020421.tif 000009
【図８】
2010020421.tif 000010
【図９】
2010020421.tif 000011