(57)【要約】【課題】証憑画像に対する文字認識の精度を向上させる。【解決手段】画像処理装置は、抽出部、文字認識部、及び、制御部を備え、証憑を表す証憑画像に対して文字認識を行う。抽出部は、幅を表す幅情報を含む複数の第２文字領域を証憑画像から抽出する。文字認識部は、文字認識を行い、該文字認識により認識した文字の確からしさを示す確信度を出力する。制御部は、各第１文字領域について文字認識部に確信度を出力させ、各第１文字領域における幅情報及び確信度に基づいて文字の基準幅を決定し、第１文字領域から基準幅に基づいて幅が調整された第２文字領域を設定し、該第２文字領域への文字認識を文字認識部に行わせる。【選択図】図３
2020149200.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以外の機械学習の手法により作成されたプログラムにより実現されてもよい。
【００６９】
また、証憑には、合計、料金、金額、等、決まった１文字以上の文字が頻出し、当該１文字以上の文字を基準として決まった領域に数字等の決まった文字が使用されることが多い。そこで、前述の１文字以上の文字を証憑において特徴的な特定文字として、該特定文字に関連付けられた領域に対して本技術に含まれる文字認識が行われてもよい。
【００７０】
図５は、特定文字を含む特定文字テーブルＴＡ１の構造を模式的に例示している。特定文字テーブルＴＡ１は、特定文字ＫＷと、ＤＬエンジン３２による処理の対象とする対象領域Ａ４の位置と、が関連付けられた関連情報である。図５に示す特定文字テーブルＴＡ１は、対象領域Ａ４において認識すべき文字の種類も有している。図１に示す例では、特定文字テーブルＴＡ１がメインサーバー３０の記憶装置３０ｄに記憶されていることが示されている。特定文字テーブルＴＡ１を記憶している記憶装置３０ｄは、記憶部の例である。
【００７１】
特定文字とは、証憑に記載された情報の中で特に正確に検出することが求められる特定項目の情報の存在を示唆する１文字以上の文字を意味する。特定項目の情報は、例えば、証憑の発行元の電話番号、証憑の発行日、取引日時、取引金額、等の内容である。また、証憑が有料駐車場で発行されたレシートである場合、取引日時、例えば、入庫日時及び出庫日時の内容も特定項目の情報に該当する。図５に示す特定文字テーブルＴＡ１には、電話番号の存在を示唆する特定文字ＫＷとして「電話」と「ＴＥＬ」が登録され、取引金額の存在を示唆する特定文字ＫＷとして「合計」、「料金」、「金額」、及び、「計」が登録され、入庫日時又は出庫日時の存在を示唆する特定文字ＫＷとして「日時」、「出」、「入」、「庫」、「出庫」、及び、「入庫」が登録されている。
【００７２】
ここで、図７に例示するように、証憑画像ＩＭ１において特定文字ＫＷを囲む領域を特定文字領域Ａ６と呼ぶことにする。例えば、レシートには、「電話」又は「ＴＥＬ」が記載された特定文字領域Ａ６と同一行内の右側に電話番号が記載されていることが多く、「合計」、「料金」、「金額」又は「計」が記載された特定文字領域Ａ６と同一行内の右側または次行内の右側に合計金額が記載されていることが多い。そこで、「特定文字と同一行内の右側」、「特定文字と同一行内及び次行内の右側」、等をＤＬエンジン３２による処理の対象領域Ａ４として、特定文字領域Ａ６を基準とした対象領域Ａ４の位置が特定文字ＫＷに対応付けられて特定文字テーブルＴＡ１に格納されている。すなわち、特定文字テーブルＴＡ１には、特定文字領域Ａ６と対象領域Ａ４との位置関係が規定されている。
【００７３】
特定文字ＫＷを基準とした対象領域Ａ４の位置は、図５に示す例に限定されない。例えば、証憑が請求書、又は、宛名の有る領収書の場合、宛名に対して次行の左側といった特定の位置に合計金額の数値が配置されていることが多い。この場合、特定文字ＫＷは「様」等といった、氏名の敬称を表す１文字以上の文字でもよく、対象領域Ａ４の位置は「特定文字の次行の左側」でもよい。また、特定文字ＫＷを基準とした対象領域Ａ４の位置は、行を用いた位置に限定されず、特定文字から上、特定文字から下、特定文字から左、特定文字から右、等でもよい。
【００７４】
対象領域Ａ４に現れる文字は、「０」〜「９」の数字、「￥」や「円」といった金額を表す文字、「月」や「日」といった日時を表す漢字、等、種類が限定されている。そこで、特定文字テーブルＴＡ１は、対象領域Ａ４に現れる文字の種類を有している。図５に示す特定文字テーブルＴＡ１には、特定文字「電話」等に対応付けられた文字種類として「０」〜「９」及び「−」が格納され、特定文字「合計」等に対応付けられた文字種類として「０」〜「９」、「￥」、及び、「円」が格納され、特定文字「日時」等に対応付けられた文字種類として「０」〜「９」、「年」、「月」、「日」、「時」、及び、「分」が格納されている。
【００７５】
図６は、メインサーバー３０で行われる別の文字認識処理を模式的に例示している。この処理は、制御部Ｕ３が主体となって行う。ここで、Ｓ２０２〜Ｓ２０４は抽出工程ＳＴ１に対応し、Ｓ２０６〜Ｓ２０８，Ｓ１０６〜Ｓ１２８，Ｓ２１０は認識文字取得工程ＳＴ２に対応している。図７は、特定文字ＫＷに対応する対象領域Ａ４において複数の認識文字領域Ａ５を複数の暫定文字領域Ａ１として処理を行うことを模式的に説明するための図である。証憑画像ＩＭ１は、図７に示すように有料駐車場で発行されたレシートの読取画像であるものとする。
【００７６】
まず、メインサーバー３０は、Ｓ２０２において、ネットワークＮＥ１を介してクライアント２０から証憑画像ＩＭ１を受信する。Ｓ２０４において、メインサーバー３０は、証憑画像ＩＭ１を対象とした第一の文字認識処理をＯＣＲエンジン３１に実行させる。ＯＣＲエンジン３１は、証憑画像ＩＭ１に対して第一の文字認識を行うことにより証憑画像ＩＭ１から複数の暫定文字領域Ａ１を含む複数の認識文字領域Ａ５を抽出する。ここでの暫定文字領域Ａ１は、後のＳ２０８の処理において特定される対象領域Ａ４に含まれる領域である。図７では、説明の都合上、証憑画像ＩＭ１のうち一部領域ＩＭｐに複数の認識文字領域Ａ５が設定された状態が示されているが、他の領域にも複数の認識文字領域Ａ５が設定される。図７において、文字列ＩＭｐ´は、汎用的なＯＣＲエンジン３１により一部領域ＩＭｐに対して第一の文字認識が行われた結果を示している。ＯＣＲエンジン３１は多くの種類の文字を認識可能であるが、そのために文字認識が正確でないことがある。
【００７７】
第一の文字認識の後、メインサーバー３０は、Ｓ２０６において、図５に示す特定文字テーブルＴＡ１に格納されている特定文字ＫＷを含む特定文字領域Ａ６を複数の認識文字領域Ａ５から特定する。Ｓ２０６の処理は、特定文字ＫＷを抽出する処理ともいえる。図７に示す文字列ＩＭｐ´からは、「庫」、「日時」、「出庫」、「日時」、「料金」、「料金」、及び、「計」という特定文字ＫＷを含む特定文字領域Ａ６が特定される。
【００７８】
特定文字領域Ａ６の特定後、メインサーバー３０は、Ｓ２０８において、図５に示す特定文字テーブルＴＡ１に基づいて特定文字領域Ａ６に対応する前記対象領域Ａ４を特定する。例えば、図７において「料金」及び「計」という特定文字ＫＷは、図５に示す特定文字テーブルＴＡ１において「特定文字と同一行内及び次行内の右側」という対象領域Ａ４に対応付けられている。そこで、メインサーバー３０は、「特定文字と同一行内及び次行内の右側」を対象領域Ａ４として特定すればよい。
【００７９】
対象領域Ａ４の特定後、メインサーバー３０は、図２で示したＳ１０８〜Ｓ１２８の処理を行った後に処理をＳ２１０に進める。
【００８０】
図２で示したＳ１０８〜Ｓ１２８において、メインサーバー３０は、各暫定文字領域Ａ１を設定領域Ａ３としてＤＬエンジン３２により第二の文字認識を行い、各暫定文字領域Ａ１における幅情報ＩＷ１及び確信度Ｃに基づいて文字の基準幅Ｗ０を決定し、該基準幅Ｗ０に基づいて複数の暫定文字領域Ａ１から幅が調整された複数の文字領域Ａ２を設定し、各文字領域Ａ２を設定領域Ａ３としてＤＬエンジン３２に文字を認識させる。例えば、図７において、「０４」を囲む第一の処理対象領域Ａ１１は、基準幅Ｗ０よりも広い分割可能な領域であるので、２領域に分割されることにより「０」と「４」が認識される。また、図７において、「￥１，？？００円」に含まれる第二の処理対象領域Ａ１２は、基準幅Ｗ０よりも狭い統合可能な領域であるので、基準幅Ｗ０よりも狭い隣接領域Ａ１３と統合されることにより、「０」が認識される。
【００８１】
Ｓ２１０において、メインサーバー３０は、幅が調整された各文字領域Ａ２の認識文字、及び、元の幅の各暫定文字領域Ａ１の認識文字を少なくとも証憑画像ＩＭ１とともにストレージサーバー４０に保存させる。Ｓ２１０の保存処理の後、メインサーバー３０は、図６で示した文字認識処理を終了させる。
図５〜７で示した例も、証憑画像に対する文字認識の精度を向上させる好適な例を提供することができる。
【００８２】
（６）結び：
以上説明したように、本発明によると、種々の態様により、証憑画像に対する文字認識の精度を向上させる技術等を提供することができる。むろん、独立請求項に係る構成要件のみからなる技術でも、上述した基本的な作用、効果が得られる。
また、上述した例の中で開示した各構成を相互に置換したり組み合わせを変更したりした構成、公知技術及び上述した例の中で開示した各構成を相互に置換したり組み合わせを変更したりした構成、等も実施可能である。本発明は、これらの構成等も含まれる。
【符号の説明】
【００８３】
１０…スキャナー、２０…クライアント、３０…メインサーバー、３０ｄ…記憶装置、３１…ＯＣＲエンジン、３２…ＤＬエンジン、３３…制御プログラム、４０…ストレージサーバー、Ａ１…暫定文字領域、Ａ１Ｌ…統合不能な領域、Ａ２…文字領域、Ａ３…設定領域、Ａ４…対象領域、Ａ５…認識文字領域、Ａ６…特定文字領域、Ａ１１…第一の処理対象領域、Ａ１２…第二の処理対象領域、Ａ１３…隣接領域、Ｃ…確信度、Ｄ１…幅方向、Ｄ２…高さ方向、Ｈ０…基準高さ、ＩＨ１…高さ情報、ＩＷ１…幅情報、ＩＭ１…証憑画像、ＫＷ…特定文字、ＮＥ１…ネットワーク、ＰＲ１…画像処理プログラム、ＴＡ１…特定文字テーブル、Ｕ１…抽出部、Ｕ２…文字認識部、Ｕ３…制御部、Ｗ０…基準幅。
【図１】
2020149200.tif 000003
【図２】
2020149200.tif 000004
【図３】
2020149200.tif 000005
【図４】
2020149200.tif 000006
【図５】
2020149200.tif 000007
【図６】
2020149200.tif 000008
【図７】
2020149200.tif 000009
【図８】
2020149200.tif 000010
【図９】
2020149200.tif 000011