JP2017084336A - 画像化された文書からテキストを抽出する方法及び装置 - Google Patents

画像化された文書からテキストを抽出する方法及び装置 Download PDF

Info

Publication number
JP2017084336A
JP2017084336A JP2016162925A JP2016162925A JP2017084336A JP 2017084336 A JP2017084336 A JP 2017084336A JP 2016162925 A JP2016162925 A JP 2016162925A JP 2016162925 A JP2016162925 A JP 2016162925A JP 2017084336 A JP2017084336 A JP 2017084336A
Authority
JP
Japan
Prior art keywords
partial image
character
cluster
image
designated character
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.)
Granted
Application number
JP2016162925A
Other languages
English (en)
Other versions
JP6366024B2 (ja
Inventor
ケキアン デン ケヴィン
Keqiang Deng Kevin
ケキアン デン ケヴィン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nielsen Co US LLC
Original Assignee
Nielsen Co US LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nielsen Co US LLC filed Critical Nielsen Co US LLC
Publication of JP2017084336A publication Critical patent/JP2017084336A/ja
Application granted granted Critical
Publication of JP6366024B2 publication Critical patent/JP6366024B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/62Text, e.g. of license plates, overlay texts or captions on TV images
    • G06V20/63Scene text, e.g. street names
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/148Segmentation of character regions
    • G06V30/153Segmentation of character regions using recognition of characters or words
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/762Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
    • G06V10/763Non-hierarchical techniques, e.g. based on statistics of modelling distributions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/98Detection or correction of errors, e.g. by rescanning the pattern or by human intervention; Evaluation of the quality of the acquired patterns
    • G06V10/987Detection or correction of errors, e.g. by rescanning the pattern or by human intervention; Evaluation of the quality of the acquired patterns with the intervention of an operator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/12Detection or correction of errors, e.g. by rescanning the pattern
    • G06V30/127Detection or correction of errors, e.g. by rescanning the pattern with the intervention of an operator

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Probability & Statistics with Applications (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Quality & Reliability (AREA)
  • Character Discrimination (AREA)
  • Character Input (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】画像化された文書からテキストを抽出する方法及び装置を提供する。
【解決手段】抽出方法は、文書の画像を、文書中の個々の文字に対応する局所的な部分画像に分割するステップ、基準部分画像に対する部分画像それぞれの視覚的相関に基づいて、部分画像それぞれをクラスタに分類するステップを含む。基準部分画像とクラスタに分類される部分画像それぞれとの間の視覚的相関は、相関閾値を超える。さらに、クラスタに分類された部分画像に基づいてクラスタの指定文字を識別するステップ、指定文字を、クラスタに分類された部分画像それぞれに関連付けられた文書の画像中の位置に関連付けるステップを含む。
【選択図】図8

Description

開示の分野
[0001]本開示は一般にはテキストの抽出に関し、より詳細には、画像化された文書からテキストを抽出する方法及び装置に関する。
背景
[0002]個人、事業体、及び/又は他のエンティティが、文書(又は他の物)中のテキストの画像を機械符号化されたテキストに変換したいと考える種々の状況や理由が存在する。例えば、画像化されたテキストを機械符号化されたテキストに変換することにより、テキストの電子的な編集、検索、データベースへの編成及び/又は記憶等が可能になる。画像化されたテキストの識別と符号化を、本明細書ではテキストの抽出と呼ぶ。
[0003]図1は、本開示の教示により実装される例示的なデータ処理機能を含む例示的環境の概略図である。
[0004]図2は、図1の例示的なデータ処理機能の例示的実装のブロック図である。
[0005]図3は、本明細書に開示される教示による、2つの例示的な文字の部分画像の比較を説明する図である。 [0005]図4は、本明細書に開示される教示による、2つの例示的な文字の部分画像の比較を説明する図である。 [0005]図5は、本明細書に開示される教示による、2つの例示的な文字の部分画像の比較を説明する図である。
[0006]図6は、実際のレシートから切り出された文字の例示的な部分画像を示す図である。
[0007]図7は、誤って数字の「1」と識別された数字の「4」の例示的な部分画像の図である。
[0008]図8は、図1及び/又は図2の例示的なデータ処理機能を実装するために実行できる例示的な機械可読命令を表すフローチャートである。 [0008]図9は、図1及び/又は図2の例示的なデータ処理機能を実装するために実行できる例示的な機械可読命令を表すフローチャートである。 [0008]図10は、図1及び/又は図2の例示的なデータ処理機能を実装するために実行できる例示的な機械可読命令を表すフローチャートである。 [0008]図11は、図1及び/又は図2の例示的なデータ処理機能を実装するために実行できる例示的な機械可読命令を表すフローチャートである。 [0008]図12は、図1及び/又は図2の例示的なデータ処理機能を実装するために実行できる例示的な機械可読命令を表すフローチャートである。 [0008]図13は、図1及び/又は図2の例示的なデータ処理機能を実装するために実行できる例示的な機械可読命令を表すフローチャートである。
[0009]図14は、図1及び/又は図2の例示的なデータ処理機能を実装する図8〜図13の例示的な機械可読命令を実行するように構成された例示的なプロセッサプラットフォームのブロック図である。
詳細な説明
[0010]手作業によるテキストの抽出には、人間が文書の画像(又は文書の紙コピー)を点検して、テキストを手作業でタイプ入力することが伴う。手作業による抽出は、精度が高いが、費用が甚大になり、時間がかかる可能性がある。光学文字認識(OCR)は、コンピュータを使用して、画像ベースのテキスト文書を自動的に検出、識別、及び符号化する技術である。OCRを使用したテキストの抽出は一般に手作業による抽出よりも速度が高く低費用であるが、OCRは精度が劣り、誤りが生じやすい。さらに、OCR技術の精度は、抽出しようとする元のテキストの印刷が不良であったり、元のテキストの画像の品質が低い場合には低下する。例えば、OCRエンジンは、比較的精度の高い平面スキャナを使用して画像化された印刷が鮮明な雑誌記事のテキストは認識することができても、同じOCRエンジンが、品質の低いPOS(point-of-sale)プリンタを使用して印刷され、良好でない照明条件下で手持ちカメラを使用して画像化されたレシートのテキストを認識する際には、精度がはるかに下がる場合があり、これは、特にレシートに皺がついていて平らに置かれていない場合にそうである。
[0011]したがって、例によっては、比較的高い精度が要求される場合には、OCR単独では不十分である。OCRを行ってから手作業による点検で誤りを修正することが可能な場合がある。しかし、そのような事例の多くでは、手作業による点検は、直接手作業で抽出する場合と同じ位の費用及び/又は時間がかかる可能性、及び/又は利益がわずかである可能性がある。さらに、コンピュータを利用したテキスト抽出(例えばOCRを使用する)は、技術が進歩するにつれて時間と共に向上する可能性が高いが、それでもなお、手作業による点検を必要とし得る誤りが少なくともいくつかは生じる可能性が高い。したがって、OCRの精度に関わらず、テキスト抽出時に手作業による点検の量を減らす必要がある。
[0012]本明細書に開示される例は、認識対象の画像化されたテキスト中にある共通する個々の文字(例えば、文字、数字、又は記号)間の視覚的な類似性を利用して、テキスト抽出の精度及び/又は効率を高める。例えば、テキストの集まりの中にある小文字の「h」は、例えば同じテキスト中の大文字の「T」(又は他の文字)よりも、テキスト中の小文字の「h」の他のインスタンスと視覚的に似ている。このことに基づいて、テキスト中の文字を、視覚的に似た文字のクラスタに分類することができる。より詳細には、例によっては、画像化されたテキストを、テキストの個々の文字に対応する、より小さい局所的な部分画像に分割してから、その部分画像同士を比較し、比較に従ってクラスタに分類する。例えば、文字「h」と視覚的に相関する文字の部分画像の群が1つのクラスタになり、一方、文字「T」と視覚的に相関する文字の部分画像の別の群は別のクラスタになり、他も同様である。異なる文字の中には、見た目が似ているために同じクラスタに分類される可能性がある文字もあるが(例えば、大文字の「I」と、小文字の「l」、及び数字の「1」)、各文字は、他の文字から区別するのに十分なだけ見た目が異なっているため、大半のクラスタは、実質的に1つのみの特定の文字に対応する部分画像を含む。
[0013]事例によっては、例えば、テキストの印刷の不具合、テキストの画像化の不具合、及び/又は部分画像の形成の不具合が原因となって、同じ文字に対応する2つの部分画像間にわずかな差異が生じることがある。そのため、例によっては、一定の閾値を超える視覚的相関があることに基づいて部分画像をクラスタに分類することにより、同じ文字に対応する任意の2つの部分画像間の小さい変動を見込んでおく。ただし、例によっては、テキストの印刷や画像化に不具合がある結果、同じ文字に対応する2つの部分画像が、異なるクラスタに分類するのに十分なほど見た目が異なってしまうこともある。例えば、1つの特定の文字「h」の縦線又はアセンダ(ascender(上に突き出した部分))の上部が印刷不良であり(例えば、かすれている、不完全、又は完全に欠落している等)、別の文字「h」は曲線部分又は肩部分が印刷不良であり、一方、第3の文字「h」には筋又は線が走っている(プリンタの印字ヘッドに残っているインクで生じる)とする。それらの文字はそれぞれ同じ文字(小文字の「h」)に対応するものの、印刷の不具合のために、それらの文字のうちどの2つ文字の部分画像も、視覚的相関が所定の閾値を超えず、その結果、各部分画像がそれぞれ独自のクラスタに入れられる可能性がある。したがって、例によっては、同じ文字に対応するクラスタが複数生じる可能性がある。すなわち、各クラスタは実質的に1つのみの特定の文字に固有の部分画像を含んでいるが、部分画像のクラスタの総数が、本開示の教示に従って分析される画像化された文書にある実際に異なる文字の総数を超える可能性がある。
[0014]本明細書に開示される教示によると、上記のクラスタへの部分画像の分類は、画像に基づいて部分画像を視覚的に比較することに基づいている。そのため、クラスタは特定の文字に対応するものの、クラスタに対応する特定の文字の識別は指定されない場合がある(例えばまだ機械符号化されていない)。しかし、部分画像の各クラスタは特定の文字に対応するので、そのクラスタを代表する1つの部分画像の文字を識別することを使用して、そのクラスタにある部分画像すべてに対応する文字を識別することができる。特定のクラスタの部分画像に対応すると識別された文字を、本明細書ではそのクラスタの指定文字と呼ぶ。例えば、1単語当たり平均5文字と想定すると、1000ワードの文書は約5000文字を含んでいることになる(句読記号は含まない)。そのような例では、5000文字の中に、小文字の「h」のインスタンスが、数百ではないにしろ、数十個存在する可能性がある。文字「h」のすべてのインスタンスを1つのクラスタに分類すると、1つの代表部分画像からそのクラスタの指定文字として文字「h」を識別することを、そのクラスタにあるすべての部分画像に適用することができる。言うまでもなく、上記のように、文字「h」のインスタンスの中には見た目が十分に異なるものがあるために、それらに対応する部分画像が別々のクラスタに分類される可能性もある。しかし、文字「h」に対応するクラスタの数は、それでも、画像化された文書中にある文字「h」のインスタンスの総数よりもはるかに少ない可能性が高い。それに対して、完全に手作業で行われるテキスト抽出(OCRエンジンを使用しない)では、文字hのすべてのインスタンス(加えて、5000文字のうちすべての他の文字と句読点)を人間の点検者が識別してタイプ入力する必要がある。
[0015]より一般的には、画像化された文書を符号化するために識別すべき部分画像のクラスタの総数は、その文書で使用されている一意の文字の総数と、各一意の文字がその特定文字の異なるインスタンスの見た目のばらつきに基づいて(例えば、使用されている異なるフォント、一部の文字の印刷エラー、及び/又は分析対象の文書若しくはテキストを撮影する際に生じるエラーに基づいて)分類され得る異なるクラスタの数とに対応する。例えば、英語のテキストの大半は、26個の大文字、26個の小文字、10個の数字、及び32個の記号に対応する、最大で94種類の一意の文字(標準的なキーボードで利用できるもの)を含んでいる。各文字の見かけが異なっていて最大でN通りに異なるクラスタに分類され得る場合、任意の特定の画像化されたテキストから生じる可能性のある異なるクラスタの最大数は、N×94になる。N(特定の文字が分類され得る異なるクラスタの最大数)が10に等しいとすると、任意の画像化されたテキストのクラスタの総数は、わずか940クラスタ(10×94)である。したがって、本明細書に開示されるクラスタを利用すると、従来の手作業によるテキスト抽出手法を使用して5000文字すべてとそれに関連する句読点を個々に識別するのではなく、上記で参照した5000文字の文書全体を人間の点検者(OCRエンジンを使用しない)によって符号化することができ、点検者が行う文字の識別は最大でも940回であり、その後それをテキスト全体に反映させる。事例によっては、文字識別の総数はそれよりも大幅に少ない可能性がある。その理由は、テキストが存在し得る94種の文字すべてを含んでいる可能性は低く、一部の文字(例えばピリオドやカンマ)は、取り得る見た目の形が比較的少ない可能性が高く(Nよりもはるかに少ない)、その結果クラスタ数が少なくなるためである。
[0016]類似する見た目に基づいて部分画像をクラスタに分類してから対応する文字を識別することの利点は、画像化されたテキストがさらに多くの文字を含んでいる場合にさらに明白になる。例えば、文書が上記の例の10倍の長さである(約50,000文字を含む)場合でも、対応するクラスタを識別する部分画像のクラスタは940個に過ぎない(例えば、上記の例と同様に、任意の文字に対応するクラスタの最大数がN=10であると仮定する)。5,000文字のテキストに関連するクラスタと50,000文字のテキストに関連するクラスタとの違いは、50,000文字のテキストのクラスタは、概して、5,000文字のテキストよりも多くの部分画像を含んでいる点である。人間の点検者から見ると、クラスタを代表する1つの部分画像の識別を、そのクラスタの大きさに関係なくクラスタ中のあらゆる部分画像に適用できるので、長いテキストの文字を抽出する(符号化する)ための時間も費用も増大しない。したがって、5,000文字を識別する必要がある場合でも、50,000文字を識別する必要がある場合でも、行う文字の指定は最大で940回(N=10と想定)に過ぎない。
[0017]本明細書に開示される教示は、文書のバッチのテキスト抽出にも拡張することができる。すなわち、画像化されたテキストは単一の独立した文書に対応する場合もあるが、同じ原理が、画像化されたテキストが複数の個別の文書及び/又は種々の文書に対応する場合にも該当する。例えば、それぞれが50,000文字を含んでいる100個の文書を共に画像化し、分析するとする。そのような例では、符号化すべき文字は合計5,000,000字あるが、100個の文書すべてを符号化するために識別すべき特定の文字に関連付けられた異なるクラスタは、やはり約N×94個にとどまる。100個の画像化された文書を分析して、5,000,000文字それぞれに対応する5,000,000個の部分画像を対応するクラスタに正しく分類するには多少の時間及び/又は費用がかかるが、この費用は、そのような分析が本明細書に開示されるように自動化されるため、無視することができる。
[0018]上記の例では手作業によるテキスト抽出の費用が大幅に低減するが、OCR技術を実装して各クラスタに指定すべき適切な文字を識別する場合には、人間の点検者の関与をさらに大幅に減らすことができる。言うまでもなく、OCR方法が完全に正確であれば、手作業による点検は全く必要ない。しかし、OCR技術は多少の誤りの余地を含んでいる。多くの文字はOCRを使用して正確に識別することができるが、一般には、識別することができない、又は識別されてもその信頼度が比較的低い文字が少なくともいくつか存在する。そのため、本明細書に開示されるいくつかの例では、OCRエンジンを使用して行われたクラスタの指定文字の識別の信頼性を分析する。そのような例では、指定文字の識別の信頼性が比較的高い(例えば閾値を上回る)場合、指定文字は、手作業による点検を行わずに、クラスタの各部分画像に自動的に割り当てられる。一方、指定文字の識別の信頼性が比較的低い(例えば閾値を下回る)場合には、OCRエンジンで識別された指定文字にフラグを立てて、手作業による点検及び/又は確定を行うことができる。
[0019]上記のように部分画像のクラスタ分類と併せてOCR技術を使用すると、上記で述べた純粋に手作業でクラスタを点検する場合の時間の節約に加えて、人間の点検者の関与を大きく減らすことができる。例えば、OCRエンジンが全時間の80%で十分な信頼性(例えば閾値を上回る)で指定文字を識別できるとする。そのようなシナリオでは、上記の指定文字を識別すべきクラスタが940個あり得る例では、188個(20%)だけを手作業で点検すればよい。これは、完全に手作業によるテキスト抽出では5,000,000文字の識別を行うのと比べると著しい改善である。5,000,000文字を従来のOCR方法を使用して分析することにより、完全に手作業による点検を減らすことは可能であるが、この例ではOCRの精度が80%に過ぎないため、識別の信頼性が十分でなく、したがって手作業による点検を必要とする文字が、なお1,000,000字(5,000,000字の20%)残る。したがって、本明細書に開示されるように文字の部分画像を、類似する見た目を持つ画像のクラスタに分類することは、OCR技術を使用するかどうかに関係なく、望ましい精度を達成しつつ、手作業によるテキスト抽出の費用を大幅に減らす見込みがある。言うまでもなく、OCRを使用すれば、費用及び/又は人間の点検者の必要をさらに減らす助けとなる。言い換えると、本明細書に開示される教示は、OCR技術の精度、さらにはOCR技術の使用に依存してテキスト抽出時の人間の点検者の関与を減らすものではないが、どのような精度のOCR技術でも、人間の点検者の関与をさらに減らす効果がある。したがって、時間と共にOCR技術が開発され、向上するのに伴って、その技術を明細書に開示される教示に従ってすみやかに実装して、人間の点検者の関与量をさらに減らすことができる。
[0020]また、例によっては、OCRの使用で確実に識別できない可能性のある文字に対応する部分画像のクラスタの指定文字を手作業で識別した結果をデータベースに保存しておき、将来追加的な文書を分析する時に参照する。すなわち、本明細書に開示される教示を、ある特定の時に1つ又は複数の画像化された文書(例えば1つのバッチ)に適用するのに加えて、手作業によるクラスタの指定文字の識別を使用して、後に分析される対応するクラスタにある部分画像に指定される文字を自動的に識別することができる。言い換えると、手作業で行われた特定の部分画像に指定される文字の識別を、分析すべき多くの異なる文書にある多数の類似する部分画像(例えば閾値内にある同じ見た目を持つ)のインスタンスに適用することができ、それは同時に分析する場合(例えば1つのバッチ)でも、ある時間にわたって分析する場合(例えば複数の連続したバッチ)でも構わない。
[0021]本明細書に開示される例示的な方法は、プロセッサで、文書の画像を、文書中の個々の文字に対応する局所的な部分画像に分割するステップを含む。例示的な方法は、プロセッサで、基準部分画像に対する部分画像それぞれの視覚的相関に基づいて、部分画像それぞれをクラスタに分類するステップをさらに含む。基準部分画像と、クラスタに分類される部分画像それぞれとの間の視覚的相関は、相関閾値を超える。例示的な方法は、プロセッサで、クラスタに分類された部分画像に基づいてクラスタの指定文字を識別するステップも含む。例示的な方法は、プロセッサで、指定文字を、クラスタに分類された部分画像それぞれに関連付けられた文書の画像中の位置に関連付けるステップをさらに含む。
[0022]例示的な装置は、文書の画像を、文書中の個々の文字に対応する局所的な部分画像に分割し、基準部分画像に対する部分画像それぞれの視覚的相関に基づいて、部分画像それぞれをクラスタに分類する、プロセッサを介して実装される画像分析器を備える。基準部分画像と、クラスタに分類される部分画像それぞれとの間の視覚的相関は、相関閾値を超える。例示的な装置は、クラスタに分類された部分画像に基づいてクラスタの指定文字を識別する、プロセッサを介して実装される文字識別器をさらに備える。例示的な装置は、指定文字を、クラスタに分類された部分画像それぞれに関連付けられた文書の画像中の位置に関連付ける、プロセッサを介して実装される符号化テキスト生成器も備える。
[0023]例示的な命令は、実行されると機械に、少なくとも、文書の画像を、文書中の個々の文字に対応する局所的な部分画像に分割させる。例示的な命令はさらに、機械に、基準部分画像に対する部分画像それぞれの視覚的相関に基づいて、部分画像それぞれをクラスタに分類させる。基準部分画像と、クラスタに分類される部分画像それぞれとの間の視覚的相関は、相関閾値を超える。また、例示的な命令は、機械に、クラスタに分類された部分画像に基づいてクラスタの指定文字を識別させる。また、例示的な命令は、機械に、指定文字を、クラスタに分類された部分画像それぞれに関連付けられた文書の画像中の位置に関連付けさせる。
[0024]図1は、本明細書に開示される教示を実装することができる例示的シナリオを示す。図の例では、小売店102が商品又はサービスを消費者104に販売する。購入の一部として、小売店102は消費者104にレシート106を提供する場合がある。例によっては、消費者104は市場調査パネルの消費者パネリストである。消費者パネリストは、パネル員の人口統計学的特徴に結びつけることができる市場データ(例えば購入された商品、購入の数量、価格、購入の場所等に関する)をパネル員から収集するために市場調査エンティティ108によって維持管理されるパネルに登録された消費者104である。すなわち、市場調査エンティティ108は、監視されること、及び/又は他の形で市場調査エンティティ108にフィードバックを提供することに同意する人(例えば消費者パネリスト104)を登録する。登録時に、市場調査エンティティ108は、登録する人(例えば消費者パネリスト104)から人口統計学的情報を受け取り、後に、そのパネリストに関連付けられた市場データと、種々の人口統計学的市場との間に相関付けを行えるようにする。人は、例えば電話による面接やオンライン調査に回答する等の適切な方式で、パネリストになることができる。それに加えて、又はそれに代えて、要求される任意の方法(例えば、無作為の選択、統計的な選択、電話による要請、インターネット広告、調査、ショッピングモールにおける広告、製品パッケージ等)を使用して人に連絡を取り、及び/又は参加させる場合もある。
[0025]例によっては、個人が消費者パネリストとして登録されると、市場調査エンティティ108は、レシートが処理及び分析されるデータ処理機能110でレシート(例えばレシート106)のコピーを収集することにより、その消費者パネリストの購買行動を追跡及び/又は監視する。例によっては、パネリスト104は、レシート106の画像112を撮影して、その画像を市場調査エンティティ108のデータ処理機能110に転送するように要求される。画像112は、任意の適切な手段を使用して撮影し、データ処理機能110に転送することができる。例えば、パネリスト104は、手持ち型デバイス(例えばタブレットやスマートフォン等)を使用してレシート106の写真を撮り、得られた画像112をデータ処理機能110に(例えばワイヤレスセルラーネットワークを通じて)送信することができる。レシートの写真を撮ることは消費者パネリスト104にとっては簡便である可能性があるが、消費者パネリスト104によって撮影された画像112は、例えば、レシートがカメラの視野に対して正しい向きになっていない(例えば、図の例に示すように、画像112中のレシート106が画像112に対して向きが合っていない)、照明が十分でない、カメラの焦点が合っていない等の理由で品質が低い可能性があるため、後に行われるテキスト抽出で問題を呈する可能性がある。そのような状況では、OCR技術の精度率は、許容できる精度を達成するために人間の点検者を使用する必要が高まるような精度率になる可能性がある。他の例では、パネリスト104がスキャナを使用してレシート106を読み取り、得られた画像112をデータ処理機能110に(例えばインターネットを通じて)送信する。他の例では、オンラインで購入が行われ、レシート106が電子的に生成される場合がある(例えば電子メールを介してパネリスト104に送付される)。そのような例では、レシートの電子コピーをデータ処理機能110に転送することができる。
[0026]図の例には1つのみのレシート106を示すが、パネリスト104は任意数のレシートを撮影し、それをデータ処理機能110に転送することができる。例によっては、同じ小売店102のレシートが複数ある場合もある。他の例では、パネリスト104は、複数の異なる小売店から購入し、したがってそれらの小売店のレシートのコピーをデータ処理機能110に提供することができる。さらに、図1には1人のみのパネリスト104を示すが、例によっては、複数の消費者がパネリストとして登録し、購入したそれぞれの小売店から受け取ったレシートを提供する場合もある。したがって、例によっては、データ処理機能110は、1人又は複数の消費者パネリストから提供された、1つ又は複数の小売店を発行元とするレシートの画像を複数受け取る場合がある。
[0027]それに加えて、又はそれに代えて、図の例に示すように、小売店102は、消費者がパネリストであるかどうかに関係なく、消費者のレシートのコピー又は画像114を直接データ処理機能110に提供する場合もある。すなわち、レシート画像114は、パネリスト104(及び/又は他のパネリスト)によって開始された取引と、パネリストでない他の消費者によって開始された取引の両方に対応する可能性がある。したがって、例によっては、データ処理機能110は、特定の小売店102からレシート画像の多量のバッチを分析と処理のために受け取る可能性がある。言うまでもなく、事例によっては、小売店102は電子形態のレシート情報を利用できることもあり、その結果テキストの抽出が不要になる。
[0028]例によっては、レシート画像がパネリストから受け取られる場合(例えばレシート画像112)でも、小売店102から受け取られる場合(例えばレシート画像114)でも、またその両方の場合でも、データ処理機能110は、レシート画像112、114にある個々の文字に対応する部分画像をクラスタに分類し、クラスタごとに指定文字を識別し、対応するクラスタにあるすべての部分画像に指定文字を適用することに基づいて、同じようにレシートを分析する。データ処理機能110は一度に1つのレシート画像を処理することができるが、例によっては、レシート画像は、2枚以上のレシートからなるバッチで分析して、大量処理の利益を活用する。例えば、1バッチ当たりのレシート数が多いほど、任意のクラスタにある部分画像の数は多くなるが、そのバッチ全体から生成されるクラスタの総数は、バッチにあるレシートの数に関係なく、ほぼ同じままである可能性が高い。そのため、バッチに識別すべき指定文字の総数は、バッチの大きさに関係なく、ほぼ一定している可能性がある。
[0029]分析する特定のバッチに含まれるレシートが多いほど、個々のレシートに固有の印刷エラー及び/又は正常に印刷されたテキストからの他の逸脱(例えば偶発的なインクの染み)があり、その結果、バッチ中のすべての他の文字と視覚的に異なった文字が生成される可能性がある。そのため、例によっては、大きいバッチに含まれるクラスタの総数は、小さいバッチよりも若干多くなる可能性がある。しかし、そのような逸脱から生じる付加的なクラスタは、(大きいバッチに含まれる)他のレシートにあるすべての文字を他のレシートと同時に識別することで得られる効率と比べれば、比較的少ない。
[0030]より重要な点として、バッチに含まれる複数のレシートが、異なるフォントを使用する異なる種類のプリンタで印刷された場合には、ある種類のレシート(例えば第1のフォントを使用して第1の種類のプリンタで印刷されたレシート)にある文字の多くが、別の種類のレシート(例えば第2のフォントを使用して第2の種類のプリンタで印刷されたレシート)にある文字と視覚的に似ていない可能性が比較的高くなる。そのようなシナリオでは、各種類のレシートが、もう一方の種類のレシートの文字に対応しない独自のクラスタの組を生じさせる可能性があり、その結果、レシートをまとめて1つのバッチにしても、各種類のレシートのバッチを個別に分析する場合を上回る著しい効率は得られない。したがって、例によっては、プリンタの種類及び/又はレシートで使用されているフォントに基づいて、異なるレシートは異なるバッチに編成する。例によっては、特定の事業体は、すべての顧客のレシートを生成する際に同じ種類のPOSプリンタを使用する可能性が高いと想定して、レシートの発行元である事業体(例えばレシート106を発行する小売店102)に基づいて、レシートのバッチを分析する。しかし、他の例では、データ処理機能110は、発行元を区別せずに(例えばパネリスト104が訪れたすべての小売店で得た何枚かのレシートを提供する場合)、異なる発行元からの様々なレシートを1つのバッチで分析する場合もある。データ処理機能を実装する例示的な方式については、下記で図2との関連でさらに詳細に開示する。図1にはレシート画像112、114のテキスト抽出を示すが、本明細書に開示される教示は、任意種類のデジタル的に画像化されたテキストのテキストを抽出する(例えば符号化する)ために好適に適合することができる。
[0031]図2は、図1の例示的なデータ処理機能110の例示的実装のブロック図である。例示的なデータ処理機能110は、例示的な通信インターフェース202、例示的なバッチ指定器204、例示的な画像分析器206、例示的な文字識別器208、例示的なユーザインターフェース210、例示的な符号化テキスト生成器212、及び例示的な文字識別データベース214を備えている。
[0032]本明細書に開示される教示を実装して任意種類の画像化されたテキストを抽出することができるが、説明のために、図2は、上記で図1との関連で説明したように消費者パネリスト及び/又は小売店から受け取られたレシートにテキスト抽出を行う文脈で説明する。そのため、図2の例では、データ処理機能110は、消費者パネリスト104及び/又は小売店102と通信するための例示的な通信インターフェース202を備える。例によっては、通信インターフェース202は、消費者パネリスト104及び/又は小売店102からレシートの画像(例えば画像112、114)を受信する。さらに、例によっては、通信インターフェース202は、以前に収集されたレシートに関して(例えば送付されたレシート画像114から処理されたマーケティングデータについての小売店への報告)、並びに/又は、今後収集されるレシートに関して(例えばレシート画像を撮影及び/若しくは転送することを要求する命令)、パネリスト及び/又は小売店にフィードバック及び/又は命令を送信することができる。
[0033]図2の例では、データ処理機能110は、通信インターフェース202で受信されたレシートをバッチ分析のために振り分ける適切なバッチを指定する例示的なバッチ指定器204を備える。例によっては、小売店102及び/又はパネリスト104からのレシート画像112、114の1回の送信が、1つの独立したバッチに指定される。他の例では、ある期間にわたって受信されたレシートを集めて1つのバッチにしてから分析する。他の例では、バッチ指定器204は、レシート画像112、114に対応する大元の発行元(例えば各レシートを発行する小売店)を識別し、異なる発行元からのレシートは異なるバッチに入れる。例によっては、バッチ指定器204は、レシート画像112、114の提供元である小売店102及び/又はパネリスト104からの入力に基づいて、大元の発行元を識別する。他の例では、バッチ指定器204は、レシート画像の分析(例えばレシートにあるロゴ及び/又は商標の検出)に基づいて、大元の発行元を識別する。
[0034]図2の例では、データ処理機能110は、分析対象のレシート画像112、114にある各文字に対応する局所的な部分画像を識別する、又は切り出す例示的な画像分析器206を備える。レシート画像112、114等の画像化された文書中の個々の文字を切り離すプロセスを、本明細書では分割(segmentation)と呼ぶ。いくつかの知られた分割技術がある。一例として、画像分析器206はレシート画像の各画素を分析して、テキストの背景に相当する、最も多く見られるグレーレベル(画像がグレースケールであると想定する)を識別する。そのような例によっては、画像分析器206は次いで、最も多く見られるグレーレベルの指定範囲内にある値を持つすべての画素を「0」の値(白色に相当する)に設定し、すべての他の画素を「1」の値(黒に相当する)に設定することにより、画像を2値の白黒画像に変換し、黒の画素が文字に相当する。そのような例では、画像分析器206は、flood fillアルゴリズムを使用して、白黒画像中のつながった構成部分各々を見つける。例によっては、個々の文字は白い画素によって隣接する文字から隔てられていると想定して、1つ1つのつながった構成部分を個別の文字として扱う。画像分析器206は、そのような構成部分それぞれの境界を算出して、識別された構成部分で表される文字の境界を求める。例によっては、構成部分の境界が隣接する構成部分の境界よりも小さい場合、及び/又は隣接する構成部分の境界と位置が一致しない場合は、その境界で囲まれた小さいエリアは、1つの文字の異なる部分(例えば小文字の「i」の点と棒や、印刷不良部分で分断された文字の2つの部分)に対応すると識別し、それらを一緒に分類して、完全な文字に対応する境界を形成することができる。例によっては、構成部分(特定の文字に相当する)の境界を算出することは、構成部分の大きさと、白黒画像中での構成部分の位置の両方を求めることを含む。そのようにして、各文字の位置が指定されるため、文字が一旦識別されると、レシート画像中の該当する位置に指定文字を適用することができる。そして、計算された各構成部分の境界を元のレシート画像112、114に(同じ大きさで、同じ位置に)適用して、各レシート画像にある各文字の部分画像を切り出す。言うまでもなく、画像分析器206は、上記の例に加えて、又はそれに代えて他の適切な分割技術を使用してレシート画像112、114の各文字に対応する部分画像を切り出すことができる。
[0035]レシート画像112、114を分割して切り出された部分画像にすることに加えて、例によっては、画像分析器206は、部分画像同士の視覚的な比較の分析に基づいて、部分画像をクラスタに分類する。例によっては、画像分析器206は、2つの部分画像間の視覚的相関が閾値を超える時に、その2つの異なる部分画像を共通のクラスタに分類する。例によっては、画像分析器206は、2つの部分画像のうち第1の部分画像を基準部分画像として扱い、第2の部分画像を第1の部分画像と比較することにより、2つの部分画像間の視覚的相関を計算する。2つの部分画像間の視覚的相関を計算する例示的なプロセスについて、図3〜図5との関連で説明する。
[0036]図3の例では、第1の部分画像302(数字の「4」に対応する)が基準部分画像であり、それを第2の部分画像304(同じく数字の「4」に対応する)と比較する。説明のために、部分画像302、304の文字は輪郭だけで表している。しかし、大半の文字は、通例、印刷された時には塗りつぶされている。実際のレシートからとった実際の文字の例示的な部分画像を図6に示す。図3の例では、基準部分画像302の数字の「4」は、長方形の境界306で示されるように縦向きであるが、下部の隅308が欠落している。例によっては、欠落した隅308は、数字の「4」のその部分が印刷不良であることに起因する可能性がある。それに対して、第2の画像304の数字の「4」は完全に印刷されているが、境界310の形状が長方形でないことで示されるように、見た目が歪んでいる。例によっては、第2の部分画像304の数字の「4」の変則的な形状は、第2の部分画像304が取得されたレシートの撮影プロセスに起因する可能性がある。例えば、レシートは、レシートの画像を撮影するカメラの視野に対して斜めに置かれていた、並びに/又は、撮影時にレシートが折りたたまれていたため、折り目ができていたため、及び/若しくは皺ができていたために、文字のうち一部が歪んでしまった可能性がある。
[0037]例によっては、図3に示す2つの部分画像を比較するために、画像分析器206はまず、図4に示すように、第2の部分画像304を曲げるか、変形させて変形部分画像402にする。例によっては、変形部分画像402は、第1の部分画像302(すなわち、第2の部分画像が比較される基準部分画像)に概ね対応する形状又は空間的向きを有する。部分画像中の文字(数字の「4」)がまだ識別されていないため、例によっては、変形は、各部分画像中の特定の内容ではなく、部分画像302、304の境界306、310の分析に基づく。
[0038]第2の部分画像302が変形部分画像402に変形されると、例示的な画像分析器206は、変形部分画像402の周囲に、指定数の画素からなるマージン404を追加する。マージン404は、変形部分画像402と基準画像302との比較を容易にするためのいくらかのかさ上げ又はゆとりを提供する。その理由は、各部分画像302、304中の文字は、各自の境界306、310に対してわずかに異なる位置にある可能性があるためである。例によっては、画像分析器206は、マージン404で定義されるエリア内における変形部分画像402に対する基準部分画像302の複数の位置それぞれで、基準部分画像302と変形画像402との間の類似度を示す相関値を計算する。例えば、図4に示すように、第1の比較408では、基準部分画像302(点線で表される)はマージン404の左上の隅に位置するのに対して、第2の比較410では、基準部分画像302は、マージン404の右下の隅に位置している。
[0039]例によっては、画像分析器206は、画素単位の画像の比較に基づいて、部分画像302、402の相対位置ごとに相関値を計算する。例によっては、相関値は0と1の間であり、1は、部分画像同士が完全に相関している(すなわち部分画像が全く同じで、正確に位置が一致する)ことを意味する。図の例では、部分画像302、402は、マージン404で定義される範囲内の各相対位置(例えば、2つの画像を一度に1画素又は複数画素ずつ互いに対してずらす)で比較される。例によっては、各相対位置で計算された相関値を比較し、最も高い相関値を、第1の部分画像302(すなわち基準部分画像)と、第2の部分画像304(変形部分画像402が生成される元になった部分画像)との間の視覚的相関を表す値として選択する。図の例から理解できるように、第1の比較408では基準部分画像302の数字の「4」は、変形部分画像402の数字の「4」よりも高い位置に、且つその左側にあるのに対して、第2の比較410では、基準部分画像302の数字の「4」は、変形部分画像402の数字の「4」よりも低い位置に、且つその右側にある。そのため、第1の比較と第2の比較408、410それぞれの相関値は、基準部分画像302の数字の「4」が、変形部分画像402の数字の「4」の位置とより一致している場合(例えば図の2つの両端の間のどこか)に相当する相関値よりも小さくなる。
[0040]マージン404は、変形部分画像402の周囲に設けて、基準部分画像302と変形部分画像402のそれぞれ異なる相対位置が、2つの画像間で可能な最も高い相関値に対応する、位置が最も一致する位置を確実に囲むようにする。例えば、図5に示すように、マージン404がないと、基準部分画像302は変形部分画像402の左上の隅に位置するものの、基準部分画像302の数字の「4」は、変形部分画像402の数字の「4」ほど高い位置に置くことも、またそれと同じほど左に置くこともできない。したがって、マージン404がないと、2つの部分画像302、402間の位置が最も一致する位置が比較されず、各画像の数字の「4」がほぼ一致する時の相関値よりも低い相関値が、第1及び第2の部分画像302、304間の視覚的相関の値として割り当てられることになる。
[0041]上記のように、例によっては、画像分析器206は、2つの部分画像の間の視覚的相関(上記のように計算される最大の相関値に基づいて求められる)に基づいて、2つの部分画像が同じクラスタに属するのに十分に相関しているかどうかを判定する。例えば、2つの部分画像は、それらの視覚的相関が相関閾値を超える時に同じクラスタに分類される。相関閾値の値は任意の適切な値とすることができる(例えば、0.8、0.85、0.9等)。図3〜図5に示す例では、2つの部分画像にわずかな差異があるので、第1の部分画像302と第2の部分画像304との間の視覚的相関は1未満になる。しかし、同じクラスタに分類するのに十分なだけ見た目が似ている可能性がある(例えば視覚的相関が相関閾値を超える)。それに対して、第2の部分画像304が数字の「3」に対応する場合には、計算される最大の相関値が相関閾値を超える可能性は低いため、2つの部分画像が同じクラスタに分類される可能性は非常に低い。この点をさらに説明するために、実際の部分画像601、602、603、604、605、606、607を図6に示す。0.85の閾値の値に基づくと、最初の5つの部分画像601〜605(すべて数字の「8」に対応する)は、共通のクラスタ608に分類するのに十分に見た目が似ている。それに対して、6番目の部分画像606(数字の「3」に対応する)と7番目の部分画像607(Bの文字に対応する)は、クラスタ608の部分画像601〜605と十分に相関しないため、クラスタ608から除外される。
[0042]例によっては、異なるクラスタを識別するために、画像分析器206は、分析対象の画像化された文書(例えば図1のレシート画像112、114)の中で切り出された各部分画像を比較する。例によっては、重複を回避するために、追加的な各部分画像は、すでに識別された、各クラスタの1つの基準部分画像だけと比較される。例によっては、クラスタの基準部分画像は、クラスタに識別された最初の部分画像である。例えば、図6の部分画像601〜607が左から右へと順番に分析される場合には、1番目の部分画像601が自動的に第1のクラスタ(例えばクラスタ608)の基準部分画像に指定される。そのような例では、画像分析器206はその後、2番目の部分画像602を1番目の部分画像601と比較して、2番目の部分画像が1番目の部分画像603と同じクラスタ608に属すると判定する。例によっては、3番目の部分画像603は、1番目及び2番目の部分画像601、602両方と比較する場合もある。しかし、例によっては、3番目の部分画像は、クラスタ608に指定された基準部分画像である1番目の部分画像601と比較するが、クラスタに含まれる2番目の部分画像602等の他の部分画像とは比較しない。同じ手法を4番目及び5番目の部分画像604、605にも適用することができる。画像分析器206が6番目の部分画像606を1番目の部分画像601と比較し、6番目の部分画像606が第1のクラスタ608に属さないと判定すると、画像分析器206は、6番目の部分画像606を対応する基準部分画像とする新しいクラスタを作成することができる。そのような例では、7番目の部分画像607は、1番目の部分画像601(第1のクラスタ608の基準部分画像)と比較され、6番目の部分画像606(第2のクラスタの基準部分画像)と比較され、そしてそれら最初の2つのクラスタと視覚的な差異があるために、新しいクラスタの基準部分画像に指定される。
[0043]例によっては、クラスタの基準部分画像は、すでにクラスタに分類されている部分画像の移動平均として生成される、部分画像の合成に対応する。そのような例では、図6の最初の2つの部分画像601、602が第1のクラスタに分類された後に、2つの部分画像601、602を平均して合成部分画像を生成し、3番目の部分画像603はその合成部分画像と比較される。その後、合成部分画像は、3番目の部分画像603の画素値に基づいて更新され、その後4番目の部分画像604等と比較される。
[0044]レシート画像112、114を切り出された部分画像に分割し、その部分画像をそれぞれのクラスタに分類することに加えて、例によっては、画像分析器206は、文字が識別され、クラスタに指定された後に、そのクラスタにある部分画像を分析する。下記でより詳しく説明するように、例によっては、部分画像がクラスタに分類された後に、それらの部分画像によって表される文字を識別し、そのクラスタにあるすべての部分画像についての指定文字とする。このクラスタ規模の指定は、あるクラスタに分類された部分画像はすべて同じ文字に対応するという前提に基づく。しかし、文字の中には、視覚的な差異が比較的小さいことが分かっている文字の組があり、その結果、それらの異なる文字が同じクラスタに分類される可能性がある。例えば、大文字の「P」と大文字の「R」は、文字の右下の部分が、「R」は脚部分を含むのに対して、「P」には脚部分がない点を除いては、見た目が似ている。そのために、そのような例では、クラスタの指定文字が大文字の「P」又は大文字の「R」のどちらかに対応すると識別された場合、画像分析器206は、そのクラスタにある各部分画像は、右下の部分に特に着目して分析することにより、脚部分が存在するかどうか(「R」に対応する)を判定し、その指定文字がその特定の部分画像に対して正しいことを確定するか、又はその特定の部分画像の文字の指定を適宜修正することができる。
[0045]事例によっては、小さな視覚的差異は、文字自体の性質から生じることがある。例えば、視覚的差異が比較的小さい文字の組には、文字「R」と「P」、数字の「6」と文字「G」、数字の「0」と文字「O」、数字の「1」と文字「l」等がある。他のシナリオでは、小さな視覚的差異は、部分的に印刷された文字から生じることがある。例えば、一方の文字が部分的に印刷された場合に視覚的差異が比較的小さくなる文字の組には、数字の「8」と「3」、文字「F」と「E」、文字「E」と「L」、数字の「7」とフォワードスラッシュ(/)記号がある。さらに、例によっては、文字の組の中には、文字の一方に見た目の欠陥があることから生じる、比較的小さい視覚的差異を持つものがある。例えば、欠陥のあるフォワードスラッシュ(/)記号は、文字「X」のように見えることがある。1つのクラスタに分類される可能性のある他の文字の組を識別し、適切に分析して、特定の部分画像の文字の指定が間違っている可能性を低減することができる。例によっては、そのような文字に対応するクラスタは、上記の「R/P」の例で説明したように、部分画像の特定の領域に着目することによって分析する。それに加えて、又はそれに代えて、例によっては、画像分析器206は、クラスタの個々の部分画像を再度比較して部分画像間の視覚的相関を判定するが、その際には、部分画像を最初にクラスタに分類した時よりも高い相関閾値を適用することもできる。
[0046]図2の例では、データ処理機能110は、画像分析器206によって生成された部分画像の各クラスタの指定文字を識別する例示的な文字識別器208を備えている。例によっては、クラスタにある部分画像の数に関係なく、クラスタ全体に1つの指定文字が指定される。そのようにして、1回の文字の識別を、多くの異なる部分画像に対応する文字の多数のインスタンスに反映及び/又は適用することにより、画像化された文書(例えばレシート画像112、114)が機械符号化される効率を大幅に上げることができる。
[0047]例によっては、文字識別器208は、クラスタに対応する1つの代表部分画像に基づいて、そのクラスタの指定文字を識別する。例によっては、代表部分画像は、他の部分画像が同じクラスタに属することを判定する際に画像分析器206によってそれらの部分画像が比較された基準部分画像に相当する。言うまでもなく、クラスタ中のすべての部分画像は視覚的に似ているので、クラスタ中のどの部分画像を代表部分画像として使用してもよい。例によっては、代表部分画像は、クラスタ中の部分画像の一部又はすべての合成に相当する。すなわち、例によっては、指定文字を識別する前に、文字識別器208が、合成に含まれる各部分画像の中の対応する各画素位置の画素値を平均することによって、部分画像の合成を生成する。例によっては、対応する画素位置は、最大の相関値が識別された部分画像の相対位置に対応する部分画像同士を位置合わせすることに基づく。状況によっては、そのようにして生成された合成部分画像は、クラスタの特定の部分画像に出現する可能性のあるノイズ及び/又はぼやけを低減し、その結果、合成部分画像が明瞭になり、したがってその部分画像で表される文字を分析及び/又は認識しやすくなる。例によっては、画像分析器206は、上記のように部分画像をクラスタに分類しながら合成部分画像を生成することもできる。例えば、クラスタに追加的な部分画像が識別されるたびに、新たに識別された部分画像に基づいて合成部分画像が更新される。そのような例では、更新された合成部分画像を、クラスタへの分類について分析される後続の部分画像と比較する基準部分画像として使用することもある。
[0048]例によっては、文字識別器208は、ユーザインターフェース210(例えば任意種のコンピュータ端末216と通信状態にある)を介してフィードバックを人間の点検者に促すことによって、クラスタの指定文字を識別する。すなわち、例によっては、文字識別器208は、クラスタの代表部分画像を端末216で人間の点検者に表示し、部分画像で表された文字の識別を確定するように人間の点検者を促す。したがって、例によっては、文字識別器208は、光学文字認識(OCR)エンジンを使用せずに指定文字を識別する。そのような例では、クラスタの指定文字は、識別が正確であるか、及び/又はそのクラスタが1つのみの文字に限定されるかを検証するための冗長性として人間の点検者に提供される2つ以上の代表部分画像に基づいて識別される。すなわち、例によっては、代表部分画像に加えて、クラスタにある部分画像の複数を点検者に表示することもできる。それに加えて、又はそれに代えて、例によっては、例えば部分画像がそこから切り出されたレシート画像112、114(又はその一部)を表示することにより、クラスタにある部分画像の1つ又は複数を、状況と併せて点検者に表示することもできる。そのような例では、部分画像を識別する、又は範囲を識別(例えば強調表示や、境界線で識別する等)して、点検者が画像中で部分画像の位置を識別するのを支援することもできる。例によっては、端末216は、データ処理機能110と同じ位置にある場合がある。他の例では、端末216は、データ処理機能110から遠隔にある場合もある。
[0049]文字識別器208は、OCRを使用せずに(例えば純粋に人間の点検者からのフィードバックに基づいて)指定文字を識別することができるが、例によっては、文字識別器208は、代表部分画像のOCR分析に基づいて指定文字を識別する。したがって、例によっては、文字識別器208はOCRエンジンを具備及び/又は実装する。そのような例では、例示的な文字識別器208は、OCRエンジンで判定された指定文字の信頼性を判定する。すなわち、文字識別器208は、OCRエンジンから提供された文字の指定が信頼できるかどうかを判定する。例によっては、指定文字が信頼できる場合は、それ以上分析を行わずに、指定文字がクラスタの各部分画像に自動的に割り当てられる。しかし、例によっては、指定文字が信頼できない場合(例えば指定に疑問の余地がある場合)、文字識別器208は、人間の点検者に指定の確認を要求することができる。例えば、文字識別器208は、OCRエンジンによって分析された代表部分画像を、OCRエンジンで識別された指定文字と共に、ユーザインターフェース210を介して端末216で人間の点検者に提供し、その指定を確定する(例えばキーボードのエンターキーやスペースバーを押す)か、又は指定を修正する(例えば代表部分画像に対応する該当キーを押す)ように点検者に要求することができる。例によっては、確認を求める代わりに、文字識別器208は、代表部分画像を提供し、OCRエンジンで判定された指定文字は提供せずに、文字を識別する(例えば該当するキーを押す)ように人間の点検者に要求することもできる。例によっては、確認は、比較的信頼性の高い(しかし自動的に受け入れるには信頼性が十分でない)指定文字に要求し、一方、点検者による直接の識別は、比較的信頼性が低い文字の指定に要求することができる。例によっては、特定のクラスタについて2つ以上の代表部分画像を冗長性のためにOCRを使用して分析して、指定文字の識別が正確であるかどうかを検証し、指定文字の信頼性を向上させるか、及び/又はそのクラスタが1つのみの文字に限定されることを検証することができる。
[0050]例によっては、文字識別器208は、OCRエンジンの1つ又は複数の出力が対応する閾値を超えるかどうかに基づいて、指定文字が信頼できるかどうかを判定する。例えば、OCRエンジンは、識別された文字ごとに、(1)その文字の指定、及び(2)その指定の信頼度値、の2つの出力を提供することができる。例によっては、信頼度値は0と1の間の数字であり、1が100%の信頼度を表す。例によっては、文字の指定は、信頼度値が信頼度の閾値を上回る時に信頼することができる。信頼度の閾値は任意の適切な値(例えば0.8、0.85、0.9等)とすることができる。
[0051]例によっては、OCRエンジンは、識別された各文字の位置情報を出力するように問い合わせられる場合がある。例によっては、位置情報は、その文字が識別された画像中の指定文字の境界の位置を示す。すなわち、OCRエンジンによって出力される位置情報は、境界が指定文字に対して定義される点を除いて、分割時に求められる部分画像の境界の位置に相当する。指定文字が、分析対象の部分画像で表される実際の文字に対応する場合、OCRエンジンから出力された位置情報は、部分画像の境界に近いはずである。しかし、OCRエンジンが間違った文字を指定していた場合は、OCRエンジンから出力される位置情報と部分画像の境界との間には多少の差異がある可能性がある。したがって、例によっては、文字識別器208は、OCRエンジンから出力された位置情報と部分画像の境界との間の差異の量を示す位置誤差値を計算する。
[0052]例えば、図7に、印刷不良(図の例では薄い色の網掛け)部分704がある数字の「4」に対応する例示的な部分画像702を示す。部分画像702の境界は、対応する位置ラベル(0,0)、(m,0)、(0,n)、及び(m,n)を持つ隅706、708、710、712によって識別される。図の例では、OCRエンジンは、部分画像702の指定文字を誤って数字の「1」と識別している。指定文字は、対応する位置ラベル(x0,y0)、(x1,y1)、(x2,y2)、及び(x3,y3)を持つ隅716、718、720、722で識別される指定文字境界714を有する。例によっては、文字識別器208は、指定文字に対応する部分画像中のエリア(例えば指定文字境界714で定義されるエリア)の位置と、部分画像の境界(例えば部分画像702の境界)との間の合計差に基づいて、位置誤差値を計算する。より具体的には、例によっては、文字識別器208は、縦と横両方向の、部分画像702の隅706、708、710、712それぞれと、それに対応する指定文字境界714の隅716、718、720、722との間の位置の合計差に基づいて、位置誤差値を計算する。図7を参照して数学的に表現すると、位置誤差値は、|0−x0|+|0−y0|+|m−x1|+|0−y1|+|m−x2|+|n−y2|+|0−x3|+|n−y3|、と計算することができる。最大の位置誤差は、部分画像702の幅(m)と高さ(n)との和の2倍に等しい。したがって、例によっては、上記計算の隅の位置の差を最大位置誤差で割ることによって、位置誤差値を0と1の間に正規化する。例によっては、文字の指定は、位置誤差値が位置誤差閾値を下回る時に信頼できると考える。位置誤差閾値は、任意の適切な値(位置誤差値を0と1の間に正規化する場合には、例えば0.1、0.15、0.2等)とすることができる。例によっては、各部分画像の境界は、固定された幅(m)及び固定された高さ(y)で定義され、位置誤差閾値は、幅と高さの和の2倍よりも小さい任意の値に定義することができ、計算結果を0〜1の間に正規化する必要がなくなる。
[0053]それに加えて、又はそれに代えて、文字識別器208は、指定文字境界714よりも外側にあるが部分画像702の中にある前景画素の存在に基づいて、指定文字の信頼性を判定する。例によっては、前景画素は、背景ではなく、部分画像内の文字の印刷部分に関連付けられた画素に対応する閾値を満たす画素値を持つ画素として識別される。例えば、印刷されたテキストが、明るい色(例えば白)の背景の上にある暗い色(例えば黒)である場合、前景画素は、暗い色の画素を示す閾値を満たす画素値を持つ画素に相当する。逆に、印刷されたテキストが、暗い色(例えば黒)の背景の上にある明るい色(例えば白)である場合には、前景画素は、明るい色の画素を示す閾値を満たす画素値を持つ画素に相当する。具体例として、図7は、印刷されたテキストの暗い色(例えば黒)と、明るい色の背景(例えば白)を示している。図7の部分画像702の中の数字の「4」の印刷不良部分704が少なくとも一部分は印刷されていると仮定すると、印刷不良部分704のエリア724は、指定文字境界714の外側にある前景画素(例えば暗い色の画素)を含むことになる。指定文字に対応するエリア(すなわち指定文字境界714で定義されるエリア)よりも外側にある前景画素は、そのエリアは、その部分画像で表される文字全体は含まない可能性があることを示唆する。したがって、そのようなシナリオでは、文字識別器208は指定文字が信頼できないと判定することができる。言うまでもなく、例によっては、実際に実際の文字に対応しない、指定文字境界714の外側にある迷い画素が存在する可能性もある。そのような例では、文字識別器208は、指定文字境界714の外側にある前景画素の量(例えば、絶対数及び/又は指定文字境界714の外側にあるエリア全体に対する比)が閾値を超える時に、指定文字が信頼できないと判定することもできる。
[0054]例によっては、文字識別器208は、(1)信頼度値が信頼度の閾値を超える時、(2)位置誤差値が位置誤差の閾値未満である時、及び/又は(3)指定文字に対応するエリアの外側にある前景画素の量が画素閾値未満である時、の1つ又は複数の時に、指定文字が信頼できると判定することができる。例によっては、文字識別器208が指定文字が信頼できると判定するには、上記条件の2つ以上が満たされなければならない。例によっては、指定文字が信頼できるためには、上記の条件すべてが満たされなければならない。
[0055]例によっては、句読点(例えばカンマ、ピリオド、ダッシュ等)等の特定の文字は、部分画像(分析対象の特定のフォントに基づいて固定の高さ及び/又は幅に正規化される場合もある)の境界に関連付けられた空間の全体は満たさない。そのような例では、表される文字に対応するエリア(例えば図7に示す指定文字境界714)が、部分画像の境界よりもはるかに小さくなることがあり、その結果、正しい文字が識別されても位置誤差値が比較的高くなることがある。したがって、例によっては、信頼度値が適切な閾値を上回る時には、位置誤差値を、その指定文字に予想される位置誤差値と比較する。言うまでもなく、信頼度値が低ければ、指定文字は、位置誤差値に関係なく、信頼できないと判断することができる。
[0056]図2の例では、データ処理機能110は、分析対象の画像化されたテキスト(例えば図1のレシート画像112、114)に対応する機械符号化テキストを生成する例示的な符号化テキスト生成器212を備えている。例によっては、符号化テキスト生成器212は、特定のクラスタの指定文字(文字識別器208によって判定された)を、そのクラスタに含まれるそれぞれの部分画像(画像分析器206によって判定された)に対応する画像化テキスト中の位置に関連付ける。そのようにすると、文字の各インスタンスの見た目が共通のクラスタに分類するのに十分に似ている限り、1つの指定文字の識別(例えば人間によって点検された代表部分画像、及び/又はOCRエンジンで分析された代表部分画像に基づく)を、画像化された文書中の当該文字の複数のインスタンスに適用することができる。クラスタが大きい場合(複数のレシートを分析する場合に生じる可能性がある)には、人間の点検者にとって時間の節減が大きくなる可能性がある。さらに、指定文字のOCR識別が信頼できる場合には、人間の点検者は全く必要でない可能性もある。
[0057]例によっては、符号化テキスト生成器212は、抽出されたテキストに状況に応じた修正を加える。すなわち、例によっては、各クラスタの指定文字がすべて、画像化された文書(例えばレシート画像112、114)の対応する部分画像に関連付けられて、その結果、テキストがすべて符号化されると、例示的な符号化テキスト生成器212は、状況に合わせてテキストを分析して誤りを識別する。例えば、特定の文字列が(例えば辞書の参照に基づいて)認識可能な単語を形成していない場合、符号化テキスト生成器212は、個々の文字を分析して、それが誤って識別されている可能性があるか、及び変化させて認識可能な単語を形成することができるかどうかを判定することができる。同様に、文字列がすべての文字と1つの非文字(例えば記号の数)を含んでいる場合、符号化テキスト生成器212は、非文字の記号を分析して、認識可能な単語を形成するにはそれが文字であるべきかどうかを判定することができる。別の例として、文字列「10X14/2015」は、最初のスラッシュ記号の(/)の代わりに文字「X」となっている点以外は、ほぼ日付の形式になっている。そのような例では、符号化テキスト生成器212は、文字列の形式を識別し、誤って識別された文字「X」を修正することができる。そのようにして画像化された文書を状況に合わせて分析すると、符号化テキスト生成器212がレシート画像112、114に対応する完全な機械符号化テキスト文書を生成する前に、最終的な誤りを検出して修正することができる。
[0058]図2の例では、データ処理機能110は、後に参照するためにそれぞれのクラスタの指定文字及び/又は代表部分画像を記憶する例示的な文字識別データベース214を備えている。これは、クラスタの指定文字が当初信頼できないと識別されて、人間の点検者が確定しなければならなかった場合、及び/又は正しい文字を指定しなければならなかった場合に特に好都合である。点検者が指定文字を検証した後、検証された指定文字とそれに関連付けられた代表部分画像は、文字識別データベース214に記憶することができる。そのため、後に、その指定文字に関連付けられたクラスタに対応する別の部分画像が発生した場合、新しい部分画像は指定文字に直接関連付けることができ、その特定の部分画像に関して点検者に再度検証を求めずに済む。したがって、部分画像のOCR分析の精度が時間と共に向上することができ、それによって、画像化された文書を手作業で点検する必要をさらに減らすことができる。
[0059]図1のデータ処理機能110を実装する例示的な方式を図2に示すが、図2に示す要素、プロセス、及び/又はデバイスの1つ又は複数は、組み合わせる、分割する、構成を変える、省略する、除去する、及び/又はその他の形で実装することもできる。さらに、例示的な通信インターフェース202、例示的なバッチ指定器204、例示的な画像分析器206、例示的な文字識別器208、例示的なユーザインターフェース210、例示的な符号化テキスト生成器212、例示的な文字識別データベース214、及び/又はより包括的には図1の例示的なデータ処理機能110は、ハードウェア、ソフトウェア、ファームウェア、並びに/又は、ハードウェア、ソフトウェア、及び/若しくはファームウェアの組み合わせによって実装することができる。したがって、例えば、例示的な通信インターフェース202、例示的なバッチ指定器204、例示的な画像分析器206、例示的な文字識別器208、例示的なユーザインターフェース210、例示的な符号化テキスト生成器212、例示的な文字識別データベース214、及び/又はより包括的には例示的なデータ処理機能110はいずれも、1つ又は複数のアナログ若しくはデジタル回路、論理回路、(1つ又は複数の)プログラム可能プロセッサ、(1つ又は複数の)特定用途集積回路(ASIC)、(1つ又は複数の)プログラム可能論理デバイス(PLD)、及び/又は(1つ又は複数の)利用者書き換え可能論理デバイス(FPLD)で実装することができる。本特許の装置クレーム又はシステムクレームが純粋にソフトウェア及び/又はファームウェアによる実装を包含すると解釈する場合、例示的な通信インターフェース202、例示的なバッチ指定器204、例示的な画像分析器206、例示的な文字識別器208、例示的なユーザインターフェース210、例示的な符号化テキスト生成器212、及び/又は例示的な文字識別データベース214の少なくとも1つは、ソフトウェア及び/又はファームウェアを記憶した、メモリ、デジタル多用途ディスク(DVD)、コンパクトディスク(CD)、Blu−ray(登録商標)ディスク等の有形のコンピュータ可読記憶装置又は記憶ディスクを含むものと明示的に定義する。さらに、図1の例示的なデータ処理機能110は、図2に示すものに加えて、又はそれに代えて、1つ又は複数の要素、プロセス、及び/若しくは機器を含むことができ、並びに/又は、図示される要素、プロセス、及び機器のいずれか若しくはすべてのうち2つ以上を含むことができる。
[0060]図1及び/又は図2の例示的なデータ処理機能110を実装する例示的な機械可読命令を表すフローチャートを図8〜図13に示す。この例では、機械可読命令は、下記で図14との関連で説明する例示的なプロセッサプラットフォーム1400に示されるプロセッサ1412等のプロセッサによって実行されるプログラムを含む。プログラムは、プロセッサ1412に関連付けられた、CD−ROM、フロッピー(登録商標)ディスク、ハードドライブ、デジタル多用途ディスク(DVD)、Blu−ray(登録商標)ディスク、又はメモリ等の有形のコンピュータ可読記憶媒体に記憶されたソフトウェアとして実現することができるが、プログラムの全体及び/又はその一部分は、代わりに、プロセッサ1412以外のデバイスで実行するか、及び/又は、ファームウェア若しくは専用ハードウェアとして実現することもできる。さらに、例示的なプログラムについては図8〜13に示すフローチャートを参照して説明するが、例示的なデータ処理機能110を実装する多くの他の方法を代わりに使用することができる。例えば、ブロックの実行順序を変えること、及び/又は、記載されるブロックの一部を変更、削除、若しくは組み合わせることができる。
[0061]上述のように、図8〜図13の例示的プロセスは、ハードディスクドライブ、フラッシュメモリ、読出し専用メモリ(ROM)、コンパクトディスク(CD)、デジタル多用途ディスク(DVD)、キャッシュ、ランダムアクセスメモリ(RAM)等の有形のコンピュータ可読記憶媒体、並びに/又は、情報が任意の時間にわたり記憶される(例えば長期間の記憶、恒久的な記憶、瞬時の記憶、一時的な緩衝のための記憶、及び/若しくは情報をキャッシュするための記憶)他の記憶装置若しくは記憶ディスクに記憶された、符号化命令(例えばコンピュータ可読命令及び/又は機械可読命令)を使用して実装することができる。本明細書で使用される用語「有形のコンピュータ可読記憶媒体」は、任意種類のコンピュータ可読記憶装置及び/又は記憶ディスクを含み、伝搬信号を除外し、伝送媒体を除外するものと明示的に定義される。本明細書で使用される場合、「有形のコンピュータ可読記憶媒体」と「有形の機械可読記憶媒体」は同義で使用される。それに加えて、又はそれに代えて、図8〜図13の例示的プロセスは、ハードディスクドライブ、フラッシュメモリ、読出し専用メモリ、コンパクトディスク、デジタル多用途ディスク、キャッシュ、ランダムアクセスメモリ等の非一時的なコンピュータ可読及び/又は機械可読媒体、並びに/又は、情報が任意の時間にわたり記憶される(例えば長期間の記憶、恒久的な記憶、瞬時の記憶、一時的な緩衝のための記憶、及び/若しくは情報をキャッシュするための記憶)他の記憶装置若しくは記憶ディスクに記憶された、符号化命令(例えばコンピュータ可読命令及び/又は機械可読命令)を使用して実装することもできる。本明細書で使用される用語「非一時的なコンピュータ可読媒体」は、任意種類のコンピュータ可読記憶装置及び/又は記憶ディスクを含み、伝搬信号を除外し、伝送媒体を除外するものと明示的に定義される。本明細書で使用される場合、「少なくとも」という表現が請求項のプリアンブルで移行語として使用される場合には、用語「を含む(comprising)」がオープンエンドであるのと同様にオープンエンドの意である。
[0062]フローチャートを詳細に参照すると、図8の例示的プログラムはブロック802で開始し、例示的な通信インターフェース202が、1つ又は複数のテキストベースの文書の画像(例えば図1のレシート画像112、114)を受け取る。ブロック804で、例示的なバッチ指定器204が、分析のためにバッチに含める画像を識別する。例によっては、受け取られたすべての画像が1つのバッチに含められる。他の例では、画像は、例えば、異なる発行元(例えばそれらのテキストベースの文書が作成された異なる小売店)に基づいて、別々のバッチに分けることができる。ブロック806で、例示的な画像分析器206が、画像を、個々の文字に対応する部分画像に分割する。ブロック808で、例示的な画像分析器206が、視覚的に似ている部分画像をクラスタに分類する。ブロック808の実装に関する追加的な詳細は、下記で図9との関連で述べる。
[0063]ブロック810で、例示的な文字識別器208が、クラスタの代表部分画像を選択する。例によっては、代表部分画像は、クラスタの部分画像の1つに相当する。例によっては、代表部分画像は、クラスタにある部分画像のうち複数の部分画像からなる合成部分画像に相当する。ブロック812で、例示的な文字識別器208が、クラスタの代表部分画像に基づいて、クラスタの指定文字を識別する。ブロック812の実装に関する追加的な詳細は、下記で図11との関連で述べる。ブロック814で、例示的な符号化テキスト生成器212が、指定文字を、それに対応する、1つ又は複数のテキストベース文書の画像中のその文字の位置それぞれに関連付ける。例によっては、指定文字が関連付けられる対応する位置は、そのクラスタに分類された各部分画像の、1つ又は複数の文書中での位置に対応する。
[0064]ブロック816で、例示的な符号化テキスト生成器212が、指定文字が、視覚的な差異が最小である文字の組に対応するかどうか、したがって、別の文字と間違えられている可能性が比較的高い文字であるかどうかを判定する。例示的な符号化テキスト生成器212が、指定文字が、視覚的な差異が最小の文字の組に対応すると判定した場合、制御はブロック818に進み、例示的な符号化テキスト生成器212が、クラスタにある各部分画像を分析して、各部分画像が割り当てられているクラスタを確定するか、又は修正する。その後制御はブロック820に進む。例示的な符号化テキスト生成器212が、指定文字が、視覚的な差異が最小の文字の組に対応しないと判定した場合(ブロック816)、制御は直接ブロック820に進む。
[0065]ブロック820で、例示的な符号化テキスト生成器212が、識別すべき文字がさらにあるかどうかを判定する。さらにある場合は、制御がブロック808に戻る。そうでない場合、制御はブロック822に進み、例示的な符号化テキスト生成器212が、抽出されたテキストに、状況に応じた修正を加える。ブロック824で、例示的な符号化テキスト生成器212が、1つ又は複数のテキストベース文書の画像に対応する完全な機械符号化テキスト文書を生成し、その後図8の例示的プログラムが終了する。
[0066]上述のように、図9は、視覚的に類似する部分画像をクラスタに分類する図8のブロック808を実装する例示的プログラムを説明する図である。例示的プログラムはブロック902で開始し、例示的な画像分析器206が、第1のクラスタに割り当てられた1番目の部分画像を基準画像として取得する。ブロック904で、例示的な画像分析器206が、まだクラスタに割り当てられていない別の部分画像を識別する。ブロック906で、例示的な画像分析器206が、識別された部分画像とそのクラスタの基準部分画像との視覚的相関を計算する。ブロック906の実装に関する追加的な詳細は、下記で図10との関連で述べる。
[0067]ブロック908で、例示的な画像分析器206が、視覚的相関が相関閾値を満たす(例えば相関閾値以上である)かどうかを判定する。満たさない場合、制御はブロック910に進み、例示的な画像分析器206が、検査する別の既存クラスタがあるかどうかを判定する。別の既存クラスタがある場合、制御はブロック906に戻って、識別された部分画像と、当該別の既存クラスタの基準部分画像との視覚的相関を計算する。例示的な画像分析器206が、別の既存クラスタがないと判定した場合(ブロック910)、制御はブロック912に進み、例示的な画像分析器206が、識別された部分画像を新しいクラスタに割り当て、その後制御は下記のブロック916に進む。そして、制御はブロック916に進み、例示的な画像分析器206が、これまでにクラスタに割り当てられていない別の部分画像があるかどうかを判定する。ある場合、制御はブロック904に戻って、別の識別された部分画像に処理を繰り返す。そうでない場合、図9の例示的プログラムは終了し、戻って図8の例示的プログラムを完了する。
[0068]ブロック908に戻り、例示的な画像分析器206が、視覚的相関が相関閾値を満たすと判定した場合は、制御はブロック914に進み、例示的な画像分析器206が、識別された部分画像を既存のクラスタに割り当てる。その後、制御はブロック916に進んで別の部分画像に処理を繰り返すか、又は終了して戻って図8の例示的プログラムを完了する。
[0069]上述のように、図10は、識別された部分画像と既存クラスタの基準部分画像との間の視覚的相関値を計算する図9のブロック906を実装する例示的プログラムを説明する図である。例示的プログラムはブロック1002で開始し、例示的な画像分析器206が、識別された部分画像を変形して、空間的に基準部分画像に対応させる。ブロック1004で、例示的な画像分析器206が、変形部分画像にマージンを付加する。ブロック1006で、例示的な画像分析器206が、第1の相対位置における部分画像同士の類似度を示す第1の相関値を計算する。ブロック1008で、例示的な画像分析器206が、それらの部分画像間の視覚的相関を第1の相関値に設定する。
[0070]ブロック1010で、例示的な画像分析器206が、それらの部分画像の別の相対位置についての別の相関値を計算する。ブロック1012で、例示的な画像分析器206が、最も新しく計算された相関値が視覚的相関より大きいかどうかを判定する。大きい場合は、制御がブロック1014に進み、例示的な画像分析器206が、部分画像間の視覚的相関を、最新の相関値として設定する。次いで制御はブロック1016に進み、例示的な画像分析器206が、それらの部分画像の別の相対位置があるかどうかを判定する。ある場合は制御がブロック1010に戻って、当該別の相対位置に処理を繰り返す。そうでない場合は、例示的な処理は終了し、戻って図9の例示的プログラムを完了する。ブロック1012に戻り、例示的な画像分析器206が、最も新しく計算された相関値が視覚的相関より大きくないと判定した場合は、制御は直接ブロック1016に進む。
[0071]上述のように、図11は、クラスタの代表部分画像に基づいてクラスタの指定文字を識別する図8のブロック812を実装する例示的プログラムを説明する図である。例示的プログラムはブロック1102で開始し、例示的な文字識別器208が、光学文字認識(OCR)エンジンを使用するかどうかを決定する。使用する場合は、制御がブロック1104に進み、例示的な文字識別器208が、クラスタの代表部分画像のOCR分析に基づいて、クラスタの指定文字を識別する。ブロック1106で、例示的な文字識別器208が、OCRの出力を分析して、指定文字の信頼性を判定する。ブロック1106の実装に関する追加的な詳細は、下記で図12との関連で述べる。
[0072]ブロック1108で、例示的な文字識別器208が、指定文字が信頼できるかどうかを判定する。信頼できる場合は、指定文字がそのクラスタに自動的に受け付けられるため、図11の例示的プログラムは終了し、戻って図8の例示的プログラムを完了する。しかし、例示的な文字識別器208が指定文字が信頼できないと判定した場合(ブロック1108)、制御はブロック1110に進む。ブロック1110で、例示的な文字識別器208は、代表部分画像が、保存されているクラスタ(例えば文字識別データベース214に記憶されている)に対応するかどうかを判定する。対応する場合は、制御がブロック1112に進み、例示的な文字識別器208が、指定文字が、保存されているクラスタの指定文字に対応すると識別し、その後図11の例示的プログラムは終了し、戻って図8の例示的プログラムを完了する。
[0073]ブロック1102に戻り、例示的な文字識別器208がOCRエンジンを使用しないと決定した場合、制御はブロック1114に進み、例示的な文字識別器208が、クラスタの指定文字を識別するユーザ入力を取得する。ブロック1114の実装に関する追加的な詳細は、下記で図13との関連で述べる。ブロック1116で、例示的な文字識別データベース214が、ユーザから入力されたクラスタの指定文字の識別を記憶し、その後図11の例示的プログラムは終了し、戻って図8の例示的プログラムを完了する。ブロック1110に戻り、例示的な文字識別器208が、代表部分画像が、保存されているクラスタに対応しないと判定した場合、制御はブロック1114に進んで、上記で概説したように進行する。
[0074]上述のように、図12は、OCRの出力を分析して指定文字の信頼性を判定する図11のブロック1106を実装する例示的プログラムを説明する図である。例示的プログラムはブロック1202で開始し、例示的な文字識別器208が指定文字の識別の信頼度値を取得する。ブロック1204で、例示的な文字識別器208が、信頼度値が信頼度の閾値を満たす(例えば閾値以上である)かどうかを判定する。満たさない場合、制御はブロック1218に進み、例示的な文字識別器208が指定文字を信頼できないと識別し、その後戻って図11の例示的プログラムを完了する。例示的な文字識別器208が、信頼度値が信頼度の閾値を満たすと判定した場合、制御はブロック1206に進む。
[0075]ブロック1206で、例示的な文字識別器208が、代表部分画像内の指定文字の境界の配置を示す位置情報を取得する。ブロック1208で、例示的な文字識別器208が位置情報に基づいて位置誤差値を計算する。ブロック1210で、例示的な文字識別器208が、位置誤差値が位置誤差閾値を満たす(例えば閾値未満である)かどうかを判定する。満たさない場合、制御はブロック1218に進み、例示的な文字識別器208が、指定文字を信頼できないと識別し、その後戻って図11の例示的プログラムを完了する。例示的な文字識別器208が位置誤差値が位置誤差閾値を満たすと判定した場合、制御はブロック1212に進む。
[0076]ブロック1212で、例示的な文字識別器208が、代表部分画像の中にあるが指定文字の境界よりも外側にある前景画素の量を判定する。ブロック1214で、例示的な文字識別器208が、前景画素の量が画素閾値を満たす(例えば閾値未満である)かどうかを判定する。満たさない場合、制御はブロック1218に進み、例示的な文字識別器208が、指定文字を信頼できないと識別し、その後戻って図11の例示的プログラムを完了する。例示的な文字識別器208が、前景画素の量が画素閾値を満たすと判定した場合(ブロック1214)、制御はブロック1216に進み、例示的な文字識別器208が、指定文字を信頼できると識別し、その後戻って図11の例示的プログラムを完了する。
[0077]上述のように、図13は、クラスタの指定文字を識別するユーザ入力を取得する図11のブロック1114を実装する例示的プログラムを説明する図である。例示的プログラムはブロック1302で開始し、例示的なユーザインターフェース210が、クラスタの代表部分画像を表示する。ブロック1304で、例示的な文字識別器208が、クラスタの指定文字の識別の信頼度値(例えばOCRエンジンから出力される)が、確定閾値を満たす(例えば閾値以上である)かどうかを判定する。例によっては、確定閾値は、信頼度の閾値(それを上回ると指定文字が信頼できると識別される)より低いが、指定文字が正しい穏当な見込みがまだあるのには十分に高い。そのような例では、指定文字は正しいと想定されるが、人間の点検者に依拠してその指定を確定することもある。例えば、信頼度の閾値は0.85に設定し、一方、確定閾値は0.7に設定することができる。例によっては、確定閾値を下回る信頼度値は信頼性が十分に低いことから、OCRエンジンで識別された信頼できない指定文字は点検者に提示せずに、人間の点検者に依拠して正しい指定文字を識別する。
[0078]したがって、例示的な文字識別器208が、クラスタの指定文字の識別の信頼度値が確定閾値を満たすと判定した場合(ブロック1304)、制御はブロック1308に進む。ブロック1308で、ユーザインターフェース210が、代表部分画像と並べて指定文字を表示する。ブロック1310で、例示的な文字識別器208が、指定文字が代表部分画像に対応することを確定するように人間の点検者を促す。例によっては、人間の点検者は、識別の動作(例えばキーボードのエンターキー又はスペースバー)を行うことにより、指定文字を確定することができる。そのように指定文字を確定する際に点検者が行う識別の動作を設けることにより、点検者の効率を上げることができる。例えば、人間の点検者によって確定すべき指定文字の大半は、信頼度値が比較的高い(確定閾値を上回っている)ため、正しい可能性が高い。そのため、人間の点検者は、確定の動作(例えばスペースバーを押す)を行うだけでよく、それ以上の手間は必要ない。万一指定文字が正しくない場合には、点検者は、追加的な処置を取らなければならない(例えば正しい文字を指定する)が、信頼度値が比較的高い(確定閾値を上回っている)ため、これが発生するのはごくまれである。
[0079]ブロック1312で、例示的な文字識別器208が、人間の点検者が、指定文字が代表部分画像に対応すると確定したかどうかを判定する。確定した場合は、制御がブロック1314に進み、例示的な文字識別器208が、OCRエンジンで識別された指定文字に基づいてクラスタの指定文字を識別し、その後制御は戻って図11の例示的プログラムを完了する。例示的な文字識別器208が、人間の点検者が指定文字が代表部分画像に対応すると確定しなかったと判定した場合(ブロック1312)、制御はブロック1316に進み、例示的な文字識別器208が、人間の点検者によって入力された指定に基づいてクラスタの指定文字を識別する。すなわち、OCRエンジンが判定した指定文字が正しくなく、その結果、人間の点検者がそれを確定しない場合は、人間の点検者が代表部分画像に対応する正しい文字を入力することができ、それがその後そのクラスタの指定文字として使用される。その後、図13の例示的プログラムは終了し、戻って図11の例示的プログラムを完了する。
[0080]ブロック1304に戻り、例示的な文字識別器208が、クラスタの指定文字の識別の信頼度値が確定閾値を上回らないと判定した場合、制御はブロック1306に進む。ブロック1306で、例示的な文字識別器208は、代表部分画像に対応する指定文字を識別するように人間の点検者を促す。制御は次いでブロック1316に進み、例示的な文字識別器208が、人間の点検者によって入力された指定に基づいてクラスタの指定文字を識別し、その後図13の例示的プログラムは終了し、戻って図11の例示的プログラムを完了する。
[0081]図14は、図1及び/又は図2の例示的なデータ処理機能110を実装する図8〜図13の命令を実行することが可能な例示的なプロセッサプラットフォーム1400のブロック図である。プロセッサプラットフォーム1400は、例えば、サーバ、パーソナルコンピュータ、モバイルデバイス(例えば携帯電話、スマートフォン、アイパッド(登録商標)(iPad)等のタブレット)、携帯情報端末(PDA)、インターネット機器、又は他の種類のコンピューティングデバイスである可能性がある。
[0082]図の例のプロセッサプラットフォーム1400は、プロセッサ1412を備える。図の例のプロセッサ1412はハードウェアである。例えば、プロセッサ1412は、任意の所望のファミリー又は製造者の、1つ又は複数の集積回路、論理回路、マイクロプロセッサ、又はコントローラによって実装することができる。
[0083]図の例のプロセッサ1412は、ローカルメモリ1413(例えばキャッシュ)を備える。図の例では、プロセッサ1412は、図2の例示的な通信インターフェース202、例示的なバッチ指定器204、例示的な画像分析器206、例示的な文字識別器208、例示的なユーザインターフェース210、及び/又は例示的な符号化テキスト生成器212を実装する。図の例のプロセッサ1412は、揮発性メモリ1414及び不揮発性メモリ1416を含むメインメモリと、バス1418を介して通信状態にある。揮発性メモリ1414は、同期ダイナミックランダムアクセスメモリ(SDRAM)、ダイナミックランダムアクセスメモリ(DRAM)、RAMBUSダイナミックランダムアクセスメモリ(RDRAM)、及び/又は任意の他の種類のランダムアクセスメモリデバイスによって実装することができる。不揮発性メモリ1416は、フラッシュメモリ及び/又は任意の他の所望の種類のメモリデバイスによって実装することができる。メインメモリ1414、1416へのアクセスは、メモリコントローラによって制御される。
[0084]図の例のプロセッサプラットフォーム1400は、インターフェース回路1420も備える。インターフェース回路1420は、Ethernet(登録商標)インターフェース、ユニバーサルシリアルバス(USB)、及び/又はPCIエクスプレスインターフェース等、任意種類のインターフェース規格で実装することができる。
[0085]図の例では、1つ又は複数の入力装置1422がインターフェース回路1420に接続されている。(1つ又は複数の)入力装置1422で、ユーザはプロセッサ1412にデータ及びコマンドを入力することができる。(1つ又は複数の)入力装置は、例えば、オーディオセンサ、マイクロフォン、カメラ(静止画若しくは動画)、キーボード、ボタン、マウス、タッチ画面、トラックパッド、トラックボール、アイソポイント(isopoint)、及び/又は音声認識システムによって実装することができる。
[0086]1つ又は複数の出力装置1424も、図の例のインターフェース回路1420に接続されている。出力装置1424は、例えば、表示装置(例えば発光ダイオード(LED)、有機発光ダイオード(OLED)、液晶ディスプレイ、陰極管ディスプレイ(CRT)、タッチ画面、触覚出力装置、発光ダイオード(LED)、プリンタ、及び/又はスピーカ)によって実装することができる。したがって、図の例のインターフェース回路1420は、通例、グラフィクスドライバカード、グラフィクスドライバチップ、又はグラフィクスドライバプロセッサを含む。
[0087]図の例のインターフェース回路1420は、ネットワーク1426(例えばEthernet接続、デジタル加入者回線(DSL)、電話線、同軸ケーブル、携帯電話システム等)を介して、外部の機械(例えば任意種のコンピューティング機器)とのデータ交換を助ける、送信器、受信器、トランシーバ、モデム、及び/又はネットワークインターフェースカード等の通信装置も含む。
[0088]図の例のプロセッサプラットフォーム1400は、ソフトウェア及び/又はデータを記憶する1つ又は複数の大容量記憶装置1428も備えている。例えば、大容量記憶装置1428は、例示的な文字識別データベース214を含むことができる。そのような大容量記憶装置1428の例には、フロッピーディスクドライブ、ハードドライブディスク、コンパクトディスクドライブ、Blu−rayディスクドライブ、RAIDシステム、及びデジタル多用途ディスク(DVD)ドライブが含まれる。
[0089]図8〜図13の符号化命令1432は、大容量記憶装置1428、揮発性メモリ1414、不揮発性メモリ1416、及び/又は、CDやDVD等の取り外し可能な有形のコンピュータ可読記憶媒体に記憶することができる。
[0090]上述から、上記で開示された例示的な方法及び装置は、人間の点検者を使用して厳格に実現される場合と、OCR技術を使用して行われる場合の両方でテキスト抽出の効率を大幅に上げることが認識されよう。より詳細には、本明細書に開示される例は、似た文字からなるクラスタ全体に文字を1回だけ指定することを使用して、テキスト抽出で大量処理の利益を利用できるようにする。さらに、(人間の点検者かOCRエンジンのいずれかによって)一度に認識される文字のクラスタは、1つの文書から生成することも、複数の文書のバッチから生成することもできる。さらに、人間の点検者が、OCRエンジンで確実に識別できなかった特定の文字を識別すると、それと似たような見た目の文字を分析する時に参照するためにその文字の指定を記憶しておくことができ、その結果、人間の点検者が文字を二度識別する必要なしに、自動的な文字の指定を実現することができる。
[0091]特定の例示的な方法、装置、及び製造品を本明細書に開示したが、本特許の包含範囲はそれらに限定されない。逆に、本特許は、本特許の特許請求の範囲に正当に該当するすべての方法、装置、及び製造品を包含する。
102 小売店
104 消費者
106 レシート
108 市場調査エンティティ
110 データ処理機能
112、114 画像
202 通信インターフェース
204 バッチ指定器
206 画像分析器
208 文字識別器
210 ユーザインターフェース
212 符号化テキスト生成器
214 文字識別データベース
216 端末
302、304、402、601、602、603、604、605、606、607 部分画像
608 クラスタ
306、310 境界
308、706、708、710、712、716、718、720、722 隅
404 マージン
1412 プロセッサ
1413 ローカルメモリ
1414 揮発性メモリ
1416 不揮発性メモリ
1418 バス
1420 インターフェース回路
1422 入力装置
1424 出力装置
1426 ネットワーク
1428 大容量記憶装置
1432 符号化命令

Claims (20)

  1. プロセッサで、文書の画像を、前記文書中の個々の文字に対応する局所的な部分画像に分割するステップと、
    前記プロセッサで、前記部分画像それぞれを、基準部分画像に対する前記部分画像それぞれの視覚的相関に基づいてクラスタに分類するステップであって、前記基準部分画像と前記クラスタに分類される前記部分画像それぞれとの間の前記視覚的相関が相関閾値を超える、ステップと、
    前記プロセッサで、前記クラスタに分類された前記部分画像に基づいて前記クラスタの指定文字を識別するステップと、
    前記プロセッサで、前記指定文字を、前記クラスタに分類された前記部分画像それぞれに関連付けられた前記文書の画像中の位置に関連付けるステップと、
    を含む方法。
  2. 前記指定文字が、光学文字認識エンジンを使用せずに識別される、請求項1に記載の方法。
  3. 前記クラスタに関連付けられた代表部分画像を人間の点検者に提示することと、
    前記人間の点検者から前記指定文字を示すフィードバックを受け取ることと、
    により、前記クラスタの前記指定文字を識別するステップをさらに含む、請求項1に記載の方法。
  4. 前記指定文字が、前記クラスタに関連付けられた代表部分画像の光学文字認識に基づいて識別される、請求項1に記載の方法。
  5. 前記代表部分画像が、前記クラスタに分類された前記部分画像のうち1番目の部分画像に対応する、請求項4に記載の方法。
  6. 前記代表部分画像が、前記クラスタに分類された前記部分画像それぞれの合成である、請求項4に記載の方法。
  7. 変形部分画像を求めるために前記基準部分画像に対応する空間的向きを持つように前記部分画像のうち1番目の部分画像を変形することと、
    前記変形部分画像の周囲にマージンを付加することと、
    前記マージンで定義される境界内における、前記変形部分画像に相対的な前記基準部分画像の種々の位置について、前記変形部分画像と前記基準部分画像との間の相関値を計算することと、
    前記相関値のうち最も大きい相関値を、前記基準部分画像に対する前記部分画像のうち前記1番目の部分画像の前記視覚的相関として割り当てることと、
    により、前記基準部分画像に対する前記部分画像のうち1番目の部分画像の前記視覚的相関を求めるステップをさらに含む、請求項1に記載の方法。
  8. 前記クラスタの代表部分画像の光学文字認識分析の出力に基づいて、前記指定文字の信頼性を判定するステップと、
    前記指定文字が信頼できると判定された場合、自動的に前記指定文字を前記クラスタに割り当てるステップと、
    をさらに含む、請求項1に記載の方法。
  9. 前記指定文字が信頼できないと判定された場合、前記代表部分画像を、以前に人間の点検者によって検証された記憶されている指定文字に関連付けられた記憶されている部分画像と比較するステップと、
    前記代表部分画像と前記記憶されている部分画像との間の視覚的相関が前記相関閾値を超える場合、前記記憶されている指定文字を、自動的に前記クラスタの前記指定文字として割り当てるステップと、
    をさらに含む、請求項8に記載の方法。
  10. 前記指定文字が信頼できないと判定された場合、前記指定文字を検証するように人間の点検者を促すステップをさらに含む、請求項8に記載の方法。
  11. 前記クラスタの代表部分画像の光学文字認識分析で生成された位置誤差値が位置誤差閾値を満たさない場合に、前記指定文字が信頼できないと判定され、前記位置誤差値は、前記代表部分画像の中で識別された前記指定文字の境界の位置と前記代表部分画像の境界との差に相当する、請求項10に記載の方法。
  12. 前記光学文字認識分析で生成された信頼度値が信頼度の閾値を満たさない場合に、前記指定文字が信頼できないと判定される、請求項10に記載の方法。
  13. 前記指定文字を検証するように前記人間の点検者を促すステップが、
    前記信頼度値が前記信頼度の閾値を満たさず、且つ確定閾値を満たす場合に、前記指定文字を前記代表部分画像と並べて表示し、前記指定文字が前記代表部分画像に対応することを確定するように前記人間の点検者に要求することと、
    前記信頼度値が前記確定閾値を満たさない場合に、前記代表部分画像を表示し、前記代表部分画像を識別するように前記人間の点検者に要求することと、
    を含む、請求項12に記載の方法。
  14. 前記代表部分画像の中にある前景画素であり、且つ前記代表部分画像の中で識別された前記指定文字の境界よりも外にある前景画素の量が画素閾値を満たさない場合に、前記指定文字が信頼できないと判定される請求項10に記載の方法。
  15. プロセッサを介して実装される画像分析器であって、文書の画像を、前記文書中の個々の文字に対応する局所的な部分画像に分割し、前記部分画像それぞれを、基準部分画像に対する前記部分画像それぞれの視覚的相関に基づいてクラスタに分類し、前記基準部分画像と前記クラスタに分類される前記部分画像それぞれとの間の前記視覚的相関が相関閾値を超える、画像分析器と、
    前記プロセッサを介して実装される文字識別器であって、前記クラスタに分類された前記部分画像に基づいて前記クラスタの指定文字を識別する、文字識別器と、
    前記プロセッサを介して実装される符号化テキスト生成器であって、前記指定文字を、前記クラスタに分類された前記部分画像それぞれに関連付けられた前記文書の画像中の位置に関連付ける、符号化テキスト生成器と、
    を備える装置。
  16. 前記文字識別器が、
    前記クラスタの代表部分画像の光学文字認識分析の出力に基づいて、前記指定文字の信頼性を判定し、
    前記指定文字が信頼できると判定された場合、自動的に前記指定文字を前記クラスタに割り当てる、請求項15に記載の装置。
  17. 前記指定文字が信頼できないと判定された場合、前記文字識別器が、前記指定文字を検証するように人間の点検者を促す、請求項16に記載の装置。
  18. 命令を備えた有形のコンピュータ可読記憶媒体であって、該命令は、実行されると機械に、少なくとも、
    文書の画像を、前記文書中の個々の文字に対応する局所的な部分画像に分割するステップと、
    前記部分画像それぞれを、基準部分画像に対する前記部分画像それぞれの視覚的相関に基づいてクラスタに分類するステップであって、前記基準部分画像と前記クラスタに分類される前記部分画像それぞれとの間の前記視覚的相関が相関閾値を超える、ステップと、
    前記クラスタに分類された前記部分画像に基づいて前記クラスタの指定文字を識別するステップと、
    前記指定文字を、前記クラスタに分類された前記部分画像それぞれに関連付けられた前記文書の画像中の位置に関連付けるステップと、
    を実行させる、有形のコンピュータ可読記憶媒体。
  19. 前記命令は、さらに前記機械に、
    前記クラスタの代表部分画像の光学文字認識分析の出力に基づいて、前記指定文字の信頼性を判定するステップと、
    前記指定文字が信頼できると判定された場合、自動的に前記指定文字を前記クラスタに割り当てるステップと、
    を実行させる、請求項18に記載の有形のコンピュータ可読記憶媒体。
  20. 前記命令は、さらに前記機械に、前記指定文字が信頼できないと判定された場合、前記指定文字を検証するように人間の点検者を促すステップを実行させる、請求項19に記載の有形のコンピュータ可読記憶媒体。
JP2016162925A 2015-10-29 2016-08-23 画像化された文書からテキストを抽出する方法及び装置 Expired - Fee Related JP6366024B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/927,014 US9684842B2 (en) 2015-10-29 2015-10-29 Methods and apparatus to extract text from imaged documents
US14/927,014 2015-10-29

Publications (2)

Publication Number Publication Date
JP2017084336A true JP2017084336A (ja) 2017-05-18
JP6366024B2 JP6366024B2 (ja) 2018-08-01

Family

ID=58638513

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016162925A Expired - Fee Related JP6366024B2 (ja) 2015-10-29 2016-08-23 画像化された文書からテキストを抽出する方法及び装置

Country Status (5)

Country Link
US (1) US9684842B2 (ja)
JP (1) JP6366024B2 (ja)
KR (1) KR101783337B1 (ja)
CN (1) CN107045632B (ja)
TW (1) TWI606406B (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10235585B2 (en) 2016-04-11 2019-03-19 The Nielsen Company (US) Methods and apparatus to determine the dimensions of a region of interest of a target object from an image using target object landmarks
US10176397B2 (en) * 2016-10-30 2019-01-08 Vium, Inc. Method of reading degraded symbols
US10402163B2 (en) * 2017-02-14 2019-09-03 Accenture Global Solutions Limited Intelligent data extraction
US10789281B2 (en) * 2017-06-29 2020-09-29 Xerox Corporation Regularities and trends discovery in a flow of business documents
US11410446B2 (en) 2019-11-22 2022-08-09 Nielsen Consumer Llc Methods, systems, apparatus and articles of manufacture for receipt decoding
CN110969044B (zh) * 2019-11-29 2021-04-13 联想(北京)有限公司 一种扫码设备及扫码方法
CN111680688B (zh) * 2020-06-10 2023-08-08 创新奇智(成都)科技有限公司 字符识别方法及装置、电子设备、存储介质
US11810380B2 (en) 2020-06-30 2023-11-07 Nielsen Consumer Llc Methods and apparatus to decode documents based on images using artificial intelligence
KR102533962B1 (ko) 2021-02-02 2023-05-22 서울대학교병원 안구 관련 데이터베이스 구축 시스템 및 방법
JP2022181367A (ja) * 2021-05-26 2022-12-08 富士フイルムビジネスイノベーション株式会社 情報処理装置及びプログラム
CN113077018A (zh) * 2021-06-07 2021-07-06 浙江大华技术股份有限公司 一种目标对象识别方法、装置、存储介质及电子装置
US11822216B2 (en) 2021-06-11 2023-11-21 Nielsen Consumer Llc Methods, systems, apparatus, and articles of manufacture for document scanning
US11625930B2 (en) 2021-06-30 2023-04-11 Nielsen Consumer Llc Methods, systems, articles of manufacture and apparatus to decode receipts based on neural graph architecture
KR20230061026A (ko) 2021-10-28 2023-05-08 유니원아이앤씨 주식회사 기울기 보정을 제공하는 문자 인식 시스템
TWI807467B (zh) * 2021-11-02 2023-07-01 中國信託商業銀行股份有限公司 要項偵測模型建立方法、業務導向要項鍵值辨識系統及方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005352735A (ja) * 2004-06-10 2005-12-22 Fuji Xerox Co Ltd 文書ファイル作成支援装置、文書ファイル作成支援方法及びそのプログラム
JP2010055142A (ja) * 2008-08-26 2010-03-11 Fuji Xerox Co Ltd 文書処理装置およびプログラム

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5321773A (en) 1991-12-10 1994-06-14 Xerox Corporation Image recognition method using finite state networks
GB9226137D0 (en) 1992-12-15 1993-02-10 Ibm Data entry system
US5764799A (en) 1995-06-26 1998-06-09 Research Foundation Of State Of State Of New York OCR method and apparatus using image equivalents
US6915011B2 (en) 2001-03-28 2005-07-05 Eastman Kodak Company Event clustering of images using foreground/background segmentation
US7383258B2 (en) 2002-10-03 2008-06-03 Google, Inc. Method and apparatus for characterizing documents based on clusters of related words
CN1316418C (zh) * 2004-04-16 2007-05-16 中国科学院自动化研究所 门牌号自动识别系统及方法
US7460710B2 (en) * 2006-03-29 2008-12-02 Amazon Technologies, Inc. Converting digital images containing text to token-based files for rendering
US8175394B2 (en) 2006-09-08 2012-05-08 Google Inc. Shape clustering in post optical character recognition processing
CN101329734B (zh) * 2008-07-31 2010-08-25 重庆大学 基于k-l变换和ls-svm的车牌字符识别方法
US8116567B2 (en) * 2008-10-07 2012-02-14 International Business Machines Corporation Digitizing documents
US8331739B1 (en) 2009-01-21 2012-12-11 Google Inc. Efficient identification and correction of optical character recognition errors through learning in a multi-engine environment
US8391609B2 (en) * 2009-02-24 2013-03-05 Stephen G. Huntington Method of massive parallel pattern matching against a progressively-exhaustive knowledge base of patterns
US8285057B2 (en) 2010-05-14 2012-10-09 Palo Alto Research Center Incorporated Learning image anchor templates for document classification
US8635155B2 (en) 2010-06-18 2014-01-21 Fiserv, Inc. Systems and methods for processing a payment coupon image
US8340429B2 (en) 2010-09-18 2012-12-25 Hewlett-Packard Development Company, Lp Searching document images
US20120078682A1 (en) 2010-09-29 2012-03-29 The Npd Group, Inc. Consumer receipt information methodologies and systems
CN102136064A (zh) * 2011-03-24 2011-07-27 成都四方信息技术有限公司 一种图像文字识别系统
US8509525B1 (en) 2011-04-06 2013-08-13 Google Inc. Clustering of forms from large-scale scanned-document collection
US8861861B2 (en) 2011-05-10 2014-10-14 Expensify, Inc. System and method for processing receipts and other records of users
US8831361B2 (en) 2012-03-09 2014-09-09 Ancora Software Inc. Method and system for commercial document image classification
US9384389B1 (en) * 2012-09-12 2016-07-05 Amazon Technologies, Inc. Detecting errors in recognized text
US20140181155A1 (en) 2012-12-21 2014-06-26 Dropbox, Inc. Systems and methods for directing imaged documents to specified storage locations
US8965127B2 (en) 2013-03-14 2015-02-24 Konica Minolta Laboratory U.S.A., Inc. Method for segmenting text words in document images
US8831329B1 (en) 2013-06-28 2014-09-09 Google Inc. Extracting card data with card models
CN103488983B (zh) * 2013-09-13 2016-10-26 复旦大学 一种基于知识库的名片ocr数据修正方法和系统
CN103593645A (zh) * 2013-10-11 2014-02-19 合肥工业大学 剪切图像源相机识别方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005352735A (ja) * 2004-06-10 2005-12-22 Fuji Xerox Co Ltd 文書ファイル作成支援装置、文書ファイル作成支援方法及びそのプログラム
JP2010055142A (ja) * 2008-08-26 2010-03-11 Fuji Xerox Co Ltd 文書処理装置およびプログラム

Also Published As

Publication number Publication date
KR101783337B1 (ko) 2017-09-29
JP6366024B2 (ja) 2018-08-01
TWI606406B (zh) 2017-11-21
CN107045632A (zh) 2017-08-15
CN107045632B (zh) 2020-06-12
US9684842B2 (en) 2017-06-20
US20170124413A1 (en) 2017-05-04
KR20170051227A (ko) 2017-05-11
TW201719505A (zh) 2017-06-01

Similar Documents

Publication Publication Date Title
JP6366024B2 (ja) 画像化された文書からテキストを抽出する方法及び装置
US11853347B2 (en) Product auditing in point-of-sale images
US10891474B1 (en) Optical receipt processing
JP6528147B2 (ja) 会計データ入力支援システム、方法およびプログラム
US8494273B2 (en) Adaptive optical character recognition on a document with distorted characters
CN109657673B (zh) 图像识别方法和终端
US9965695B1 (en) Document image binarization method based on content type separation
US11574489B2 (en) Image processing system, image processing method, and storage medium
US9959475B2 (en) Table data recovering in case of image distortion
US20090196501A1 (en) Method and Apparatus for Modifying the Histogram of an Image
US11341739B2 (en) Image processing device, image processing method, and program recording medium
RU2581786C1 (ru) Определение преобразований изображения для повышения качества оптического распознавания символов
CN111652208A (zh) 用户界面组件的识别方法、装置、电子设备及存储介质
CN111209865A (zh) 文件内容提取方法、装置、电子设备及存储介质
CN108090728B (zh) 一种基于智能终端的快递信息录入方法及录入系统
CN111199240A (zh) 银行卡识别模型的训练方法、银行卡识别方法以及装置
JP2019219901A (ja) 情報処理システム
CN116030472A (zh) 文字坐标确定方法及装置
CN112434700A (zh) 车牌识别方法、装置、设备及存储介质
WO2023171132A1 (ja) 情報処理システム
JP7343115B1 (ja) 情報処理システム
CN114202761B (zh) 一种基于图片信息聚类的信息批量提取方法
CN116311292A (zh) 单据图像信息提取方法、装置、计算机设备和存储介质
CN113903040A (zh) 购物小票的文字识别方法、设备、系统和计算机可读介质
CN114092937A (zh) 印章识别方法、装置、设备和介质

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170823

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171003

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171226

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180605

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180625

R150 Certificate of patent or registration of utility model

Ref document number: 6366024

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees