(57)【要約】【課題】証憑画像に対する文字認識の精度を向上させる。【解決手段】画像処理装置は、抽出部、文字認識部、及び、制御部を備え、証憑を表す証憑画像に対して文字認識を行う。抽出部は、複数の文字を含む暫定文字領域を証憑画像から抽出する。文字認識部は、文字認識を行い、認識した文字の確からしさを示す確信度を出力する。制御部は、暫定文字領域を区画するための複数の候補位置を設定し、各候補位置について、候補位置により暫定文字領域を区画領域候補に区画して区画領域候補について文字認識部に確信度を出力させ、該出力された確信度に基づいて暫定文字領域の区画位置を決定し、該決定した区画位置により暫定文字領域を区画した区画領域への文字認識部による認識結果を、証憑画像への文字認識の結果として取得する。【選択図】図３
2020149199.tif 000002
【特許請求の範囲】
【請求項１】
証憑を表す証憑画像に対して文字認識を行う画像処理装置であって、
複数の文字を含む暫定文字領域を前記証憑画像から抽出する抽出部と、
文字認識を行い、認識した文字の確からしさを示す確信度を出力する文字認識部と、
前記文字認識部に文字認識を実行させる制御部と、を備え、
前記制御部は、
前記暫定文字領域を区画するための複数の候補位置を設定し、各前記候補位置について、前記候補位置により前記暫定文字領域を区画領域候補に区画して前記区画領域候補について前記文字認識部に前記確信度を出力させ、
前記出力された確信度に基づいて前記暫定文字領域の区画位置を決定し、
前記決定した区画位置により前記暫定文字領域を区画した区画領域への前記文字認識部による認識結果を、前記証憑画像への文字認識の結果として取得する、画像処理装置。
【請求項２】
前記文字認識部は、証憑を表す画像に含まれる文字を認識し該文字の確からしさを推定するための機械学習により生成された文字認識モデルを用いて文字を認識し、該認識された文字の確からしさを示す前記確信度を前記文字認識モデルから取得する、請求項１に記載の画像処理装置。
【請求項３】
前記抽出部は、前記証憑画像に対して第一の文字認識を行うことにより前記証憑画像から前記暫定文字領域を抽出し、
前記文字認識部は、前記第一の文字認識よりも精度が高い第二の文字認識を行う、請求項１又は請求項２に記載の画像処理装置。
【請求項４】
特定文字と、前記文字認識部による処理の対象とする対象領域の位置と、が関連付けられた関連情報を記憶している記憶部をさらに備え、
前記抽出部は、前記証憑画像に対して第一の文字認識を行うことにより前記証憑画像から前記暫定文字領域を含む複数の認識文字領域を抽出し、
前記文字認識部は、前記第一の文字認識よりも精度が高い第二の文字認識を行い、
前記制御部は、前記複数の認識文字領域から前記特定文字を含む特定文字領域を特定し、前記関連情報に基づいて前記特定文字領域に対応する前記対象領域を特定し、該対象領域において複数の文字を含む領域を前記暫定文字領域として処理を行う、請求項１又は請求項２に記載の画像処理装置。
【請求項５】
前記制御部は、複数の前記候補位置の各候補位置について、前記暫定文字領域を前記候補位置により区画した複数の前記区画領域候補を対象とする前記確信度を合計し、
複数の前記候補位置のうち、合計した値が最大である候補位置を前記区画位置として決定する、請求項１〜請求項４のいずれか一項に記載の画像処理装置。
【請求項６】
証憑を表す証憑画像に対して文字認識を行う画像処理方法であって、
複数の文字を含む暫定文字領域を前記証憑画像から抽出する抽出工程と、
前記暫定文字領域を区画するための複数の候補位置を設定し、各前記候補位置について、前記候補位置により前記暫定文字領域を区画領域候補に区画して前記区画領域候補について文字を認識し該文字の確からしさを示す確信度を取得し、該確信度に基づいて前記暫定文字領域の区画位置を決定し、該区画位置により前記暫定文字領域を区画した区画領域について認識した文字を認識結果とする認識文字取得工程と、を含む、画像処理方法。
【請求項７】
証憑を表す証憑画像に対して文字認識を行うための画像処理プログラムであって、
複数の文字を含む暫定文字領域を前記証憑画像から抽出する抽出機能と、
文字認識を行い、認識した文字の確からしさを示す確信度を出力する文字認識機能と、
前記文字認識部に文字認識を実行させる制御機能と、をコンピューターに実現させ、
前記制御機能は、
前記暫定文字領域を区画するための複数の候補位置を設定し、各前記候補位置について、前記候補位置により前記暫定文字領域を区画領域候補に区画して前記区画領域候補について前記文字認識機能に前記確信度を出力させ、
前記出力された確信度に基づいて前記暫定文字領域の区画位置を決定し、
前記決定した区画位置により前記暫定文字領域を区画した区画領域への前記文字認識機能による認識結果を、前記証憑画像への文字認識の結果として取得する、画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、証憑を表す証憑画像に対して文字認識を行う画像処理装置、画像処理方法、及び、画像処理プログラムに関する。
【背景技術】
【０００２】
レシート、領収書、等の証憑をスキャナーで読み取った画像に含まれる複数の文字をＯＣＲで認識することが行われている。ここで、ＯＣＲは、装置としてはOptical Character Readerの略称であり、光学式文字認識という意味ではOptical Character Recognitionの略称である。装置としてのＯＣＲは、認識した文字に加えて、画像の中で文字の領域を表す情報等も出力する。
【０００３】
特許文献１には、小切手表面に印字された文字の認識を行う小切手処理装置が開示されている。この小切手処理装置は、スキャナーから出力された画像データから切り出した第１の切り出し領域について文字認識を行って第１候補を出力し、前述の画像データから切り出した第２の切り出し領域について文字認識を行って第２候補を出力する。第２の切り出し領域の大きさは、第１の切り出し領域の大きさと同じである。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−１２７３７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ＯＣＲは、画像から複数の文字を一つの領域として切り出すことがある。上述した小切手処理装置は、切り出し領域の大きさが変わらないので、切り出された一つの領域に含まれる複数の文字を認識することができない。
【課題を解決するための手段】
【０００６】
本発明の画像処理装置は、証憑を表す証憑画像に対して文字認識を行う画像処理装置であって、
複数の文字を含む暫定文字領域を前記証憑画像から抽出する抽出部と、
文字認識を行い、認識した文字の確からしさを示す確信度を出力する文字認識部と、
前記文字認識部に文字認識を実行させる制御部と、を備え、
前記制御部は、
前記暫定文字領域を区画するための複数の候補位置を設定し、各前記候補位置について、前記候補位置により前記暫定文字領域を区画領域候補に区画して前記区画領域候補について前記文字認識部に前記確信度を出力させ、
前記出力された確信度に基づいて前記暫定文字領域の区画位置を決定し、
前記決定した区画位置により前記暫定文字領域を区画した区画領域への前記文字認識部による認識結果を、前記証憑画像への文字認識の結果として取得する、態様を有する。
【０００７】
また、本発明の画像処理方法は、証憑を表す証憑画像に対して文字認識を行う画像処理方法であって、
複数の文字を含む暫定文字領域を前記証憑画像から抽出する抽出工程と、
前記暫定文字領域を区画するための複数の候補位置を設定し、各前記候補位置について、前記候補位置により前記暫定文字領域を区画領域候補に区画して前記区画領域候補について文字を認識し該文字の確からしさを示す確信度を取得し、該確信度に基づいて前記暫定文字領域の区画位置を決定し、該区画位置により前記暫定文字領域を区画した区画領域について認識した文字を認識結果とする認識文字取得工程と、を含む、態様を有する。
【０００８】
さらに、本発明の画像処理プログラムは、証憑を表す証憑画像に対して文字認識を行うための画像処理プログラムであって、
複数の文字を含む暫定文字領域を前記証憑画像から抽出する抽出機能と、
文字認識を行い、認識した文字の確からしさを示す確信度を出力する文字認識機能と、
前記文字認識部に文字認識を実行させる制御機能と、をコンピューターに実現させ、
前記制御機能は、
前記暫定文字領域を区画するための複数の候補位置を設定し、各前記候補位置について、前記候補位置により前記暫定文字領域を区画領域候補に区画して前記区画領域候補について前記文字認識機能に前記確信度を出力させ、
前記出力された確信度に基づいて前記暫定文字領域の区画位置を決定し、
前記決定した区画位置により前記暫定文字領域を区画した区画領域への前記文字認識機能による認識結果を、前記証憑画像への文字認識の結果として取得する、態様を有する。
【図面の簡単な説明】
【０００９】
【図１】画像処理装置を含むシステムの構成例を模式的に示すブロック図。
【図２】文字認識処理の例を示すフローチャート。
【図３】２文字を含む暫定文字領域を区画する区画位置を決定する例を模式的に示す図。
【図４】３文字を含む暫定文字領域を区画する区画位置を決定する例を模式的に示す図。
【図５】３文字を含む暫定文字領域を区画する区画位置を決定する別の例を模式的に示す図。
【図６】特定文字テーブルの構造例を模式的に示す図。
【図７】文字認識処理の別の例を示すフローチャート。
【図８】特定文字に対応する対象領域において複数の文字を含む領域を暫定文字領域として処理を行う例を模式的に示す図。
【図９】証憑画像に対してＯＣＲにより文字認識が行われた例を模式的に示す図。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態を説明する。むろん、以下の実施形態は本発明を例示するものに過ぎず、実施形態に示す特徴の全てが発明の解決手段に必須になるとは限らない。
【００１１】
（１）本発明に含まれる技術の概要：
まず、図１〜９に示される例を参照して本発明に含まれる技術の概要を説明する。尚、本願の図は模式的に例を示す図であり、これらの図に示される各方向の拡大率は異なることがあり、各図は整合していないことがある。むろん、本技術の各要素は、符号で示される具体例に限定されない。「本発明に含まれる技術の概要」において、括弧内は直前の語の補足説明を意味する。
【００１２】
態様１：
図１等に例示するように、本技術の一態様に係る画像処理装置（例えばメインサーバー３０）は、証憑を表す証憑画像ＩＭ１に対して文字認識を行う画像処理装置（３０）であって、抽出部Ｕ１、文字認識部Ｕ２、及び、制御部Ｕ３を備える。前記抽出部Ｕ１は、図９に例示するように、複数の文字を含む暫定文字領域Ａ１を前記証憑画像ＩＭ１から抽出する。前記文字認識部Ｕ２は、図３等に例示するように、文字認識を行い、認識した文字の確からしさを示す確信度Ｃを出力する。前記制御部Ｕ３は、前記文字認識部Ｕ２に文字認識を実行させる。前記制御部Ｕ３は、図３等に例示するように、前記暫定文字領域Ａ１を区画するための複数の候補位置Ｐ１を設定し、各前記候補位置Ｐ１について、前記候補位置Ｐ１により前記暫定文字領域Ａ１を区画領域候補Ａ１０に区画して前記区画領域候補Ａ１０について前記文字認識部Ｕ２に前記確信度Ｃを出力させ、該出力された確信度Ｃに基づいて前記暫定文字領域Ａ１の区画位置Ｐ２を決定し、該決定した区画位置Ｐ２により前記暫定文字領域Ａ１を区画した区画領域Ａ２への前記文字認識部Ｕ２による認識結果を、前記証憑画像ＩＭ１への文字認識の結果として取得とする。
【００１３】
上述した態様１では、暫定文字領域Ａ１を区画する位置を変えることにより得られる確信度Ｃに基づいて暫定文字領域Ａ１が区画位置Ｐ２で区画され、区画領域Ａ２を対象として認識された文字が認識結果となる。従って、本態様は、証憑画像に対する文字認識の精度を向上させることができる。
【００１４】
ここで、証憑は、外部の第三者から入手された会計資料を意味し、レシート、領収書、請求書、納品書、等を含む。
制御部は、最終的な各区画領域に対応する区画領域候補に対して認識された複数の文字をそのまま認識結果に採用してもよい。むろん、制御部は、区画位置の決定後に、各区画領域を設定領域として文字認識部に認識させた複数の文字を認識結果に採用してもよい。
尚、上述した付言は、以下の態様においても適用される。
【００１５】
態様２：
前記文字認識部Ｕ２は、証憑を表す画像に含まれる文字を認識し該文字の確からしさを推定するための機械学習により生成された文字認識モデル（例えば図１に示すＤＬエンジン３２）を用いて設定領域Ａ３に対して文字を認識してもよく、該認識された文字の確からしさを示す前記確信度Ｃを前記文字認識モデル（３２）から取得してもよい。本態様は、証憑画像に対する文字認識の精度を向上させる好適な例を提供することができる。
【００１６】
態様３：
前記抽出部Ｕ１は、図２等に例示するように、前記証憑画像ＩＭ１に対して第一の文字認識を行うことにより前記証憑画像ＩＭ１から前記暫定文字領域Ａ１を抽出してもよい。前記文字認識部Ｕ２は、前記第一の文字認識よりも精度が高い第二の文字認識を設定領域Ａ３に対して行ってもよい。本態様も、証憑画像に対する文字認識の精度を向上させる好適な例を提供することができる。
【００１７】
態様４：
本画像処理装置（３０）は、図１，６に例示するように、特定文字ＫＷと、前記文字認識部Ｕ２による処理の対象とする対象領域Ａ４の位置と、が関連付けられた関連情報（例えば特定文字テーブルＴＡ１）を記憶している記憶部（例えば記憶装置３０ｄ）をさらに備えていてもよい。前記抽出部Ｕ１は、図７に例示するように、前記証憑画像ＩＭ１に対して第一の文字認識を行うことにより前記証憑画像ＩＭ１から前記暫定文字領域Ａ１を含む複数の認識文字領域Ａ５を抽出してもよい。前記文字認識部Ｕ２は、前記第一の文字認識よりも精度が高い第二の文字認識を設定領域Ａ３に対して行ってもよい。前記制御部Ｕ３は、図７，８に例示するように、前記複数の認識文字領域Ａ５から前記特定文字ＫＷを含む特定文字領域Ａ６を特定してもよく、前記関連情報（ＴＡ１）に基づいて前記特定文字領域Ａ６に対応する前記対象領域Ａ４を特定してもよく、該対象領域Ａ４において複数の文字を含む領域を前記暫定文字領域Ａ１として処理を行ってもよい。
証憑には、頻出する文字があり、当該頻出文字を基準として決まった領域に数字等の決まった文字が使用されることが多い。そこで、前述の頻出文字を証憑において特徴的な特定文字として、該特定文字に位置が関連付けられた対象領域に本技術を適用することにより、証憑画像に対する文字認識が向上する。
【００１８】
態様５：
図２に例示するように、前記制御部Ｕ３は、複数の前記候補位置Ｐ１の各候補位置について、前記暫定文字領域Ａ１を前記候補位置Ｐ１により区画した複数の前記区画領域候補Ａ１０を対象とする前記確信度Ｃを合計し、複数の前記候補位置Ｐ１のうち、合計した値（例えば和ΣＣ）が最大である候補位置を前記区画位置Ｐ２として決定してもよい。この態様も、証憑画像に対する文字認識の精度を向上させる好適な例を提供することができる。
【００１９】
態様６：
また、図２等に例示するように、本技術の一態様に係る画像処理方法は、証憑を表す証憑画像ＩＭ１に対して文字認識を行う画像処理方法であって、抽出工程ＳＴ１、及び、認識文字取得工程ＳＴ２を含む。前記抽出工程ＳＴ１では、複数の文字を含む暫定文字領域Ａ１を前記証憑画像ＩＭ１から抽出する。前記認識文字取得工程ＳＴ２では、前記暫定文字領域Ａ１を区画するための複数の候補位置Ｐ１を設定し、各前記候補位置Ｐ１について、前記候補位置により前記暫定文字領域Ａ１を区画して前記区画領域候補Ｐ１について文字を認識し該文字の確からしさを示す確信度Ｃを取得し、該確信度Ｃに基づいて前記暫定文字領域Ａ１の区画位置Ｐ２を決定し、該区画位置Ｐ２により前記暫定文字領域Ａ１を区画した区画領域Ａ２について認識した文字を認識結果とする。
【００２０】
上述した態様６では、暫定文字領域Ａ１を区画する位置を変えることにより得られる確信度Ｃに基づいて暫定文字領域Ａ１が区画位置Ｐ２で区画され、区画領域Ａ２を対象として認識された文字が認識結果となる。従って、本態様も、証憑画像に対する文字認識の精度を向上させることができる。
【００２１】
態様７：
さらに、図１に例示するように、本技術の一態様に係る画像処理プログラムＰＲ１は、抽出部Ｕ１に対応する抽出機能ＦＵ１、文字認識部Ｕ２に対応する文字認識機能ＦＵ２、及び、制御部Ｕ３に対応する制御機能ＦＵ３をコンピューター（例えばメインサーバー３０）に実現させる。本態様も、証憑画像に対する文字認識の精度を向上させることができる。
【００２２】
さらに、本技術は、上述した画像処理装置を含む複合装置、上述した画像処理方法を含む情報処理方法、上述した画像処理プログラムを含む情報処理プログラム、前述のいずれかのプログラムを記録したコンピューター読み取り可能な媒体、等に適用可能である。前述のいずれかの装置は、分散した複数の部分で構成されてもよい。
【００２３】
（２）本技術を想到した背景：
図９は、証憑であるレシートをスキャナーで読み取ることにより得られた証憑画像ＩＭ１に対してＯＣＲにより文字認識が行われた例を模式的に示している。尚、レシートは、キャッシュレジスターで機械的に発行される、宛名の無い領収書を意味する。ＯＣＲは、認識された文字を含む認識文字領域Ａ５を複数、証憑画像ＩＭ１から抽出する。例えば、図９において、文字「年」と文字「月」は、１文字として正しく認識されている。この場合、１文字のみ含む認識文字領域Ａ５が証憑画像ＩＭ１から抽出され、正しく認識された文字、文字数が１文字である情報、及び、認識文字領域Ａ５の範囲を表す情報がＯＣＲから出力される。しかし、文字「０４」は、２文字として認識され、正しく認識されていない。この場合、２文字含む認識文字領域Ａ５が証憑画像ＩＭ１から抽出され、正しく認識されなかったことを表す情報、文字数が２文字である情報、及び、認識文字領域Ａ５の範囲を表す情報がＯＣＲから出力される。特に、証憑に感熱紙が使用されている場合、文字の一部がかすれ易く、このために文字が正しく認識されないことがある。キャッシュレジスターで発行されるレシートは、感熱紙が使用されることが多いため、文字のかすれが生じ易い。
【００２４】
本技術は、設定領域に対して文字の認識、及び、確信度の出力を行う文字認識部を用いることにより複数の認識文字領域Ａ５のうち複数の文字を含む暫定文字領域Ａ１を１文字毎に正しく区画する特徴を有する。これにより、本技術は、暫定文字領域Ａ１から区画された各区画領域に含まれる文字を正しく認識することができる。以下、この技術の具体例を説明する。
【００２５】
（３）画像処理装置を含むシステムの構成の具体例：
図１は、画像処理装置を含むシステムの構成の具体例を模式的に示している。図１に示すシステムＳＹ１は、スキャナー１０、クライアント２０、画像処理装置の例であるメインサーバー３０、及び、ストレージサーバー４０を含んでいる。ここで、クライアントはクライアントコンピューターの略称であり、メインサーバーはメインサーバーコンピューターの略称であり、ストレージサーバーはストレージサーバーコンピューターの略称である。メインサーバー３０は、画像処理装置の例である。クライアント２０、メインサーバー３０、及び、ストレージサーバー４０は、インターネットを含むネットワークＮＥ１に接続されている。ネットワークＮＥ１への接続は、有線による接続でもよいし、無線による接続でもよいし、有線と無線の両方による接続でもよい。インターネットを含むネットワークＮＥ１は、ＬＡＮを含んでいてもよい。ここで、ＬＡＮは、Local Area Networkの略称である。メインサーバー３０とストレージサーバー４０は、ネットワークＮＥ１を介してユーザーにクラウドサービスを提供可能である。
【００２６】
スキャナー１０は、例えば、光源からの光を原稿に当てて原稿画像を読み取り、データとしての原稿画像を外部へ出力する。図１に示すスキャナー１０は、クライアント２０の通信Ｉ／Ｆ２０ｈに対して有線又は無線により通信可能に接続されている。ここで、Ｉ／Ｆは、インターフェイスの略称である。スキャナー１０は、原稿としての証憑を光学的に読み取ると、対応する証憑画像ＩＭ１をクライアント２０に出力する。スキャナー１０には、原稿台ガラスと原稿カバーとの間に原稿を配置するフラットベッド式のスキャナー、原稿送り装置付きのスキャナー、等を用いることができる。また、スキャナー１０は、スキャナー機能に加えて、印刷機能、ファクシミリ通信機能、といった機能を兼ね備えた複合機でもよい。
【００２７】
クライアント２０には、タブレット端末を含めたパーソナルコンピューター、スマートフォン、等を用いることができる。図１に示すクライアント２０は、プロセッサーであるＣＰＵ２０ａ、半導体メモリーであるＲＯＭ２０ｂ、半導体メモリーであるＲＡＭ２０ｃ、記憶装置２０ｄ、クライアント用ネットワークＩ／Ｆ２０ｅ、入力装置２０ｆ、表示装置２０ｇ、通信Ｉ／Ｆ２０ｈ、等を有している。これらの要素２０ａ〜２０ｈ等は、電気的に接続されていることにより互いに情報を入出力可能である。ここで、ＣＰＵはCentral Processing Unitの略称であり、ＲＯＭはRead Only Memoryの略称であり、ＲＡＭはRandom Access Memoryの略称である。
【００２８】
記憶装置２０ｄは、図示していないが、オペレーティングシステム、アプリケーションプログラム、等を記憶している。アプリケーションプログラムは、スキャナー１０を制御するドライバープログラムを含む。このドライバープログラムは、スキャナー１０が証憑を読み取ることにより生成された証憑画像ＩＭ１をスキャナー１０から受信する機能、及び、証憑画像ＩＭ１をメインサーバー３０にアップロードする機構をクライアント２０に実現させる。記憶装置２０ｄには、ハードディスクといった磁気記憶装置、フラッシュメモリーといった不揮発性半導体メモリー、等を用いることができる。ＣＰＵ２０ａは、記憶装置２０ｄに記憶されている情報を適宜、ＲＡＭ２０ｃに読み出し、読み出したプログラムを実行することにより各種処理を行う。ネットワークＩ／Ｆ２０ｅは、ネットワークＮＥ１に接続され、このネットワークＮＥ１に繋がっている相手装置と所定の通信規格に従って通信を行う。入力装置２０ｆには、ポインティングデバイス、キーボードを含むハードキー、表示パネルの表面に貼り付けられたタッチパネル、等を用いることができる。表示装置２０ｇには、液晶表示パネル等を用いることができる。通信Ｉ／Ｆ２０ｈは、スキャナー１０といった周辺機器に接続するためのインターフェイスである。通信Ｉ／Ｆ２０ｈには、ＵＳＢインターフェイス、無線通信インターフェイス、等を用いることができる。ここで、ＵＳＢは、Universal Serial Busの略称である。
【００２９】
尚、スキャナー１０は、クライアント２０の構成を含んでいてもよい。この場合、スキャナー１０は、ネットワークＮＥ１を介した外部との通信機能を兼ね備えた装置として機能する。
【００３０】
メインサーバー３０は、ネットワークＮＥ１上で文字認識機能を提供するサーバーコンピューターであり、１台のコンピューターでもよいし、複数台のコンピューターでもよい。図１に示すメインサーバー３０は、プロセッサーであるＣＰＵ３０ａ、半導体メモリーであるＲＯＭ３０ｂ、半導体メモリーであるＲＡＭ３０ｃ、記憶装置３０ｄ、メインサーバー用ネットワークＩ／Ｆ３０ｅ、等を有している。これらの要素３０ａ〜３０ｅ等は、電気的に接続されていることにより互いに情報を入出力可能である。プロセッサーは、一つのＣＰＵに限定されず、複数のＣＰＵ、ＡＳＩＣといったハードウェア回路とＣＰＵとの組合せ、等でもよい。ここで、ＡＳＩＣは、Application Specific Integrated Circuitの略称である。図示していないが、メインサーバー３０は、オペレーターによる操作を受け付けるための入力装置、オペレーターに情報を示すための表示装置、等を備えていてもよい。
【００３１】
記憶装置３０ｄは、図示しないオペレーティングシステム、画像処理プログラムＰＲ１、等を記憶している。また、記憶装置３０ｄは、特定文字と、文字認識部Ｕ２による処理の対象とする対象領域Ａ４の位置と、が関連付けられた関連情報である特定文字テーブルＴＡ１を記憶していてもよい。記憶装置３０ｄには、ハードディスクといった磁気記憶装置、フラッシュメモリーといった不揮発性半導体メモリー、等を用いることができる。ネットワークＩ／Ｆ３０ｅは、ネットワークＮＥ１に接続され、このネットワークＮＥ１に繋がっている相手装置と所定の通信規格に従って通信を行う。
【００３２】
図１に示す画像処理プログラムＰＲ１は、ＣＰＵ３０ａは、抽出部Ｕ１の例である汎用的なＯＣＲエンジン３１、及び、ＡＩを利用した文字認識部Ｕ２の例であるＤＬエンジン３２を備えている。ここで、ＡＩはArtificial Intelligenceの略称であり、ＤＬはDeep Learningの略称である。ＯＣＲエンジン３１は、画像処理プログラムＰＲ１がメインサーバー３０に実現させる抽出機能ＦＵ１でもよい。ＤＬエンジン３２は、画像処理プログラムＰＲ１がメインサーバー３０に実現させる文字認識機能ＦＵ２でもよい。
図１に示す画像処理プログラムＰＲ１は、制御機能ＦＵ３をメインサーバー３０に実現させる制御プログラム３３を含んでいる。
【００３３】
メインサーバー３０のＣＰＵ３０ａは、記憶装置３０ｄに記憶されている情報を適宜、ＲＡＭ３０ｃに読み出し、読み出したプログラムを実行することにより各種処理を行う。ＣＰＵ３０ａは、ＲＡＭ３０ｃに読み出された画像処理プログラムＰＲ１を実行することにより、上述した機能に対応する処理を行う。画像処理プログラムＰＲ１が上述した機能ＦＵ１〜ＦＵ３をコンピューターに実現させる場合、画像処理プログラムＰＲ１は、コンピューターであるメインサーバー３０を、抽出機能ＦＵ１に対応する抽出部Ｕ１、文字認識機能ＦＵ２に対応する文字認識部Ｕ２、及び、制御機能ＦＵ３に対応する制御部Ｕ３として機能させる。また、画像処理プログラムＰＲ１を実行するメインサーバー３０は、抽出工程ＳＴ１、及び、認識文字取得工程ＳＴ２を実施する。上述した機能ＦＵ１〜ＦＵ３をコンピューターに実現させる画像処理プログラムＰＲ１を記憶したコンピューター読み取り可能な媒体は、メインサーバー３０の内部の記憶装置に限定されず、メインサーバー３０の外部の記録媒体でもよい。
【００３４】
図１に示すメインサーバー３０は、ストレージサーバー４０と通信可能に接続している。ストレージサーバー４０は、ネットワークＮＥ１上でストレージ機能を提供するサーバーコンピューターであり、１台のコンピューターでもよいし、複数台のコンピューターでもよい。図示していないが、ストレージサーバー４０は、プロセッサーであるＣＰＵ、半導体メモリーであるＲＯＭ及びＲＡＭ、内部記憶装置、ストレージサーバー用ネットワークＩ／Ｆ、等を有している。ストレージサーバー４０は、メインサーバー３０から受信したデータを内部記憶装置に記憶可能であり、内部記憶装置に記憶されているデータをネットワークＮＥ１経由で送信可能である。
むろん、サーバーコンピューターがメインサーバー３０とストレージサーバー４０とに分かれていることは一例に過ぎず、メインサーバー３０がストレージサーバー４０の構成を含んでいてもよい。
【００３５】
（４）文字認識処理の具体例：
図２は、メインサーバー３０で行われる文字認識処理を模式的に例示している。この処理は、制御部Ｕ３が主体となって行う。ここで、ステップＳ１０２〜Ｓ１０４は、抽出工程ＳＴ１に対応している。ステップＳ１０６〜Ｓ１２０は、認識文字取得工程ＳＴ２に対応している。以下、「ステップ」の記載を省略する。また、抽出部Ｕ１が行うことをＯＣＲエンジン３１が行うとして記載し、文字認識部Ｕ２が行うことをＤＬエンジン３２が行うとして記載することにする。
【００３６】
ユーザーがスキャナー１０にレシートといった証憑を読み取らせると、スキャナー１０は、読み取った証憑を表す証憑画像ＩＭ１を生成し、該証憑画像ＩＭ１をクライアント２０に送信する。クライアント２０は、証憑画像ＩＭ１を受信し、ネットワークＮＥ１を介してメインサーバー３０に送信する。そこで、メインサーバー３０は、Ｓ１０２において、ネットワークＮＥ１を介して証憑画像ＩＭ１を受信する。証憑画像ＩＭ１の例は、図９に示されている。
【００３７】
証憑画像ＩＭ１を取得したメインサーバー３０は、Ｓ１０４において、証憑画像ＩＭ１を対象とした第一の文字認識処理を汎用的なＯＣＲエンジン３１に実行させる。ＯＣＲエンジン３１は、図９に例示するように、証憑画像ＩＭ１に対して第一の文字認識を行うことにより証憑画像ＩＭ１から暫定文字領域Ａ１を含む複数の認識文字領域Ａ５を抽出する。認識文字領域Ａ５は認識された文字を含む範囲を表す領域であり、暫定文字領域Ａ１は複数の文字を含む領域である。
【００３８】
ＯＣＲエンジン３１は、証憑画像ＩＭ１のレイアウトを解析し、解析結果に基づいて行を切り出し、切り出された各行に含まれている１文字らしき画像について、当該１文字らしき画像を囲む認識文字領域Ａ５を設定する。ここで、２文字以上らしき画像について１文字単位に分けることができない場合、ＯＣＲエンジン３１は、当該２文字以上らしき画像を囲む認識文字領域Ａ５を設定する。図９では、説明の都合上、証憑画像ＩＭ１のうち「年０４月」が印字された領域に複数の認識文字領域Ａ５が設定された状態が示されているが、他の領域にも複数の認識文字領域Ａ５が設定される。図９では、「０４」が印字された領域に２文字を含む認識文字領域Ａ５が設定されていることが示されている。次に、ＯＣＲエンジン３１は、各認識文字領域Ａ５の画像から認識文字領域Ａ５内の文字を所定のアルゴリズムに従って推測する。認識文字領域Ａ５に複数の文字が含まれていると判断された場合、当該認識文字領域Ａ５内の複数の文字は推測されなくてもよい。
【００３９】
ＯＣＲエンジン３１は、認識された文字を出力するとともに、認識文字領域Ａ５の開始座標、認識文字領域Ａ５の幅、認識文字領域Ａ５の高さ、認識文字領域Ａ５の文字数、等の情報も出力する。２文字以上の暫定文字領域Ａ１が複数の認識文字領域Ａ５に含まれることにより、ＯＣＲエンジン３１は、複数の文字を含む暫定文字領域Ａ１を証憑画像ＩＭ１から抽出することになる。
【００４０】
第一の文字認識の後、メインサーバー３０は、Ｓ１０６において、ＯＣＲエンジン３１による第一の文字認識の結果、例えば、認識された文字、認識文字領域Ａ５の開始座標、認識文字領域Ａ５の幅、認識文字領域Ａ５の高さ、認識文字領域Ａ５の文字数、等の情報を取得する。
【００４１】
その後、メインサーバー３０は、Ｓ１０８において、複数の文字を含む暫定文字領域Ａ１が複数の暫定文字領域Ａ１に有るか否かに応じて処理を分岐させる。メインサーバー３０は、暫定文字領域Ａ１が有る場合にＳ１１０〜Ｓ１１８の処理を行ってから処理をＳ１２０に進め、暫定文字領域Ａ１が無い場合にＳ１１０〜Ｓ１１８の処理を行わずに処理をＳ１２０に進める。
【００４２】
以下、暫定文字領域Ａ１が有る場合のＳ１１０〜Ｓ１１８の処理を説明する。複数の認識文字領域Ａ５に複数の暫定文字領域Ａ１が含まれる場合、暫定文字領域Ａ１毎にＳ１１０〜Ｓ１１８の処理が行われる。
Ｓ１１０において、メインサーバー３０は、図３に例示するように、暫定文字領域Ａ１を区画する候補位置Ｐ１を設定する。候補位置Ｐ１は、例えば、暫定文字領域Ａ１に対して幅方向Ｄ１、例えば、右方向へ順に設定される。Ｓ１１０の処理が繰り返し行われることにより、複数の候補位置Ｐ１が設定される。
【００４３】
図３は、２文字を含む暫定文字領域Ａ１を区画する区画位置Ｐ２を決定する様子を模式的に例示している。暫定文字領域Ａ１を区画する複数の候補位置Ｐ１は、例えば、暫定文字領域Ａ１の幅方向Ｄ１における画素の単位で設定することができる。図３に示す暫定文字領域Ａ１１〜Ａ１３は、候補位置Ｐ１が異なるものの暫定文字領域Ａ１と同じである。図３では、暫定文字領域Ａ１１における候補位置Ｐ１が暫定文字領域Ａ１２における候補位置Ｐ１よりも左にあることが示され、暫定文字領域Ａ１３における候補位置Ｐ１が暫定文字領域Ａ１２における候補位置Ｐ１よりも右にあることが示されている。候補位置Ｐ１により暫定文字領域Ａ１から区画された２つの区画領域候補Ａ１０は、暫定文字領域Ａ１１の場合に右側よりも左側の方が小さく、暫定文字領域Ａ１３の場合に左側よりも右側の方が小さい。
【００４４】
候補位置Ｐ１の設定後、メインサーバー３０は、Ｓ１１２において、候補位置Ｐ１により暫定文字領域Ａ１から区画された各区画領域候補Ａ１０を設定領域Ａ３とした第二の文字認識をＤＬエンジン３２に実行させ、認識された文字の確からしさを示す確信度Ｃを出力させる。ＤＬエンジン３２は、設定領域Ａ３に対して文字を認識する第二の文字認識処理、及び、該認識された文字の確からしさを示す確信度Ｃを出力する処理を実行する。第二の文字認識処理は、図３に示すように、候補位置Ｐ１により暫定文字領域Ａ１から区画された各区画領域候補Ａ１０に対して行われる。確信度Ｃは、各区画領域候補Ａ１０に対して出力される。例えば、図３に示す暫定文字領域Ａ１１では、左側の区画領域候補Ａ１０にＣ＝０．２の確信度が出力され、右側の区画領域候補Ａ１０にＣ＝０．６の確信度が出力されている。暫定文字領域Ａ１２では、左側の区画領域候補Ａ１０にＣ＝１．０の確信度が出力され、右側の区画領域候補Ａ１０にＣ＝０．９の確信度が出力されている。
【００４５】
ＤＬエンジン３２も、文字認識処理を実行するためのＯＣＲエンジンの一種である。しかし、ＤＬエンジン３２は、機械学習の例であるDeep Learningにより生成された文字認識モデルを含み、ＯＣＲエンジン３１により行われる第一の文字認識よりも精度が高い第二の文字認識を行う。ＤＬエンジン３２は、ニューラルネットワークといった公知の機械学習アルゴリズムを利用することにより生成することができる。教師あり機械学習のための教師データには、証憑の文字を表す多量の学習用画像を入力とした入力データ、及び、これら各学習用画像に含まれる文字を出力とした出力データを用いることができる。例えば、入力データと出力データとの関係が教師データとして多層構造のニューラルネットワークに入力されると、ＤＬエンジン３２は、多量の学習用画像の特徴を自動的に学習し、証憑を表す画像に含まれる文字を認識し該文字の確からしさを推定する文字認識モデルを構築する。認識された文字の確からしさを示す確信度Ｃは、例えば、入力画像と同じ学習用画像が複数ある場合に当該複数の学習用画像の中で認識文字と一致する文字を含む学習用画像の割合に対応し、入力画像に含まれる文字に認識文字が一致する確率を意味する。
以上より、ＤＬエンジン３２は、証憑を表す画像に含まれる文字を認識し該文字の確からしさを推定するための機械学習により生成された文字認識モデルを含んでいる。ＤＬエンジン３２は、文字認識モデルを用いて設定領域Ａ３に対して文字を認識し、該認識された文字の確からしさを示す確信度Ｃを文字認識モデルから取得する。
【００４６】
ここで、証憑に現れる文字は、「０」〜「９」の数字、「￥」や「円」といった金額を表す文字、「月」や「日」といった日時を表す漢字、等、種類が限定されている。従って、ＤＬエンジン３２は、ＯＣＲエンジン３１よりも高い精度で文字を認識することが可能である。
【００４７】
Ｓ１１２の後、メインサーバー３０は、Ｓ１１４において、全ての候補位置Ｐ１が設定されたか否かに応じて処理を分岐させる。メインサーバー３０は、全ての候補位置Ｐ１が設定された場合に処理をＳ１１６に進め、設定可能な候補位置Ｐ１が残っている場合にＳ１１０〜Ｓ１１４の処理を繰り返す。
【００４８】
Ｓ１１６において、メインサーバー３０は、候補位置Ｐ１毎に、各区画領域候補Ａ１０を対象として出力された確信度Ｃの和ΣＣを求め、和ΣＣが最大である候補位置Ｐ１を区画位置Ｐ２として決定する。候補位置Ｐ１毎の和ΣＣは、各区画領域候補Ａ１０に対応する確信度Ｃを合計した値である。例えば、図３では、暫定文字領域Ａ１１における確信度Ｃの和ΣＣが０．８であり、暫定文字領域Ａ１２における確信度Ｃの和ΣＣが最大の１．９であり、暫定文字領域Ａ１３における確信度Ｃの和ΣＣが０．８である。この場合、図３の下部に示すように、暫定文字領域Ａ１２における候補位置Ｐ１が区画位置Ｐ２として決定される。
【００４９】
暫定文字領域Ａ１には、図４に例示するように、３文字以上が含まれる可能性がある。図４は、３文字を含む暫定文字領域Ａ１を区画する２箇所の区画位置Ｐ２を決定する様子を模式的に例示している。図４では、２箇所の候補位置Ｐ１が候補位置Ｐ１１，Ｐ１２と示されている。候補位置Ｐ１１，Ｐ１２は、例えば、以下のようにして設定することができる。
【００５０】
まず、メインサーバー３０は、暫定文字領域Ａ１を左側の１文字領域と右側の２文字領域とに区画する左候補位置Ｐ１１を設定することにする。左候補位置Ｐ１１は、例えば、暫定文字領域Ａ１に対して幅方向Ｄ１、例えば、右方向へ順に設定される。次に、メインサーバー３０は、左候補位置Ｐ１１から右側の２文字領域を１文字領域ずつ区画する右候補位置Ｐ１２を設定することにする。右候補位置Ｐ１２は、例えば、暫定文字領域Ａ１に対して幅方向Ｄ１、例えば、右方向へ順に設定される。
【００５１】
メインサーバー３０は、Ｓ１１２において、候補位置Ｐ１１，Ｐ１２により暫定文字領域Ａ１から区画された３つの区画領域候補Ａ１０をそれぞれ設定領域Ａ３とした第二の文字認識をＤＬエンジン３２に実行させ、確信度Ｃを出力させることになる。Ｓ１１６において、メインサーバー３０は、３つの区画領域候補Ａ１０を対象として出力された確信度Ｃの和ΣＣが最大である候補位置Ｐ１１，Ｐ１２を２箇所の区画位置Ｐ２として決定することになる。図４の下部には、確信度Ｃの和ΣＣが最大の２．９である２箇所の区画位置Ｐ２が決定されたことが示されている。
むろん、暫定文字領域Ａ１に４文字以上が含まれる場合も、類似する方法により複数の区画位置Ｐ２を決定することができる。
【００５２】
また、図５に例示する方法により暫定文字領域Ａ１を区画することも可能である。図５は、３文字を含む暫定文字領域Ａ１を区画する２箇所の区画位置Ｐ２を決定する別の例を模式的に示している。図５に示す候補位置Ｐ１１，Ｐ１２は、例えば、以下のようにして設定することができる。
【００５３】
まず、メインサーバー３０は、暫定文字領域Ａ１を左側の１文字領域と右側の２文字領域とに区画する左候補位置Ｐ１１を設定することにする。左候補位置Ｐ１１は、例えば、暫定文字領域Ａ１に対して幅方向Ｄ１、例えば、右方向へ順に設定される。次に、メインサーバー３０は、左候補位置Ｐ１１により暫定文字領域Ａ１から区画された２つの区画領域候補Ａ１０のそれぞれを設定領域Ａ３とした第二の文字認識をＤＬエンジン３２に実行させ、確信度Ｃを出力させる。図５の左上には、幅方向Ｄ１における左候補位置Ｐ１１の位置に対する確信度Ｃの和ΣＣをグラフＧ１により例示している。暫定文字領域Ａ１に３文字含まれる場合、左候補位置Ｐ１１の位置に対する和ΣＣには、通常、２箇所のピークＰ１１ａ，Ｐ１１ｂが現れる。そこで、メインサーバー３０は、グラフＧ１から２箇所のピークＰ１１ａ，Ｐ１１ｂを特定し、先に表されたピークＰ１１ａの位置を左側の区画位置Ｐ２に決定すればよい。
【００５４】
その後、メインサーバー３０は、左側の区画位置Ｐ２から右側の２文字領域を１文字領域ずつ区画する右候補位置Ｐ１２を設定することにする。右候補位置Ｐ１２は、例えば、暫定文字領域Ａ１に対して幅方向Ｄ１、例えば、右方向へ順に設定される。次に、メインサーバー３０は、右候補位置Ｐ１２により右側の２文字領域から区画された２つの区画領域候補Ａ１０のそれぞれを設定領域Ａ３とした第二の文字認識をＤＬエンジン３２に実行させ、確信度Ｃを出力させる。上述したグラフＧ１の下には、幅方向Ｄ１における右候補位置Ｐ１２の位置に対する確信度Ｃの和ΣＣをグラフＧ２により例示している。メインサーバー３０は、確信度Ｃの和ΣＣが最大となる位置を右側の区画位置Ｐ２に決定すればよい。
尚、簡易な方法として、グラフＧ１に現れた後のピークＰ１１ｂの位置を右側の区画位置Ｐ２に決定することも可能である。
【００５５】
以上説明したようにして、メインサーバー３０は、確信度Ｃに基づいて暫定文字領域Ａ１の１以上の区画位置Ｐ２を決定する。
【００５６】
ここで、決定された区画位置Ｐ２により暫定文字領域Ａ１から区画された各区画領域Ａ２に対して、既に、ＤＬエンジン３２により文字が認識されている。そこで、メインサーバー３０は、Ｓ１１８において、各区画領域Ａ２に対して認識された複数の文字を認識結果として採用する。その後、メインサーバー３０は、処理をＳ１２０に進める。
【００５７】
Ｓ１２０において、メインサーバー３０は、各区画領域Ａ２の認識文字、及び、暫定文字領域Ａ１を除く各認識文字領域Ａ５の認識文字を少なくとも証憑画像ＩＭ１とともにストレージサーバー４０に保存させる。メインサーバー３０は、各領域Ａ２，Ａ５の認識文字、及び、証憑画像ＩＭ１と合わせて、各区画領域Ａ２の確信度Ｃ、各領域Ａ２，Ａ５の開始座標、各領域Ａ２，Ａ５の幅、各領域Ａ２，Ａ５の高さ、等の情報もストレージサーバー４０に保存してもよい。ここで、証憑画像ＩＭ１に含まれる複数の認識文字を認識文字データと呼ぶことにする。例えば、メインサーバー３０を操作するオペレーターは、ストレージサーバー４０に保存されている認識文字データ等の情報を表示装置に表示させると、認識文字データが正しいか否かを確認することができる。この場合、オペレーターは、認識文字データに含まれる認識文字を修正する操作をメインサーバー３０に対して行ってもよい。
Ｓ１２０の保存処理の後、メインサーバー３０は、図２で示した文字認識処理を終了させる。
【００５８】
ストレージサーバー４０は、ネットワークＮＥ１を介して認識文字データ等の情報を外部へ送信可能である。ストレージサーバー４０に保存された認識文字データは、レシートや請求書といった証憑に記載された取引相手、取引日、取引金額、等の内容を示す文字列を含んでいる。そこで、ストレージサーバー４０は、会計処理、税務上の処理、等の処理のために、会計事務所で使用される端末に認識文字データ等の情報を送信してもよい。また、ストレージサーバー４０に保存されている認識文字データ等の情報は、ユーザーの求めに応じてクライアント２０に送信されてもよいし、ネットワークＮＥ１に接続されたプリンターに送信されたうえで該プリンターにより印刷されてもよい。
【００５９】
以上説明したように、複数の文字を含む暫定文字領域Ａ１を区画する位置を変えることによりＤＬエンジン３２から得られる確信度Ｃに基づいて暫定文字領域Ａ１が区画位置Ｐ２で区画され、各区画領域Ａ２を対象としてＤＬエンジン３２により認識された複数の文字が認識結果となる。これにより、印字された証憑において、文字にかすれがあったり複数の文字がくっついていたりすることによりＯＣＲが証憑画像から複数の文字を含む領域しか抽出することができなくても、該領域が正しい位置で区画され、各区画領域の文字が高精度で認識される。従って、本具体例は、証憑画像に対する文字認識を高精度で行うことができる。
【００６０】
（５）変形例：
本発明は、種々の変形例が考えられる。
上述した具体例ではメインサーバー３０が画像処理プログラムＰＲ１を実行したが、画像処理プログラムＰＲ１は、クライアント２０とスキャナー１０の少なくとも一方で実行されてもよい。例えば、記憶装置２０ｄに記憶されている画像処理プログラムＰＲ１をクライアント２０が実行する場合、上述した機能ＦＵ１〜ＦＵ３がクライアント２０に実現され、該クライアント２０が画像処理装置の例となる。また、メインサーバー３０とクライアント２０とが協働して画像処理プログラムＰＲ１を実行することも可能である。例えば、メインサーバー３０がＯＣＲエンジン３１とＤＬエンジン３２を実行しクライアント２０が制御プログラム３３を実行することが考えられる。また、メインサーバー３０がＤＬエンジン３２を実行しクライアント２０がＯＣＲエンジン３１と制御プログラム３３を実行してもよい。
【００６１】
第一の文字認識よりも精度が高い第二の文字認識は、Deep Learningにより生成された文字認識モデルを含むＤＬエンジンにより実現される以外にも、Deep Learning以外の機械学習の手法により作成されたプログラムにより実現されてもよい。
【００６２】
また、証憑には、合計、料金、金額、等、決まった１文字以上の文字が頻出し、当該１文字以上の文字を基準として決まった領域に数字等の決まった文字が使用されることが多い。そこで、前述の１文字以上の文字を証憑において特徴的な特定文字として、該特定文字に関連付けられた領域に対して本技術に含まれる文字認識が行われてもよい。
【００６３】
図６は、特定文字を含む特定文字テーブルＴＡ１の構造を模式的に例示している。特定文字テーブルＴＡ１は、特定文字ＫＷと、ＤＬエンジン３２による処理の対象とする対象領域Ａ４の位置と、が関連付けられた関連情報である。図６に示す特定文字テーブルＴＡ１は、対象領域Ａ４において認識すべき文字の種類も有している。図１に示す例では、特定文字テーブルＴＡ１がメインサーバー３０の記憶装置３０ｄに記憶されていることが示されている。特定文字テーブルＴＡ１を記憶している記憶装置３０ｄは、記憶部の例である。
【００６４】
特定文字とは、証憑に記載された情報の中で特に正確に検出することが求められる特定項目の情報の存在を示唆する１文字以上の文字を意味する。特定項目の情報は、例えば、証憑の発行元の電話番号、証憑の発行日、取引日時、取引金額、等の内容である。また、証憑が有料駐車場で発行されたレシートである場合、取引日時、例えば、入庫日時及び出庫日時の内容も特定項目の情報に該当する。図６に示す特定文字テーブルＴＡ１には、電話番号の存在を示唆する特定文字ＫＷとして「電話」と「ＴＥＬ」が登録され、取引金額の存在を示唆する特定文字ＫＷとして「合計」、「料金」、「金額」、及び、「計」が登録され、入庫日時又は出庫日時の存在を示唆する特定文字ＫＷとして「日時」、「出」、「入」、「庫」、「出庫」、及び、「入庫」が登録されている。
【００６５】
ここで、図８に例示するように、証憑画像ＩＭ１において特定文字ＫＷを囲む領域を特定文字領域Ａ６と呼ぶことにする。例えば、レシートには、「電話」又は「ＴＥＬ」が記載された特定文字領域Ａ６と同一行内の右側に電話番号が記載されていることが多く、「合計」、「料金」、「金額」又は「計」が記載された特定文字領域Ａ６と同一行内の右側または次行内の右側に合計金額が記載されていることが多い。そこで、「特定文字と同一行内の右側」、「特定文字と同一行内及び次行内の右側」、等をＤＬエンジン３２による処理の対象領域Ａ４として、特定文字領域Ａ６を基準とした対象領域Ａ４の位置が特定文字ＫＷに対応付けられて特定文字テーブルＴＡ１に格納されている。すなわち、特定文字テーブルＴＡ１には、特定文字領域Ａ６と対象領域Ａ４との位置関係が規定されている。
【００６６】
特定文字ＫＷを基準とした対象領域Ａ４の位置は、図６に示す例に限定されない。例えば、証憑が請求書、又は、宛名の有る領収書の場合、宛名に対して次行の左側といった特定の位置に合計金額の数値が配置されていることが多い。この場合、特定文字ＫＷは「様」等といった、氏名の敬称を表す１文字以上の文字でもよく、対象領域Ａ４の位置は「特定文字の次行の左側」でもよい。また、特定文字ＫＷを基準とした対象領域Ａ４の位置は、行を用いた位置に限定されず、特定文字から上、特定文字から下、特定文字から左、特定文字から右、等でもよい。
【００６７】
対象領域Ａ４に現れる文字は、「０」〜「９」の数字、「￥」や「円」といった金額を表す文字、「月」や「日」といった日時を表す漢字、等、種類が限定されている。そこで、特定文字テーブルＴＡ１は、対象領域Ａ４に現れる文字の種類を有している。図６に示す特定文字テーブルＴＡ１には、特定文字「電話」等に対応付けられた文字種類として「０」〜「９」及び「−」が格納され、特定文字「合計」等に対応付けられた文字種類として「０」〜「９」、「￥」、及び、「円」が格納され、特定文字「日時」等に対応付けられた文字種類として「０」〜「９」、「年」、「月」、「日」、「時」、及び、「分」が格納されている。
【００６８】
図７は、メインサーバー３０で行われる別の文字認識処理を模式的に例示している。この処理は、制御部Ｕ３が主体となって行う。ここで、Ｓ２０２〜Ｓ２０４は抽出工程ＳＴ１に対応し、Ｓ２０６〜Ｓ２１０，Ｓ１１０〜Ｓ１１８，Ｓ２１２〜Ｓ２１４は認識文字取得工程ＳＴ２に対応している。図８は、特定文字ＫＷに対応する対象領域Ａ４において複数の文字を含む領域を暫定文字領域Ａ１として処理を行うことを模式的に説明するための図である。証憑画像ＩＭ１は、図８に示すように有料駐車場で発行されたレシートの読取画像であるものとする。
【００６９】
まず、メインサーバー３０は、Ｓ２０２において、ネットワークＮＥ１を介してクライアント２０から証憑画像ＩＭ１を受信する。Ｓ２０４において、メインサーバー３０は、証憑画像ＩＭ１を対象とした第一の文字認識処理をＯＣＲエンジン３１に実行させる。ＯＣＲエンジン３１は、証憑画像ＩＭ１に対して第一の文字認識を行うことにより証憑画像ＩＭ１から暫定文字領域Ａ１を含む複数の認識文字領域Ａ５を抽出する。ここでの暫定文字領域Ａ１は、後のＳ２０８の処理において特定される対象領域Ａ４に含まれる領域である。図８では、説明の都合上、証憑画像ＩＭ１のうち一部領域ＩＭｐに複数の認識文字領域Ａ５が設定された状態が示されているが、他の領域にも複数の認識文字領域Ａ５が設定される。図８において、文字列ＩＭｐ´は、汎用的なＯＣＲエンジン３１により一部領域ＩＭｐに対して第一の文字認識が行われた結果を示している。ＯＣＲエンジン３１は多くの種類の文字を認識可能であるが、そのために文字認識が正確でないことがある。また、複数の文字を含む暫定文字領域Ａ１が複数の認識文字領域Ａ５に含まれることがある。
【００７０】
第一の文字認識の後、メインサーバー３０は、Ｓ２０６において、図６に示す特定文字テーブルＴＡ１に格納されている特定文字ＫＷを含む特定文字領域Ａ６を複数の認識文字領域Ａ５から特定する。Ｓ２０６の処理は、特定文字ＫＷを抽出する処理ともいえる。図８に示す文字列ＩＭｐ´からは、「庫」、「日時」、「出庫」、及び、「日時」という特定文字ＫＷを含む特定文字領域Ａ６が特定される。
【００７１】
特定文字領域Ａ６の特定後、メインサーバー３０は、Ｓ２０８において、図６に示す特定文字テーブルＴＡ１に基づいて特定文字領域Ａ６に対応する前記対象領域Ａ４を特定する。例えば、図８に示す特定文字ＫＷは、図６に示す特定文字テーブルＴＡ１において「特定文字と同一行内の右側」という対象領域Ａ４に対応付けられている。そこで、メインサーバー３０は、「特定文字と同一行内の右側」を対象領域Ａ４として特定すればよい。
【００７２】
対象領域Ａ４の特定後、メインサーバー３０は、Ｓ２１０において、複数の文字を含む暫定文字領域Ａ１が対象領域Ａ４中に有るか否かに応じて処理を分岐させる。メインサーバー３０は、暫定文字領域Ａ１が対象領域Ａ４中に有る場合に図２で示したＳ１１０〜Ｓ１１８の処理を行った後に処理をＳ２１２に進め、暫定文字領域Ａ１が対象領域Ａ４中に場合にＳ１１０〜Ｓ１１８の処理を行わずに処理をＳ２１２に進める。
【００７３】
図２で示したＳ１１０〜Ｓ１１８において、メインサーバー３０は、暫定文字領域Ａ１を区画する複数の候補位置Ｐ１を設定し、各候補位置Ｐ１により暫定文字領域Ａ１から区画された各区画領域候補Ａ１０を対象としてＤＬエンジン３２により第二の文字認識を行い、得られた確信度Ｃに基づいて暫定文字領域Ａ１の区画位置Ｐ２を決定し、該区画位置Ｐ２により暫定文字領域Ａ１から区画された各区画領域Ａ２に対して認識した複数の文字を認識結果とする。例えば、図８に示す暫定文字領域Ａ１は区画位置Ｐ２により区画されることにより、「０」と「４」が認識される。
【００７４】
Ｓ２１２において、メインサーバー３０は、暫定文字領域Ａ１を除いて各認識文字領域Ａ５を対象としてＤＬエンジン３２により第二の文字認識を行い、得られた認識文字を認識結果とする。
以上のようにして、メインサーバー３０は、対象領域Ａ４において複数の文字を含む領域を暫定文字領域Ａ１として処理を行う。
【００７５】
Ｓ２１４において、メインサーバー３０は、各区画領域Ａ２の認識文字、及び、暫定文字領域Ａ１を除く各認識文字領域Ａ５の認識文字を少なくとも証憑画像ＩＭ１とともにストレージサーバー４０に保存させる。Ｓ２１４の保存処理の後、メインサーバー３０は、図７で示した文字認識処理を終了させる。
図６〜８で示した例も、証憑画像に対する文字認識の精度を向上させる好適な例を提供することができる。
【００７６】
（６）結び：
以上説明したように、本発明によると、種々の態様により、証憑画像に対する文字認識の精度を向上させる技術等を提供することができる。むろん、独立請求項に係る構成要件のみからなる技術でも、上述した基本的な作用、効果が得られる。
また、上述した例の中で開示した各構成を相互に置換したり組み合わせを変更したりした構成、公知技術及び上述した例の中で開示した各構成を相互に置換したり組み合わせを変更したりした構成、等も実施可能である。本発明は、これらの構成等も含まれる。
【符号の説明】
【００７７】
１０…スキャナー、２０…クライアント、３０…メインサーバー、３０ｄ…記憶装置、３１…ＯＣＲエンジン、３２…ＤＬエンジン、３３…制御プログラム、４０…ストレージサーバー、Ａ１…暫定文字領域、Ａ２…区画領域、Ａ３…設定領域、Ａ４…対象領域、Ａ５…認識文字領域、Ａ６…特定文字領域、Ａ１０…区画領域候補、Ｃ…確信度、Ｄ１…幅方向、ＩＭ１…証憑画像、ＫＷ…特定文字、ＮＥ１…ネットワーク、Ｐ１…候補位置、Ｐ２…区画位置、ＰＲ１…画像処理プログラム、ＴＡ１…特定文字テーブル、Ｕ１…抽出部、Ｕ２…文字認識部、Ｕ３…制御部。 
【図１】
2020149199.tif 000003
【図２】
2020149199.tif 000004
【図３】
2020149199.tif 000005
【図４】
2020149199.tif 000006
【図５】
2020149199.tif 000007
【図６】
2020149199.tif 000008
【図７】
2020149199.tif 000009
【図８】
2020149199.tif 000010
【図９】
2020149199.tif 000011