(57)【要約】【課題】原稿内の文字列を精度よく文字認識することができる。【解決手段】文書画像を文字認識処理して得られる各文字列から、予め保持する文字列リストのうちのいずれの文字列にも該当せず、かつ所定の文字が含まれる第１の文字列を取得する。また、前記各文字列から、前記文字列リストのうちのいずれかの文字列に該当し、かつ前記所定の文字と同一の又は類似する類似文字が含まれる第２の文字列を取得する。そして、前記文書画像から、前記第１の文字列に含まれる前記所定の文字を示す所定文字画像の特徴量と前記第２の文字列に含まれる前記類似文字を示す類似文字画像の特徴量とを導出し、前記導出した特徴量どうしを比較し、前記比較の結果に応じて、前記所定文字画像を前記類似文字として認識する。【選択図】図８
2020184275.tif 000002
【特許請求の範囲】
【請求項１】
文書画像を文字認識処理して得られる各文字列から、予め保持する文字列リストのうちのいずれの文字列にも該当せず、かつ所定の文字が含まれる第１の文字列を取得する第１の取得手段と、
前記各文字列から、前記文字列リストのうちのいずれかの文字列に該当し、かつ前記所定の文字に類似する類似文字が含まれる第２の文字列を取得する第２の取得手段と、
前記文書画像から、前記第１の文字列に含まれる前記所定の文字を示す所定文字画像の特徴量と前記第２の文字列に含まれる前記類似文字を示す類似文字画像の特徴量とを導出し、前記導出した特徴量どうしを比較する比較手段と、
前記比較の結果に応じて、前記所定文字画像を前記類似文字として認識する認識手段と、を備える
ことを特徴とする画像処理装置。
【請求項２】
前記認識手段は、前記比較の結果、前記導出された特徴量間の差が所定の閾値未満である場合に、前記所定文字画像を、前記類似文字として認識する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記類似文字が、前記所定の文字と同一の又は類似する文字である
ことを特徴とする請求項１または請求項２に記載の画像処理装置。
【請求項４】
前記認識手段は、前記比較の結果、前記導出された特徴量間の差が所定の閾値以上である場合であって、かつ前記第２の文字列に含まれる前記類似文字の他に前記所定の文字に類似する他の類似文字が存在する場合には、前記所定文字画像を、前記他の類似文字として認識する
ことを特徴とする請求項１から請求項３のうちのいずれか１項に記載の画像処理装置。
【請求項５】
前記認識手段は、前記他の類似文字が複数ある場合には、前記所定文字画像が認識不可であると判断する
ことを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記各文字列が、前記文書画像において予め指定された領域を文字認識処理して得られる文字列であり、
第２の取得手段は、前記各文字列から取得された前記第２の文字列から前記類似文字が見つからなかった場合、前記文書画像の全体を文字認識処理して得られる各文字列から前記第２の文字列を新たに取得し、
前記比較手段は、前記文書画像から、前記所定文字画像の特徴量と、前記新たに取得された前記第２の文字列に含まれる前記類似文字を示す類似文字画像の特徴量とを導出し、前記導出された特徴量どうしを比較する
ことを特徴とする請求項１から請求項５のうちのいずれか１項に記載の画像処理装置。
【請求項７】
前記各文字列から複数の前記第２の文字列が取得された場合に、前記複数の前記第２の文字列のそれぞれに含まれる前記類似文字を示す類似文字画像を取得し、前記取得した類似文字画像を類似文字画像リストとして保持する保持手段を更に備え、
前記比較手段は、前記類似文字画像リストの各類似文字画像と前記所定文字画像との間で特徴量の比較を行ない、
前記認識手段は、前記比較の結果、前記類似文字画像リストから、前記所定文字画像との特徴量の差が所定の閾値未満である類似文字画像が検出された場合、前記所定文字画像を、前記検出された類似文字画像によって示される類似文字として認識する
ことを特徴とする請求項１から請求項６のうちのいずれか１項に記載の画像処理装置。
【請求項８】
前記比較手段は、前記類似文字画像リストの各類似文字画像の並び順を、前記所定文字画像との距離に基づきソートし、ソートした前記並び順に従って、前記類似文字画像リストの各類似文字画像の特徴量を、前記所定文字画像の特徴量と比較する
ことを特徴とする請求項７に記載の画像処理装置。
【請求項９】
前記比較手段は、前記類似文字画像リストの各類似文字画像の並び順を、前記所定文字画像との距離の短い順にソートする
ことを特徴とする請求項８に記載の画像処理装置。
【請求項１０】
前記比較手段は、前記類似文字画像リストの各類似文字画像のうち、前記所定文字画像とフォント種が同じである類似文字画像を前記類似文字画像リストから除外して前記類似文字画像リストを更新し、前記更新された前記類似文字画像リストの各類似文字画像と、前記所定文字画像との間で特徴量の比較を行なう
ことを特徴とする請求項７から請求項９のうちのいずれか１項に記載の画像処理装置。
【請求項１１】
文書画像を文字認識処理して得られる各文字列から、予め保持する文字列リストのうちのいずれの文字列にも該当せず、かつ所定の文字が含まれる第１の文字列を取得する第１の取得ステップと、
前記各文字列から、前記文字列リストのうちのいずれかの文字列に該当し、かつ前記所定の文字と同一の又は類似する類似文字が含まれる第２の文字列を取得する第２の取得ステップと、
前記文書画像から、前記第１の文字列に含まれる前記所定の文字を示す所定文字画像の特徴量と前記第２の文字列に含まれる前記類似文字を示す類似文字画像の特徴量とを導出し、前記導出した特徴量どうしを比較する比較ステップと、
前記比較の結果に応じて、前記所定文字画像を前記類似文字として認識する認識ステップと、を含む
ことを特徴とする画像処理方法。
【請求項１２】
コンピュータに、請求項１１に記載の画像処理方法を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、光学的に原稿を読み取ることで得られた画像に対して文字認識処理を行なう技術に関する。
【背景技術】
【０００２】
従来から、複写機やスキャナで帳票や一般文書を画像データに変換し、原稿の内容を文字認識処理（ＯＣＲ（ｏｐｔｉｃａｌ  ｃｈａｒａｃｔｅｒ  ｒｅｃｏｇｎｉｔｉｏｎ）処理）する方法が知られている。ＯＣＲ処理では、個々の文字の認識精度を向上させるためにさまざまな方法が提案されている。特許文献１には、日本語ＯＣＲして英数字がみつかった場合に、その前後も含めて英語ＯＣＲすることで、文字認識精度を向上させる方法が開示されている。
【０００３】
ところで、帳票のような文章には、英字や数字、記号文字などが記載されている場合がある。例えば、修理サービスの依頼帳票には、それらの文字でつづられた修理品のシリアル番号（例えば、「ＩＸＰ０：８９ＯＰ：３２０８Ｑ」、「Ｅ８６ＩＬ１１０３ＩＯ」）が記載されている。このような記号文字列は産業分野に多岐にわたって存在し、他にも会員ＩＤや患者ＩＤなどがあり、いずれの情報も重要であるため正確に文字認識されることが望まれる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−０４６３１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、英字や数字には例えば「１」と「Ｉ」のように、他の文字と類似する文字が存在するため、上述したような方法を用いてもシリアル番号などの記号文字列を正確に文字認識できない場合があった。
【０００６】
そこで、本発明は、原稿内の文字列を精度よく文字認識することを目的とする。
【課題を解決するための手段】
【０００７】
本開示の技術は、文書画像を文字認識処理して得られる各文字列から、予め保持する文字列リストのうちのいずれの文字列にも該当せず、かつ所定の文字が含まれる第１の文字列を取得する第１の取得手段と、前記各文字列から、前記文字列リストのうちのいずれかの文字列に該当し、かつ前記所定の文字に類似する類似文字が含まれる第２の文字列を取得する第２の取得手段と、前記文書画像から、前記第１の文字列に含まれる前記所定の文字を示す所定文字画像の特徴量と前記第２の文字列に含まれる前記類似文字を示す類似文字画像の特徴量とを導出し、前記導出した特徴量どうしを比較する比較手段と、前記比較の結果に応じて、前記所定文字画像を前記類似文字として認識する認識手段と、を備えることを特徴とする画像処理装置である。
【発明の効果】
【０００８】
本発明によれば、原稿内の文字列を精度よく文字認識することができる。
【図面の簡単な説明】
【０００９】
【図１】第１実施形態に係る画像処理装置を含むシステムの構成の一例を示す図。
【図２】画像処理装置の構成の一例を示すブロック図。
【図３】判別が困難な文字を説明するための図。
【図４】第１実施形態に係る画像処理装置が実行するＯＣＲ処理のフローチャート。
【図５】Ｓ４０２の領域タイプ分類処理のフローチャート。
【図６】ＯＣＲ処理で誤答が生じやすい代表的な類似文字のセットの例を示す図。
【図７】Ｓ４０４の相対ＯＣＲ処理のフローチャート。
【図８】Ｓ７０４の１文字相対ＯＣＲ処理のフローチャート。
【図９】第２実施形態に係る画像処理装置が実行するＯＣＲ処理のフローチャート。
【図１０】第３実施形態に係る相対ＣＲ処理のフローチャート。
【図１１】第４実施形態に係る相対ＣＲ処理のフローチャート。
【発明を実施するための形態】
【００１０】
以下、図面を用いて本発明に係る実施形態を詳細に説明する。ただし、以下の実施形態に記載されている構成要素はあくまで例示であり、この発明の範囲をそれらに限定する趣旨のものではない。
【００１１】
［実施形態１］
＜システム構成＞
図１は、第１実施形態に係る画像処理装置を含むシステムの構成の一例を示す図である。図１に示すように、第１実施形態に係る画像処理装置１００は、イーサネットや無線ＬＡＮなどからなるＬＡＮ１０４を介してインターネット１０５に接続されている。画像処理装置１００は、インターネット１０５に接続されたパーソナルコンピュータ（ＰＣ）１０１や、公衆無線通信網１０２を介してインターネット１０５に接続されたモバイル端末１０３と通信可能である。なお、インターネット１０５には、ＰＣ１０１とモバイル端末１０３のいずれかが接続されていても良いし、その他の端末やサーバが接続されていても良い。また、画像処理装置１００がＰＣ１０１やモバイル端末１０３が実施する処理を行っても良い。
【００１２】
画像処理装置１００は、複写複合機であり、スキャナ部を有する。画像処理装置１００は、複数枚の名刺や免許証、ハガキなどの原稿をスキャンするスキャン端末として利用され、特に、複数枚のレシートを読み取るスキャン端末として利用される。また、画像処理装置１００は、原稿をスキャンして得られた画像データから原稿ごとの画像データを抽出するマルチクロップ機能を有する。さらに、画像処理装置１００は、表示部や、タッチパネルやハードボタンなどの操作部を有し、エラー通知や指示通知などの表示や、スキャン操作や設定操作などの操作を受け付ける。
【００１３】
ＰＣ１０１は、画像処理装置１００が生成した画像データを表示する。また、ＰＣ１０１は、画像処理装置１００が生成した画像データの保存や、文字認識処理（ＯＣＲ処理）などを実行し、再利用可能なコンテンツデータを生成する。なお、画像処理装置１００が有するマルチクロップ機能をＰＣ１０１が有していても良い。また、画像処理装置１００及びＰＣ１０１は、クラウドやサーバなどの外部ストレージと通信可能であり、生成した画像データやメタデータを外部ストレージに送信することができる。モバイル端末１０３は、操作部や無線通信部、ウェブブラウザを動作させるアプリ部などを有するスマートフォンやタブレット端末である。図１に示すシステムでは、ＰＣ１０１とモバイル端末１０３は、表示端末及び操作端末として機能し、またコンテンツデータの生成や保存を実行させる端末として機能するものとするが、それらの端末のうちのいずれかの端末としてのみ機能してもよい。
【００１４】
＜画像処理装置１００のハードウェア構成＞
図２は、画像処理装置１００の構成の一例を示すブロック図である。制御部１１０は、ＣＰＵ１１１、記憶装置１１２、ネットワークＩ／Ｆ部１１３、スキャナＩ／Ｆ部１１４、及び操作部Ｉ／Ｆ部１１５を有する。これらの構成要素は、システムバス１１６を介して互いに通信可能に接続されている。制御部１１０は、画像処理装置１００全体の動作を制御する。ＣＰＵ１１１は、記憶装置１１２に記憶された制御プログラムを読み出して読取制御や送信制御などの各種制御を行なう。記憶装置１１２は、上記制御プログラムや、画像データ、メタデータ、設定データ、及び処理結果のデータなどを格納し保持する。
【００１５】
記憶装置１１２は、不揮発性メモリであるＲＯＭ１１７、揮発性メモリであるＲＡＭ１１８及び、大容量記憶領域であるハードディスクドライブ（ＨＤＤ）１１９などを有する。ＲＯＭ１１７は、制御プログラムなどを保持する。ＣＰＵ１１１は、ＲＯＭ１１７に記憶された制御プログラムを読み出して実行することで画像処理装置１００を制御する。ＲＡＭ１１８は、ＣＰＵ１１１の主メモリ、ワークエリア等の一時記憶領域として用いられる。ＨＤＤ１１９は、画像データ、メタデータなどを保存する記憶領域として用いられる。
【００１６】
ネットワークＩ／Ｆ部１１３は、制御部１１０をＬＡＮ１０４に接続するインタフェースである。ネットワークＩ／Ｆ部１１３は、ＰＣ１０１やモバイル端末１０３等のＬＡＮ１０４上の外部装置に画像データを送信したり、ＬＡＮ１０４上の外部装置から各種情報を受信したりする。スキャナＩ／Ｆ部１１４は、スキャナ部１２０と制御部１１０を接続するインタフェースである。スキャナ部１２０は、原稿台（不図示）に載置された原稿上の画像を読み取って画像データを生成し、生成した画像データをスキャナＩ／Ｆ部１１４を介して制御部１１０に入力する。操作部Ｉ／Ｆ部１１５は、操作部１２１と制御部１１０とを接続するインタフェースである。操作部１２１には、タッチパネル機能を有する液晶表示部やテンキー、スタートボタン、キャンセルボタン等のハードキーが備えられている。スタートボタンは、コピーやスキャンの処理を開始させるためのボタンである。キャンセルボタンは、画像処理装置１００が実行中の処理を一時停止、または中止するためのボタンである。なお、画像処理装置１００は、画像データを出力（印刷）するプリンタ部など、その他の構成要素（ハードウェア）を備えていても良い。ただし、それらの構成要素については本実施形態の主眼ではないため説明を省略する。
【００１７】
＜文字の判別困難性＞
図３は、判別が困難な文字を説明するための図である。「ＩＰ０−ＸＯ０１２３４５」の文字からなる文字列３０１は、３文字目と７文字目は「０」（数字のゼロ）であり、６文字目は「Ｏ」（英字のオー）である。このように１つの文字列に英字と数字とが混在していると、人間の視覚的にも正確に読み取ることは難しくなる。文字列３０２は、文字列３０１を別のフォントで表示したものである。文字列３０２のフォントでは、１文字目の「Ｉ」と８文字目の「１」までもが判別困難になっている。このようにフォントのデザインによって、文字の判別が困難になる場合もある。
【００１８】
文字列３０１，３０２に対して、従来の方法（特開２００７−１３３８５０号公報に記載の方法）を用いて「０」と「Ｏ」の形状や、「Ｉ」と「１」の形状を注意深く比較して同一性を確認することで、それらの文字を区別することは可能である。しかし、文字列３０３のように、文字列内に「０」（ゼロ）しか含まれておらず「Ｏ」（英字のオー）が含まれない場合、文字列３０３の２文字目と５文字目の文字が「０」であるか「Ｏ」であるかを文字列単独で判別することは不可能である。
【００１９】
ＯＣＲ処理によって読み取り予測された候補文字に対して、あらかじめ定義しておいた単語リストと照らし合わせて、最も近しい文字列を見つけ出す単語マッチングという方法がある。単語マッチングによれば、事前にわかっている単語、例えば帳票に登場しうる顧客名を単語リスト（以下、文字列リストとも呼ぶ）に登録しておくことによって、多少ＯＣＲの精度が低くても、ＯＣＲ結果を補正して正解を見つけ出すことができる。しかし、また図３に示す各文字列は、ＩＤやシリアル番号といったタイプの文字列であり、多様かつ大量に存在する上に１回性が高いため、単語リストに登録することは現実的ではない。したがって、図３に示すような文字列に対しては、単語マッチングの手法をそのまま利用することができない。以下では、ＩＤやシリアル番号といったタイプの文字列に対しても精度よく文字認識することができるＯＣＲ処理について説明する。なお以下の説明において、文字列には文字（すなわち、１文字で構成される文字列）も含まれるものとする。
【００２０】
＜全体処理の概要フローチャート＞
図４は、第１実施形態に係る画像処理装置１００が実行するＯＣＲ処理のフローチャートである。図４に示す一連の処理は、ＣＰＵ１１１がＲＯＭ１１７、ＨＤＤ１１９等に記憶された制御プログラムを実行することにより実現される。なお、図４に示すフローでは、一般的にＯＣＲ処理に必要とされる前処理は適宜行われるものとして特記しない。前処理とは例えば、データファイルの読み込みや、展開、必要に応じて行なわれる画像処理（細かいノイズドットの除去処理など）や二値化処理であり、それらの処理については従来の技術を用いて行なわれるものとする。
【００２１】
帳票から情報抽出するＯＣＲ処理では、一般的に、「顧客ＩＤ」と「電話番号」だけをＯＣＲする、といったルールによってＯＣＲ対象となる文字列の領域が指定され、その領域の座標が入力されることを前提とする。なお、文字列の領域の座標は、帳票などの文書の構造を認識するレイアウト分析手段などを使って、対象となる文書画像から特定される。本実施形態のＯＣＲ処理では文字列の領域の座標を複数受け取って、１つの文字列に対して１回ずつＯＣＲ処理するものとする。以下、ＯＣＲ対象となる領域をＯＣＲ対象領域と呼ぶ。
【００２２】
まず、Ｓ４０１においてＣＰＵ１１１は、画像中の各文字列の領域（ＯＣＲ対象領域）の座標を受け取ると、各ＯＣＲ対象領域に対して、Ｓ４０２の処理（領域タイプ分類処理）を繰り返し実行する。これにより、すべてのＯＣＲ対象領域が、「単語マッチング済領域」、「相対ＯＣＲ対象領域」、及び「通常ＯＣＲ処理領域」の各領域タイプに分類される。Ｓ４０２の領域タイプ分類処理については、図５を用いて後述する。
【００２３】
次いで、Ｓ４０３においてＣＰＵ１１１は、各領域タイプに分類されたＯＣＲ対象領域の中から「相対ＯＣＲ対象領域」と判定された領域に対して、Ｓ４０４の処理（相対ＯＣＲ処理）を繰り返し実行する。Ｓ４０４の相対ＯＣＲ処理については、図７を用いて後述する。以上の処理が終了すると、最終的なＯＣＲ結果が得られる。
【００２４】
＜領域タイプ分類処理＞
図５は、Ｓ４０２の領域タイプ分類処理のフローチャートである。まず、Ｓ５０１においてＣＰＵ１１１は、ＯＣＲ対象領域の情報（画像データと座標）をもとにＯＣＲ対象領域に対してＯＣＲ処理を行ない、その結果を取得する。ＯＣＲ処理に用いる技術的手法は問わないが、本実施形態では、ＯＣＲ結果として、ＯＣＲ対象領域内に含まれる各文字画像１つずつの認識結果が取得されるものとする。このとき、文字別に画像中の位置が特定され、特定された位置の座標値が得られる。一般的なＯＣＲ処理では、１つの文字に対して複数の認識候補が得られる場合がある。したがって、本実施形態においても、１つの文字に対して１つ以上の候補が取得される場合がある。
【００２５】
次いで、Ｓ５０２においてＣＰＵ１１１は、得られたＯＣＲ結果を利用して、ＯＣＲの後処理として単語マッチング処理を行なう。単語マッチング処理は上述したように、ＯＣＲ結果として複数の文字列の候補が得られた場合に、あらかじめ単語（文字列）が登録された単語リスト（文字列リスト）と比較することで、ＯＣＲ結果を補正する処理である。例えば「東京都」という文字列をＯＣＲ処理した結果、「束京都」（１文字目が「東（ひがし）」でなく「束（たば）」になっている）という文字列が得られたとする。しかし、１文字目の下位候補に「東」があった場合には、１文字目の「束」を「東」に差し替えて得られる「東京都」が辞書に載っている地名に近いため、候補が選択し直しされる。これが単語マッチングという処理である。そしてＣＰＵ１１１は、単語マッチング処理でマッチングする単語が得られたか、つまり、ＯＣＲ結果（文字列）が単語リストに含まれる文字列であるかを判定する。
【００２６】
マッチングする単語が得られた場合（Ｓ５０２  Ｙｅｓ）、Ｓ５０３においてＣＰＵ１１１は、ＯＣＲ対象領域の情報とＯＣＲ結果とを、単語マッチング済リストに追加する。このようにして、ＯＣＲ対象領域が「単語マッチング済領域」に分類される。このとき、ＯＣＲ結果に上記補正が施されている場合には、上記補正が施されたＯＣＲ結果がＯＣＲ対象領域の情報とともに単語マッチング済リストに追加される。
【００２７】
マッチングする単語が得られなかった場合（Ｓ５０２  ＮＯ）、Ｓ５０４においてＣＰＵ１１１は、Ｓ５０１で取得したＯＣＲ結果の中に、相対ＯＣＲ処理の対象となる所定の文字が含まれるかどうかを確認する。以下、相対ＯＣＲ処理の対象となる所定の文字を、相対ＯＣＲ対象文字と呼ぶ。また、相対ＯＣＲ処理の対象となる所定の文字の画像を、所定文字画像または相対ＯＣＲ対象文字画像と呼ぶ。ここで、相対ＯＣＲ対象文字とは、図６に示すような、形状が類似していてＯＣＲ処理で誤答されやすい文字である。例えば、アルファベットの「Ｂ」と数字の「８」は形状が似ているため、それらの文字を単独でＯＣＲした場合には誤答が生じやすい。そしてその場合、ＯＣＲ結果の認識候補のリストに両者がともにリストアップされることが多い。なお、「Ｂ／８」のような１対の文字どうしだけでなく、図６に示す「Ｄ／Ｏ／０／Ｑ」などのように、複数の文字間で誤答が生じる場合もある。なお、図６には、ＯＣＲ処理で誤答が生じやすい代表的な類似文字のセット（以下、類似文字セットと呼ぶ）の例が示されているが、本実施形態に適用可能な類似文字セットは図６に示す例に限定されない。Ｓ５０４の処理では、図６に示されるような文字がＳ５０１で取得したＯＣＲ結果の認識候補に含まれるかを確認している。
【００２８】
ＯＣＲ結果に相対ＯＣＲ対象文字が含まれない場合（Ｓ５０４  Ｎｏ）、Ｓ５０５においてＣＰＵ１１１は、Ｓ５０１で得られたＯＣＲ結果をそのまま採用し、処理を終了する。ＯＣＲ結果に相対ＯＣＲ対象文字が含まれる場合（Ｓ５０４  Ｙｅｓ）、Ｓ５０６においてＣＰＵ１１１は、ＯＣＲ対象領域の情報とＯＣＲ結果とを、相対ＯＣＲ対象リストに追加する（Ｓ５０６）。このようにして、ＯＣＲ対象領域が「相対ＯＣＲ対象領域」に分類される。
【００２９】
＜相対ＯＣＲ処理＞
図７は、Ｓ４０４の相対ＯＣＲ処理のフローチャートである。Ｓ４０４の処理では、Ｓ５０６で構築された相対ＯＣＲ対象リストから取り出されたひとつの相対ＯＣＲ対象領域のＯＣＲ結果に対して、以下のＳ７０１〜Ｓ７０５の処理が実行される。
【００３０】
まず、Ｓ７０１においてＣＰＵ１１１は、処理対象の相対ＯＣＲ対象領域のＯＣＲ結果から、Ｓ５０４にて相対ＯＣＲ対象文字であると判定された文字を１文字取り出す。
【００３１】
次いで、Ｓ７０２においてＣＰＵ１１１は、Ｓ７０１で取り出した文字について、その文字に関連する類似文字セットを取得する。例えば、Ｓ７０１で取り出された文字の認識候補に“８”が含まれる場合、ＣＰＵ１１１は、図６に示す類似文字セットのリストから「Ｂ／８」という類似文字セットを、後の処理で用いる類似文字セットとして取得する。
【００３２】
次いで、Ｓ７０３においてＣＰＵ１１１は、Ｓ７０１で取り出された文字の認識候補（上記の例では“８”）が、Ｓ５０３で生成した単語マッチング済リストに登録されている単語の中に含まれるかを検索する。そして、ＣＰＵ１１１は、検索により検出されたすべての文字の領域の情報（画像データと座標）をリストとして構築する。以下では、このリストを、単語マッチング済候補文字画像リスト、または単語マッチング済類似文字画像リストと呼ぶ。また、単語マッチング済類似文字画像リスト内の要素を単語マッチング済類似文字画像、または単に類似文字画像と呼ぶ。
【００３３】
次いで、Ｓ７０４においてＣＰＵ１１１は、Ｓ７０１で取り出された文字とマッチング済み候補文字画像リストとを使って、１文字の相対ＯＣＲ処理（以下、１文字相対ＯＣＲ処理と呼ぶ）を実行する。１文字相対ＯＣＲ処理については、図８を用いて後述する。
【００３４】
最後に、Ｓ７０５においてＣＰＵ１１１は、相対ＯＣＲ対象領域に未処理の相対ＯＣＲ対象文字が残っているかどうかを確認する。未処理の相対ＯＣＲ対象文字が残っている場合には（Ｓ７０５  ＹＥＳ）、ＣＰＵ１１１はＳ７０１の処理に戻って、未処理の相対ＯＣＲ対象文字の中から１文字取り出し、取り出した文字に対してＳ７０１からの処理を繰り返す。未処理の相対ＯＣＲ対象文字が残ってなければ（Ｓ７０５  ＮＯ）、ＣＰＵ１１１は処理を終了する。
【００３５】
＜１文字相対ＯＣＲ処理＞
図８は、Ｓ７０４の１文字相対ＯＣＲ処理のフローチャートである。まず、Ｓ８０１においてＣＰＵ１１１は、Ｓ７０１で取り出した文字の領域の情報と、Ｓ７０２で取得された類似文字セットと、Ｓ７０３で構築された単語マッチング済類似文字画像リストとを入力する。そしてＣＰＵ１１１は、入力した単語マッチング済類似文字画像リストが要素を含んでいるか、つまり、単語マッチング済ＯＣＲ領域に相対ＯＣＲ対象文字の類似文字が含まれているかを確認する。
【００３６】
単語マッチング済類似文字画像リストが要素を含んでいない場合（Ｓ８０１  Ｎｏ）、ＣＰＵ１１１は、処理を終了する。単語マッチング済類似文字画像リストが要素を含んでいる場合（Ｓ８０１  Ｙｅｓ）、Ｓ８０２においてＣＰＵ１１１は、単語マッチング済類似文字画像リストから１つの要素（単語マッチング済類似文字画像）を取り出す。取り出した要素には、１つ文字の画像を示す画像データとその文字の正解確率の非常に高いＯＣＲ結果が含まれる。
【００３７】
次いで、Ｓ８０３においてＣＰＵ１１１は、取り出した単語マッチング済類似文字画像と、相対ＯＣＲ対象文字画像とを、Ｓ５０１で実行した通常のＯＣＲよりも厳密な方法で比較する。この比較処理に用いる技術的手法は問わない。例えば、一般的なＯＣＲをよりベクトル次元数を増やした特徴量を使って行なう手法を利用しても良い。また例えば、画像の画素同士を比較するテンプレートマッチングなどの画像比較の手法や、ディープラーニングなどの機械学習による画像比較の手法を利用してもよい。
【００３８】
次いで、Ｓ８０４においてＣＰＵ１１１は、Ｓ８０３の比較に用いた単語マッチング済類似文字画像のＯＣＲ結果である文字コード（文字種）をリスト（以下、比較済み文字種リストと呼ぶ）に記憶する。例えば「Ｂ／８」という類似文字セットが入力されていて、Ｓ８０３の比較に用いた単語マッチング済類似文字画像が“Ｂ”であったなら、“Ｂ”を比較済み文字種であるとして記録する。
【００３９】
次いで、Ｓ８０５においてＣＰＵ１１１は、Ｓ８０３の比較の結果、単語マッチング済類似文字画像と、相対ＯＣＲ対象文字画像との特徴が一致しているかどうかを確認する。なお、本実施形態では、ＣＰＵ１１１は、単語マッチング済類似文字画像の特徴量と、相対ＯＣＲ対象文字画像の特徴量との差を導出し、導出した特徴量間の差が所定の閾値未満である場合に、特徴が一致していると判断する。特徴が一致している場合（Ｓ８０５  Ｙｅｓ）、Ｓ８０６においてＣＰＵ１１１は、Ｓ８０２で取り出した文字のＯＣＲ結果を、相対ＯＣＲ対象文字のＯＣＲ結果と同定して、処理を終了する。一方、導出した特徴量間の差が所定の閾値以上である場合、すなわち特徴が一致していない場合（Ｓ８０５  Ｎｏ）、Ｓ８０７においてＣＰＵ１１１は、単語マッチング済類似文字画像リストに未比較の要素が残っているかを確認する（Ｓ８０７）。
【００４０】
未比較の要素が残っていれば（Ｓ８０７  Ｙｅｓ）、ＣＰＵ１１１は、Ｓ８０２に戻り、次の要素を取り出して処理を繰り返す。未比較の要素が残っていなければ（Ｓ８０７  Ｎｏ）、Ｓ８０８においてＣＰＵ１１１は、Ｓ８０４で記憶した比較済み文字種リストを取得する。比較済み文字種リストの各文字種が類似文字セット内の文字をすべて網羅しておらず、かつ、類似文字セット内の未比較の文字種が１つだけであるかを確認する。未比較の文字種が１つだけでない場合（Ｓ８０８  Ｎｏ）、Ｓ８１０においてＣＰＵ１１１は、相対ＯＣＲ処理ではこの文字（相対ＯＣＲ対象文字）を認識できないと判断する。そして、ＣＰＵ１１１は処理を終了する。未比較の文字種が１つだけである場合（Ｓ８０８  Ｙｅｓ）、Ｓ８０９においてＣＰＵ１１１は、未比較の唯一の文字種こそがＯＣＲ結果として確からしいと判断し、その文字種を１文字相対ＯＣＲのＯＣＲ認識結果として確定する。例えば、類似文字セットが「Ｂ／８」であり、Ｓ８０３で比較した単語マッチング済類似文字画像が全て“Ｂ”であり、かつすべてＳ８０５で特徴が一致しないと判定されたなら、残りの“８”こそがこの相対ＯＣＲ対象文字の認識結果になる、ということである。
【００４１】
以上のように、本実施形態では、原稿内に混同しやすい対となる文字が存在する文字が記載されている場合に、該文字のＯＣＲ結果を、該文字と単語マッチングでＯＣＲの確からしさを確認した文字とを比較した結果に応じて補正（Ｓ８０６）する。よって、本実施形態によれば、ＯＣＲ対象の文字列の中に、類似文字が存在する文字が含まれている場合でも、正確なＯＣＲ結果を得ることができる。また、コンテキスト（どの文字が正解として確からしいかの手掛かり）が少ない混同しやすい文字に対する文字認識精度を向上させることができ、記号文字列などをＯＣＲ対象とした場合でも、正確なＯＣＲ結果を得ることが可能となる。したがって、帳票などの文書に含まれる重要な情報を示す記号文字列（顧客ＩＤやシリアル番号等）を、精度よく読み取ることが可能となる。
【００４２】
また上述した１文字相対ＯＣＲ処理（特に、Ｓ８０８，Ｓ８０９の処理）によれば、ＯＣＲ対象の文字の類似文字が同じ原稿内に記載されていない場合でも、ＯＣＲ対象の文字を正しく認識することが可能となる。
【００４３】
［実施形態２］
第１実施形態では、ＯＣＲ処理を開始する時点においてＯＣＲ対象領域が予め指定されている場合を例にした。つまり、原稿の中で読み取るべき情報が決まっていて、「顧客ＩＤ」と「電話番号」だけをＯＣＲする、などのルールが存在する場合を例にした。このように、ひとつの原稿（帳票類）から必要な情報だけが読み取られるようにＯＣＲ対象を限定する手法は、ＯＣＲ処理に要する時間を短縮することができるため、ＯＣＲ処理において一般的に用いられている。
【００４４】
しかし、予め指定されたＯＣＲ対象領域以外の領域にも、相対ＯＣＲ対象文字の類似文字が存在する場合がある。したがって、そのような領域に対してもＯＣＲ処理を実行すれば、単語マッチング済リストの要素数を増やすことができ、相対ＯＣＲ処理の認識精度をより向上させることが可能となる。このような観点から本実施形態の画像処理装置は、以下に示すように、予め指定されたＯＣＲ対象領域以外の領域に対してもＯＣＲ処理を実行する。
【００４５】
図９は、第２実施形態に係る画像処理装置１００が実行するＯＣＲ処理のフローチャートである。なお、Ｓ９０１，Ｓ９０２，Ｓ９０６，Ｓ９０７の処理はそれぞれ、Ｓ４０１，Ｓ４０２，Ｓ４０３，Ｓ４０４の処理と同一であるため説明を省略する。
【００４６】
Ｓ９０２の処理の後、ＣＰＵ１１１はＳ９０３〜Ｓ９０５の処理を実行する。Ｓ９０３においてＣＰＵ１１１は、Ｓ５０６で構築した相対ＯＣＲ対象リストに登録されている相対ＯＣＲ対象領域に含まれる相対ＯＣＲ対象文字の全てが、Ｓ５０３で構築した単語マッチング済リストに登録されている単語の中に含まれているかを確認する。相対ＯＣＲ対象文字の全てが含まれていない場合（Ｓ９０３  Ｎｏ）、Ｓ９０４においてＣＰＵ１１１は、全文ＯＣＲを実行する。ここで全文ＯＣＲとは、ＯＣＲ領域を限定せず、原稿全体をＯＣＲする処理であり、レイアウト分析なども含めた一連の処理を言う。そして、Ｓ９０４の処理の後、Ｓ９０５においてＣＰＵ１１１は、再び、領域タイプ分類処理を実行する。そしてＣＰＵ１１１は、Ｓ９０６の処理に移行する。なお、Ｓ９０５の処理はＳ９０１の処理と同じであるため説明を省略する。
【００４７】
以上のように、本実施形態では、領域タイプ分類処理を実行した後に、全文ＯＣＲをし、さらに領域タイプ分類処理を再度実行する。それにより、予め指定されたＯＣＲ対象領域以外の領域のＯＣＲ結果についても、単語マッチング処理が行なわれようになる。よって、単語マッチング済リストの要素数を増やすことができ、相対ＯＣＲ処理において認識不可と判定される状況（Ｓ８０８でＮｏと判定される状況）を減らすことができ、文字認識精度をさらに向上させることができる。
【００４８】
［実施形態３］
第１及び第２実施形態では、相対ＯＣＲ処理において、相対ＯＣＲ対象文字と、単語マッチング済類似文字画像リストに含まれる各要素とを単純に比較していた。しかし、一般に、１ページの原稿中に複数のフォント種が使われている場合が多い。そのような場合、相対ＯＣＲ処理において違うフォント種の文字画像どうしで比較を行なうと、認識精度が低下し、所望のＯＣＲ結果が得られない可能性がある。そこで本実施形態では、同じフォント種どうしで比較が行なわれるようにして、相対ＯＣＲ処理の精度を向上させる画像処理装置について説明する。
【００４９】
一般的な書類を考えると、座標が近い文字列どうしのほうが、文字のフォント種が同じである確率が高い。そのような一般的な書類の性質を利用して、本実施形態では以下に示すように、相対ＯＣＲ対象文字との距離がより近い文字から順に相対ＯＣＲ処理を行なうようにする。それにより、相対ＯＣＲ対象文字とフォント種が同じである確立が高い文字から順に相対ＯＣＲ処理が行なわれるようにする。
【００５０】
図１０は、第３実施形態に係る相対ＣＲ処理のフローチャートである。なお、Ｓ１００１〜Ｓ１００３，Ｓ１００５，Ｓ１００６の処理はそれぞれ、Ｓ７０１〜Ｓ７０３，Ｓ７０４，Ｓ７０５の処理と同一であるため説明を省略する。
【００５１】
Ｓ１００３の後、ＣＰＵ１１１は、１文字相対ＯＣＲ処理（Ｓ１００５の処理）を実行する前にＳ１００４において、Ｓ１００３でリスト化した単語マッチング済類似文字画像をソートする。ここでは、ＣＰＵ１１１は、Ｓ１００３でリスト化した単語マッチング済類似文字画像を、単語マッチング済類似文字画像の原稿中における位置（座標）に基づいて、相対ＯＣＲ対象文字から距離が近い順にソートする。これにより、その後の１文字相対ＯＣＲ処理（Ｓ１００５の処理）において、各単語マッチング済類似文字画像が、ソートされた順に相対ＯＣＲ対象文字と比較される。
【００５２】
以上のようにして相対ＯＣＲ処理を行なうことで、相対ＯＣＲ対象文字と単語マッチング済類似文字画像との比較回数、すなわちＳ８０２〜Ｓ８０５の実行回数を少なくすることができるので、相対ＯＣＲ処理の処理速度を向上させることができる。
【００５３】
［実施形態４］
第３実施形態では、単語マッチング済類似文字画像リストから、相対ＯＣＲ対象文字とフォント種の類似度が高い順に要素を取り出して、相対ＯＣＲ対象文字との比較を行なう相対ＯＣＲ処理について説明した。本実施形態では、フォント認識の技術を用いて、単語マッチング済類似文字画像リストから、相対ＯＣＲ対象文字とフォント種が同じである要素を抽出し、抽出した要素についてのみ相対ＯＣＲ対象文字との比較を行なう相対ＯＣＲ処理を説明する。
【００５４】
図１１は、第４実施形態に係る相対ＣＲ処理のフローチャートである。なお、Ｓ１１０１〜Ｓ１１０３，Ｓ１１０６，Ｓ１１０７の処理はそれぞれ、Ｓ７０１〜Ｓ７０３，Ｓ７０４，Ｓ７０５の処理と同一であるため説明を省略する。
【００５５】
本実施形態ではＣＰＵ１１１は、Ｓ１１０３の後、１文字相対ＯＣＲ処理（Ｓ１１０６の処理）を実行する前にＳ１１０４，Ｓ１１０５の処理を実行する。まず、Ｓ１１０４においてＣＰＵ１１１は、Ｓ１１０３でリスト化した単語マッチング済類似文字画像のすべてと、相対ＯＣＲ対象文字画像とをそれぞれフォント認識する。ここでフォント認識とは既存技術であり、画像中の文字画像が、どのフォント種であるかを推定する技術である。なお、フォント認識の実現方法は問わないが、機械学習による方式などが知られている。
【００５６】
次いで、Ｓ１１０５においてＣＰＵ１１１は、Ｓ１１０４のフォント認識の結果に基づき、Ｓ１１０３で構築した単語マッチング済類似文字画像リストから、相対ＯＣＲ対象文字画像と異なるフォント種の単語マッチング済類似文字画像を除外する。つまり、ＣＰＵ１１１は、同じフォントのものだけをリストに残すようにしてリストを更新する。そして、その後のＳ１００６においてＣＰＵ１１１は、更新後の単語マッチング済類似文字画像リストを使用して１文字相対ＯＣＲ処理を行なう。
【００５７】
以上のように、相対ＯＣＲ対象文字画像と同じフォント種のものだけを単語マッチング済類似文字画像リストに残すようにすることで、違うフォント種の文字画像どうしで比較（Ｓ８０３の処理）が行なわれることがなくなる。よって、相対ＯＣＲ処理の精度をさらに向上させることができる。また、相対ＯＣＲ対象文字と単語マッチング済類似文字画像との比較回数、すなわちＳ８０２〜Ｓ８０５の実行回数を少なくすることができるので、相対ＯＣＲ処理の処理速度を向上させることができる。
【００５８】
［その他の実施形態］
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【図１】
2020184275.tif 000003
【図２】
2020184275.tif 000004
【図３】
2020184275.tif 000005
【図４】
2020184275.tif 000006
【図５】
2020184275.tif 000007
【図６】
2020184275.tif 000008
【図７】
2020184275.tif 000009
【図８】
2020184275.tif 000010
【図９】
2020184275.tif 000011
【図１０】
2020184275.tif 000012
【図１１】
2020184275.tif 000013