JP2023031908A - 画像処理装置、プログラム、画像処理方法 - Google Patents

画像処理装置、プログラム、画像処理方法 Download PDF

Info

Publication number
JP2023031908A
JP2023031908A JP2021137679A JP2021137679A JP2023031908A JP 2023031908 A JP2023031908 A JP 2023031908A JP 2021137679 A JP2021137679 A JP 2021137679A JP 2021137679 A JP2021137679 A JP 2021137679A JP 2023031908 A JP2023031908 A JP 2023031908A
Authority
JP
Japan
Prior art keywords
character string
image
entity
image processing
document
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
Application number
JP2021137679A
Other languages
English (en)
Inventor
裕介 村松
Yusuke Murakami
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2021137679A priority Critical patent/JP2023031908A/ja
Priority to US17/821,139 priority patent/US20230063374A1/en
Publication of JP2023031908A publication Critical patent/JP2023031908A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • G06V30/41Analysis of document content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00326Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a data reading, recognizing or recording apparatus, e.g. with a bar-code apparatus
    • H04N1/00328Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a data reading, recognizing or recording apparatus, e.g. with a bar-code apparatus with an apparatus processing optically-read information
    • H04N1/00331Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a data reading, recognizing or recording apparatus, e.g. with a bar-code apparatus with an apparatus processing optically-read information with an apparatus performing optical character 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/14Image acquisition
    • G06V30/1444Selective acquisition, locating or processing of specific regions, e.g. highlighted text, fiducial marks or predetermined fields
    • 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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/191Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
    • G06V30/1916Validation; Performance evaluation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Artificial Intelligence (AREA)
  • Character Input (AREA)
  • Character Discrimination (AREA)

Abstract

【課題】 文字認識結果に基づいてエンティティ抽出を行った結果、所定の項目に対応する文字列を抽出できない場合がある。【解決手段】 エンティティ抽出処理により文書画像についての所定の項目に対応する文字列が抽出されなかった場合、以前に前記文書画像と同じフォーマットの文書において所定の項目に対応する文字列が抽出された領域の位置情報に基づいて、前記文書画像についての前記所定の項目に対応する文字列を取得する。【選択図】 図5

Description

紙文書から所定の項目に対応する文字列を抽出するための方法に関する。
文書画像に含まれている文字列から、所望の項目に対応する値となる文字列を抽出する技術として、文書画像から当該項目の文字列を見つけ、項目に応じた探索ルールを用いて対応する文字列を抽出する方法がある(例えば特許文献1参照)。
特開2020-201822号公報
しかしながら、文書画像から所定の項目に対応する文字列が抽出できない場合がある。
上記課題を解決するために、本発明の画像処理装置は、処理対象の文書画像に対して文字認識処理を行うことにより文字認識結果を得る文字認識手段と、前記文字認識結果に基づいてエンティティ抽出を行うことにより、所定の項目に対応する文字列を抽出するエンティティ抽出手段と、前記エンティティ抽出手段により前記文書画像についての前記所定の項目に対応する文字列が抽出されなかった場合、以前に前記文書画像と同じフォーマットの文書において前記所定の項目に対応する文字列が抽出された領域の位置情報に基づいて、前記文書画像についての前記所定の項目に対応する文字列を取得する取得手段と、を備えることを特徴とする。
本提案によれば、エンティティ抽出処理により所定の項目に対応する文字列が抽出できなかった場合でも、抽出結果を補正できる。
画像処理システムの構成例を示す図である。 本システムを構成する処理端末のハードウェア構成例を示す図である。 本システムを構成する処理端末のソフトウェア構成例を示す図である。 本システムで実行する処理全体を説明するフローチャートである。 実施例1における画像処理サーバでの画像処理を説明するフローチャートである。 実施例1における情報端末での処理結果表示を説明するフローチャートである。 実施例1における処理結果表示における表示の例を示す図である。 実施例1における画像処理サーバでの帳票学習を説明するフローチャートである。 実施例2における画像処理サーバでの画像処理を説明するフローチャートである。 スキャン設定テーブルの例である。 BS/OCR結果テーブルの例である。 学習済帳票テーブルの例である。 エンティティ結果テーブルの例である。 エンティティ結果テーブルの例である。 同じフォーマットと判断された学習済帳票のデータの例である。
以下、本発明を実施するための形態について図面を用いて説明する。
図1は、本実施例における画像処理システムの構成の一例を表す図である。画像処理システムは、画像形成装置101と、画像処理サーバ(画像処理装置)102、情報処理端末103、ストレージサーバ104を有する。これらの各装置および各サーバは、ネットワーク105により相互に接続されて、通信可能である。
本実施例では、画像形成装置101として、スキャン機能、印刷機能、複写機能などを備える複合機を例にして説明するが、複合機に限るものではない。例えば、スキャン機能を備える装置であれば、後述する本発明の処理を実行可能である。なお、スキャン機能とは、画像形成装置101に備わるスキャナで文書(帳票など)を読み取ることにより生成した画像データを外部に送信したりする機能である。また、印刷機能とは、情報処理端末103などから受信した印刷データを印刷する機能である。また複写機能では、スキャナで読み取った文書の画像データを印刷することにより、文書の複写物を得る機能である。
なお、後述するように、本実施例の画像形成装置101は、画像処理サーバ102を介してスキャンした文書の画像データをストレージサーバ104への画像送信の依頼をしたりすることが可能である。
画像処理サーバ102は、画像形成装置101から受信した画像データに対して画像処理を行い、当該画像処理後の画像データをストレージサーバ104に送信して保存させることが可能である。また、画像処理サーバ102は、情報処理端末103に対して画像形成装置101から画像データを受信した旨を送信し、情報処理端末103からの画像データ保存要求を受信することでストレージサーバ104へ画像データを送信するように構成してもよい。
図2は、本実施例における画像処理システムのハードウェア構成の一例を表す図である。画像形成装置101は、プリンタ202、スキャナ203、および操作部204、CPU211、RAM212、HDD213、ネットワークI/F214、プリンタI/F215、スキャナI/F216、操作部I/F217、および拡張I/F218を有する。CPU211は、RAM212、HDD213、ネットワークI/F214、プリンタI/F215、スキャナI/F216、操作部I/F217、および拡張I/F218とデータを授受することが可能である。また、CPU211は、HDD213から読み出した命令(コンピュータプログラム)をRAM212に展開し、RAM212に展開した命令を実行することにより、後述する各処理の実行を制御する。すなわち、画像形成装置101のプロセッサは、コンピュータ読取可能な記憶媒体(HDD等)からプログラムを読み出して実行することにより、後述する各処理を実行する処理部として機能する。
HDD213は、CPU211で実行可能な命令(プログラム)、画像形成装置101で使用する設定値、およびユーザから依頼された処理に関するデータ等を記憶しておくことが可能である。RAM212は、CPU211がHDD213から読み出した命令を一時的に格納するための領域である。またRAM212は、命令の実行に必要な各種のデータを記憶しておくことも可能である。たとえば画像処理では、入稿されたデータをRAM212に展開することで処理を行うことが可能である。
ネットワークI/F214は、画像形成システム内の装置とネットワーク通信を行うためのインターフェイスである。ネットワークI/F214は、データ受信を行ったことをCPU211に伝達することや、CPU211からの指示にしたがって、RAM212上のデータをネットワーク105に送信することが可能である。
プリンタI/F215は、CPU211からの指示にしたがって印刷対象の印刷データをプリンタ202に送信し、プリンタ202から受信したプリンタの状態をCPU211に伝達することが可能である。
スキャナI/F216は、CPU211から指示された画像読み取り指示をスキャナ203に送信したり、スキャナ203から受信した画像データをCPU211に伝達したりすることが可能である。またスキャナI/F216は、スキャナ203から受信した当該スキャナの状態の情報をCPU211に伝達したりすることも可能である。
操作部I/F217は、操作部204を介して為されたユーザからの指示をCPU211に伝達したり、ユーザが操作するための画面情報を操作部204に表示させたりことが可能である。拡張I/F218は、画像形成装置101に外部機器を接続することを可能とするインターフェイスである。拡張I/F218は、例えば、USB(Universal Serial Bus)形式のインターフェイスを具備する。画像形成装置101は、USBメモリ等の外部記憶装置が拡張I/F218に接続されることにより、当該外部記憶装置に記憶されているデータの読み取りおよび当該外部記憶装置に対するデータの書き込みを行うことが可能である。
プリンタ202は、プリンタI/F215を介して受信した画像データを用紙に印刷することができ、また、プリンタ202の状態をプリンタI/F215に伝達することもできる。スキャナ203は、スキャナI/F216を介して受信した画像読み取り指示に従って、スキャナに置かれた文書(帳票など)を読み取ることによって得た画像データをスキャナI/F216に伝達することが可能である。また、スキャナ203は、スキャナの状態をスキャナI/F216に伝達することも可能である。操作部204は、ユーザの操作に基づいて、画像形成装置101に対して各種の指示を行うためのインターフェイスである。例えば、操作部204は、タッチパネル液晶画面を具備し、操作画面を表示すると共に、ユーザからの操作を受け付ける。
画像処理サーバ102は、CPU221、RAM222、HDD223、ネットワークI/F224から構成される。CPU221は、装置全体の制御を司り、RAM222、HDD223、及びネットワークI/F224の間でデータの授受を制御可能である。また、CPU221はHDD223から読みだした制御プログラム(命令)をRAM222に展開して実行する。すなわち、画像処理サーバ102のプロセッサは、コンピュータ読取可能な記憶媒体(HDD223等)からプログラムを読み出して実行することにより、後述する各処理を実行する処理部として機能する。また、画像処理サーバ102のHDD223は、スキャンに関する情報や、抽出するエンティティを識別するための情報を管理することが可能である。
情報処理端末103は、CPU231、RAM232、HDD233、ネットワークI/F234、操作部I/F235、操作部236から構成される。CPU231は、装置全体の制御を司り、RAM232、HDD233、ネットワークI/F234、操作部I/F235、及び操作部236の間でデータの授受を制御可能である。また、CPU231はHDD233から読みだした制御プログラム(命令)をRAM232に展開し実行する。操作部I/F235は、操作部236から入力されたユーザからの指示をCPU231に伝達し、CPU231による表示制御に基づき、表示すべき操作画面に関する情報を操作部236に伝達するインターフェイスである。情報処理端末103には、画像データを確認するためのアプリケーションがインストールされており、該アプリケーションを実行することで、画像処理サーバの画像データを表示し、画像データの保存を要求する機能を利用することができる。画像データを確認するためのアプリケーションは、Webアプリケーションとして提供されている場合は、情報処理端末103は、Webブラウザを介してWebアプリケーションを実行することで画像データの表示、画像データの保存を要求する形態でも構わない。すなわち、情報処理端末103のプロセッサは、コンピュータ読取可能な記憶媒体(HDD233等)からプログラムを読み出して実行するか、ネットワークを介して受信したプログラムを実行することにより、画像データを確認できる。
ストレージサーバ104は、CPU241、RAM242、HDD243、ネットワークI/F244から構成される。CPU241は、装置全体の制御を司り、RAM242、HDD243、及びネットワークI/F244の間でデータの授受を制御可能である。また、CPU241はHDD243から読みだした制御プログラム(命令)をRAM242に展開して実行する。ストレージサーバ104のHDD243は、画像処理サーバ102より受信した画像データを保持することが可能である。
図3は、本実施例における画像処理システムのソフトウェア構成の一例を表す概念図であり、各装置のCPUがソフトウェアプログラムを実行して、スキャナやHDD等のハードウェアと協働することにより、以下の各処理を行う処理部として機能する。
画像形成装置101のコントローラ310は、制御部311、記憶部312、通信部313、表示部314、スキャン部315で構成される。制御部311は、コントローラ310の機能に関する処理全般の機能を有する。記憶部312は、スキャンに関わる設定を保持する機能とスキャンによって受信した画像データを保持する機能を有する。通信部313は、ネットワーク105を介してスキャンした画像データとスキャンに関わる設定情報を画像処理サーバ102へ送信する機能を有する。表示部314は、操作部204を介してユーザからのスキャン要求を受信し、制御部311へ通知する機能を有する。スキャン部315は、制御部311からのスキャン要求を受信し、スキャナI/F216を介してスキャナ203へスキャン処理を実行する。スキャン実行して受信した画像データを制御部311へ送信する。
画像処理サーバ102により提供される画像処理サービス320は、制御部321、記憶部322、通信部320、画像処理部324で実現される。制御部321は、画像処理サービス320の機能に関する処理全般の機能を有する。記憶部322は、スキャンに関わる設定を保持する機能、画像形成装置101から受信した画像データを保持する機能、画像データのマッチングを行うための学習済帳票を保持する機能を有する。
記憶部322のスキャンに関わる設定を保持する機能について説明する。スキャン設定は、ユーザが実行するボタンごとに異なる設定が可能となっており、例えば、図10のようなスキャン設定テーブルに保持される。
図10のスキャン設定テーブルは、ボタン番号、名称、エンティティ設定、カラー、解像度、両面/片面、用紙サイズ、ファイルタイプ、送信先の9つの列で構成される。
ボタン番号は、ボタンを識別するための一意の番号であり、名称は画像形成装置101の表示部にボタンと共に表示するボタン名称である。エンティティ設定は、画像処理サーバ102の画像処理部324が、スキャン画像のOCR結果から抽出するエンティティの種別が記載される。エンティティの取得については後述する。
カラー、解像度、両面/片面、用紙サイズは、スキャン時の動作設定を示している。すなわち、スキャンで生成する画像がカラー画像または白黒画像のいずれであるか、画像の解像度、両面スキャンなのか片面のみスキャンなのか、スキャンする紙のサイズをそれぞれ示している。
ファイルタイプと送信先は、スキャン画像を出力する際のファイルのフォーマットと送信先を示す。
画像形成装置101は、ユーザログイン(不図示)するとスキャン設定テーブルを取得して表示部にボタンを表示する。ユーザが、表示されたボタンを選択すると、画像形成装置101は選択したボタンを検知し、当該選択されたボタンの設定に従って、帳票などの文書のスキャンを実行してスキャン画像(文書画像)を生成する。画像形成装置101は、スキャンで生成したスキャン画像(文書画像)とユーザが選択したボタンの番号とを送信する。
通信部323は、画像形成装置101から文書画像データを受信する機能、情報処理端末103に処理結果を送信する機能、情報処理端末103からの文書画像データ保存要求を受信する機能、ストレージサーバ104へ画像データを送信する機能を有する。
画像処理部324は、画像形成装置101から受信した画像データを処理する機能として、画像二値化、文字や表や図形などの属性ごとの領域に分割する処理(BS処理)、文字認識処理(OCR処理)を有する。また、BS処理により得られた領域の位置やサイズを比較して同じフォーマットの帳票であるかどうかを判定する帳票マッチングの機能、帳票を学習済帳票として学習する機能、及びBS/OCRの処理結果からエンティティを抽出する機能を有している。
なお、画像二値化は、カラーの文書画像を二値の例えば白と黒に変換する処理である。変換方法については特に問わない。
画像処理部324が実行するBS/OCRについて説明する。BS(BlockSelection)処理は、スキャン画像を解析して文字列や図形など位置を示す領域を特定する処理である。OCR(Optical Character Recognition)処理は、文字画像から文字列(文字コード)を認識する処理である。本実施例では、画像処理部324がBS/OCRを行うと、図11のようなBS/OCR結果テーブルが生成される。
図11のBS/OCR結果テーブルは、番号、BS領域、文字列の3列から構成され、文字列毎に1行のデータが生成される。番号は、各文字列領域を識別する一意の番号である。本実施例では、BS1~BS9である。BS領域(BS処理で判定された領域の情報)は、文字列領域の位置を示す座標であり、例えば、各領域の左上のX座標とY座標、ならびに、各領域の幅と高さの4つの数字で構成される。番号BS1のBS領域は、874、333、511、73であり、X座標は874、Y座標は333、幅は511、高さは73である。番号BS1のBS領域に含まれる文字列が見積書となる。
次に画像処理部324が実行する学習について説明する。
画像形成装置から受信した文書画像(スキャン画像データ)にBS/OCR処理を実行し、そのBS/OCR結果テーブルと情報処理端末103より取得したエンティティ結果テーブルとに基づいて学習済帳票を生成し、図12のような学習済帳票テーブルに追加する。
学習済帳票テーブルは、画像のBS領域の情報とエンティティ抽出結果を関連付けて保持することで、BS領域の位置が同じである画像(即ち、同じ帳票フォーマットの画像)を処理する際に、以前のエンティティ抽出結果を検索することができる。図12の学習済帳票テーブルは、ボタン番号、帳票番号、番号、BS領域、種別の5列から構成される。ボタン番号は、ボタン毎に学習済帳票を識別するための一意の番号である。帳票番号は、学修済帳票を識別するための一意の番号である。番号はBS領域を示すものにBSを先頭に付与した番号、エンティティ抽出の結果を示すものはETを先頭に付与した番号で一意に識別される。
例えば、ボタン番号のBTN1でスキャンを実行し、BS/OCR結果テーブルに対してエンティティ抽出の処理を行った結果、タイトルがBS1の領域、文書発行側の組織名がBS7の領域、文書発行側の個人名BS8の領域だったとする。この場合、ボタン番号にBTN1、帳票番号が1で認識される学習済帳票が学習済帳票テーブルに追加される。この場合、学習済帳票テーブルに、BS/OCRテーブルと同じ番号とBS領域が追加され、さらに、エンティティ抽出処理の結果として得られた番号とBS領域と種別とが追加される。
次に、画像処理部324が実行する帳票マッチングについて説明する。
帳票マッチングは、BS領域の座標位置同士を比較して同じかどうかを判定する処理である。BS領域同士が同じとは、X座標、Y座標、幅、高さがほぼ同じであることを意味する。画像処理部324は、学習済帳票テーブルの全BS領域を取得して、取得した学習済帳票テーブルの帳票番号毎にBS領域の比較を行う。例えば、スキャン画像データに対してBS処理を行った結果のBS領域が、図11のBS/OCR結果テーブルであった場合、BS/OCR結果テーブルのBS1のBSと学習済帳票テーブルの帳票番号が1のBS1~9とを比較する。BS/OCR結果テーブルのBS1~9と学習済帳票テーブルの帳票番号が1のBS1~9のそれぞれがほぼ一致した場合、同じであると判定する。帳票番号が1の学習済帳票と異なると判断した場合は、次に帳票番号が2の学習済帳票と比較する。全ての学習済帳票と比較した結果、全て異なると判断した場合、マッチング帳票が無いと判定する。
次に、画像処理部324が実行するエンティティ抽出処理について説明する。
本実施例でのエンティティとは、自然言語処理によって抽出される値(文字列)であって、所定の項目に対応する値(文字列)を意味する。本実施例のエンティティ抽出では、「文書発行側の組織名」「文書受取側の組織名」「文書発行側の個人名」「文書受取側の個人名」「文書作成日」「書類番号」「タイトル」などの項目の種別に対応する値が抽出されるものとする。なお、上述したエンティティの種別は一例であり、他の種別の文字列をエンティティとして抽出するように構成してもよい。これらエンティティを抽出する方法としては、文字列を形態素解析により単語分割し、分割した単語を利用して、Transformerベースの機械学習モデルを生成する。この生成したモデルに文字列を入力して推論することで、文字列の中から所望の項目種別に対応するエンティティを抽出し、エンティティ結果テーブルが生成される。一般的なモデルの生成には、BERT(Bidirectional Encoder Representations from Transformers)やGPT (Generative Pre-trained Transformers)などの事前学習モデルを利用する。事前学習モデルをベースに抽出したいエンティティの特徴である文字列から形態素解析によって分割した単語群を利用してFine-tuningしモデルを生成する。
エンティティ抽出処理により抽出された各項目種別に対応する値(文字列)とその文字列を含むBS領域の座標情報とが、エンティティ結果テーブルに格納される。例えば、図13のエンティティ結果テーブルは、番号、種別、BS領域、文字列、要確認の5列から構成され、文字列毎に1行のデータが生成される。番号は、テーブル中の文字列を一意に識別するための番号である。本実施例では、ET1、ET2、ET3である。種別は、抽出対象となるエンティティを示す。BS領域は、抽出対象の各エンティティとして判定された文字列の領域を示す座標であり、X座標、Y座標、幅、高さの4つの数字で構成される。番号1のBS領域は、874、333、511、73であり、Xは874、Yは333、幅は511、高さは73である。文字列は、抽出対象の各エンティティとして判定された文字列である。要確認は、ユーザにとって特に確認が必要な抽出結果であるかを示す。特に確認が必要な場合は1、そうでない場合は0が記入される。尚、エンティティとなる文字列が抽出できなかった種別に関しては、BS領域と文字列の欄が空の行が生成される(例えば、図14のET3参照)。
情報処理端末103の画像データ確認アプリケーション330は、制御部331、記憶部332、通信部333、表示部334で構成される。
制御部331は、画像データ確認アプリケーション330の機能に関する処理全般の機能を有する。記憶部332は、画像処理サーバ102から受信した画像データおよびエンティティ結果テーブルを保持する機能を有する。通信部333は、画像処理サーバ102から画像データおよびエンティティ抽出結果テーブルを受信する機能、スキャン画像データ保存要求を送信する機能を有する。表示部334は、画像処理サーバ102から受信した画像データとエンティティ抽出結果を表示し、ユーザに確認を促す機能を有する。
ストレージサーバ104のデータ保存サービス340は、制御部341、記憶部342、通信部343で構成される。
制御部341は、データ保存サービス340の機能に関する処理全般の機能を有する。記憶部342は、画像処理サーバ102から受信した画像データとエンティティ抽出結果を関連付けて記憶する機能を有する。通信部343は、画像処理サーバ102から画像データとエンティティ抽出結果テーブルを受信する機能を有する。
図4は、画像形成装置(MFP)110でスキャンした画像から、画像処理サーバ102によってエンティティを抽出し、ストレージサーバ104へ送信する処理の流れを示すシーケンス図である。ここでは、各装置間のやり取りを中心に説明する。
まず、スキャン画像をクラウドストレージに送信するためのボタンが、スキャン設定テーブルに記憶されている情報に従ってMFP110のタッチパネルに表示される。このボタンがユーザにより押下されると、スキャンした画像をクラウドストレージに送信するための、図4のシーケンスで示す処理が開始される。本実施例ではユーザがスキャン設定テーブルのBTN1を実行する例で説明する。
画像形成装置101の制御部311は、表示部314においてユーザにより押下されたボタンBTN1に設定されているスキャン設定にしたがって、スキャン部315を介して文書のスキャン処理を実行する(S401)。
制御部311は、S401で生成されたスキャン画像データとS401でスキャン実行を行ったボタン番号BTN1を、通信部313を介して画像処理サーバ102へ送信する(S402)。なお、本実施例では、文書をスキャンすることにより生成されたスキャン画像データを処理対象画像として画像処理サーバに送信するものとしたが、これに限るものではない。例えば、ファクシミリ通信により受信した文書画像を処理対象画像として、画像処理サーバに送信するようにしてもよい。
画像処理サーバ102の制御部321は、S402で送信されたスキャン画像データとボタン番号BTN1を通信部323を介して受信し、記憶部322を介して記憶する(S403)。
制御部321は、画像処理部324を用いて、S403で受信したスキャン画像データに対する画像処理を行う(S404)。詳細は後段にて説明する。
制御部321は、記憶部322を介して、S404で処理した結果を保存する(S405)。
制御部321は、通信部323を介して、S404で処理した結果(BS/OCR結果テーブル、エンティティ結果テーブル、スキャン画像データ)を情報処理端末(クライアント)103へ送信する(S406)。
情報処理端末103の制御部331は、S406で送信された処理結果を、通信部333を介して受信する(S407)。
制御部331は、表示部334を用いて処理結果を表示し、ユーザに確認を促す(S408)。詳細は後段にて説明する。
制御部331は、ユーザにより確認、修正済みのエンティティ抽出結果をエンティティ結果テーブルに反映し、スキャン画像データの保存要求とともに、当該修正後のエンティティ結果テーブルの情報を、通信部333を介して画像処理サーバ102へ送信する(S409)。
画像処理サーバ102の制御部321は、通信部323を介してスキャン画像データ保存要求を受信する(S410)。
制御部321は、S410で受信したスキャン画像データ保存要求に含まれるエンティティ結果テーブルを取得し、記憶部322を介してスキャン画像データを取得し、さらに、当該取得したエンティティ結果テーブルとスキャン画像データとを通信部323を介してストレージサーバ104へ送信する。
ストレージサーバ104の制御部341は、通信部342を介してエンティティ結果テーブルとスキャン画像データとを受信する(S412)。
制御部341は、S412で受信したエンティティ結果テーブルを同受信したスキャン画像データのメタデータとして関連付け、記憶部342を介して保存する(S413)。
画像処理サーバ102の制御部321は、S410で受信したスキャン画像データ保存要求に含まれるエンティティ結果テーブルを取得し、画像処理部324を介して学習を行う(S414)。詳細は、後段にて説明する。
図5は、S404の画像処理の詳細を示したフローチャートである。
画像処理サーバ102の制御部321は、S403で受信したスキャン画像データを画像処理部324に読み込ませる(S501)。
制御部321は、画像処理部324を介して、S501で読み込ませたスキャン画像データに対して二値化処理を行い、二値化画像データを生成する(S502)。
制御部321は、画像処理部324を介して、生成した二値化画像データに対して、BS/OCRを実行し、BS/OCR結果(文書画像内における文字列領域の位置情報と、各文字列の文字認識処理結果)を取得する。取得したBS領域と文字列の文字認識結果は記憶部322を介してBS/OCR結果テーブルとして記憶する(S503)。本実施例では、図11に示したBS/OCRテーブルを作成したとする。
制御部321は、スキャン設定テーブルからS403で記憶したボタン番号BTN1に応じたエンティティ設定を取得し、当該取得したエンティティ設定に記載の種別を抽出対象としてS503で取得した文字列に対して、エンティティ抽出処理を行う。エンティティ抽出の結果は記憶部322を介してエンティティ結果テーブルとして記憶する(S504)。本実施例では、S504の時点では、図14に示すようなエンティティ結果テーブルを作成したとする。図14の例では、ET3の「文書発行側の個人名」に対応するエンティティが抽出されなかったため、そのBS領域と文字列が空欄となっている。
制御部321は、S403で記憶したボタン番号BTN1と同じボタン番号が関連づけられた学習済帳票の情報を学習済帳票テーブルから取得する(S505)。本実施例では、図12に示した学習済帳票テーブルの中から同じボタン番号の学習済み帳票(学習済み文書)の情報を取得して帳票マッチングの比較対象にする。
制御部321は、S505で取得した学習済帳票のBS領域とS503で取得したスキャン画像データのBS領域とを比較して帳票マッチングを行い、スキャン画像データと同じレイアウト(すなわち同じフォーマット)の学習済帳票があるか判定する(S506)。本実施例では、図15に示す学習済帳票の情報が同じレイアウト(同フォーマット)の帳票として判定されたものとする。
制御部321は、S506の帳票マッチングの結果、同じフォーマットの学習済帳票(文書)があると判定した場合(S507でYes)、S508へ進む。一方、同じフォーマットの学習済帳票が無いと判定した場合(S507でNo)、処理を終了する。
制御部321は、エンティティ結果テーブルに含まれる行のうち、S509以降の処理を行っていない行があるかを判定する(S508)。S509以降の処理を行っていない行がある場合(S508でYes)、S509へ進む。全ての行でS509以降の処理を行った場合(S508でNo)、処理を終了する。
制御部321は、エンティティ結果テーブルに含まれる行のうち、S510以降の処理を行っていない行を一つ選択する(S509)。例えば、図14の番号ET3の行を選択したとする。
制御部321は、S509で選択したエンティティ結果テーブル中の行について、BS領域と文字列の欄が空でないかを判定する(S510)。BS領域と文字列の欄が空でない(即ち、当該種別のエンティティが抽出されている)場合(S510でYes)、S508へ戻る。BS領域と文字列の欄が空である(すなわち、当該種別のエンティティが抽出されなかった場合(S510でNo)、S511へ進む。例えば、図14の番号ET3の行はBS領域と文字列の欄が空である為、S511へ進む。
制御部321は、S506で取得した学習済み帳票のうち、種別がS509で選択したものと同じ行のBS領域が空でないかを判定する(S511)。BS領域が空でなかった、即ち学習済帳票では当該種別のエンティティが抽出できていた場合(S511でYes)、S512へ進む。そうでない場合(S511でNo)、S508へ戻る。例えば、図14の番号ET3の種別「文書発行側の個人名」と同じ種別を持つ図15の行は、番号ET3の行であり、BS領域の欄が空ではないためS512へ進む。
制御部321は、S506で取得した学習済帳票のうち、種別がS509で選択した物と同じ行のBS領域の位置情報を取得する(S512)。例えば、図15の番号ET3のBS領域の位置情報である「197、833、309、35」を取得する。
制御部321は、S503で記憶したBS/OCR結果テーブルから、S512で取得したBS領域の位置情報に一致する行の文字列を取得する(S513)。例えば、S512で取得した位置情報「197、833、309、35」に対応する位置に存在するBS領域の文字列である「三木 登四郎」を取得する。
制御部321は、S512で取得したBS領域、及びS513で取得した文字列を、S509で選択したエンティティ結果テーブルの行に反映する(S514)。
制御部321は、S509で選択したエンティティ結果テーブルの行の「要確認」の欄に「1」を記入し、確認が必要なエンティティであることを記録する(S515)。これは、S506でスキャン画像とは別のフォーマットの帳票が誤ってマッチングされてしまった場合、S514の処理によってユーザの所望のものとは別のBS領域でエンティティ結果が修正されていないか、確認を促すためである。
S514及びS515の処理の結果、図14に示したエンティティ結果テーブルは、図13に示すように更新される。
図6は、S408の詳細を示したフローチャートである。
情報処理端末103の制御部331は、S407にて受信した処理結果から、スキャン画像データとエンティティ結果テーブルの内容とに基づく画面を、表示部334に表示させる(S601)。この表示の一例を図7に示す。図7において、領域701はスキャン画像データのプレビューを表示する領域である。領域702はエンティティ抽出結果を表示する領域であり、種別ごとにエンティティ結果テーブルにおけるBS領域および文字列を表示する。ユーザは当該表示されたBS領域および文字列のテキストボックスを選択して修正操作を行う事で、操作部236を介してエンティティ結果テーブルの内容を修正する事が出来る。保存ボタン703はユーザによる確認および修正が終了し、画像の保存を指示するボタンである。警告表示704は、ユーザによる確認が必要なエンティティを示すものであり、種別の横に表示される。警告表示704は後述するS603の処理によって表示されるものである。
制御部331は、S407にて受信したエンティティ結果テーブルのうち、要確認の欄が「1」の行があるかを判定する(S602)。要確認の欄が「1」の行がある場合(S602でYes)、S603へ進む。そうでない場合(S602でNo)、処理を終了する。
制御部331は、要確認の欄が「1」である行に相当する種別の横に警告表示704を表示して処理を終了する(S603)。
図8は、S414の詳細を示したフローチャートである。
画像処理サーバ102の制御部321は、S410にて受信したスキャン画像データ保存要求に含まれる、ユーザによる確認・修正済のエンティティ結果テーブルを取得する(S801)。
制御部321は、S503で記憶したBS領域と文字列のOCR結果とを取得する(S802)。
制御部321は、記憶部322を介してS505と同様に学習済帳票を取得する(S803)。
制御部321は、画像処理部324を介して、S803で取得した学習済帳票のBS領域と、S802で取得した処理結果のBS領域とを比較して帳票マッチングを行い、同じレイアウトと判断された学習済み帳票を取得する(S804)。
制御部321は、S804にて取得した学習済み帳票(同じレイアウトと判断された学習済み帳票)があるか否かを判定する(S805)。
制御部321は、帳票マッチングの結果、同じレイアウトの学習済み帳票があると判定した場合(S805でYes)、S804で取得した学習済帳票のBS領域を、S802で取得したBS領域およびS801で取得したエンティティ結果テーブルのBS領域で更新して処理を終了する(S806)。
一方、制御部321は、帳票マッチングの結果、同じレイアウトの学習済み帳票が無い(すなわち、未学習である)と判定した場合(S805でNo)、S802で取得したBS領域およびS801で取得したエンティティ結果テーブルから学習済帳票を生成して、学習済帳票テーブルに追加して処理を終了する(S807)。
本実施例では、ネットワーク105は、有線LAN(Local Area Network)、無線LAN、Internet等、画像処理システム内の装置が相互に通信できるものであれば構わない。
画像処理サーバ102、クラウドストレージサーバ104は、ローカルネットワーク上のサーバPCで動作するでも良いし、クラウドサービス上で実現される仮想サーバやサービスであっても良い。
スキャンに関わる設定をスキャン設定テーブルに保持するが、外部から任意に設定されるようにしても良い。
なお、帳票マッチングでのBS領域の比較において、本実施例では、座標の位置と幅、高さが同じの場合、同一であると判定しているが、同一判定とする座標値に幅を持たせて、一定以内であれば同じと判定する方法でも構わない。また、帳票マッチングにおいて、全てのBS領域が同じである場合に一致と判定しているが、例えば、帳票の上部(例えば上半分)にあるBS領域が同じであれば、一致と判定しても良いし、BS領域が所定数以上同じであれば一致と判定するようにしてもよい。
以上、本実施例によれば、文書から所望の項目に対応するエンティティの文字列が抽出できなかった場合(例えば、図14のET3)、同じフォーマットの学習済み帳票において以前にエンティティ文字列を抽出した際の位置情報(例えば図15)を用いて、エンティティ抽出結果を補正できる(例えば図13)。
本実施例2では、実施例1に加え、処理対象画像のエンティティ抽出の結果が空でなかった場合でも、学習済み帳票のエンティティ抽出結果と照らし合わせることにより、妥当性の低いと判断される抽出結果についてユーザに確認を促す方法を説明する。本実施例においてシステム構成やソフトウェア構成など、実施例1と同様の説明は割愛する。
図9は、S404の詳細を示したフローチャートである。
制御部321は、S509で選択したエンティティ結果テーブル中の行について、BS領域と文字列が空でない場合(S510でYes)、S506で取得した学習済み帳票のうち種別がS509で選択したものと同じ行のBS領域が空でないかを判定する(S901)。
制御部321は、学習済み帳票の該当する行のBS領域が空でない場合(S901でNo)、S509で選択したエンティティ結果テーブルの行の「要確認」の欄に「1」を記入し、確認が必要なエンティティであることを記録する(S902)。これは、同一のフォーマットでは同一の座標に同一のエンティティが抽出される事が自然だが、以前の抽出結果と今回のスキャン画像の抽出結果で抽出成否が異なる状態は抽出結果の妥当性が低いと考えられ、ユーザに確認を促す為である。
制御部321は、S509で取得したエンティティ結果テーブル中の行のBS領域の位置座標と、S505で取得した学習済帳票のうち、種別がS509で取得したものと同じ行のBS領域の位置座標とを比較して、両BS領域間の距離が所定の閾値以上離れているかを判定する(S903)。両BS領域の距離は、各BS領域の左上頂点の座標間の距離を測定する。両BS領域の距離が閾値より小さい場合(S903でNo)、S508へ戻る。
制御部321は、両BS領域の距離が閾値以上である場合(S903でYes)、S509で選択したエンティティ結果テーブルの行の「要確認」の欄に「1」を記入し、確認が必要なエンティティであることを記録する(S904)。これは、同一のフォーマットでは同一の座標に同一のエンティティが抽出される事が自然だが、以前の抽出結果と今回のスキャン画像の抽出結果で座標が離れている状態は抽出結果の妥当性が低いと考えられ、ユーザに確認を促す為である。
本実施例では、BS領域間の距離には左上頂点の座標間の距離を用いたが、例えばBS領域の重心間の距離など、別の方法を用いても構わない。
以上、本実施系によれば、エンティティ抽出の結果が空でなかった場合でも、学習済帳票のエンティティ抽出結果と照らし合わせ、妥当性の低い抽出結果はユーザに確認を促す事ができる。
(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。その処理は、上述した実施例の機能を実現させるソフトウェア(プログラム)を、ネットワーク又はコンピュータ読取可能な記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(CPU等)がプログラムを実行する、というものである。

Claims (10)

  1. 処理対象の文書画像に対して文字認識処理を行うことにより文字認識結果を得る文字認識手段と、
    前記文字認識結果に基づいてエンティティ抽出を行うことにより、所定の項目に対応する文字列を抽出するエンティティ抽出手段と、
    前記エンティティ抽出手段により前記文書画像についての前記所定の項目に対応する文字列が抽出されなかった場合、以前に前記文書画像と同じフォーマットの文書において前記所定の項目に対応する文字列が抽出された領域の位置情報に基づいて、前記文書画像についての前記所定の項目に対応する文字列を取得する取得手段と、
    を備えることを特徴とする画像処理装置。
  2. 前記文字認識手段は、前記処理対象の文書画像内の文字列領域に対して文字認識処理を行うことにより、前記文字認識結果を得ることを特徴とする請求項1に記載の画像処理装置。
  3. 前記エンティティ抽出は、自然言語処理を含む、ことを特徴とする請求項1または2に記載の画像処理装置。
  4. 前記処理対象の文書画像は、スキャンにより生成された文書画像またはファクシミリにより受信した文書画像の少なくともいずれかであることを特徴とする請求項1乃至3のいずれか1項に記載の画像処理装置。
  5. 前記同じフォーマットの文書は、前記文書画像内の文字列領域の位置に基づいて判定されることを特徴とする請求項1乃至4のいずれか1項に記載の画像処理装置。
  6. 前記取得手段により前記所定の項目に対応する文字列を取得した場合、当該文字列の確認をユーザに促すことを特徴とする請求項1乃至5のいずれか1項に記載の画像処理装置。
  7. 前記エンティティ抽出手段により前記文書画像についての前記所定の項目に対応する文字列が抽出され、かつ、以前に前記文書画像と同じフォーマットの文書において前記所定の項目に対応する文字列が抽出されていなかった場合、当該エンティティ抽出手段により抽出された前記所定の項目に対応する文字列の確認をユーザに促すことを特徴とする請求項1乃至6のいずれか1項に記載の画像処理装置。
  8. 前記エンティティ抽出手段により前記文書画像についての前記所定の項目に対応する文字列が抽出され、かつ、以前に前記文書画像と同じフォーマットの文書において前記所定の項目に対応する文字列が抽出され、かつ、それらの文字列が抽出された領域間の距離が所定の閾値以上離れている場合、当該エンティティ抽出手段により抽出された前記所定の項目に対応する文字列の確認をユーザに促すことを特徴とする請求項1乃至7のいずれか1項に記載の画像処理装置。
  9. コンピュータを、請求項1乃至8のいずれか1項に記載の画像処理装置の各手段として機能させるためのプログラム。
  10. 処理対象の文書画像に対して文字認識処理を行うことにより文字認識結果を得る文字認識ステップと、
    前記文字認識結果に基づいてエンティティ抽出を行うことにより、所定の項目に対応する文字列を抽出するエンティティ抽出ステップと、
    前記エンティティ抽出ステップで前記文書画像についての前記所定の項目に対応する文字列が抽出されなかった場合、以前に前記文書画像と同じフォーマットの文書において前記所定の項目に対応する文字列が抽出された領域の位置情報に基づいて、前記文書画像についての前記所定の項目に対応する文字列を取得する取得ステップと、
    を備えることを特徴とする画像処理方法。
JP2021137679A 2021-08-26 2021-08-26 画像処理装置、プログラム、画像処理方法 Pending JP2023031908A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2021137679A JP2023031908A (ja) 2021-08-26 2021-08-26 画像処理装置、プログラム、画像処理方法
US17/821,139 US20230063374A1 (en) 2021-08-26 2022-08-19 Image processing apparatus, non-transitory storage medium, and image processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021137679A JP2023031908A (ja) 2021-08-26 2021-08-26 画像処理装置、プログラム、画像処理方法

Publications (1)

Publication Number Publication Date
JP2023031908A true JP2023031908A (ja) 2023-03-09

Family

ID=85286458

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021137679A Pending JP2023031908A (ja) 2021-08-26 2021-08-26 画像処理装置、プログラム、画像処理方法

Country Status (2)

Country Link
US (1) US20230063374A1 (ja)
JP (1) JP2023031908A (ja)

Also Published As

Publication number Publication date
US20230063374A1 (en) 2023-03-02

Similar Documents

Publication Publication Date Title
JP5712487B2 (ja) 画像処理装置、画像処理システム、画像処理方法、及びプログラム
US8131081B2 (en) Image processing apparatus, and computer program product
JP4502385B2 (ja) 画像処理装置およびその制御方法
JP2004265384A (ja) 画像処理システム及び情報処理装置、並びに制御方法及びコンピュータプログラム及びコンピュータ可読記憶媒体
JP2006350551A (ja) 文書変換装置、文書変換方法、文書変換システム、文書処理装置および情報処理装置
US10270934B2 (en) Image processing apparatus and image forming apparatus
JP6762722B2 (ja) 情報処理装置、制御方法、及びプログラム
US9614984B2 (en) Electronic document generation system and recording medium
US11418658B2 (en) Image processing apparatus, image processing system, image processing method, and storage medium
US20190146646A1 (en) Information processing system, information processing apparatus, and non-transitory computer readable medium
JP5315075B2 (ja) 画像処理装置、画像処理装置の制御方法およびプログラム
CN111580758B (zh) 图像形成装置
JP2023165712A (ja) サーバ、制御方法、プログラム
JP2021057783A (ja) 画像処理装置、画像処理装置の制御方法及びそのプログラム
JP4754236B2 (ja) 情報処理装置、取得方法、及び取得プログラム
JP2023031908A (ja) 画像処理装置、プログラム、画像処理方法
JP6601143B2 (ja) 印刷装置
JP2010039783A (ja) 文書処理装置、文書処理システム、文書処理方法、及び、文書処理プログラム
JP2023068989A (ja) 情報処理装置、情報処理方法およびプログラム
JP2007048061A (ja) 文字処理装置、文字処理方法及び記録媒体
JP6281739B2 (ja) 処理装置及びプログラム
JP2010109653A (ja) 画像読取装置、画像形成装置、画像読取方法および画像読取プログラム
JP2024033328A (ja) 画像処理装置、画像処理装置の制御方法、及びプログラム
JP2023041243A (ja) 情報処理装置、情報処理方法、及びプログラム
JP2023054708A (ja) 情報処理装置、文書分割方法、及びプログラム

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20231213