JP2022045011A - 画像処理装置、画像処理装置の制御方法およびプログラム - Google Patents
画像処理装置、画像処理装置の制御方法およびプログラム Download PDFInfo
- Publication number
- JP2022045011A JP2022045011A JP2020150466A JP2020150466A JP2022045011A JP 2022045011 A JP2022045011 A JP 2022045011A JP 2020150466 A JP2020150466 A JP 2020150466A JP 2020150466 A JP2020150466 A JP 2020150466A JP 2022045011 A JP2022045011 A JP 2022045011A
- Authority
- JP
- Japan
- Prior art keywords
- character
- area
- image
- document
- handwritten
- 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
Images
Landscapes
- Character Discrimination (AREA)
- Editing Of Facsimile Originals (AREA)
- Character Input (AREA)
Abstract
【課題】手書き文字と印刷文字とが混在する紙文書のスキャン画像から文字情報を適切に取得する。【解決手段】紙文書のスキャン画像を取得し、スキャン画像を解析して抽出した文字領域に含まれる文字が手書き文字であるか、または印刷文字であるかを判定する。文書における文字の配置を示す配置情報と、当該文書をファイル化する際のプロパティとして使用するための文字の取得領域を示す取得領域情報とを文書フォーマットに紐づけて、文書の種類ごとに管理する。文書の種類ごとに管理されている配置情報を基に、スキャン画像の文書フォーマットと類似する文書フォーマットを特定し、当該特定された文書フォーマットに対応づけられている取得領域情報に基づいて、スキャン画像上の所定の文字領域を、手書き文字と印刷文字とで異なる手法で決定する。所定の文字領域に対し文字認識を行って文字情報を取得する。【選択図】図4
Description
本発明は、紙文書のスキャン画像から文字情報を取得する技術に関する。
紙文書のスキャン画像に対して光学文字認識(OCR:Optical Character Recognition)処理を行い、文字情報を取得する技術がある。このような技術は、例えば、アンケートの集計や、申込書類の項目の転記等、特定のフォーマットに基づいた複数の紙文書のスキャン画像から情報を収集するときに利用される。
OCR処理領域の決定方法には、様々な手法があり、ユーザの作業負担を軽減する技術として、特許文献1は、学習データを用いる手法を開示している。学習データを用いる手法では、先ず、文書のスキャン画像について、どの領域に文字が配置されているかを示す配置情報と、どの領域の文字情報を取得するかを示す取得領域情報とを学習データとして蓄積する。そして、新たな文書のスキャン画像を取得し、蓄積された学習データの中から、各文書のスキャン画像に紐づく文字の配置情報を基に、新たな文書のスキャン画像と類似したものを探索する。新たな文書のスキャン画像と類似したものを見つけると、類似の文書のスキャン画像の取得領域情報が示す領域に対応する新たな文書のスキャン画像の所定領域を、OCR処理領域として決定している。
紙文書には印刷文字だけでなく印刷文字と手書き文字とが混在し、紙文書に記入された手書き文字の文字情報を取得したい場合がある。手書き文字の記入位置は、各記入者で異なり特定領域からずれたり、同じ記入者であっても記入の都度異なり特定領域からずれたりすることがある。特許文献1の手法では、類似の文書のスキャン画像の取得領域情報を基に決定した新たな文書のスキャン画像の所定領域に対してOCR処理を行うことから、手書き文字の記入位置が取得領域情報で示される領域からずれると、適切な文字認識結果を取得できない。そのため、学習データの中に新たな文書のスキャン画像と類似する文書のスキャン画像があってもユーザが改めて手書き文字領域を指示する必要があった。また、手書き文字の位置ずれを考慮し、手書き文字のOCR処理領域を手動で広げるなどの入力を行うこととすると、ユーザの作業が煩雑となり、様々なフォーマットの文書のスキャン画像から文字情報を取得する際の作業効率を低下させていた。
本開示は、手書き文字と印刷文字とが混在する紙文書のスキャン画像から文字情報を適切に取得する技術を提供する。
本開示の一態様に係る画像処理装置は、紙文書のスキャン画像を取得する取得手段と、前記スキャン画像を解析して文字が記載される文字領域を抽出する抽出手段と、前記文字領域に含まれる文字が手書き文字であるか、または印刷文字であるかを判定する判定手段と、文書における文字の配置を示す配置情報と、当該文書をファイル化する際のプロパティとして使用するための文字の取得領域を示す取得領域情報とを文書フォーマットに紐づけて、文書の種類ごとに管理する管理手段と、前記管理手段にて文書の種類ごとに管理されている前記配置情報を基に、前記スキャン画像の文書フォーマットと類似する文書フォーマットを特定し、当該特定された文書フォーマットに対応づけられている前記取得領域情報に基づいて、前記スキャン画像上の所定の文字領域を決定する決定手段と、前記所定の文字領域に対し文字認識を行って文字情報を取得する文字認識手段と、を有し、前記決定手段は、前記手書き文字と前記印刷文字とで異なる手法で前記所定の文字領域を決定することを特徴とする。
本開示によれば、手書き文字と印刷文字とが混在する紙文書のスキャン画像から文字情報を適切に取得することができる。
以下、本開示の技術を実施するための形態について図面を用いて説明する。なお、以下の実施形態は、特許請求の範囲に係る本開示の技術を限定するものでなく、また以下の実施形態で説明されている特徴の組み合わせの全てが本開示の技術の解決手段に必須のものとは限らない。
[第1実施形態]
<画像処理システムの概要>
図1は、本実施形態に係る画像処理システムの全体構成を示す図である。画像処理システム100は、MFP(Multifunction Peripheral)110、クライアントPC(Personal Computer)111、MFP連携サーバ120およびストレージサーバ130を含む。MFP110及びクライアントPC111は、LAN(Local Area Network)経由でインターネット上の各種サービスを提供するサーバに対して通信可能に接続されている。
<画像処理システムの概要>
図1は、本実施形態に係る画像処理システムの全体構成を示す図である。画像処理システム100は、MFP(Multifunction Peripheral)110、クライアントPC(Personal Computer)111、MFP連携サーバ120およびストレージサーバ130を含む。MFP110及びクライアントPC111は、LAN(Local Area Network)経由でインターネット上の各種サービスを提供するサーバに対して通信可能に接続されている。
MFP110は、スキャン機能を有する画像処理装置の一例である。MFP110は、スキャン機能に加え印刷機能やBOX保存機能といった複数の機能を有する複合機である。クライアントPC111はMFP連携サーバ120に対して依頼したサービスの提供を受けるアプリケーションがインストールされたコンピュータの一例である。サーバ装置120および130は、共にクラウドサービスを提供する画像処理装置の一例である。本実施形態のサーバ装置120は、MFP110から受け取ったスキャン画像に対し画像解析を行い自サーバ上に保存したり、別のサービスを提供するサーバ装置130に対しMFP110からのリクエストを転送したりするサービスを提供する。以下、サーバ装置120が提供するクラウドサービスを「MFP連携サービス」と呼ぶこととする。サーバ装置130は、インターネットを介して送られてきたファイルを保存したり、モバイル端末(不図示)などのウェブブラウザからの要求に応じて保存ファイルを提供したりするクラウドサービス(以下、「ストレージサービス」と呼ぶ)を提供する。本実施形態では、MFP連携サービスを提供するサーバ装置120を「MFP連携サーバ」と呼び、ストレージサービスを提供するサーバ装置130を「ストレージサーバ」と呼ぶこととする。
本実施形態の画像処理システム100は、MFP110、クライアントPC111、MFP連携サーバ120およびストレージサーバ130からなる構成としているがこれに限定されない。例えば、クライアントPC111やMFP連携サーバ120の機能をMFP110が兼ね備えてもよい。また、MFP連携サーバ120はインターネット上ではなくLAN経由でMFP110やクライアントPC111と接続されていてもよい。また、ストレージサーバ130を、メール配信サービスを行うメールサーバに置き換えて、文書のスキャン画像をメールに添付し送信する場面に適用してもよい。
<MFPのハードウェア構成>
図2は、MFP110のハードウェア構成例を示す図である。MFP110は、制御部210、操作部220、プリンタ221、スキャナ222、モデム223を有する。制御部210は、以下の各部211~219を有し、MFP110全体の動作を制御する。CPU211は、中央処理装置であり、ROM(Read Only Memory)212に記憶された制御プログラム(後述のソフトウェア構成図で示す各種機能に対応するプログラム)を読み出して実行する。RAM(Random Access Memory)213は、CPU211の主メモリ、ワークエリア等の一時記憶領域として用いられる。なお、本実施形態では1つのCPU211が1つのメモリ(RAM213またはHDD214)を用いて後述のフローチャートに示す各処理を実行するものとするが、これに限定されない。例えば、複数のCPUや複数のRAMまたはHDDを協働させて各処理を実行してもよい。HDD(Hard Disk Drive)214は、画像データや各種プログラムを記憶する大容量記憶部である。操作部I/F215は、操作部220と制御部210とを接続するインタフェースである。操作部220には、表示部として機能するタッチパネルやキーボードなどが備えられており、ユーザによる操作/入力/指示を受け付ける。なお、タッチパネルへのタッチ操作には、人の指による操作やタッチペンによる操作が含まれる。プリンタI/F216は、プリンタ221と制御部210とを接続するインタフェースである。印刷用の画像データはプリンタI/F216を介して制御部210からプリンタ221へ転送され、紙等の記録媒体上に印刷される。スキャナI/F217は、スキャナ222と制御部210とを接続するインタフェースである。スキャナ222は、不図示の原稿台やADF(Auto Document Feeder)にセットされた原稿(文書)を光学的に読み取って画像データ(すなわち、スキャン画像データ)を生成し、スキャナI/F217を介して制御部210に入力する。MFP110は、スキャナ222で生成された画像データをプリンタ221から印刷出力(コピー)する他、ファイル送信またはメール送信することができる。モデムI/F218は、モデム223と制御部210とを接続するインタフェースである。モデム223は、PSTN(Public Switched Telephone Networks)上のファクシミリ装置との間で画像データをファクシミリ通信する。ネットワークI/F219は、制御部210(MFP110)をLANに接続するインタフェースである。MFP110は、ネットワークI/F219を用いてインターネット上の各サービスに画像データや情報を送信したり、各種情報を受信したりする。
図2は、MFP110のハードウェア構成例を示す図である。MFP110は、制御部210、操作部220、プリンタ221、スキャナ222、モデム223を有する。制御部210は、以下の各部211~219を有し、MFP110全体の動作を制御する。CPU211は、中央処理装置であり、ROM(Read Only Memory)212に記憶された制御プログラム(後述のソフトウェア構成図で示す各種機能に対応するプログラム)を読み出して実行する。RAM(Random Access Memory)213は、CPU211の主メモリ、ワークエリア等の一時記憶領域として用いられる。なお、本実施形態では1つのCPU211が1つのメモリ(RAM213またはHDD214)を用いて後述のフローチャートに示す各処理を実行するものとするが、これに限定されない。例えば、複数のCPUや複数のRAMまたはHDDを協働させて各処理を実行してもよい。HDD(Hard Disk Drive)214は、画像データや各種プログラムを記憶する大容量記憶部である。操作部I/F215は、操作部220と制御部210とを接続するインタフェースである。操作部220には、表示部として機能するタッチパネルやキーボードなどが備えられており、ユーザによる操作/入力/指示を受け付ける。なお、タッチパネルへのタッチ操作には、人の指による操作やタッチペンによる操作が含まれる。プリンタI/F216は、プリンタ221と制御部210とを接続するインタフェースである。印刷用の画像データはプリンタI/F216を介して制御部210からプリンタ221へ転送され、紙等の記録媒体上に印刷される。スキャナI/F217は、スキャナ222と制御部210とを接続するインタフェースである。スキャナ222は、不図示の原稿台やADF(Auto Document Feeder)にセットされた原稿(文書)を光学的に読み取って画像データ(すなわち、スキャン画像データ)を生成し、スキャナI/F217を介して制御部210に入力する。MFP110は、スキャナ222で生成された画像データをプリンタ221から印刷出力(コピー)する他、ファイル送信またはメール送信することができる。モデムI/F218は、モデム223と制御部210とを接続するインタフェースである。モデム223は、PSTN(Public Switched Telephone Networks)上のファクシミリ装置との間で画像データをファクシミリ通信する。ネットワークI/F219は、制御部210(MFP110)をLANに接続するインタフェースである。MFP110は、ネットワークI/F219を用いてインターネット上の各サービスに画像データや情報を送信したり、各種情報を受信したりする。
<クライアントPC、サーバ装置のハードウェア構成>
図3は、クライアントPC111、MFP連携サーバ120及びストレージサーバ130のハードウェア構成例を示す図である。クライアントPC111、MFP連携サーバ120及びストレージサーバ130は共通のハードウェア構成を有し、CPU311、ROM312、RAM313、HDD314及びネットワークI/F315で構成される。CPU311は、ROM312に記憶された制御プログラムを読み出して各種処理を実行することで、全体の動作を制御する。RAM313は、CPU311の主メモリ、ワークエリア等の一時記憶領域として用いられる。HDD314は、画像データや各種プログラムを記憶する大容量記憶部である。ネットワークI/F315は、制御部310をインターネットに接続するインタフェースである。MFP連携サーバ120及びストレージサーバ130は、ネットワークI/F315を介して他の装置(MFP110等)から様々な処理のリスエストを受け、当該リクエストに応じた処理結果を返す。
図3は、クライアントPC111、MFP連携サーバ120及びストレージサーバ130のハードウェア構成例を示す図である。クライアントPC111、MFP連携サーバ120及びストレージサーバ130は共通のハードウェア構成を有し、CPU311、ROM312、RAM313、HDD314及びネットワークI/F315で構成される。CPU311は、ROM312に記憶された制御プログラムを読み出して各種処理を実行することで、全体の動作を制御する。RAM313は、CPU311の主メモリ、ワークエリア等の一時記憶領域として用いられる。HDD314は、画像データや各種プログラムを記憶する大容量記憶部である。ネットワークI/F315は、制御部310をインターネットに接続するインタフェースである。MFP連携サーバ120及びストレージサーバ130は、ネットワークI/F315を介して他の装置(MFP110等)から様々な処理のリスエストを受け、当該リクエストに応じた処理結果を返す。
<画像処理システムのソフトウェア構成>
図4は、本実施形態に係る画像処理システム100のソフトウェア構成例を示すブロック図であり、図4(a)に画像処理システム100の全体を示し、図4(b)にMFP連携サーバ120の画像処理部432の詳細を示す。以下、画像処理システム100を構成するMFP110、MFP連携サーバ120及びストレージサーバ130それぞれの役割に対応したソフトウェア構成を順に説明する。なお、以下では各装置が有する諸機能のうち、文書をスキャンして電子化(ファイル化)し、ストレージサーバ130に保存を行うまでの処理に関わる機能に絞って説明を行うものとする。
図4は、本実施形態に係る画像処理システム100のソフトウェア構成例を示すブロック図であり、図4(a)に画像処理システム100の全体を示し、図4(b)にMFP連携サーバ120の画像処理部432の詳細を示す。以下、画像処理システム100を構成するMFP110、MFP連携サーバ120及びストレージサーバ130それぞれの役割に対応したソフトウェア構成を順に説明する。なお、以下では各装置が有する諸機能のうち、文書をスキャンして電子化(ファイル化)し、ストレージサーバ130に保存を行うまでの処理に関わる機能に絞って説明を行うものとする。
<MFPのソフトウェア構成>
MFP110の機能モジュールは、ネイティブ機能モジュール410とアディショナル機能モジュール420の2つに大別される。ネイティブ機能モジュール410はMFP110に標準的に備えられたアプリケーションであるのに対し、アディショナル機能モジュール420はMFP110に追加的にインストールされたアプリケーションである。アディショナル機能モジュール420は、Java(登録商標)をベースとしたアプリケーションであり、MFP110への機能追加を容易に実現できる。なお、MFP110には図示しない他の追加アプリケーションがインストールされていてもよい。
MFP110の機能モジュールは、ネイティブ機能モジュール410とアディショナル機能モジュール420の2つに大別される。ネイティブ機能モジュール410はMFP110に標準的に備えられたアプリケーションであるのに対し、アディショナル機能モジュール420はMFP110に追加的にインストールされたアプリケーションである。アディショナル機能モジュール420は、Java(登録商標)をベースとしたアプリケーションであり、MFP110への機能追加を容易に実現できる。なお、MFP110には図示しない他の追加アプリケーションがインストールされていてもよい。
ネイティブ機能モジュール410は、スキャン実行部411およびスキャン画像管理部412を有する。アディショナル機能モジュール420は、表示制御部421、スキャン指示部422、連携サービスリクエスト部423、画像処理部424を有する。
表示制御部421は、操作部220のタッチパネル機能を有する液晶表示部に、各種のユーザ操作を受け付けるユーザインターフェース画面(UI画面)を表示する。各種のユーザ操作には、例えば、MFP連携サーバ120へのアクセスに用いられるログイン認証情報の入力、スキャン設定、スキャン開始指示、ファイル名設定、ファイル名の保存指示などがある。
スキャン指示部422は、UI画面でなされたユーザ操作(例えば「スキャン開始」ボタンの押下)に応じて、スキャン設定の情報と共にスキャン実行部411に対しスキャン処理の実行を指示する。スキャン実行部411は、スキャン指示部422からのスキャン処理の実行指示に従い、スキャナI/F217を介してスキャナ222に文書の読み取り動作を実行させ、原稿台ガラスに置かれた原稿(紙文書)を読み取ることでスキャン画像データを生成する。生成したスキャン画像データは、スキャン画像管理部412によってHDD214に保存される。この際、保存されたスキャン画像データを一意に示すスキャン画像識別子の情報が、スキャン指示部422へ通知される。スキャン画像識別子は、MFP110においてスキャンした画像をユニークに識別する番号や記号、アルファベットなどである。スキャン指示部422は、例えばファイル化する対象のスキャン画像データを上記のスキャン画像識別子を使ってスキャン画像管理部412から取得する。そして、ファイル化のために必要な処理のリクエストをMFP連携サーバ120に対して行うよう、連携サービスリクエスト部423に対して指示する。
連携サービスリクエスト部423は、MFP連携サーバ120に対して各種処理のリクエストを行ったり、そのレスポンスを受け取ったりする。各種処理には、例えば、ログイン認証、スキャン画像の解析、スキャン画像データの送信等が含まれる。MFP連携サーバ120とのやり取りにはREST(Representational State Transfer)やSOAP(Simple Object Access Protocol)等のプロトコルが使用される。MFP連携サーバ120とのやり取りはこれに限定されず、その他の通信手段を用いてもよい。画像処理部424は、スキャン画像データに対して所定の処理を行って、表示制御部421が表示するUI画面で用いられる画像を生成する。
<サーバ装置のソフトウェア構成>
まず、MFP連携サーバ120のソフトウェア構成について説明する。MFP連携サーバ120は、リクエスト制御部431、画像処理部432、ストレージサーバアクセス部433、データ管理部434、表示制御部435を有する。リクエスト制御部431は、外部装置からのリクエストを受信できる状態で待機しており、受信したリクエスト内容に応じて、画像処理部432、ストレージサーバアクセス部433、データ管理部434に対し所定の処理の実行を指示する。
まず、MFP連携サーバ120のソフトウェア構成について説明する。MFP連携サーバ120は、リクエスト制御部431、画像処理部432、ストレージサーバアクセス部433、データ管理部434、表示制御部435を有する。リクエスト制御部431は、外部装置からのリクエストを受信できる状態で待機しており、受信したリクエスト内容に応じて、画像処理部432、ストレージサーバアクセス部433、データ管理部434に対し所定の処理の実行を指示する。
画像処理部432は、MFP110から送られてくるスキャン画像に対して、文字領域の検出処理、文字認識処理、類似文書の判定処理といった解析処理の他、回転や傾き補正といった画像加工処理を行う。画像処理部432は、図4(b)に示すように、画像補正部451、抽出部452、文字認識部453、文字分離部454、位置合わせ部455、類似判定部456、種別判定部457、領域決定部461、解析結果生成部471及び領域管理部472を有する。領域決定部461は、印刷領域決定部462及び手書き領域決定部463を有する。画像処理部432が有する各機能部の処理の詳細については、全体の処理の説明の中で随時行う。
ストレージサーバアクセス部433は、ストレージサーバ130に対する処理のリクエストを行う。クラウドサービスでは、RESTやSOAP等のプロトコルを用いてストレージサーバにファイルを保存したり、保存したファイルを取得したりする様々なインタフェースを公開している。ストレージサーバアクセス部433は、公開されたストレージサーバのインタフェースを使用して、ストレージサーバ130に対するリクエストを行う。データ管理部434は、MFP連携サーバ120で管理するユーザ情報、画像解析結果、各種設定データ等を保持・管理する。
表示制御部435は、インターネット経由で接続されたPCやモバイル端末(いずれも不図示)上で動作しているウェブブラウザからのリクエストを受けて、画面表示に必要な画面情報(HTML、CSS等)を返す。ユーザは、ウェブブラウザで表示される画面経由で、MFP連携サーバ120に登録されているユーザ情報を確認したり、スキャン設定を変更したりできる。
次に、ストレージサーバ130のソフトウェア構成について説明する。ストレージサーバ130は、リクエスト制御部441、ファイル管理部442、表示制御部443を有する。リクエスト制御部441は、外部装置からのリクエストを受信できる状態で待機しており、本実施形態においてはMFP連携サーバ120からのリクエストに応じて、受信したファイルの保存や保存ファイルの読み出しをファイル管理部442に指示する。そして、リクエストに応じたレスポンスをMFP連携サーバ120に返す。表示制御部443は、インターネット経由で接続されたPCやモバイル端末(不図示)上で動作しているウェブブラウザからのリクエストを受けて、画面表示に必要な画面構成情報(HTML、CSS等)を返す。ユーザは、ウェブブラウザで表示される画面経由で、ストレージサーバ130に登録されている保存ファイルを確認したり取得したりできる。
なお、図4(a)を用いてMFP110がアディショナル機能モジュール420を有する構成例について説明したが、本実施形態はこの構成に限定されない。例えば、クライアントPC111がアディショナル機能モジュール420の機能を含んでいても構わない。すなわち、MFP110にて得たスキャン画像の解析リクエストや解析結果に基づくファイル名の設定等を、クライアントPC111で行うようなシステム構成でも構わない。
また、クライアントPC111においてファイル名の設定等を行う場合、ファイル名等の設定を行うためのプログラム(モジュール)は、クライアントPC111に予めインストールしておくように構成してもよいが、これに限るものではない。例えば、クライアントPC111が備える汎用のウェブブラウザを利用して、ファイル名等の設定を行うためのウェブアプリケーションをMFP連携サーバ120から取得して実行するように構成してもよい。
<画像処理システム全体の処理の流れ>
図5は、MFP110で帳票などの紙文書をスキャンし、得られたスキャン画像をファイル化してクラウドサーバ130に保存する際の、各装置間の処理の流れを示すシーケンス図である。ここでは、各装置間のやり取りを中心に説明する。なお、図5のシーケンス図はMFP110がMFP連携サーバ120とやり取りを行う場合の説明となっているが、後述する解析結果取得、画面の表示、学習の指示等はMFP110でなくクライアントPC111が実行する構成でも構わない。
図5は、MFP110で帳票などの紙文書をスキャンし、得られたスキャン画像をファイル化してクラウドサーバ130に保存する際の、各装置間の処理の流れを示すシーケンス図である。ここでは、各装置間のやり取りを中心に説明する。なお、図5のシーケンス図はMFP110がMFP連携サーバ120とやり取りを行う場合の説明となっているが、後述する解析結果取得、画面の表示、学習の指示等はMFP110でなくクライアントPC111が実行する構成でも構わない。
MFP110は、通常の状態では提供する各機能を実施するためのボタンを並べたメイン画面をタッチパネル上に表示する。
MFP110にスキャン画像をストレージサーバ130に送信するための追加アプリケーション(以降、スキャンアプリと呼ぶ)をインストールすることで、アプリケーションの機能を使用するボタンがMFP110のメイン画面に表示される。メイン画面に表示されたボタンがユーザ操作によって押下されると、スキャン画像をストレージサーバ130に送信するための画面が表示され、図5のシーケンス図で示される一連の処理が開始する。以下、図5のシーケンス図に沿って、装置間のやり取りを時系列に説明する。なお、以下の説明において記号「S」はステップを表す。図5のシーケンス図は、スキャン画像をファイル化する際に付与されるファイル名を設定する場合の説明となっているが、ファイル名の他、フォルダパスやメタデータといったプロパティ全般に適用可能である。
S501では、スキャンアプリが実行されることで、MFP110は、MFP連携サーバ120にアクセスするためのログイン認証の情報を入力するUI画面(ログイン画面)を操作部220に表示する。
S502では、ユーザが、予め登録されているユーザIDとパスワードを、ログイン画面上の入力欄にそれぞれ入力しログインボタンを押下すると、ログイン認証のリクエストがMFP連携サーバ120に送信される。
S503では、ログイン認証のリクエストを受けたMFP連携サーバ120は、当該リクエストに含まれるユーザIDとパスワードを用いて認証処理を行う。認証処理の結果、正規のユーザであることが確認されれば、MFP連携サーバ120は、アクセストークンをMFP110に返す。以降、MFP110からMFP連携サーバ120に対して行う各種リクエストの際にこのアクセストークンを一緒に送ることで、ログイン中のユーザが特定される。本実施形態では、MFP連携サーバ120へのログインの完了によって、ストレージサーバ130へのログインも同時に完了するものとする。このためにユーザは、インターネット上のPC(不図示)のウェブブラウザ等を介して、MFP連携サービスを利用するためのユーザIDとストレージサービスを利用するためのユーザIDとの紐づけを予め行っておく。これにより、MFP連携サーバ120へのログイン認証に成功すれば同時にストレージサーバ130へのログイン認証も完了し、ストレージサーバ130にログインするための操作を省略できる。そして、MFP連携サーバ120においては、自装置にログインしたユーザからのストレージサービスに関するリクエストにも対応可能となる。なお、ログイン認証の方法は一般的に公知な手法(Basic認証、Digest認証、OAuthを用いた認可等)を用いて行えばよい。
ログインが完了すると、MFP110は、スキャン設定用のUI画面(以下、「スキャン設定画面」と表記)を操作部220に表示する(S504)。ユーザが、スキャン設定画面を介して、スキャン処理についての詳細な条件設定を行い、原稿台ガラスまたはADFにスキャン対象の紙文書をセットし、「スキャン開始」ボタンを押下すると、スキャンが実行される(S505)。これにより、紙文書を電子化したスキャン画像データが生成される。スキャンの完了後、MFP110は、スキャンによって得られた画像データを、その解析リクエストと共にMFP連携サーバ120に送信する(S506)。
スキャン画像の解析リクエストを受けたMFP連携サーバ120では、リクエスト制御部431が画像処理部432に対し、画像解析処理の実行を指示する(S507)。その際、リクエスト制御部431は、受信した解析リクエストを一意に特定可能な識別子であるリクエストIDをMFP110に返す。一方、解析処理の実行指示を受けた画像処理部432は、スキャン画像に対する解析処理を実行する(S508)。S508の解析処理の詳細については、図8を用いて後述する。
上記画像解析処理が行われている間、MFP110は、上述のリクエストIDを使用して、MFP連携サーバ120に対して定期的(例えば数百ミリ秒から数ミリ秒程度毎等)に処理状況の問い合わせを行う(S509~509’)。この問合わせは、MFP連携サーバ120からの解析処理の完了レスポンス(S510)が取得できるまで繰り返し実行される。MFP連携サーバ120は、処理状況の問い合わせを受けると、リクエストIDに対応する画像解析処理の進行状況を確認し、完了していない場合は処理中を表すレスポンスを返す。また、完了していた場合は完了を表すレスポンスを返す。このレスポンスの“status”には現在の処理状況を示す文字列、具体的には、MFP連携サーバ120で処理が行われている最中である場合には“processing”が入り、処理が完了している場合には“completed”が入る。なお、処理が失敗した場合の“failed”など、他のステータスを文字列が入ることもある。また、処理完了時(statusがcompletedの場合)のレスポンスには、ステータス情報に加え、スキャン画像を解析した解析結果情報、スキャン設定情報等が含まれる。
処理完了レスポンスを受信した後、MFP110は、当該レスポンスに含まれる、画像解析結果の格納先を示すURLを用いて、画像解析処理の結果を、MFP連携サーバ120に対してリクエストする(S511)。リクエストを受けたMFP連携サーバ120では、リクエスト制御部431が解析処理の結果情報をMFP110に返す。
そして、スキャン設定画面の表示から画像解析結果の取得までの一連の処理(S504~S511)が、ファイル化対象の紙文書の数だけ繰り返されることになる。もしくは、S505にて複数の紙文書をまとめてスキャンし、その解析リクエスト(S506)に基づく解析指示(S507)と解析処理(S508)を文書単位で分割して行うようにしてもよい。
そして、MFP110は、S511のリクエストで取得した解析処理の結果情報を使用して、ファイル名を設定するためのUI画面(以下、「ファイル名設定画面」と表記)を表示する(S512)。ファイル名設定画面での処理の詳細については、図6を用いて後述する。解析処理の結果情報の詳細については図7を用いて後述する。
ファイル名設定画面610(図6(b))にてスキャン画像に対してファイル名が設定され、スキャン済み文書一覧画面600(図6(a))にて対象の文書が選択された状態で「送信」ボタン602が押下されると、次の処理が行われる。すなわち、S513でファイル名を設定する際にユーザが行った入力操作に関する情報(設定時入力情報)を含んだ学習リクエストは、MFP連携サーバ120に送られる。
学習リクエストを受信したMFP連携サーバ120では、リクエスト制御部431が、画像処理部432に対し文書学習処理の実行を指示する(S514)。この指示を受けて画像処理部432は、スキャン画像に存在する各文字領域の配置情報と、S513で受け取った学習リクエストに含まれるファイル名設定時の入力情報(ファイル名の構成情報)を保存する(S515)。
その後、MFP110は、スキャン画像のデータとそのファイル化の際に設定するファイル名等の情報と共に、当該スキャン画像の保存リクエストをMFP連携サーバ120に送信する(S516)。保存リクエストを受信したMFP連携サーバ120では、リクエスト制御部431が、ファイル生成処理を開始すると共に保存リクエストを正常に受けたことを示すレスポンスをMFP110に返す。そのレスポンスを受け取ったMFP110は、処理を終了し、スキャン設定画面の表示状態(S504)に戻る。一方、MFP連携サーバ120では、事前に登録されたスキャン設定からファイルフォーマットの情報を取得し、当該ファイルフォーマットに従ってスキャン画像をファイル化する(S517)。この際、生成されたファイルには保存リクエストにて指定されたファイル名が付されることになる。こうして生成されたスキャン画像ファイルは、ストレージサーバ130に送信され、保存される(S518)。スキャン画像ファイルを受信したストレージサーバ130は、MFP連携サーバ120のリクエスト制御部431にスキャン画像ファイルの送信完了のレスポンスを返す。
以上が、画像処理システム全体の処理の流れである。
S511のリクエストで取得した画像解析処理の結果情報について、図7を用いて説明する。図7は、S511のリクエストで取得した画像解析処理の結果情報のデータ構造例を示す図である。図7(a)に文字認識結果例を示す。図7(b)にスキャン画像の文書フォーマットと類似する文書フォーマット(類似文書)があるときの判定結果例を示し、図7(c)にスキャン画像の文書フォーマットと類似する文書フォーマット(類似文書)がないときの判定結果例を示す。
S511のリクエストで取得した画像解析結果は、図7(a)に示す文字認識結果701と、図7(b)、(c)に示す類似文書に関する判定結果(以下、「類似文書判定結果」という)702または703とを含む。なお、類似文書判定結果702は、類似判定部456が、領域管理部472に登録されている複数の登録文書(画像)の中に、処理対象の文書(画像)の文書フォーマットと類似する文書(画像)の文書フォーマットがあると判定したときに生成される。複数の登録文書は、例えば文書における文字の配置を示す配置情報と、当該文書をファイル化する際のプロパティとして使用するための文字の取得領域を示す取得領域情報とを紐づけた文書フォーマットが文書の種類毎に領域管理部472に登録されたものである。類似文書判定結果703は、類似判定部456が、複数の登録文書(画像)の中に、処理対象の文書(画像)の文書フォーマットと類似する文書(画像)の文書フォーマットがないと判定したときに”matched:false”のみのデータとして生成される。
文字認識結果701について、詳細に説明する。”imageWidth”は、解析した画像のX方向(横方向)のピクセル数を示している。”imageHeight”は、解析した画像のY方向(縦方向)のピクセル数を示している。” regions”には解析した画像から解析された文字領域の座標情報と文字情報の配列とが含まれる。”rect”には抽出した文字領域一つの座標が示される。”x”は領域の左上のX座標、”y”は領域の左上のY座標、”width”は領域のX方向のピクセル数、”height”は領域のY方向のピクセル数を示している。”type”は”rect”の文字領域から抽出される画像の種別を示してる。本実施形態では、印刷文字を示す”printed_text”と、手書き文字を示す”handwritten_text”の2種類の値がある。これらは後述する文字分離処理で印刷文字と手書き文字を分離し、分離したそれぞれについて文字領域解析処理を行うことで判別される。”text”は”rect”の文字領域に対して文字認識を行った結果、抽出された文字を示しており、後述する文字認識処理により文字列が認識された領域に対する文字列が順次書き込まれていく。これら”rect”と”type”と”text”の情報は、解析したスキャン画像内の全文字領域分含まれる。ただし、図7(a)に示す文字認識結果701では、”rect”と”type”と”text”の情報の一部を省略している。
類似文書判定結果702について、詳細に説明する。”matched”には、類似判定部456による判定結果であり、以前にスキャンで得た複数の紙文書の画像の中に、解析対象の紙文書の画像と類似した文書の画像を見つけたかどうかを示す値が格納される。本実施形態では、類似文書の画像(文書フォーマット)が見つかったことを示す”true”と、類似文書の画像(文書フォーマット)が見つからなかったことを示す”false”の2種類の値がある。”formId”には、類似文書の画像があった場合はその文書の画像を一意に示す値が格納され、類似文書の画像がなかった場合にはS512でスキャンした文書の画像に対して設定したファイル名を学習させるときに使用する値が格納される。”matchingScore”には、類似文書の画像(文書フォーマット)があった場合にどの程度類似していたかを示す値が格納される。”matchingScore”に格納される値は過去のスキャンで得た文書の画像での文字の配置情報と今回スキャンで得た文書の画像での文字の配置情報の一致度合を0~1までの実数値で表され、この値が大きいほど類似文書の画像であることを示している。”rectInfoArray”には、類似文書の画像に対して以前にユーザがファイル名設定時に使用した文字が記載された領域に対応する、今回の解析対象の文書の画像にてどの領域の文字情報を取得するかを示す取得領域情報が格納される。”key”には、自動入力に使用する文字領域を一意に示す値が格納される。”region”には文字領域の座標情報とその領域を文字認識した結果抽出した文字が格納される。”rect”には抽出した文字領域一つの座標が示される。”x”は領域の左上のX座標、”y”は領域の左上のY座標、”width”は領域のX方向のピクセル数、”height”は領域のY方向のピクセル数を示している。”text”は”rect”の文字領域に対して文字認識を行った結果、抽出された文字列を示しており、後述する文字認識処理により認識された今回のスキャン画像に対する各ブロックの文字列が格納される。”metadataArray”にはファイル名を自動入力するためのファイル名に使用する文字領域の順番と区切り文字がどこに入るかを示す情報が格納される。ファイル名以外にもメタデータなどのプロパティ情報が設定されている場合は”rectInfoArray”や”metadataArray”に必要な情報が追加される。”key”には、紙文書のスキャン画像に設定する設定値を一意に示す値が格納される。”keyType”には、”key”の設定値の種別を示す値が格納される。ファイル名に使用する場合は、”key”が”filename”で”keyType”が”filename”となる。”value”には、”key”の値に使用する文字領域と区切り文字の情報が格納される。図7(b)に示す類似文書判定結果702では、”rectInfoArray”中の”fileRegion0”の”key”を持つ領域、区切り文字、”fileRegion1”の”key”を持つ領域の順番でファイル名を自動入力することを示している。
文字認識結果701と、類似文書判定結果702は、上述したS513からS515の文書学習処理においても用いられる。MFP110は、ユーザのファイル名入力に応じて、類似文書判定結果702の”rectInfoArray”と”metadataArray”を更新し、更新後の類似文書判定結果をMFP連携サーバ120へ送信する。更新後の類似文書判定結果を受信したMFP連携サーバ120では、画像処理部432の領域管理部472が、該当画像の文字認識結果701と受信した更新後の類似文書判定結果を、情報取得領域データとしてデータ管理部434を介して保存する。これにより、画像処理部432の類似判定部456は、登録された文字認識結果701と類似文書判定結果702を参照することにより、登録した文書のファイル名付け情報を利用することができる。すなわち、領域管理部472にて文書の種類ごとに管理されている前記配置情報を基に、前記スキャン画像の文書フォーマットと類似する文書フォーマットを特定し、当該特定された文書フォーマットに対応づけられている取得領域情報を利用できるともいえる。
ファイル名設定画面での処理の詳細について、図6を用いて説明する。図6は、S512にてMFP110のタッチパネルに表示される画面例であり、図6(a)にスキャン済み文書一覧画面600の一例を示し、図6(b)にファイル名設定画面610の一例を示す。
スキャン済み文書一覧画面600には、スキャン及び画像解析処理が完了し、ストレージサーバ130に送信する前のスキャン済み文書の画像の一覧601がユーザにとって閲覧可能に表示される。またスキャン済み文書一覧画面600は、スキャン済み文書一覧601に加え、「送信」ボタン602、「編集」ボタン603、「削除」ボタン604が存在する。スキャン済み文書一覧601はスキャン及び画像解析(S505~S510)が完了した文書の画像の一覧を表示する画面である。スキャン済み文書一覧601には、各ファイルについて、文書名605、送信先606、ステータス607および種類608に関する情報がそれぞれ表示される。文書名605に対応する欄には、文書の画像の名前を一意に識別する識別子が表示される。送信先606に対応する欄には、文書の画像(ファイル)の送信先であるストレージサーバ130の名称が表示される。ステータス607に対応する欄には、文書の画像に対して類似文書判定を行った際の結果を示しており、「未学習」または「学習済」のいずれかが表示される。「未学習」は類似文書の画像が存在しないと判定された、「学習済」は類似文書の画像が存在したと判定されたことを意味している。種類608に対応する欄には、文書の種類が表示される。例えば「申込書」や「入会申込書」が表示される。またステータス607が学習済の文書に関しては、「入会申込書AAA」や「入会申込書BBB」のように、対応する申込書のフォーマットの詳細な種類が表示される。これは類似文書判定処理により決定した最も類似する文書の画像と関連付けられている。「送信」ボタン602は、ストレージサーバ130に対して文書の画像を送信するためのボタンである。スキャン済み文書一覧601から任意の文書の画像を選択した状態にて、送信ボタン602を押下することで、選択した文書の画像が、送信先606に表示されているストレージサーバ130に送信される。なお、選択された文書の画像の送信が正常に完了した場合、その文書の画像は、スキャン済み文書一覧601から削除される。「編集」ボタン603は、後述するファイル名設定画面610を用いた編集モードに移行するためのボタンである。スキャン済み文書一覧601から任意の文書の画像を選択した状態にて、編集ボタン603を押下することで、選択した文書の画像に対応するファイル名設定画面610が表示されて編集モードに移行される。「削除」ボタン604は、文書の画像の削除を行うためのボタンである。スキャン済み文書一覧601から任意の文書の画像を選択した状態にて、削除ボタン604を押下することで、選択した文書の画像はスキャン済み文書一覧601から削除される。
図6(b)は、ファイル名設定画面610の一例を示す図である。ファイル名設定画面610は、「ファイル名領域」611、「プレビュー領域」612、「削除」ボタン613、「+」(プラス)ボタン614、「-」(マイナス)ボタン615、「プレビュー初期表示」ボタン616を含む。
「ファイル名領域」611は、ユーザが設定したファイル名を表示する領域である。また、ユーザがファイル名領域611の空白部分をタッチ(タップ)すると、ソフトキーボードが表示され、任意の文字を入力することができる。ファイル名が設定され文字列が表示されていた場合は、その文字列をタッチするとタッチした部分の文字列を修正するためのソフトキーボードが表示され、入力した文字を修正することができる。「プレビュー領域」612は、スキャン画像を表示する。さらに画像の文字領域をタッチすると、タッチした位置に対応する文字領域をファイル名に追加することができる。選択した文字列は、選択したことがわかるように選択した文字領域などに線、枠線などの形状や色などを付与して表示してもよい。複数の文字領域を選択した場合、それぞれの文字領域の色を異なる色にしてもよい。また、選択した文字領域が中央になるようにプレビュー表示位置の変更や、拡大率の変更を行ってもよい。また、文字領域が複数存在する場合、予め設定された領域数分の文字領域が表示されるように、プレビュー表示位置を導出してもよい。例えば、ファイル名に使用した領域のうち、一番上部の領域と一番下部の領域の中央部分が、プレビュー領域の縦方向の中央になるように表示位置と拡大率の変更を行い、プレビュー表示を行う。一度選択した文字領域を再度タッチすると、選択が解除されて対応するファイル名の文字列を削除して、文字領域に付与した線や色なども表示しない状態に戻す。このように、文字列が非選択時の場合、文字領域がプレビュー上には表示されないようにしてもよい。あるいは、ユーザにタッチできる領域を示すために色や枠線を用いて選択可能な文字領域をわかりやすく表示してもよい。また、文字領域をわかりやすくする表示は、ボタンなどへのユーザ操作によって表示と非表示とを切り替えられるようにしてもよい。プレビュー領域に対してスワイプ操作を行うと、プレビュー領域に表示されるスキャン画像の位置を移動することができる。
「削除」ボタン613は、ファイル名のうち末尾に追加されている文字領域に対応する文字を削除するためのボタンである。「プレビュー拡大」(プラス)ボタン614は、プレビュー領域に表示されている画像(スキャン画像)の拡大倍率を大きくする指示を行うためのボタンである。「プレビュー縮小」(マイナス)ボタン615は、プレビュー領域に表示されている画像(スキャン画像)の拡大倍率を小さくする指示を行うためのボタンである。プレビュー領域では、スキャン画像の表示位置は、拡大および縮小時のスキャン画像の中央の座標が拡大および縮小前と同一となるように調整される。「プレビュー初期表示」ボタン616は、スワイプによるプレビュー画像の表示位置の移動、プレビュー拡大ボタン614やプレビュー縮小ボタン615を押して表示倍率の変更があった場合に、初期状態の倍率と表示位置に戻すためのボタンである。「OK」ボタン617は、ファイル名設定画面610で設定したファイル名と共にスキャン画像をMFP連携サーバ120へ送信し、学習処理(S513~S515)を実行するためのボタンである。送信が完了すると、編集モードが終了し、スキャン済み文書一覧画面600が表示されて閲覧モードに戻る。
<画像解析処理のフロー>
図8は、画像処理部432が実行する画像解析処理の流れの詳細を示すフローチャートである。図8に示すフローは、図5に示すS508の処理に相当する。
図8は、画像処理部432が実行する画像解析処理の流れの詳細を示すフローチャートである。図8に示すフローは、図5に示すS508の処理に相当する。
S801では、画像補正部451は、リクエスト制御部431から画像解析を指示された文書のスキャン画像を基に文書のスキャン画像の傾きの角度を検出する。そして、画像補正部451は、検出した傾きの角度だけ傾いた方向に対し反対方向となる逆方向にスキャン画像を回転することで、傾きを補正したスキャン画像のデータを取得する。傾き補正の対象となる傾きとは、スキャナ222による読み取り時に、原稿フィーダ内のローラの摩耗などが原因でまっすぐに原稿が読み取られなかったり、原稿の印刷時にまっすぐ印字できなかったりするような傾きである。傾き検出では、まず、画像データ内に含まれるオブジェクトを検出し、水平方向あるいは鉛直方向に隣り合うオブジェクト群を連結する。そして、連結されたオブジェクトの中心位置を結んだ角度が、水平方向あるいは鉛直方向からどれだけ傾いているかを取得することで傾きを求める。なお、傾き検出は上記の方法に限定されない。例えば、画像データ内に含まれるオブジェクトの中心座標を取得し、0.1度単位で中心座標群を回転させながら、中心座標群が水平方向あるいは垂直方向に並ぶ割合がもっとも高い角度を傾きとして求めてもよい。この傾き補正によって、画像の傾きを補正することで、後述する回転補正およびブロックセレクション処理、文字認識処理(OCR(Optical Character Recognition)処理)のそれぞれの処理精度を上げることが可能となる。また、画像補正部451は、傾き補正後の画像に対して、原稿内の文字が正立する向きになるように、90度単位で画像を回転補正した画像を得る。傾き補正後の画像を基準画像として、基準画像と90回転した画像、180度回転した画像、270度回転した画像の4枚の画像を用意する。そして、それぞれの画像に対し、高速処理可能な簡易的なOCR処理を実行して、一定値以上の確信度を持って認識された文字の数が最も多い画像を回転補正後画像である補正済み画像として取得する。なお、回転補正の方法は上記に限定されない。
S802では、抽出部452は、S801で取得した補正済み画像(回転補正後画像)を前景領域と背景領域とに分類した上で、前景領域をテキストブロックとそれ以外のブロックとに分割する、ブロックセレクション処理を行う。ここで行うブロックセレクション処理は、S803の類似文書判定処理を行えるようにするための前処理であり、S803では主に印刷文字を含むブロックが用いられる。そのため、S802のブロックセレクション処理では、印刷文字に適した方法が用いられる。
抽出部452が実行するブロックセレクション処理においては、まず白黒に二値化されたクエリ画像に対し輪郭線追跡を行って、黒画素輪郭で囲まれる画素の塊を抽出する。そして、面積が所定の面積よりも大きい黒画素の塊については、内部にある白画素に対しても輪郭線追跡を行い、白画素の塊を抽出し、さらに一定面積以の白画素の塊の内部から再帰的に黒画素の塊を抽出する。こうして得られた黒画素の塊を前景領域とし、大きさ及び形状で分類し、異なる属性を持つ領域へ分類していく。例えば、縦横比が1に近く、大きさが一定の範囲のものを文字相当の画素塊とし、さらに近接する文字が整列よくグループ化され得る部分を文字領域(TEXT)とする。扁平な画素塊を線領域(LINE)とする。一定大きさ以上でかつ矩形の白画素塊を整列よく内包する黒画素塊の占める範囲を表領域(TABLE)とする。不定形の画素塊が散在している領域を写真領域(PHOTO)とする。そして、それ以外の任意形状の画素塊を図画領域(PICTURE)とする。こうしてオブジェクトの属性毎に領域分割されたものの中から、文字属性を持つと判定されたブロックがテキストブロックとして特定される。
なお、印刷文字と手書き文字では、濃度や黒画素の連続性等の性質が異なる。抽出部452は、印刷文字の領域および手書き文字の領域それぞれの抽出精度を高めるため、二値化閾値や連続性判定閾位置等のパラメータを切り替え、印刷文字用のブロックセレクション処理、手書き文字用のブロックセレクション処理を行うことができる。
S803では、類似判定部456は、入力された文書のスキャン画像が、領域管理部472に登録されている文書(帳票)のスキャン画像と類似しているかどうかを判定する、文書マッチングを行う。文書マッチングとは、入力された文書と同じ種類の文書が、インデックス抽出ルールと共に登録文書が登録された登録文書群にあるかどうかを判別し、同じ種類の文書があるとの判別結果を得た場合にはその種類を特定する処理である。本実施形態では、類似判定部456は、まず、入力文書の画像と各登録済み文書の画像間で、1対1で、OCR関連処理で得られるテキストブロックの形状や配置がどれだけ類似しているかを表す類似度の導出を行う。類似度の導出では、まず、S802で導出した入力文書のブロックセレクションの結果と、領域管理部472に登録されている文書の類似度判定結果702とが取得される。そして、入力文書のテキストブロック全体と、登録済み文書のテキストブロック全体とで位置合わせが行われる。次に、位置合わせの結果を基に、類似度の導出が行われる。すなわち、入力文書内の各テキストブロックと、登録済み文書のテキストブロックとが重なる面積の総和の二乗を、入力文書のテキストブロック面積の総和と登録済み文書のテキストブロック面積の総和の積で割った値が類似度として導出される。このような手法による類似度の導出は、入力文書の画像と、領域管理部472に含まれるすべての登録済み文書の画像との間で行われる。
そして、類似判定部456は、導出した複数の類似度のうち最も高い類似度を特定し、特定した最も高い類似度を基に、入力文書(入力済み文書)のが登録済み文書と同じ種類の文書であるか否かを判定する。すなわち、導出した類似度のうち最も高い類似度が予め設定した一定値以上であれば、類似判定部456は、入力文書が最も高い類似度に対応する登録済み文書と同じ種類の文書であると判定する。一方、導出した類似度のうち最も高い類似度が上述の一定値未満であれば、類似判定部456は、入力文書が登録済み文書内に無い種類であると判定する。係る処理では、領域管理部472にて文書の種類ごとに管理されている配置情報を基に、スキャン画像の文書フォーマットと類似する文書フォーマットを特定しているともいえる。
S804では、類似判定部456は、S803の類似文書の判定処理にて類似文書ありとの判定結果を得たかどうかに応じて次に行う処理を決定する。すなわち、S803にて類似文書なしとの判定結果を得た場合(S804のNO)、類似判定部456は、新規文書に対応する文字列認識処理が行われるS811へ処理を移行する。一方、S803にて類似文書ありとの判定結果を得た場合(S804のYES)、類似文書に対応する文字列認識処理が行われるS821へ処理を移行する。新規文書および類似文書に対応する文字列認識処理については後述する。S811またはS821の処理を実行すると、図8に示す画像解析処理を終了する。
各文書(画像)に対応する文字列認識処理について、図を用いて説明する。図9は、各文書に対応する文字列認識処理の詳細な流れを示すフローチャートであって、図9(a)にS811の新規文書に対応する文字列認識処理の詳細を示し、図9(b)にS821の類似文書に対応する文字列認識処理の詳細を示す。
先ず、新規文書に対応する文字列認識処理の詳細な流れについて、図9(a)を用いて説明する。S901では、文字分離部454は、新規文書の入力画像に対して文字分離処理を実行する。文字分離処理が行われると、新規文書の入力画像は、手書き文字部分のみを含む手書き文字画像と、手書き文字部分以外であって、印刷文字とその他のオブジェクトを含む印刷文字画像とに分離されることになる。新規文書の入力画像に対する文字分離処理について図を用いて説明する。図10は、文字分離処理例を示す図であり、図10(a)に新規文書の入力画像例を示し、図10(b)に図10(a)の入力画像の手書き文字画像例を示し、図10(c)に図10(a)の入力画像の印刷文字画像例を示す。入力画像1001に対する文字分離処理が行われると、入力画像1001は、手書き文字部分のみを含む手書き文字画像1021と、手書き文字部分以外であって、印刷文字とその他のオブジェクトを含む印刷文字画像1041とに分離されることになる。本実施形態においては、文字分離部454はディープニューラルネットワークによる機械学習で実装されている。本実施形態においては、ニューラルネットワークの構造として様々なものを用いることができるが、例えば、公知技術であるFCN(Fully Convolutional Networks)の形態を取り得る。手書き領域推定のニューラルネットワークについては、他にも、例えば、公知技術であるYOLO(You Only Look Once)の形態を取り得る。ニューラルネットワークの学習には、ミニバッチ法を用いるものとする。
文字分離部454の機械学習においては、学習データとして図10に示した分離画像データの逆のデータを用いる。すなわち、印刷文字と手書き文字が混在した入力画像データ1001に対して、ユーザが手で手書き文字部分をなぞる等をして手書き文字部分の入力を行い、手書き文字画像1021を正解データとして生成する。生成した正解データと、正解データに対応する入力画像データとの組を多数作成して、多数作成した入力画像データと正解データとの組を学習データとして用いる。
機械学習の実施においては、先ず、ニューラルネットワークを構築し、これらニューラルネットワークに含まれる各パラメータの値を、ランダムに決定して初期化する。次に、作成した学習データから所定の数(ミニバッチサイズ、例えば10)の学習データを取得する。これらの学習データについて、ニューラルネットワークの誤差を導出する。すなわち、各学習データに含まれる入力画像をニューラルネットワークに入力して出力を得る。当該出力は、入力画像と同じ画像サイズであり、予測結果として、手書きであると判定された画素は、画素の値が手書きを示す値、手書きではないと判定された画素は、画素の値が手書きではないことを示す値である画像である。そして、当該出力と学習データに含まれる手書き正解データとの差を評価して誤差を求める。当該評価には指標として交差エントロピーを用いることができる。そして、導出した誤差をもとに、バックプロパゲーション法によって手書き抽出のニューラルネットワークのパラメータ値を変更する。これを所定の回数(例えば6000回)行うことで、ニューラルネットワークの機械学習を完了する。
文字分離処理の実行時には、文字分離部454は、このように学習したニューラルネットワークへ入力画像1001を入力する。入力画像1001が入力されると、ニューラルネットワークは入力画像1001に対応する文字画像1021を出力する。文字画像1021が出力されると、文字分離部454は、文字画像1021の黒画素部分を入力画像1001で白画素に置換することにより、印刷文字画像1041を生成する。
S902では、抽出部452は、文字分離部454が生成した印刷文字画像1041に対して前述したブロックセレクション処理を印刷文字に適した方法で行う。そして、「TEXT」と判定されたすべてのブロックについて、文字認識部453が文字認識処理を行い、各ブロックに対応した文字認識結果を得る。
S903では、抽出部452は、文字分離部454が生成した手書き文字画像1021に対して前述したブロックセレクション処理を手書き文字に適した方法で行う。そして、「TEXT」と判定されたすべてのブロックについて、文字認識部453が文字認識処理を行い、各ブロックに対応した文字列を得る。
S904では、種別判定部457が、S902およびS903で「TEXT」と判定したすべてのブロックに対して文字領域種別を判定し、判定結果である文字領域種別を示す属性を付加する。具体的には、S902で印刷文字画像を解析して得た文字領域に対して、文字種として「印刷文字(printed_text)」という属性を付加する。S903で手書き文字画像を解析して得た文字領域に対して、文字種として「手書き文字(handwritten_text)」という属性を付加する。
S905では、解析結果生成部471が画像解析結果を生成する。ここでは、画像解析結果として、文字認識結果701のみが生成される。解析結果生成部471は、S902とS903で得られた文字領域それぞれについて、領域矩形座標情報を”rect”フィールドに、文字認識結果を”text”フィールドに、文字領域種別を”type”フィールドに入れたデータを生成する。そして、すべての文字領域情報を”regions”フィールドとして結合することにより、文字認識結果701を生成する。このような文字認識結果を生成することにより、図9(a)に示す、新規文書の入力画像に対する文字列認識処理を終了する。
続いて、図9(b)を用いて、S821の類似文書に対応する文字列認識処理の詳細な流れについて説明する。
S921では、領域管理部472は、S803の類似度判定処理で特定した類似度の最も高い文書の登録データを取得する。ここで、登録データは文書認識結果である類似文書判定結果702と、登録文書の文字認識結果701の形式をしている。
S922では、位置合わせ部455は、入力画像と、S921にて領域管理部472が取得した登録文書(画像)とで全体の位置合わせを行う。この位置合わせでは、S802の文字領域解析で得た入力画像の文字領域解析結果によるテキストブロックと、登録文書の文字認識結果701から得られるテキストブロックとを対応させる処理が行われる。全体の位置合わせを行う理由について説明する。入力画像と登録文書の画像とでは、同じフォーマットで本来同じ座標として印刷される項目であっても、印刷およびスキャンのタイミングや機器による違いで、画像データ上の座標にズレが生じる場合がある。そこで、全体の位置合わせを行いそのズレを補正することで、入力画像と登録文書の画像上の座標を同一に取り扱うことが可能となる。なお、本実施形態では、図8のS801の画像補正処理にて、入力画像の傾きの補正が行われているため、全体の位置合わせでは、画像全体のシフト(平行移動)に関する補正のみを行う例について説明する。
全体の位置合わせでは、登録文書の画像に対してどれだけ入力画像がシフトしているかを示すシフト量を導出し、導出したシフト量だけ入力画像の各テキストブロックの座標をシフトすることで位置合わせを行う。シフト量の導出の具体的な手順について説明する。まず、入力画像の各テキストブロックと対応関係の候補となる登録文書(画像)のペアブロック候補群を決定する。
ペアブロック候補群の決定においては、登録文書(画像)のテキストブロックのうち、印刷文字(printed_text)であるテキストブロックを1つ選択し、入力画像のそれぞれのテキストブロックとの共通部分の面積を導出する。そして共通部分の面積/(両テキストブロックのうち大きい方の面積)によって得られる値(以降、オーバーラップ率という)が一定条件以上の入力画像のテキストブロックとの組合せをペアブロック候補群に加える。この際の一定条件は、例えば、最大オーバーラップ率に係数αを乗算した値以上、かつ、所定の閾値以上のオーバーラップ率を持つものとすればよい。この場合において、係数αは最大オーバーラップ率と近いオーバーラップ率を持つ組合せを対象に加えるためのもので、例えば0.5~0.8といった1.0未満の値とする。また、所定の閾値は最低ラインを規定するもので、例えば0.3~0.7といった1.0未満の値とする。こうして得られたペアブロック候補群について、ペアとなった入力文書のテキストブロックと登録文書のテキストブロックの左上頂点のX方向およびY方向の差分量(シフト量)を導出する。そして、シフト量ヒストグラムに投票する。このときのヒストグラムのビンの範囲は任意である。このように、ペアブロック候補群を決定し、シフト量ヒストグラムに投票するまでの処理を、入力文書の各テキストブロックに対して行い、最終的に得られたシフト量ヒストグラムから最大のピーク点となる位置を導出し、画像全体のシフト量とする。なお、ノイズの影響が懸念される場合は、生成したシフト量ヒストグラムに対してスムージングを掛けてもよい。また、最大となるピーク点以外の局所的なピーク点についても、シフト量の候補として導出し、その中からシフト量を選んでもよい。
上記の手順で導出したシフト量だけ、入力文書の各テキストブロックの座標をシフトすることで、位置合わせされた入力文書のテキストブロック群を得ることができる。なお、テキストブロックの位置合わせの方法は上記に限定されない。画像全体のシフト(平行移動)に関する補正のみを行う例について説明したが、印刷およびスキャンのズレとして、倍率に関するズレが想定される場合には、シフト量だけでなく、倍率のズレも考慮した位置合わせを行ってもよい。
S923では、領域管理部472は、登録されていた文書認識結果である類似文書認識結果702から文字列領域情報、すなわち”rectInfoArray”の要素をすべて取得する。S924からS925の文字列領域ループでは、”rectInfoArray”の要素1つずつについてループ処理を行う。
文字列領域ループS924においては、S931にて、処理中の文字列領域が、印刷文字領域であるか、または手書き領域であるかが判断される。すなわち、”rectInfoArray”の”type”フィールドが”printed_text”であるか、または”handwritten_text”であるかが判断される。S931にて、処理中の文字列領域が印刷文字領域であるとの判定結果が得られると、処理がS932へ移行される。S932では、印刷領域決定部462が、文字列領域の”rect”フィールドが対応する入力画像上の領域を、S922の位置合わせ処理で導出したシフト量を用いて決定する。そして、S933では、文字認識部453が、S932で決定した文字領域である矩形領域内に対してOCR(文字認識処理)を実行する。このOCRは、印刷文字に適した方法(二値化閾値や字形辞書を最適化)を用いて行われる。
他方、S931にて、処理中の文字列領域が手書き文字領域であるとの判定結果が得られると、処理がS934へ移行される。S934では、手書き領域決定部463が、文字列領域の”rect”フィールドが対応する入力画像上の領域であって、手書き文字認識処理を行う領域を決定する。この手書き文字領域の決定処理の詳細については、図を用いて後述する。そして、S935では、文字認識部453が、S934で決定した文字領域である矩形領域内に対してOCR処理(文字認識処理)を実行する。このOCR処理は、手書き文字に適した方法(二値化閾値や字形辞書を最適化)を用いて行われる。
S924からS925の文字列領域ループを登録文書の類似文書判定結果702に存在する”rectInfoArray”要素分繰り返し実行し、”rectInfoArray”要素分の繰り返し実行される処理が終わると、処理がS926へ移行される。S926では、解析結果生成部471が画像解析結果を生成する。ここでは、画像解析結果として、文字認識結果701と類似文書判定結果702とが生成される。文字認識結果701は、S802で入力画像1001を抽出部452が処理して得られた結果を文字認識結果701の形式に変換されたものである。また、類似文書判定結果702は、登録文書から得られた類似文書判定結果702の”rectInfoArray”の要素それぞれにおいて、”text”フィールドをS933もしくはS935の文字認識結果で置き換えられたものである。このような文字認識結果を生成することにより、図9(b)に示す、類似文書の入力画像に対する文字列認識処理を終了する。
続いて、上述したS934の手書き文字処理領域決定処理の詳細な流れについて、図を用いて説明する。図11は、S934の手書き文字処理領域決定処理を説明する図であり、図11(a)に登録文書画像例を示し、図11(b)に入力画像例を示す。ただし、図11(b)の入力画像と類似する画像は、図11(a)の登録文書画像であり、図11(b)の入力画像では、手書き文字の記入領域とその認識領域とが一致しない場合を示している。
図11(a)に示す登録文書画像1101においては、ファイル名設定画面610にて印刷文字領域1102と手書き文字領域1103とがファイル名に使用する領域として登録されている。ここで、図11(b)に示す入力画像1111は、登録文書画像1101に対応する文書と同じ文書(帳票)であって、登録文書の記入者と別の人が記入した文書がS505でスキャンされ、S508の画像解析の処理対象に設定された画像であるとする。S922で位置合わせ部455が登録文書画像1101と入力画像1111との位置合わせを行うため、印刷領域決定部462は、印刷文字領域1102に対応する位置として印刷文字領域1112を決定することができる。そして、文字認識部453が印刷文字領域1112に対してOCRを実行することにより、ファイル名に使用する文字列を得ることができる。ただし、手書き文字は記入する際に位置がずれることがあり、位置合わせ部455の処理だけでは手書き文字領域を決定することはできない場合がある。
図11(a)、(b)の例では、登録文書画像1101の手書き文字領域1103の入力画像1111上の対応する領域は、領域1113であるが、領域1113には文字が書かれていない(記入されていない)。そのため、手書き領域決定部463は、領域1113を横方向に広げた領域1114を決定し、決定した領域114に対してOCR処理を実行できるよう、決定した領域1114に関する情報を文字認識部453へ入力する必要がある。
ここで、入力文書画像において手書き文字処理領域を決定する処理について、図を用いて説明する。図12は、S934にて手書き領域決定部463が実行する、手書き文字領域決定処理の詳細な流れを示すフローチャートである。
S1201では、手書き領域決定部463は、登録文書の登録文字列領域(登録文書画像1101においては領域1103)の座標から、S922の画像位置合わせ結果を用いて、入力画像上の領域座標を導出する。例えば、入力画像1111においては、領域1113の座標を導出する。S1202では、手書き領域決定部463は、領域管理部472から、登録文書のすべての印刷文字領域の座標を取得し、S922の画像位置合わせ結果を用いて、入力画像上のすべての印刷文字領域の座標を導出する。このように入力画像上のすべての印刷文字領域の座標を導出するのは、類似文書の入力画像に対しては文字分離部454および種別判定部457の処理が行われず、処理対象の領域が印刷文字領域であるか否かを判別できないためである。
S1203では、S1201にて導出した手書き文字領域の対応領域を、S1202で導出した印刷文字領域に重ならない範囲で、横方向であるx方向に拡大する。S1204では、S1201で導出した手書き文字領域の対応領域を、予め決めておいた所定の割合で縦方向であるy方向に拡大する。ここで、所定の割合は、文書を記入する際の文字の大きさで想定される値でよく、例えば1.5倍や2.0倍といった値でよい。S1205では、手書き領域決定部463は、S1203およびS1204の処理で拡大した対応領域を、手書き文字処理領域として決定する。このように手書き領域決定部463が手書き文字処理領域を決定し終えると、図12に示す手書き文字処理領域決定処理を終了する。
このように登録文書の手書き領域を基準に決定した手書き文字処理領域内を、S935にて、文字認識部453が手書き文字認識を行うことにより、ファイル名に使用する文字列を得ることができる。これにより、登録された文書と同じ文書に手書き文字を記入する際に記入位置がずれたとしても、適切に手書き文字を認識することが可能となり、所望の領域の認識結果をファイル名に使用することができる。また、印刷文字においては印刷文字処理領域を拡大しないことにより、手書きした文字やノイズ等を印刷文字処理領域に含む可能性を低下させることができ、印刷文字認識の精度を向上させることができる。さらに、新規文書の入力画像に対する文字列認識処理においてのみ文字分離部454及び種別判定部457による処理を実行し、類似文書の入力画像に対する文字列認識処理においては文字分離部454及び種別判定部457による処理を実行しない。これにより、類似文書の入力画像に対する文字列認識処理における処理負荷を低減することができ、登録した文書の画像を複数枚処理する際の処理速度を向上させることが可能となる。
[第2実施形態]
次に、手書き領域決定部463が、文書の罫線を利用して表構造を認識し、認識した表構造を基に手書き文字認識処理を行う領域を決定する態様について、第2実施形態として説明する。本実施形態では、第1実施形態と異なる、手書き文字処理領域決定処理を中心に説明する。
次に、手書き領域決定部463が、文書の罫線を利用して表構造を認識し、認識した表構造を基に手書き文字認識処理を行う領域を決定する態様について、第2実施形態として説明する。本実施形態では、第1実施形態と異なる、手書き文字処理領域決定処理を中心に説明する。
図13は、本実施形態に係る手書き文字領域決定処理を説明する図である。図13(a)は登録文書の画像例を示す図であり、図13(b)は図13(a)の登録文書画像の類似文書画像例を示す図である。
図13(a)に示す登録文書1301は、領域管理部472に登録した登録文書例である。登録文書1301では、印刷文字は、文書(帳票)の名称を示す「入会申込書」と、「申込日」と、表側にて1行目から3行目まで順番に「入会番号」、「氏名」、「住所」を有し、縦横3×2のセルの表とで構成されている。表においては、「入会番号」の右隣のセルの一部分であり、記入された「43734529」を囲む矩形領域である手書き文字列領域1302が情報取得領域として登録されている。ただし、情報取得領域として登録されている手書き文字列領域が、ユーザの記入をガイドする表のセル(罫線領域)の一部分であることから、入会番号として記入された手書き文字列が登録されている手書き文字列領域以外の領域に存在する場合がある。例えば、図13(b)に示す入力画像1303では、入会番号として記入された手書き文字列の「2346709」が、登録文書画像1301の手書き文字列領域1302に対応する領域1304から領域1304以外の領域に亘って存在する。ただし、手書き文字列の「2346709」が、領域1304を囲む罫線領域1305に存在することから、罫線領域1305を手書き文字処理領域として決定すれば、手書き文字OCRによって手書き文字列の「2346709」を認識できる。
そこで、本実施形態では、入力画像にて認識した表構造を基に罫線領域を探索し、発見した罫線領域を手書き文字処理領域として決定する処理を実行する。本実施形態に係る手書き文字処理領域決定処理について、図を用いて説明する。図14は、S934において、手書き領域決定部463が実行する手書き文字処理領域決定処理の詳細な流れを示すフローチャートである。
S1401では、第1実施形態のS1201と同様、手書き領域決定部463は、登録文書の登録文字列領域(登録文書画像1303においては領域1302)の座標から、S922の画像位置合わせ結果を用いて、入力画像上の領域座標を導出する。例えば、入力画像1303においては、領域1304の座標を導出する。
S1402では、手書き領域決定部463は、ハフ変換等の方法を用いて入力画像上の直線を検出する。S1403では、手書き領域決定部463は、S1402で検出した直線を基に、入力画像上で矩形を形成する直線の組を決定する。このような決定処理によって、手書き領域決定部463は、罫線に関する情報を用いて表構造を認識している。
S1404では、手書き領域決定部463は、S1401で導出した入力画像上の領域座標を囲む矩形を探索する。例えば、入力画像1303においては、領域1304を囲む矩形1305を探索する。S1405では、手書き領域決定部463は、S1404の探索処理で発見した矩形の領域を手書き文字処理領域として決定する。図13(b)の入力画像1303では、矩形領域1305を手書き文字処理領域として決定する。このように手書き領域決定部463が手書き文字処理領域を決定し終えると、図14に示す手書き文字処理領域決定処理を終了する。
以上、説明したように、本実施形態によれば、罫線情報を用いて表構造を認識し、認識した表構造を基に、対応する罫線領域の全体を手書き文字処理領域として決定する。すなわち、所定の文字領域に含まれる文字が手書き文字であり、入力画像において特定された線で囲まれる矩形領域内に所定の文字領域が存在する場合、矩形領域の全体を所定の文字領域として決定する。これにより、文字認識部453の処理対象となる領域が、ユーザの記入をガイドする領域の全体と一致することになり、処理対象領域内の手書き文字列を基に文字認識結果を適切に生成することができる。
なお、本実施形態においては、罫線情報を用いて表構造を認識したが、表構造の認識方法はこれに限定されない。例えば、印刷文字の配置情報を用いて、印刷文字の右側の領域あるいは下側の領域を手書き文字処理領域として決定してもよい。また、表構造に限らず文書の構造を用いてもよい。文書構造の認識には罫線や印刷文字等の特定の特徴を使うのみでなく、例えばディープニューラルネットワークによる機械学習を用いてもよい。この場合、複数の文書画像とそれに対応する手書き文字の記入領域を教師データとして機械学習を行い、入力画像に対して手書き文字処理領域を出力するディープニューラルネットワークを構成することが可能である。
[第3実施形態]
続いて、入力画像で決定した手書き文字処理領域内に所望でない印刷文字・手書き文字の余分な要素が含まれる場合に、この余分な要素を消去し、余分な要素を消去した手書き文字処理領域に対して文字列認識を行う態様について、第3実施形態として説明する。本実施形態では、第1実施形態および第2実施形態と異なる、手書き文字領域認識処理を中心に説明する。
続いて、入力画像で決定した手書き文字処理領域内に所望でない印刷文字・手書き文字の余分な要素が含まれる場合に、この余分な要素を消去し、余分な要素を消去した手書き文字処理領域に対して文字列認識を行う態様について、第3実施形態として説明する。本実施形態では、第1実施形態および第2実施形態と異なる、手書き文字領域認識処理を中心に説明する。
図15は、本実施形態に係る手書き文字認識処理を説明する図である。図15(a)は登録文書の画像例を示す図であり、図15(b)は入力画像例を示す図であり、図15(c)に罫線領域に対応する部分領域画像例を示す図であり、図15(d)は分離処理後の画像例を示し、図15(e)は白埋め処理後の画像例を示す図である。
図15(a)に示す登録文書1501は、領域管理部472に登録した登録文書例である。登録文書1501では、表において住所の右隣でありユーザにとって記入可能な欄内に手書き文字列領域1502を決定し、決定した手書き文字列領域1502が情報取得領域として登録されているとする。ここで、図15(b)に示す入力画像1503が入力された場合、第2実施形態の手書き領域決定部463は、手書き文字列領域1502に対応する領域1504を囲む罫線領域1505を、手書き文字処理領域として決定する。情報取得領域として登録されている手書き文字領域にあっては、所望の情報は住所を示す情報のみであるとする。ただし、罫線領域1505には、「郵便番号」という印刷文字と、「779-4805」という手書き文字とを有する所望でない情報である余分な要素が含まれている。
そこで、本実施形態では、手書き文字処理領域内に存在する余分な要素を除去し、余分な要素を除去した手書き文字領域に対して文字認識処理を実行する。本実施形態に係る手書き文字認識処理について、図を用いて説明する。図16は、S935において、文字認識部453が実行する手書き文字認識処理の詳細な流れを示すフローチャートである。
S1621では、文字認識部453は、手書き領域決定部463が決定した手書き処理領域(罫線領域1505)のみを切り出した部分領域画像(図15(c)では部分領域画像1506)を生成する。
S1622では、文字認識部453は、S1621で生成した部分領域画像に対して文字分離処理を実行するよう、文字分離部454に指示して、文字分離部454に文字分離処理を実行させる。この処理により、部分領域画像から、印刷文字のみで構成される印刷文字画像と、手書き文字のみで構成される手書き文字画像とが生成される。図15(c)の部分領域画像1506から、図15(d)の手書き文字画像1507が生成される。
S1623では、文字認識部453は、S1622で生成した手書き文字画像に対して文字列領域の抽出処理を実行するよう、抽出部452に指示して、抽出部452に文字列領域の抽出処理を実行させる。これにより、手書き文字画像1507から、住所を示す情報を含む手書き文字列領域1508と、郵便番号を示す情報を含む手書き文字列領域1509とを抽出して取得する。
S1624では、文字認識部454は、入力画像の文書フォーマットと類似すると特定された文書フォーマットに対応付けられている取得領域情報に基づいた登録文字列領域に最も近い手書き文字列領域を選択する。手書き文字画像1507では、文字認識部454は、基準情報に示される情報記載領域である登録領域1504に最も近い手書き文字列領域1508を選択する。
S1625では、文字認識部453は、余分な要素、すなわち、選択した文字領域以外の文字領域内の文字列を白埋めして、白埋め処理後の手書き文字画像を生成して得る。文字認識部454は、手書き文字画像1507からは、手書き文字列領域1509を白埋めし、情報取得領域に最も近い手書き文字列領域のみを含む白埋め処理後の手書き文字画像1510を生成して得る。
S1626では、文字認識部453は、S1625で生成した白埋め処理後の手書き文字画像に対して手書き文字OCR処理を実行する。これにより、所望の情報を含む手書き文字画像を得ることができる。このように文字認識部453が所望の情報のみを含む白埋め処理後の手書き文字画像に対して手書きOCR処理を実行し終えると、図16に示すフローを終了する。
以上、説明したように、文字分離部454、抽出部452の処理を、手書き領域決定部463が決定した手書き文字処理領域に対して実行することで、余分な要素である文字列の消去が可能となり、手書き文字認識の精度を向上させることができる。さらに、類似文書の画像では手書き領域決定部463が決定した手書き文字処理領域に対してのみ文字分離部454、抽出部452の処理を実行するため、新規文書の画像の登録時よりも処理負荷を低減し、処理速度の高速化を図ることができる。
[その他の実施形態]
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
432 画像処理部
434 データ管理部
452 抽出部
453 文字認識部
457 種別判定部
461 領域決定部
472 領域管理部
434 データ管理部
452 抽出部
453 文字認識部
457 種別判定部
461 領域決定部
472 領域管理部
Claims (8)
- 紙文書のスキャン画像を取得する取得手段と、
前記スキャン画像を解析して文字が記載される文字領域を抽出する抽出手段と、
前記文字領域に含まれる文字が手書き文字であるか、または印刷文字であるかを判定する判定手段と、
文書における文字の配置を示す配置情報と、当該文書をファイル化する際のプロパティとして使用するための文字の取得領域を示す取得領域情報とを文書フォーマットに紐づけて、文書の種類ごとに管理する管理手段と、
前記管理手段にて文書の種類ごとに管理されている前記配置情報を基に、前記スキャン画像の文書フォーマットと類似する文書フォーマットを特定し、当該特定された文書フォーマットに対応づけられている前記取得領域情報に基づいて、前記スキャン画像上の所定の文字領域を決定する決定手段と、
前記所定の文字領域に対し文字認識を行って文字情報を取得する文字認識手段と、
を有し、
前記決定手段は、前記手書き文字と前記印刷文字とで異なる手法で前記所定の文字領域を決定することを特徴とする画像処理装置。 - 前記スキャン画像を、前記手書き文字のみを含む手書き文字画像と、前記印刷文字のみを含む印刷文字画像とに分離する、分離手段をさらに有し、
前記抽出手段は、前記手書き文字画像および前記印刷文字画像それぞれから手書き文字領域および印刷文字領域を抽出し、
前記判定手段は、前記手書き文字領域に含まれる前記手書き文字を前記手書き文字領域の文字として判定し、前記印刷文字領域に含まれる前記印刷文字を前記印刷文字領域の文字として判定する
ことを特徴とする請求項1に記載の画像処理装置。 - 前記所定の文字領域に含まれる文字が前記手書き文字である場合、
前記決定手段は、前記特定された文書フォーマットを基に、前記手書き文字の文字領域に対応する前記スキャン画像の文字領域を、前記印刷文字の文字領域に対応する前記スキャン画像の文字領域と重ならない範囲で拡大して前記所定の文字領域として決定する
ことを特徴とする請求項1に記載の画像処理装置。 - 前記所定の文字領域に含まれる文字が前記手書き文字であり、前記スキャン画像において特定された線で囲まれる矩形領域内に前記所定の文字領域が存在する場合、前記決定手段は、前記矩形領域を前記所定の文字領域として決定する
ことを特徴とする請求項1に記載の画像処理装置。 - 前記文字認識手段は、
前記決定手段によって決定された前記特定の文字領域に対して、分離手段による分離処理を実行させて、前記手書き文字のみを含む手書き文字画像を生成し、
前記生成された手書き文字画像に対して、前記抽出手段による抽出処理を実行させて文字領域を抽出し、
前記抽出した文字領域において、前記所定の領域に最も近い文字領域を選択し、
前記抽出した文字領域のうち、前記選択した文字領域以外の文字領域に対して白埋め処理を実行して白埋め処理後の手書き文字画像を生成し、
前記生成した白埋め処理後の手書き文字画像において前記決定手段によって決定された前記所定の文字領域に対して文字認識を行う
ことを特徴とする請求項4に記載の画像処理装置。 - 前記所定の文字領域に含まれる文字が前記印刷文字である場合、
前記決定手段は、前記特定の文字領域を、前記文字認識を行う領域として決定する
ことを特徴とする請求項1に記載の画像処理装置。 - 紙文書のスキャン画像を取得する取得ステップと、
前記スキャン画像を解析して文字が記載される文字領域を抽出する抽出ステップと、
前記文字領域に含まれる文字が手書き文字であるか、または印刷文字であるかを判定する判定ステップと、
文書における文字の配置を示す配置情報と、当該文書をファイル化する際のプロパティとして使用するための文字の取得領域を示す取得領域情報とを文書フォーマットに紐づけて、文書の種類ごとに管理する管理ステップと、
前記管理ステップにて文書の種類ごとに管理されている前記配置情報を基に、前記スキャン画像の文書フォーマットと類似する文書フォーマットを特定し、当該特定された文書フォーマットに対応づけられている前記取得領域情報に基づいて、前記スキャン画像上の所定の文字領域を決定する決定ステップと、
前記所定の文字領域に対し文字認識を行って文字情報を取得する文字認識ステップと、
を含み、
前記決定ステップにおいて、前記手書き文字と前記印刷文字とで異なる手法で前記所定の文字領域を決定することを特徴とする画像処理装置の制御方法。 - コンピュータを、請求項1から6のいずれか一項に記載の画像処理装置の各手段として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020150466A JP2022045011A (ja) | 2020-09-08 | 2020-09-08 | 画像処理装置、画像処理装置の制御方法およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020150466A JP2022045011A (ja) | 2020-09-08 | 2020-09-08 | 画像処理装置、画像処理装置の制御方法およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022045011A true JP2022045011A (ja) | 2022-03-18 |
Family
ID=80681980
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020150466A Pending JP2022045011A (ja) | 2020-09-08 | 2020-09-08 | 画像処理装置、画像処理装置の制御方法およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2022045011A (ja) |
-
2020
- 2020-09-08 JP JP2020150466A patent/JP2022045011A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11616884B2 (en) | Image processing system for computerizing document, control method thereof, and storage medium | |
US11908215B2 (en) | Information processing apparatus, information processing method, and storage medium | |
JP2004265384A (ja) | 画像処理システム及び情報処理装置、並びに制御方法及びコンピュータプログラム及びコンピュータ可読記憶媒体 | |
US11843732B2 (en) | Image processing apparatus for inputting characters using touch panel, control method thereof and storage medium | |
US11252287B2 (en) | Image processing apparatus that displays guidance for user operation, control method thereof and storage medium | |
US11265431B2 (en) | Image processing apparatus for inputting characters using touch panel, control method thereof and storage medium | |
US11503170B2 (en) | Image processing apparatus, image processing method, and storage medium | |
US20210224531A1 (en) | Image processing system for computerizing document, control method thereof, and storage medium | |
JP2020184276A (ja) | 画像処理装置、画像処理方法、及びプログラム | |
US11575799B2 (en) | Image processing apparatus for setting property including character strings and separators to scanned image, control method thereof and storage medium | |
JP2022045011A (ja) | 画像処理装置、画像処理装置の制御方法およびプログラム | |
US11620840B2 (en) | Image processing apparatus for extracting a desired character string from a scanned image | |
JP2021164132A (ja) | 画像処理システム、及びプログラム | |
JP2024034778A (ja) | 画像処理装置、画像処理システム、画像処理方法、及びプログラム | |
US20220319218A1 (en) | Image processing apparatus, image processing system, control method thereof, and storage medium | |
JP2024032186A (ja) | 画像処理装置、画像処理装置の制御方法、及びプログラム | |
JP2023085950A (ja) | 画像処理装置、画像処理方法及びプログラム | |
JP2024034740A (ja) | 画像処理装置、画像処理システム、画像処理方法、及びプログラム | |
JP2022189109A (ja) | 画像処理装置、画像処理方法およびプログラム | |
JP2023054708A (ja) | 情報処理装置、文書分割方法、及びプログラム | |
JP2023071227A (ja) | 情報処理装置、情報処理装置の制御方法及びプログラム | |
JP2021076975A (ja) | 画像処理装置、画像処理方法およびプログラム | |
JP2022029228A (ja) | 画像処理装置、画像形成システム、画像処理方法、およびプログラム | |
JP2020177526A (ja) | スキャン画像のプレビュー表示を行う画像処理装置、その制御方法及びプログラム | |
JP2020177523A (ja) | スキャン画像のプレビュー表示を行う画像処理装置、その制御方法及びプログラム |