JP2020149199A - 画像処理装置、画像処理方法、及び、画像処理プログラム - Google Patents
画像処理装置、画像処理方法、及び、画像処理プログラム Download PDFInfo
- Publication number
- JP2020149199A JP2020149199A JP2019044716A JP2019044716A JP2020149199A JP 2020149199 A JP2020149199 A JP 2020149199A JP 2019044716 A JP2019044716 A JP 2019044716A JP 2019044716 A JP2019044716 A JP 2019044716A JP 2020149199 A JP2020149199 A JP 2020149199A
- Authority
- JP
- Japan
- Prior art keywords
- character
- area
- provisional
- recognition
- characters
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Character Discrimination (AREA)
- Character Input (AREA)
Abstract
【課題】証憑画像に対する文字認識の精度を向上させる。【解決手段】画像処理装置は、抽出部、文字認識部、及び、制御部を備え、証憑を表す証憑画像に対して文字認識を行う。抽出部は、複数の文字を含む暫定文字領域を証憑画像から抽出する。文字認識部は、文字認識を行い、認識した文字の確からしさを示す確信度を出力する。制御部は、暫定文字領域を区画するための複数の候補位置を設定し、各候補位置について、候補位置により暫定文字領域を区画領域候補に区画して区画領域候補について文字認識部に確信度を出力させ、該出力された確信度に基づいて暫定文字領域の区画位置を決定し、該決定した区画位置により暫定文字領域を区画した区画領域への文字認識部による認識結果を、証憑画像への文字認識の結果として取得する。【選択図】図3
Description
本発明は、証憑を表す証憑画像に対して文字認識を行う画像処理装置、画像処理方法、及び、画像処理プログラムに関する。
レシート、領収書、等の証憑をスキャナーで読み取った画像に含まれる複数の文字をOCRで認識することが行われている。ここで、OCRは、装置としてはOptical Character Readerの略称であり、光学式文字認識という意味ではOptical Character Recognitionの略称である。装置としてのOCRは、認識した文字に加えて、画像の中で文字の領域を表す情報等も出力する。
特許文献1には、小切手表面に印字された文字の認識を行う小切手処理装置が開示されている。この小切手処理装置は、スキャナーから出力された画像データから切り出した第1の切り出し領域について文字認識を行って第1候補を出力し、前述の画像データから切り出した第2の切り出し領域について文字認識を行って第2候補を出力する。第2の切り出し領域の大きさは、第1の切り出し領域の大きさと同じである。
OCRは、画像から複数の文字を一つの領域として切り出すことがある。上述した小切手処理装置は、切り出し領域の大きさが変わらないので、切り出された一つの領域に含まれる複数の文字を認識することができない。
本発明の画像処理装置は、証憑を表す証憑画像に対して文字認識を行う画像処理装置であって、
複数の文字を含む暫定文字領域を前記証憑画像から抽出する抽出部と、
文字認識を行い、認識した文字の確からしさを示す確信度を出力する文字認識部と、
前記文字認識部に文字認識を実行させる制御部と、を備え、
前記制御部は、
前記暫定文字領域を区画するための複数の候補位置を設定し、各前記候補位置について、前記候補位置により前記暫定文字領域を区画領域候補に区画して前記区画領域候補について前記文字認識部に前記確信度を出力させ、
前記出力された確信度に基づいて前記暫定文字領域の区画位置を決定し、
前記決定した区画位置により前記暫定文字領域を区画した区画領域への前記文字認識部による認識結果を、前記証憑画像への文字認識の結果として取得する、態様を有する。
複数の文字を含む暫定文字領域を前記証憑画像から抽出する抽出部と、
文字認識を行い、認識した文字の確からしさを示す確信度を出力する文字認識部と、
前記文字認識部に文字認識を実行させる制御部と、を備え、
前記制御部は、
前記暫定文字領域を区画するための複数の候補位置を設定し、各前記候補位置について、前記候補位置により前記暫定文字領域を区画領域候補に区画して前記区画領域候補について前記文字認識部に前記確信度を出力させ、
前記出力された確信度に基づいて前記暫定文字領域の区画位置を決定し、
前記決定した区画位置により前記暫定文字領域を区画した区画領域への前記文字認識部による認識結果を、前記証憑画像への文字認識の結果として取得する、態様を有する。
また、本発明の画像処理方法は、証憑を表す証憑画像に対して文字認識を行う画像処理方法であって、
複数の文字を含む暫定文字領域を前記証憑画像から抽出する抽出工程と、
前記暫定文字領域を区画するための複数の候補位置を設定し、各前記候補位置について、前記候補位置により前記暫定文字領域を区画領域候補に区画して前記区画領域候補について文字を認識し該文字の確からしさを示す確信度を取得し、該確信度に基づいて前記暫定文字領域の区画位置を決定し、該区画位置により前記暫定文字領域を区画した区画領域について認識した文字を認識結果とする認識文字取得工程と、を含む、態様を有する。
複数の文字を含む暫定文字領域を前記証憑画像から抽出する抽出工程と、
前記暫定文字領域を区画するための複数の候補位置を設定し、各前記候補位置について、前記候補位置により前記暫定文字領域を区画領域候補に区画して前記区画領域候補について文字を認識し該文字の確からしさを示す確信度を取得し、該確信度に基づいて前記暫定文字領域の区画位置を決定し、該区画位置により前記暫定文字領域を区画した区画領域について認識した文字を認識結果とする認識文字取得工程と、を含む、態様を有する。
さらに、本発明の画像処理プログラムは、証憑を表す証憑画像に対して文字認識を行うための画像処理プログラムであって、
複数の文字を含む暫定文字領域を前記証憑画像から抽出する抽出機能と、
文字認識を行い、認識した文字の確からしさを示す確信度を出力する文字認識機能と、
前記文字認識部に文字認識を実行させる制御機能と、をコンピューターに実現させ、
前記制御機能は、
前記暫定文字領域を区画するための複数の候補位置を設定し、各前記候補位置について、前記候補位置により前記暫定文字領域を区画領域候補に区画して前記区画領域候補について前記文字認識機能に前記確信度を出力させ、
前記出力された確信度に基づいて前記暫定文字領域の区画位置を決定し、
前記決定した区画位置により前記暫定文字領域を区画した区画領域への前記文字認識機能による認識結果を、前記証憑画像への文字認識の結果として取得する、態様を有する。
複数の文字を含む暫定文字領域を前記証憑画像から抽出する抽出機能と、
文字認識を行い、認識した文字の確からしさを示す確信度を出力する文字認識機能と、
前記文字認識部に文字認識を実行させる制御機能と、をコンピューターに実現させ、
前記制御機能は、
前記暫定文字領域を区画するための複数の候補位置を設定し、各前記候補位置について、前記候補位置により前記暫定文字領域を区画領域候補に区画して前記区画領域候補について前記文字認識機能に前記確信度を出力させ、
前記出力された確信度に基づいて前記暫定文字領域の区画位置を決定し、
前記決定した区画位置により前記暫定文字領域を区画した区画領域への前記文字認識機能による認識結果を、前記証憑画像への文字認識の結果として取得する、態様を有する。
以下、本発明の実施形態を説明する。むろん、以下の実施形態は本発明を例示するものに過ぎず、実施形態に示す特徴の全てが発明の解決手段に必須になるとは限らない。
(1)本発明に含まれる技術の概要:
まず、図1〜9に示される例を参照して本発明に含まれる技術の概要を説明する。尚、本願の図は模式的に例を示す図であり、これらの図に示される各方向の拡大率は異なることがあり、各図は整合していないことがある。むろん、本技術の各要素は、符号で示される具体例に限定されない。「本発明に含まれる技術の概要」において、括弧内は直前の語の補足説明を意味する。
まず、図1〜9に示される例を参照して本発明に含まれる技術の概要を説明する。尚、本願の図は模式的に例を示す図であり、これらの図に示される各方向の拡大率は異なることがあり、各図は整合していないことがある。むろん、本技術の各要素は、符号で示される具体例に限定されない。「本発明に含まれる技術の概要」において、括弧内は直前の語の補足説明を意味する。
態様1:
図1等に例示するように、本技術の一態様に係る画像処理装置(例えばメインサーバー30)は、証憑を表す証憑画像IM1に対して文字認識を行う画像処理装置(30)であって、抽出部U1、文字認識部U2、及び、制御部U3を備える。前記抽出部U1は、図9に例示するように、複数の文字を含む暫定文字領域A1を前記証憑画像IM1から抽出する。前記文字認識部U2は、図3等に例示するように、文字認識を行い、認識した文字の確からしさを示す確信度Cを出力する。前記制御部U3は、前記文字認識部U2に文字認識を実行させる。前記制御部U3は、図3等に例示するように、前記暫定文字領域A1を区画するための複数の候補位置P1を設定し、各前記候補位置P1について、前記候補位置P1により前記暫定文字領域A1を区画領域候補A10に区画して前記区画領域候補A10について前記文字認識部U2に前記確信度Cを出力させ、該出力された確信度Cに基づいて前記暫定文字領域A1の区画位置P2を決定し、該決定した区画位置P2により前記暫定文字領域A1を区画した区画領域A2への前記文字認識部U2による認識結果を、前記証憑画像IM1への文字認識の結果として取得とする。
図1等に例示するように、本技術の一態様に係る画像処理装置(例えばメインサーバー30)は、証憑を表す証憑画像IM1に対して文字認識を行う画像処理装置(30)であって、抽出部U1、文字認識部U2、及び、制御部U3を備える。前記抽出部U1は、図9に例示するように、複数の文字を含む暫定文字領域A1を前記証憑画像IM1から抽出する。前記文字認識部U2は、図3等に例示するように、文字認識を行い、認識した文字の確からしさを示す確信度Cを出力する。前記制御部U3は、前記文字認識部U2に文字認識を実行させる。前記制御部U3は、図3等に例示するように、前記暫定文字領域A1を区画するための複数の候補位置P1を設定し、各前記候補位置P1について、前記候補位置P1により前記暫定文字領域A1を区画領域候補A10に区画して前記区画領域候補A10について前記文字認識部U2に前記確信度Cを出力させ、該出力された確信度Cに基づいて前記暫定文字領域A1の区画位置P2を決定し、該決定した区画位置P2により前記暫定文字領域A1を区画した区画領域A2への前記文字認識部U2による認識結果を、前記証憑画像IM1への文字認識の結果として取得とする。
上述した態様1では、暫定文字領域A1を区画する位置を変えることにより得られる確信度Cに基づいて暫定文字領域A1が区画位置P2で区画され、区画領域A2を対象として認識された文字が認識結果となる。従って、本態様は、証憑画像に対する文字認識の精度を向上させることができる。
ここで、証憑は、外部の第三者から入手された会計資料を意味し、レシート、領収書、請求書、納品書、等を含む。
制御部は、最終的な各区画領域に対応する区画領域候補に対して認識された複数の文字をそのまま認識結果に採用してもよい。むろん、制御部は、区画位置の決定後に、各区画領域を設定領域として文字認識部に認識させた複数の文字を認識結果に採用してもよい。
尚、上述した付言は、以下の態様においても適用される。
制御部は、最終的な各区画領域に対応する区画領域候補に対して認識された複数の文字をそのまま認識結果に採用してもよい。むろん、制御部は、区画位置の決定後に、各区画領域を設定領域として文字認識部に認識させた複数の文字を認識結果に採用してもよい。
尚、上述した付言は、以下の態様においても適用される。
態様2:
前記文字認識部U2は、証憑を表す画像に含まれる文字を認識し該文字の確からしさを推定するための機械学習により生成された文字認識モデル(例えば図1に示すDLエンジン32)を用いて設定領域A3に対して文字を認識してもよく、該認識された文字の確からしさを示す前記確信度Cを前記文字認識モデル(32)から取得してもよい。本態様は、証憑画像に対する文字認識の精度を向上させる好適な例を提供することができる。
前記文字認識部U2は、証憑を表す画像に含まれる文字を認識し該文字の確からしさを推定するための機械学習により生成された文字認識モデル(例えば図1に示すDLエンジン32)を用いて設定領域A3に対して文字を認識してもよく、該認識された文字の確からしさを示す前記確信度Cを前記文字認識モデル(32)から取得してもよい。本態様は、証憑画像に対する文字認識の精度を向上させる好適な例を提供することができる。
態様3:
前記抽出部U1は、図2等に例示するように、前記証憑画像IM1に対して第一の文字認識を行うことにより前記証憑画像IM1から前記暫定文字領域A1を抽出してもよい。前記文字認識部U2は、前記第一の文字認識よりも精度が高い第二の文字認識を設定領域A3に対して行ってもよい。本態様も、証憑画像に対する文字認識の精度を向上させる好適な例を提供することができる。
前記抽出部U1は、図2等に例示するように、前記証憑画像IM1に対して第一の文字認識を行うことにより前記証憑画像IM1から前記暫定文字領域A1を抽出してもよい。前記文字認識部U2は、前記第一の文字認識よりも精度が高い第二の文字認識を設定領域A3に対して行ってもよい。本態様も、証憑画像に対する文字認識の精度を向上させる好適な例を提供することができる。
態様4:
本画像処理装置(30)は、図1,6に例示するように、特定文字KWと、前記文字認識部U2による処理の対象とする対象領域A4の位置と、が関連付けられた関連情報(例えば特定文字テーブルTA1)を記憶している記憶部(例えば記憶装置30d)をさらに備えていてもよい。前記抽出部U1は、図7に例示するように、前記証憑画像IM1に対して第一の文字認識を行うことにより前記証憑画像IM1から前記暫定文字領域A1を含む複数の認識文字領域A5を抽出してもよい。前記文字認識部U2は、前記第一の文字認識よりも精度が高い第二の文字認識を設定領域A3に対して行ってもよい。前記制御部U3は、図7,8に例示するように、前記複数の認識文字領域A5から前記特定文字KWを含む特定文字領域A6を特定してもよく、前記関連情報(TA1)に基づいて前記特定文字領域A6に対応する前記対象領域A4を特定してもよく、該対象領域A4において複数の文字を含む領域を前記暫定文字領域A1として処理を行ってもよい。
証憑には、頻出する文字があり、当該頻出文字を基準として決まった領域に数字等の決まった文字が使用されることが多い。そこで、前述の頻出文字を証憑において特徴的な特定文字として、該特定文字に位置が関連付けられた対象領域に本技術を適用することにより、証憑画像に対する文字認識が向上する。
本画像処理装置(30)は、図1,6に例示するように、特定文字KWと、前記文字認識部U2による処理の対象とする対象領域A4の位置と、が関連付けられた関連情報(例えば特定文字テーブルTA1)を記憶している記憶部(例えば記憶装置30d)をさらに備えていてもよい。前記抽出部U1は、図7に例示するように、前記証憑画像IM1に対して第一の文字認識を行うことにより前記証憑画像IM1から前記暫定文字領域A1を含む複数の認識文字領域A5を抽出してもよい。前記文字認識部U2は、前記第一の文字認識よりも精度が高い第二の文字認識を設定領域A3に対して行ってもよい。前記制御部U3は、図7,8に例示するように、前記複数の認識文字領域A5から前記特定文字KWを含む特定文字領域A6を特定してもよく、前記関連情報(TA1)に基づいて前記特定文字領域A6に対応する前記対象領域A4を特定してもよく、該対象領域A4において複数の文字を含む領域を前記暫定文字領域A1として処理を行ってもよい。
証憑には、頻出する文字があり、当該頻出文字を基準として決まった領域に数字等の決まった文字が使用されることが多い。そこで、前述の頻出文字を証憑において特徴的な特定文字として、該特定文字に位置が関連付けられた対象領域に本技術を適用することにより、証憑画像に対する文字認識が向上する。
態様5:
図2に例示するように、前記制御部U3は、複数の前記候補位置P1の各候補位置について、前記暫定文字領域A1を前記候補位置P1により区画した複数の前記区画領域候補A10を対象とする前記確信度Cを合計し、複数の前記候補位置P1のうち、合計した値(例えば和ΣC)が最大である候補位置を前記区画位置P2として決定してもよい。この態様も、証憑画像に対する文字認識の精度を向上させる好適な例を提供することができる。
図2に例示するように、前記制御部U3は、複数の前記候補位置P1の各候補位置について、前記暫定文字領域A1を前記候補位置P1により区画した複数の前記区画領域候補A10を対象とする前記確信度Cを合計し、複数の前記候補位置P1のうち、合計した値(例えば和ΣC)が最大である候補位置を前記区画位置P2として決定してもよい。この態様も、証憑画像に対する文字認識の精度を向上させる好適な例を提供することができる。
態様6:
また、図2等に例示するように、本技術の一態様に係る画像処理方法は、証憑を表す証憑画像IM1に対して文字認識を行う画像処理方法であって、抽出工程ST1、及び、認識文字取得工程ST2を含む。前記抽出工程ST1では、複数の文字を含む暫定文字領域A1を前記証憑画像IM1から抽出する。前記認識文字取得工程ST2では、前記暫定文字領域A1を区画するための複数の候補位置P1を設定し、各前記候補位置P1について、前記候補位置により前記暫定文字領域A1を区画して前記区画領域候補P1について文字を認識し該文字の確からしさを示す確信度Cを取得し、該確信度Cに基づいて前記暫定文字領域A1の区画位置P2を決定し、該区画位置P2により前記暫定文字領域A1を区画した区画領域A2について認識した文字を認識結果とする。
また、図2等に例示するように、本技術の一態様に係る画像処理方法は、証憑を表す証憑画像IM1に対して文字認識を行う画像処理方法であって、抽出工程ST1、及び、認識文字取得工程ST2を含む。前記抽出工程ST1では、複数の文字を含む暫定文字領域A1を前記証憑画像IM1から抽出する。前記認識文字取得工程ST2では、前記暫定文字領域A1を区画するための複数の候補位置P1を設定し、各前記候補位置P1について、前記候補位置により前記暫定文字領域A1を区画して前記区画領域候補P1について文字を認識し該文字の確からしさを示す確信度Cを取得し、該確信度Cに基づいて前記暫定文字領域A1の区画位置P2を決定し、該区画位置P2により前記暫定文字領域A1を区画した区画領域A2について認識した文字を認識結果とする。
上述した態様6では、暫定文字領域A1を区画する位置を変えることにより得られる確信度Cに基づいて暫定文字領域A1が区画位置P2で区画され、区画領域A2を対象として認識された文字が認識結果となる。従って、本態様も、証憑画像に対する文字認識の精度を向上させることができる。
態様7:
さらに、図1に例示するように、本技術の一態様に係る画像処理プログラムPR1は、抽出部U1に対応する抽出機能FU1、文字認識部U2に対応する文字認識機能FU2、及び、制御部U3に対応する制御機能FU3をコンピューター(例えばメインサーバー30)に実現させる。本態様も、証憑画像に対する文字認識の精度を向上させることができる。
さらに、図1に例示するように、本技術の一態様に係る画像処理プログラムPR1は、抽出部U1に対応する抽出機能FU1、文字認識部U2に対応する文字認識機能FU2、及び、制御部U3に対応する制御機能FU3をコンピューター(例えばメインサーバー30)に実現させる。本態様も、証憑画像に対する文字認識の精度を向上させることができる。
さらに、本技術は、上述した画像処理装置を含む複合装置、上述した画像処理方法を含む情報処理方法、上述した画像処理プログラムを含む情報処理プログラム、前述のいずれかのプログラムを記録したコンピューター読み取り可能な媒体、等に適用可能である。前述のいずれかの装置は、分散した複数の部分で構成されてもよい。
(2)本技術を想到した背景:
図9は、証憑であるレシートをスキャナーで読み取ることにより得られた証憑画像IM1に対してOCRにより文字認識が行われた例を模式的に示している。尚、レシートは、キャッシュレジスターで機械的に発行される、宛名の無い領収書を意味する。OCRは、認識された文字を含む認識文字領域A5を複数、証憑画像IM1から抽出する。例えば、図9において、文字「年」と文字「月」は、1文字として正しく認識されている。この場合、1文字のみ含む認識文字領域A5が証憑画像IM1から抽出され、正しく認識された文字、文字数が1文字である情報、及び、認識文字領域A5の範囲を表す情報がOCRから出力される。しかし、文字「04」は、2文字として認識され、正しく認識されていない。この場合、2文字含む認識文字領域A5が証憑画像IM1から抽出され、正しく認識されなかったことを表す情報、文字数が2文字である情報、及び、認識文字領域A5の範囲を表す情報がOCRから出力される。特に、証憑に感熱紙が使用されている場合、文字の一部がかすれ易く、このために文字が正しく認識されないことがある。キャッシュレジスターで発行されるレシートは、感熱紙が使用されることが多いため、文字のかすれが生じ易い。
図9は、証憑であるレシートをスキャナーで読み取ることにより得られた証憑画像IM1に対してOCRにより文字認識が行われた例を模式的に示している。尚、レシートは、キャッシュレジスターで機械的に発行される、宛名の無い領収書を意味する。OCRは、認識された文字を含む認識文字領域A5を複数、証憑画像IM1から抽出する。例えば、図9において、文字「年」と文字「月」は、1文字として正しく認識されている。この場合、1文字のみ含む認識文字領域A5が証憑画像IM1から抽出され、正しく認識された文字、文字数が1文字である情報、及び、認識文字領域A5の範囲を表す情報がOCRから出力される。しかし、文字「04」は、2文字として認識され、正しく認識されていない。この場合、2文字含む認識文字領域A5が証憑画像IM1から抽出され、正しく認識されなかったことを表す情報、文字数が2文字である情報、及び、認識文字領域A5の範囲を表す情報がOCRから出力される。特に、証憑に感熱紙が使用されている場合、文字の一部がかすれ易く、このために文字が正しく認識されないことがある。キャッシュレジスターで発行されるレシートは、感熱紙が使用されることが多いため、文字のかすれが生じ易い。
本技術は、設定領域に対して文字の認識、及び、確信度の出力を行う文字認識部を用いることにより複数の認識文字領域A5のうち複数の文字を含む暫定文字領域A1を1文字毎に正しく区画する特徴を有する。これにより、本技術は、暫定文字領域A1から区画された各区画領域に含まれる文字を正しく認識することができる。以下、この技術の具体例を説明する。
(3)画像処理装置を含むシステムの構成の具体例:
図1は、画像処理装置を含むシステムの構成の具体例を模式的に示している。図1に示すシステムSY1は、スキャナー10、クライアント20、画像処理装置の例であるメインサーバー30、及び、ストレージサーバー40を含んでいる。ここで、クライアントはクライアントコンピューターの略称であり、メインサーバーはメインサーバーコンピューターの略称であり、ストレージサーバーはストレージサーバーコンピューターの略称である。メインサーバー30は、画像処理装置の例である。クライアント20、メインサーバー30、及び、ストレージサーバー40は、インターネットを含むネットワークNE1に接続されている。ネットワークNE1への接続は、有線による接続でもよいし、無線による接続でもよいし、有線と無線の両方による接続でもよい。インターネットを含むネットワークNE1は、LANを含んでいてもよい。ここで、LANは、Local Area Networkの略称である。メインサーバー30とストレージサーバー40は、ネットワークNE1を介してユーザーにクラウドサービスを提供可能である。
図1は、画像処理装置を含むシステムの構成の具体例を模式的に示している。図1に示すシステムSY1は、スキャナー10、クライアント20、画像処理装置の例であるメインサーバー30、及び、ストレージサーバー40を含んでいる。ここで、クライアントはクライアントコンピューターの略称であり、メインサーバーはメインサーバーコンピューターの略称であり、ストレージサーバーはストレージサーバーコンピューターの略称である。メインサーバー30は、画像処理装置の例である。クライアント20、メインサーバー30、及び、ストレージサーバー40は、インターネットを含むネットワークNE1に接続されている。ネットワークNE1への接続は、有線による接続でもよいし、無線による接続でもよいし、有線と無線の両方による接続でもよい。インターネットを含むネットワークNE1は、LANを含んでいてもよい。ここで、LANは、Local Area Networkの略称である。メインサーバー30とストレージサーバー40は、ネットワークNE1を介してユーザーにクラウドサービスを提供可能である。
スキャナー10は、例えば、光源からの光を原稿に当てて原稿画像を読み取り、データとしての原稿画像を外部へ出力する。図1に示すスキャナー10は、クライアント20の通信I/F20hに対して有線又は無線により通信可能に接続されている。ここで、I/Fは、インターフェイスの略称である。スキャナー10は、原稿としての証憑を光学的に読み取ると、対応する証憑画像IM1をクライアント20に出力する。スキャナー10には、原稿台ガラスと原稿カバーとの間に原稿を配置するフラットベッド式のスキャナー、原稿送り装置付きのスキャナー、等を用いることができる。また、スキャナー10は、スキャナー機能に加えて、印刷機能、ファクシミリ通信機能、といった機能を兼ね備えた複合機でもよい。
クライアント20には、タブレット端末を含めたパーソナルコンピューター、スマートフォン、等を用いることができる。図1に示すクライアント20は、プロセッサーであるCPU20a、半導体メモリーであるROM20b、半導体メモリーであるRAM20c、記憶装置20d、クライアント用ネットワークI/F20e、入力装置20f、表示装置20g、通信I/F20h、等を有している。これらの要素20a〜20h等は、電気的に接続されていることにより互いに情報を入出力可能である。ここで、CPUはCentral Processing Unitの略称であり、ROMはRead Only Memoryの略称であり、RAMはRandom Access Memoryの略称である。
記憶装置20dは、図示していないが、オペレーティングシステム、アプリケーションプログラム、等を記憶している。アプリケーションプログラムは、スキャナー10を制御するドライバープログラムを含む。このドライバープログラムは、スキャナー10が証憑を読み取ることにより生成された証憑画像IM1をスキャナー10から受信する機能、及び、証憑画像IM1をメインサーバー30にアップロードする機構をクライアント20に実現させる。記憶装置20dには、ハードディスクといった磁気記憶装置、フラッシュメモリーといった不揮発性半導体メモリー、等を用いることができる。CPU20aは、記憶装置20dに記憶されている情報を適宜、RAM20cに読み出し、読み出したプログラムを実行することにより各種処理を行う。ネットワークI/F20eは、ネットワークNE1に接続され、このネットワークNE1に繋がっている相手装置と所定の通信規格に従って通信を行う。入力装置20fには、ポインティングデバイス、キーボードを含むハードキー、表示パネルの表面に貼り付けられたタッチパネル、等を用いることができる。表示装置20gには、液晶表示パネル等を用いることができる。通信I/F20hは、スキャナー10といった周辺機器に接続するためのインターフェイスである。通信I/F20hには、USBインターフェイス、無線通信インターフェイス、等を用いることができる。ここで、USBは、Universal Serial Busの略称である。
尚、スキャナー10は、クライアント20の構成を含んでいてもよい。この場合、スキャナー10は、ネットワークNE1を介した外部との通信機能を兼ね備えた装置として機能する。
メインサーバー30は、ネットワークNE1上で文字認識機能を提供するサーバーコンピューターであり、1台のコンピューターでもよいし、複数台のコンピューターでもよい。図1に示すメインサーバー30は、プロセッサーであるCPU30a、半導体メモリーであるROM30b、半導体メモリーであるRAM30c、記憶装置30d、メインサーバー用ネットワークI/F30e、等を有している。これらの要素30a〜30e等は、電気的に接続されていることにより互いに情報を入出力可能である。プロセッサーは、一つのCPUに限定されず、複数のCPU、ASICといったハードウェア回路とCPUとの組合せ、等でもよい。ここで、ASICは、Application Specific Integrated Circuitの略称である。図示していないが、メインサーバー30は、オペレーターによる操作を受け付けるための入力装置、オペレーターに情報を示すための表示装置、等を備えていてもよい。
記憶装置30dは、図示しないオペレーティングシステム、画像処理プログラムPR1、等を記憶している。また、記憶装置30dは、特定文字と、文字認識部U2による処理の対象とする対象領域A4の位置と、が関連付けられた関連情報である特定文字テーブルTA1を記憶していてもよい。記憶装置30dには、ハードディスクといった磁気記憶装置、フラッシュメモリーといった不揮発性半導体メモリー、等を用いることができる。ネットワークI/F30eは、ネットワークNE1に接続され、このネットワークNE1に繋がっている相手装置と所定の通信規格に従って通信を行う。
図1に示す画像処理プログラムPR1は、CPU30aは、抽出部U1の例である汎用的なOCRエンジン31、及び、AIを利用した文字認識部U2の例であるDLエンジン32を備えている。ここで、AIはArtificial Intelligenceの略称であり、DLはDeep Learningの略称である。OCRエンジン31は、画像処理プログラムPR1がメインサーバー30に実現させる抽出機能FU1でもよい。DLエンジン32は、画像処理プログラムPR1がメインサーバー30に実現させる文字認識機能FU2でもよい。
図1に示す画像処理プログラムPR1は、制御機能FU3をメインサーバー30に実現させる制御プログラム33を含んでいる。
図1に示す画像処理プログラムPR1は、制御機能FU3をメインサーバー30に実現させる制御プログラム33を含んでいる。
メインサーバー30のCPU30aは、記憶装置30dに記憶されている情報を適宜、RAM30cに読み出し、読み出したプログラムを実行することにより各種処理を行う。CPU30aは、RAM30cに読み出された画像処理プログラムPR1を実行することにより、上述した機能に対応する処理を行う。画像処理プログラムPR1が上述した機能FU1〜FU3をコンピューターに実現させる場合、画像処理プログラムPR1は、コンピューターであるメインサーバー30を、抽出機能FU1に対応する抽出部U1、文字認識機能FU2に対応する文字認識部U2、及び、制御機能FU3に対応する制御部U3として機能させる。また、画像処理プログラムPR1を実行するメインサーバー30は、抽出工程ST1、及び、認識文字取得工程ST2を実施する。上述した機能FU1〜FU3をコンピューターに実現させる画像処理プログラムPR1を記憶したコンピューター読み取り可能な媒体は、メインサーバー30の内部の記憶装置に限定されず、メインサーバー30の外部の記録媒体でもよい。
図1に示すメインサーバー30は、ストレージサーバー40と通信可能に接続している。ストレージサーバー40は、ネットワークNE1上でストレージ機能を提供するサーバーコンピューターであり、1台のコンピューターでもよいし、複数台のコンピューターでもよい。図示していないが、ストレージサーバー40は、プロセッサーであるCPU、半導体メモリーであるROM及びRAM、内部記憶装置、ストレージサーバー用ネットワークI/F、等を有している。ストレージサーバー40は、メインサーバー30から受信したデータを内部記憶装置に記憶可能であり、内部記憶装置に記憶されているデータをネットワークNE1経由で送信可能である。
むろん、サーバーコンピューターがメインサーバー30とストレージサーバー40とに分かれていることは一例に過ぎず、メインサーバー30がストレージサーバー40の構成を含んでいてもよい。
むろん、サーバーコンピューターがメインサーバー30とストレージサーバー40とに分かれていることは一例に過ぎず、メインサーバー30がストレージサーバー40の構成を含んでいてもよい。
(4)文字認識処理の具体例:
図2は、メインサーバー30で行われる文字認識処理を模式的に例示している。この処理は、制御部U3が主体となって行う。ここで、ステップS102〜S104は、抽出工程ST1に対応している。ステップS106〜S120は、認識文字取得工程ST2に対応している。以下、「ステップ」の記載を省略する。また、抽出部U1が行うことをOCRエンジン31が行うとして記載し、文字認識部U2が行うことをDLエンジン32が行うとして記載することにする。
図2は、メインサーバー30で行われる文字認識処理を模式的に例示している。この処理は、制御部U3が主体となって行う。ここで、ステップS102〜S104は、抽出工程ST1に対応している。ステップS106〜S120は、認識文字取得工程ST2に対応している。以下、「ステップ」の記載を省略する。また、抽出部U1が行うことをOCRエンジン31が行うとして記載し、文字認識部U2が行うことをDLエンジン32が行うとして記載することにする。
ユーザーがスキャナー10にレシートといった証憑を読み取らせると、スキャナー10は、読み取った証憑を表す証憑画像IM1を生成し、該証憑画像IM1をクライアント20に送信する。クライアント20は、証憑画像IM1を受信し、ネットワークNE1を介してメインサーバー30に送信する。そこで、メインサーバー30は、S102において、ネットワークNE1を介して証憑画像IM1を受信する。証憑画像IM1の例は、図9に示されている。
証憑画像IM1を取得したメインサーバー30は、S104において、証憑画像IM1を対象とした第一の文字認識処理を汎用的なOCRエンジン31に実行させる。OCRエンジン31は、図9に例示するように、証憑画像IM1に対して第一の文字認識を行うことにより証憑画像IM1から暫定文字領域A1を含む複数の認識文字領域A5を抽出する。認識文字領域A5は認識された文字を含む範囲を表す領域であり、暫定文字領域A1は複数の文字を含む領域である。
OCRエンジン31は、証憑画像IM1のレイアウトを解析し、解析結果に基づいて行を切り出し、切り出された各行に含まれている1文字らしき画像について、当該1文字らしき画像を囲む認識文字領域A5を設定する。ここで、2文字以上らしき画像について1文字単位に分けることができない場合、OCRエンジン31は、当該2文字以上らしき画像を囲む認識文字領域A5を設定する。図9では、説明の都合上、証憑画像IM1のうち「年04月」が印字された領域に複数の認識文字領域A5が設定された状態が示されているが、他の領域にも複数の認識文字領域A5が設定される。図9では、「04」が印字された領域に2文字を含む認識文字領域A5が設定されていることが示されている。次に、OCRエンジン31は、各認識文字領域A5の画像から認識文字領域A5内の文字を所定のアルゴリズムに従って推測する。認識文字領域A5に複数の文字が含まれていると判断された場合、当該認識文字領域A5内の複数の文字は推測されなくてもよい。
OCRエンジン31は、認識された文字を出力するとともに、認識文字領域A5の開始座標、認識文字領域A5の幅、認識文字領域A5の高さ、認識文字領域A5の文字数、等の情報も出力する。2文字以上の暫定文字領域A1が複数の認識文字領域A5に含まれることにより、OCRエンジン31は、複数の文字を含む暫定文字領域A1を証憑画像IM1から抽出することになる。
第一の文字認識の後、メインサーバー30は、S106において、OCRエンジン31による第一の文字認識の結果、例えば、認識された文字、認識文字領域A5の開始座標、認識文字領域A5の幅、認識文字領域A5の高さ、認識文字領域A5の文字数、等の情報を取得する。
その後、メインサーバー30は、S108において、複数の文字を含む暫定文字領域A1が複数の暫定文字領域A1に有るか否かに応じて処理を分岐させる。メインサーバー30は、暫定文字領域A1が有る場合にS110〜S118の処理を行ってから処理をS120に進め、暫定文字領域A1が無い場合にS110〜S118の処理を行わずに処理をS120に進める。
以下、暫定文字領域A1が有る場合のS110〜S118の処理を説明する。複数の認識文字領域A5に複数の暫定文字領域A1が含まれる場合、暫定文字領域A1毎にS110〜S118の処理が行われる。
S110において、メインサーバー30は、図3に例示するように、暫定文字領域A1を区画する候補位置P1を設定する。候補位置P1は、例えば、暫定文字領域A1に対して幅方向D1、例えば、右方向へ順に設定される。S110の処理が繰り返し行われることにより、複数の候補位置P1が設定される。
S110において、メインサーバー30は、図3に例示するように、暫定文字領域A1を区画する候補位置P1を設定する。候補位置P1は、例えば、暫定文字領域A1に対して幅方向D1、例えば、右方向へ順に設定される。S110の処理が繰り返し行われることにより、複数の候補位置P1が設定される。
図3は、2文字を含む暫定文字領域A1を区画する区画位置P2を決定する様子を模式的に例示している。暫定文字領域A1を区画する複数の候補位置P1は、例えば、暫定文字領域A1の幅方向D1における画素の単位で設定することができる。図3に示す暫定文字領域A11〜A13は、候補位置P1が異なるものの暫定文字領域A1と同じである。図3では、暫定文字領域A11における候補位置P1が暫定文字領域A12における候補位置P1よりも左にあることが示され、暫定文字領域A13における候補位置P1が暫定文字領域A12における候補位置P1よりも右にあることが示されている。候補位置P1により暫定文字領域A1から区画された2つの区画領域候補A10は、暫定文字領域A11の場合に右側よりも左側の方が小さく、暫定文字領域A13の場合に左側よりも右側の方が小さい。
候補位置P1の設定後、メインサーバー30は、S112において、候補位置P1により暫定文字領域A1から区画された各区画領域候補A10を設定領域A3とした第二の文字認識をDLエンジン32に実行させ、認識された文字の確からしさを示す確信度Cを出力させる。DLエンジン32は、設定領域A3に対して文字を認識する第二の文字認識処理、及び、該認識された文字の確からしさを示す確信度Cを出力する処理を実行する。第二の文字認識処理は、図3に示すように、候補位置P1により暫定文字領域A1から区画された各区画領域候補A10に対して行われる。確信度Cは、各区画領域候補A10に対して出力される。例えば、図3に示す暫定文字領域A11では、左側の区画領域候補A10にC=0.2の確信度が出力され、右側の区画領域候補A10にC=0.6の確信度が出力されている。暫定文字領域A12では、左側の区画領域候補A10にC=1.0の確信度が出力され、右側の区画領域候補A10にC=0.9の確信度が出力されている。
DLエンジン32も、文字認識処理を実行するためのOCRエンジンの一種である。しかし、DLエンジン32は、機械学習の例であるDeep Learningにより生成された文字認識モデルを含み、OCRエンジン31により行われる第一の文字認識よりも精度が高い第二の文字認識を行う。DLエンジン32は、ニューラルネットワークといった公知の機械学習アルゴリズムを利用することにより生成することができる。教師あり機械学習のための教師データには、証憑の文字を表す多量の学習用画像を入力とした入力データ、及び、これら各学習用画像に含まれる文字を出力とした出力データを用いることができる。例えば、入力データと出力データとの関係が教師データとして多層構造のニューラルネットワークに入力されると、DLエンジン32は、多量の学習用画像の特徴を自動的に学習し、証憑を表す画像に含まれる文字を認識し該文字の確からしさを推定する文字認識モデルを構築する。認識された文字の確からしさを示す確信度Cは、例えば、入力画像と同じ学習用画像が複数ある場合に当該複数の学習用画像の中で認識文字と一致する文字を含む学習用画像の割合に対応し、入力画像に含まれる文字に認識文字が一致する確率を意味する。
以上より、DLエンジン32は、証憑を表す画像に含まれる文字を認識し該文字の確からしさを推定するための機械学習により生成された文字認識モデルを含んでいる。DLエンジン32は、文字認識モデルを用いて設定領域A3に対して文字を認識し、該認識された文字の確からしさを示す確信度Cを文字認識モデルから取得する。
以上より、DLエンジン32は、証憑を表す画像に含まれる文字を認識し該文字の確からしさを推定するための機械学習により生成された文字認識モデルを含んでいる。DLエンジン32は、文字認識モデルを用いて設定領域A3に対して文字を認識し、該認識された文字の確からしさを示す確信度Cを文字認識モデルから取得する。
ここで、証憑に現れる文字は、「0」〜「9」の数字、「¥」や「円」といった金額を表す文字、「月」や「日」といった日時を表す漢字、等、種類が限定されている。従って、DLエンジン32は、OCRエンジン31よりも高い精度で文字を認識することが可能である。
S112の後、メインサーバー30は、S114において、全ての候補位置P1が設定されたか否かに応じて処理を分岐させる。メインサーバー30は、全ての候補位置P1が設定された場合に処理をS116に進め、設定可能な候補位置P1が残っている場合にS110〜S114の処理を繰り返す。
S116において、メインサーバー30は、候補位置P1毎に、各区画領域候補A10を対象として出力された確信度Cの和ΣCを求め、和ΣCが最大である候補位置P1を区画位置P2として決定する。候補位置P1毎の和ΣCは、各区画領域候補A10に対応する確信度Cを合計した値である。例えば、図3では、暫定文字領域A11における確信度Cの和ΣCが0.8であり、暫定文字領域A12における確信度Cの和ΣCが最大の1.9であり、暫定文字領域A13における確信度Cの和ΣCが0.8である。この場合、図3の下部に示すように、暫定文字領域A12における候補位置P1が区画位置P2として決定される。
暫定文字領域A1には、図4に例示するように、3文字以上が含まれる可能性がある。図4は、3文字を含む暫定文字領域A1を区画する2箇所の区画位置P2を決定する様子を模式的に例示している。図4では、2箇所の候補位置P1が候補位置P11,P12と示されている。候補位置P11,P12は、例えば、以下のようにして設定することができる。
まず、メインサーバー30は、暫定文字領域A1を左側の1文字領域と右側の2文字領域とに区画する左候補位置P11を設定することにする。左候補位置P11は、例えば、暫定文字領域A1に対して幅方向D1、例えば、右方向へ順に設定される。次に、メインサーバー30は、左候補位置P11から右側の2文字領域を1文字領域ずつ区画する右候補位置P12を設定することにする。右候補位置P12は、例えば、暫定文字領域A1に対して幅方向D1、例えば、右方向へ順に設定される。
メインサーバー30は、S112において、候補位置P11,P12により暫定文字領域A1から区画された3つの区画領域候補A10をそれぞれ設定領域A3とした第二の文字認識をDLエンジン32に実行させ、確信度Cを出力させることになる。S116において、メインサーバー30は、3つの区画領域候補A10を対象として出力された確信度Cの和ΣCが最大である候補位置P11,P12を2箇所の区画位置P2として決定することになる。図4の下部には、確信度Cの和ΣCが最大の2.9である2箇所の区画位置P2が決定されたことが示されている。
むろん、暫定文字領域A1に4文字以上が含まれる場合も、類似する方法により複数の区画位置P2を決定することができる。
むろん、暫定文字領域A1に4文字以上が含まれる場合も、類似する方法により複数の区画位置P2を決定することができる。
また、図5に例示する方法により暫定文字領域A1を区画することも可能である。図5は、3文字を含む暫定文字領域A1を区画する2箇所の区画位置P2を決定する別の例を模式的に示している。図5に示す候補位置P11,P12は、例えば、以下のようにして設定することができる。
まず、メインサーバー30は、暫定文字領域A1を左側の1文字領域と右側の2文字領域とに区画する左候補位置P11を設定することにする。左候補位置P11は、例えば、暫定文字領域A1に対して幅方向D1、例えば、右方向へ順に設定される。次に、メインサーバー30は、左候補位置P11により暫定文字領域A1から区画された2つの区画領域候補A10のそれぞれを設定領域A3とした第二の文字認識をDLエンジン32に実行させ、確信度Cを出力させる。図5の左上には、幅方向D1における左候補位置P11の位置に対する確信度Cの和ΣCをグラフG1により例示している。暫定文字領域A1に3文字含まれる場合、左候補位置P11の位置に対する和ΣCには、通常、2箇所のピークP11a,P11bが現れる。そこで、メインサーバー30は、グラフG1から2箇所のピークP11a,P11bを特定し、先に表されたピークP11aの位置を左側の区画位置P2に決定すればよい。
その後、メインサーバー30は、左側の区画位置P2から右側の2文字領域を1文字領域ずつ区画する右候補位置P12を設定することにする。右候補位置P12は、例えば、暫定文字領域A1に対して幅方向D1、例えば、右方向へ順に設定される。次に、メインサーバー30は、右候補位置P12により右側の2文字領域から区画された2つの区画領域候補A10のそれぞれを設定領域A3とした第二の文字認識をDLエンジン32に実行させ、確信度Cを出力させる。上述したグラフG1の下には、幅方向D1における右候補位置P12の位置に対する確信度Cの和ΣCをグラフG2により例示している。メインサーバー30は、確信度Cの和ΣCが最大となる位置を右側の区画位置P2に決定すればよい。
尚、簡易な方法として、グラフG1に現れた後のピークP11bの位置を右側の区画位置P2に決定することも可能である。
尚、簡易な方法として、グラフG1に現れた後のピークP11bの位置を右側の区画位置P2に決定することも可能である。
以上説明したようにして、メインサーバー30は、確信度Cに基づいて暫定文字領域A1の1以上の区画位置P2を決定する。
ここで、決定された区画位置P2により暫定文字領域A1から区画された各区画領域A2に対して、既に、DLエンジン32により文字が認識されている。そこで、メインサーバー30は、S118において、各区画領域A2に対して認識された複数の文字を認識結果として採用する。その後、メインサーバー30は、処理をS120に進める。
S120において、メインサーバー30は、各区画領域A2の認識文字、及び、暫定文字領域A1を除く各認識文字領域A5の認識文字を少なくとも証憑画像IM1とともにストレージサーバー40に保存させる。メインサーバー30は、各領域A2,A5の認識文字、及び、証憑画像IM1と合わせて、各区画領域A2の確信度C、各領域A2,A5の開始座標、各領域A2,A5の幅、各領域A2,A5の高さ、等の情報もストレージサーバー40に保存してもよい。ここで、証憑画像IM1に含まれる複数の認識文字を認識文字データと呼ぶことにする。例えば、メインサーバー30を操作するオペレーターは、ストレージサーバー40に保存されている認識文字データ等の情報を表示装置に表示させると、認識文字データが正しいか否かを確認することができる。この場合、オペレーターは、認識文字データに含まれる認識文字を修正する操作をメインサーバー30に対して行ってもよい。
S120の保存処理の後、メインサーバー30は、図2で示した文字認識処理を終了させる。
S120の保存処理の後、メインサーバー30は、図2で示した文字認識処理を終了させる。
ストレージサーバー40は、ネットワークNE1を介して認識文字データ等の情報を外部へ送信可能である。ストレージサーバー40に保存された認識文字データは、レシートや請求書といった証憑に記載された取引相手、取引日、取引金額、等の内容を示す文字列を含んでいる。そこで、ストレージサーバー40は、会計処理、税務上の処理、等の処理のために、会計事務所で使用される端末に認識文字データ等の情報を送信してもよい。また、ストレージサーバー40に保存されている認識文字データ等の情報は、ユーザーの求めに応じてクライアント20に送信されてもよいし、ネットワークNE1に接続されたプリンターに送信されたうえで該プリンターにより印刷されてもよい。
以上説明したように、複数の文字を含む暫定文字領域A1を区画する位置を変えることによりDLエンジン32から得られる確信度Cに基づいて暫定文字領域A1が区画位置P2で区画され、各区画領域A2を対象としてDLエンジン32により認識された複数の文字が認識結果となる。これにより、印字された証憑において、文字にかすれがあったり複数の文字がくっついていたりすることによりOCRが証憑画像から複数の文字を含む領域しか抽出することができなくても、該領域が正しい位置で区画され、各区画領域の文字が高精度で認識される。従って、本具体例は、証憑画像に対する文字認識を高精度で行うことができる。
(5)変形例:
本発明は、種々の変形例が考えられる。
上述した具体例ではメインサーバー30が画像処理プログラムPR1を実行したが、画像処理プログラムPR1は、クライアント20とスキャナー10の少なくとも一方で実行されてもよい。例えば、記憶装置20dに記憶されている画像処理プログラムPR1をクライアント20が実行する場合、上述した機能FU1〜FU3がクライアント20に実現され、該クライアント20が画像処理装置の例となる。また、メインサーバー30とクライアント20とが協働して画像処理プログラムPR1を実行することも可能である。例えば、メインサーバー30がOCRエンジン31とDLエンジン32を実行しクライアント20が制御プログラム33を実行することが考えられる。また、メインサーバー30がDLエンジン32を実行しクライアント20がOCRエンジン31と制御プログラム33を実行してもよい。
本発明は、種々の変形例が考えられる。
上述した具体例ではメインサーバー30が画像処理プログラムPR1を実行したが、画像処理プログラムPR1は、クライアント20とスキャナー10の少なくとも一方で実行されてもよい。例えば、記憶装置20dに記憶されている画像処理プログラムPR1をクライアント20が実行する場合、上述した機能FU1〜FU3がクライアント20に実現され、該クライアント20が画像処理装置の例となる。また、メインサーバー30とクライアント20とが協働して画像処理プログラムPR1を実行することも可能である。例えば、メインサーバー30がOCRエンジン31とDLエンジン32を実行しクライアント20が制御プログラム33を実行することが考えられる。また、メインサーバー30がDLエンジン32を実行しクライアント20がOCRエンジン31と制御プログラム33を実行してもよい。
第一の文字認識よりも精度が高い第二の文字認識は、Deep Learningにより生成された文字認識モデルを含むDLエンジンにより実現される以外にも、Deep Learning以外の機械学習の手法により作成されたプログラムにより実現されてもよい。
また、証憑には、合計、料金、金額、等、決まった1文字以上の文字が頻出し、当該1文字以上の文字を基準として決まった領域に数字等の決まった文字が使用されることが多い。そこで、前述の1文字以上の文字を証憑において特徴的な特定文字として、該特定文字に関連付けられた領域に対して本技術に含まれる文字認識が行われてもよい。
図6は、特定文字を含む特定文字テーブルTA1の構造を模式的に例示している。特定文字テーブルTA1は、特定文字KWと、DLエンジン32による処理の対象とする対象領域A4の位置と、が関連付けられた関連情報である。図6に示す特定文字テーブルTA1は、対象領域A4において認識すべき文字の種類も有している。図1に示す例では、特定文字テーブルTA1がメインサーバー30の記憶装置30dに記憶されていることが示されている。特定文字テーブルTA1を記憶している記憶装置30dは、記憶部の例である。
特定文字とは、証憑に記載された情報の中で特に正確に検出することが求められる特定項目の情報の存在を示唆する1文字以上の文字を意味する。特定項目の情報は、例えば、証憑の発行元の電話番号、証憑の発行日、取引日時、取引金額、等の内容である。また、証憑が有料駐車場で発行されたレシートである場合、取引日時、例えば、入庫日時及び出庫日時の内容も特定項目の情報に該当する。図6に示す特定文字テーブルTA1には、電話番号の存在を示唆する特定文字KWとして「電話」と「TEL」が登録され、取引金額の存在を示唆する特定文字KWとして「合計」、「料金」、「金額」、及び、「計」が登録され、入庫日時又は出庫日時の存在を示唆する特定文字KWとして「日時」、「出」、「入」、「庫」、「出庫」、及び、「入庫」が登録されている。
ここで、図8に例示するように、証憑画像IM1において特定文字KWを囲む領域を特定文字領域A6と呼ぶことにする。例えば、レシートには、「電話」又は「TEL」が記載された特定文字領域A6と同一行内の右側に電話番号が記載されていることが多く、「合計」、「料金」、「金額」又は「計」が記載された特定文字領域A6と同一行内の右側または次行内の右側に合計金額が記載されていることが多い。そこで、「特定文字と同一行内の右側」、「特定文字と同一行内及び次行内の右側」、等をDLエンジン32による処理の対象領域A4として、特定文字領域A6を基準とした対象領域A4の位置が特定文字KWに対応付けられて特定文字テーブルTA1に格納されている。すなわち、特定文字テーブルTA1には、特定文字領域A6と対象領域A4との位置関係が規定されている。
特定文字KWを基準とした対象領域A4の位置は、図6に示す例に限定されない。例えば、証憑が請求書、又は、宛名の有る領収書の場合、宛名に対して次行の左側といった特定の位置に合計金額の数値が配置されていることが多い。この場合、特定文字KWは「様」等といった、氏名の敬称を表す1文字以上の文字でもよく、対象領域A4の位置は「特定文字の次行の左側」でもよい。また、特定文字KWを基準とした対象領域A4の位置は、行を用いた位置に限定されず、特定文字から上、特定文字から下、特定文字から左、特定文字から右、等でもよい。
対象領域A4に現れる文字は、「0」〜「9」の数字、「¥」や「円」といった金額を表す文字、「月」や「日」といった日時を表す漢字、等、種類が限定されている。そこで、特定文字テーブルTA1は、対象領域A4に現れる文字の種類を有している。図6に示す特定文字テーブルTA1には、特定文字「電話」等に対応付けられた文字種類として「0」〜「9」及び「−」が格納され、特定文字「合計」等に対応付けられた文字種類として「0」〜「9」、「¥」、及び、「円」が格納され、特定文字「日時」等に対応付けられた文字種類として「0」〜「9」、「年」、「月」、「日」、「時」、及び、「分」が格納されている。
図7は、メインサーバー30で行われる別の文字認識処理を模式的に例示している。この処理は、制御部U3が主体となって行う。ここで、S202〜S204は抽出工程ST1に対応し、S206〜S210,S110〜S118,S212〜S214は認識文字取得工程ST2に対応している。図8は、特定文字KWに対応する対象領域A4において複数の文字を含む領域を暫定文字領域A1として処理を行うことを模式的に説明するための図である。証憑画像IM1は、図8に示すように有料駐車場で発行されたレシートの読取画像であるものとする。
まず、メインサーバー30は、S202において、ネットワークNE1を介してクライアント20から証憑画像IM1を受信する。S204において、メインサーバー30は、証憑画像IM1を対象とした第一の文字認識処理をOCRエンジン31に実行させる。OCRエンジン31は、証憑画像IM1に対して第一の文字認識を行うことにより証憑画像IM1から暫定文字領域A1を含む複数の認識文字領域A5を抽出する。ここでの暫定文字領域A1は、後のS208の処理において特定される対象領域A4に含まれる領域である。図8では、説明の都合上、証憑画像IM1のうち一部領域IMpに複数の認識文字領域A5が設定された状態が示されているが、他の領域にも複数の認識文字領域A5が設定される。図8において、文字列IMp´は、汎用的なOCRエンジン31により一部領域IMpに対して第一の文字認識が行われた結果を示している。OCRエンジン31は多くの種類の文字を認識可能であるが、そのために文字認識が正確でないことがある。また、複数の文字を含む暫定文字領域A1が複数の認識文字領域A5に含まれることがある。
第一の文字認識の後、メインサーバー30は、S206において、図6に示す特定文字テーブルTA1に格納されている特定文字KWを含む特定文字領域A6を複数の認識文字領域A5から特定する。S206の処理は、特定文字KWを抽出する処理ともいえる。図8に示す文字列IMp´からは、「庫」、「日時」、「出庫」、及び、「日時」という特定文字KWを含む特定文字領域A6が特定される。
特定文字領域A6の特定後、メインサーバー30は、S208において、図6に示す特定文字テーブルTA1に基づいて特定文字領域A6に対応する前記対象領域A4を特定する。例えば、図8に示す特定文字KWは、図6に示す特定文字テーブルTA1において「特定文字と同一行内の右側」という対象領域A4に対応付けられている。そこで、メインサーバー30は、「特定文字と同一行内の右側」を対象領域A4として特定すればよい。
対象領域A4の特定後、メインサーバー30は、S210において、複数の文字を含む暫定文字領域A1が対象領域A4中に有るか否かに応じて処理を分岐させる。メインサーバー30は、暫定文字領域A1が対象領域A4中に有る場合に図2で示したS110〜S118の処理を行った後に処理をS212に進め、暫定文字領域A1が対象領域A4中に場合にS110〜S118の処理を行わずに処理をS212に進める。
図2で示したS110〜S118において、メインサーバー30は、暫定文字領域A1を区画する複数の候補位置P1を設定し、各候補位置P1により暫定文字領域A1から区画された各区画領域候補A10を対象としてDLエンジン32により第二の文字認識を行い、得られた確信度Cに基づいて暫定文字領域A1の区画位置P2を決定し、該区画位置P2により暫定文字領域A1から区画された各区画領域A2に対して認識した複数の文字を認識結果とする。例えば、図8に示す暫定文字領域A1は区画位置P2により区画されることにより、「0」と「4」が認識される。
S212において、メインサーバー30は、暫定文字領域A1を除いて各認識文字領域A5を対象としてDLエンジン32により第二の文字認識を行い、得られた認識文字を認識結果とする。
以上のようにして、メインサーバー30は、対象領域A4において複数の文字を含む領域を暫定文字領域A1として処理を行う。
以上のようにして、メインサーバー30は、対象領域A4において複数の文字を含む領域を暫定文字領域A1として処理を行う。
S214において、メインサーバー30は、各区画領域A2の認識文字、及び、暫定文字領域A1を除く各認識文字領域A5の認識文字を少なくとも証憑画像IM1とともにストレージサーバー40に保存させる。S214の保存処理の後、メインサーバー30は、図7で示した文字認識処理を終了させる。
図6〜8で示した例も、証憑画像に対する文字認識の精度を向上させる好適な例を提供することができる。
図6〜8で示した例も、証憑画像に対する文字認識の精度を向上させる好適な例を提供することができる。
(6)結び:
以上説明したように、本発明によると、種々の態様により、証憑画像に対する文字認識の精度を向上させる技術等を提供することができる。むろん、独立請求項に係る構成要件のみからなる技術でも、上述した基本的な作用、効果が得られる。
また、上述した例の中で開示した各構成を相互に置換したり組み合わせを変更したりした構成、公知技術及び上述した例の中で開示した各構成を相互に置換したり組み合わせを変更したりした構成、等も実施可能である。本発明は、これらの構成等も含まれる。
以上説明したように、本発明によると、種々の態様により、証憑画像に対する文字認識の精度を向上させる技術等を提供することができる。むろん、独立請求項に係る構成要件のみからなる技術でも、上述した基本的な作用、効果が得られる。
また、上述した例の中で開示した各構成を相互に置換したり組み合わせを変更したりした構成、公知技術及び上述した例の中で開示した各構成を相互に置換したり組み合わせを変更したりした構成、等も実施可能である。本発明は、これらの構成等も含まれる。
10…スキャナー、20…クライアント、30…メインサーバー、30d…記憶装置、31…OCRエンジン、32…DLエンジン、33…制御プログラム、40…ストレージサーバー、A1…暫定文字領域、A2…区画領域、A3…設定領域、A4…対象領域、A5…認識文字領域、A6…特定文字領域、A10…区画領域候補、C…確信度、D1…幅方向、IM1…証憑画像、KW…特定文字、NE1…ネットワーク、P1…候補位置、P2…区画位置、PR1…画像処理プログラム、TA1…特定文字テーブル、U1…抽出部、U2…文字認識部、U3…制御部。
Claims (7)
- 証憑を表す証憑画像に対して文字認識を行う画像処理装置であって、
複数の文字を含む暫定文字領域を前記証憑画像から抽出する抽出部と、
文字認識を行い、認識した文字の確からしさを示す確信度を出力する文字認識部と、
前記文字認識部に文字認識を実行させる制御部と、を備え、
前記制御部は、
前記暫定文字領域を区画するための複数の候補位置を設定し、各前記候補位置について、前記候補位置により前記暫定文字領域を区画領域候補に区画して前記区画領域候補について前記文字認識部に前記確信度を出力させ、
前記出力された確信度に基づいて前記暫定文字領域の区画位置を決定し、
前記決定した区画位置により前記暫定文字領域を区画した区画領域への前記文字認識部による認識結果を、前記証憑画像への文字認識の結果として取得する、画像処理装置。 - 前記文字認識部は、証憑を表す画像に含まれる文字を認識し該文字の確からしさを推定するための機械学習により生成された文字認識モデルを用いて文字を認識し、該認識された文字の確からしさを示す前記確信度を前記文字認識モデルから取得する、請求項1に記載の画像処理装置。
- 前記抽出部は、前記証憑画像に対して第一の文字認識を行うことにより前記証憑画像から前記暫定文字領域を抽出し、
前記文字認識部は、前記第一の文字認識よりも精度が高い第二の文字認識を行う、請求項1又は請求項2に記載の画像処理装置。 - 特定文字と、前記文字認識部による処理の対象とする対象領域の位置と、が関連付けられた関連情報を記憶している記憶部をさらに備え、
前記抽出部は、前記証憑画像に対して第一の文字認識を行うことにより前記証憑画像から前記暫定文字領域を含む複数の認識文字領域を抽出し、
前記文字認識部は、前記第一の文字認識よりも精度が高い第二の文字認識を行い、
前記制御部は、前記複数の認識文字領域から前記特定文字を含む特定文字領域を特定し、前記関連情報に基づいて前記特定文字領域に対応する前記対象領域を特定し、該対象領域において複数の文字を含む領域を前記暫定文字領域として処理を行う、請求項1又は請求項2に記載の画像処理装置。 - 前記制御部は、複数の前記候補位置の各候補位置について、前記暫定文字領域を前記候補位置により区画した複数の前記区画領域候補を対象とする前記確信度を合計し、
複数の前記候補位置のうち、合計した値が最大である候補位置を前記区画位置として決定する、請求項1〜請求項4のいずれか一項に記載の画像処理装置。 - 証憑を表す証憑画像に対して文字認識を行う画像処理方法であって、
複数の文字を含む暫定文字領域を前記証憑画像から抽出する抽出工程と、
前記暫定文字領域を区画するための複数の候補位置を設定し、各前記候補位置について、前記候補位置により前記暫定文字領域を区画領域候補に区画して前記区画領域候補について文字を認識し該文字の確からしさを示す確信度を取得し、該確信度に基づいて前記暫定文字領域の区画位置を決定し、該区画位置により前記暫定文字領域を区画した区画領域について認識した文字を認識結果とする認識文字取得工程と、を含む、画像処理方法。 - 証憑を表す証憑画像に対して文字認識を行うための画像処理プログラムであって、
複数の文字を含む暫定文字領域を前記証憑画像から抽出する抽出機能と、
文字認識を行い、認識した文字の確からしさを示す確信度を出力する文字認識機能と、
前記文字認識部に文字認識を実行させる制御機能と、をコンピューターに実現させ、
前記制御機能は、
前記暫定文字領域を区画するための複数の候補位置を設定し、各前記候補位置について、前記候補位置により前記暫定文字領域を区画領域候補に区画して前記区画領域候補について前記文字認識機能に前記確信度を出力させ、
前記出力された確信度に基づいて前記暫定文字領域の区画位置を決定し、
前記決定した区画位置により前記暫定文字領域を区画した区画領域への前記文字認識機能による認識結果を、前記証憑画像への文字認識の結果として取得する、画像処理プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019044716A JP2020149199A (ja) | 2019-03-12 | 2019-03-12 | 画像処理装置、画像処理方法、及び、画像処理プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019044716A JP2020149199A (ja) | 2019-03-12 | 2019-03-12 | 画像処理装置、画像処理方法、及び、画像処理プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2020149199A true JP2020149199A (ja) | 2020-09-17 |
Family
ID=72430107
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019044716A Pending JP2020149199A (ja) | 2019-03-12 | 2019-03-12 | 画像処理装置、画像処理方法、及び、画像処理プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2020149199A (ja) |
-
2019
- 2019-03-12 JP JP2019044716A patent/JP2020149199A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7587412B2 (en) | Mixed media reality brokerage network and methods of use | |
US8879846B2 (en) | Systems, methods and computer program products for processing financial documents | |
US7672543B2 (en) | Triggering applications based on a captured text in a mixed media environment | |
US8195659B2 (en) | Integration and use of mixed media documents | |
US7991778B2 (en) | Triggering actions with captured input in a mixed media environment | |
US8600989B2 (en) | Method and system for image matching in a mixed media environment | |
US9357098B2 (en) | System and methods for use of voice mail and email in a mixed media environment | |
US7920759B2 (en) | Triggering applications for distributed action execution and use of mixed media recognition as a control input | |
US7885955B2 (en) | Shared document annotation | |
US20090313245A1 (en) | Mixed Media Reality Brokerage Network With Layout-Independent Recognition | |
US20070047816A1 (en) | User Interface for Mixed Media Reality | |
US20070047781A1 (en) | Authoring Tools Using A Mixed Media Environment | |
EP1917636B1 (en) | Method and system for image matching in a mixed media environment | |
KR20090084968A (ko) | 모바일 장치 시스템을 이용한 디지탈 이미지 아카이빙 및 검색 | |
JPH07110841A (ja) | 証券処理方法および処理装置 | |
US10339373B1 (en) | Optical character recognition utilizing hashed templates | |
US20110166934A1 (en) | Targeted advertising based on remote receipt analysis | |
US20110052075A1 (en) | Remote receipt analysis | |
US9031308B2 (en) | Systems and methods for recreating an image using white space and check element capture | |
CN110785773A (zh) | 票据识别系统 | |
CN112487859A (zh) | 信息处理装置、信息处理方法和计算机可读介质 | |
WO2021236269A1 (en) | Text recognition for a neural network | |
JP7408313B2 (ja) | 画像処理装置、その制御方法及びプログラム | |
CN108304815A (zh) | 一种数据获取方法、装置、服务器及存储介质 | |
JP2009506392A (ja) | 電子書類にホットスポットを埋め込む方法、コンピュータプログラム及びシステム |