[go: up one dir, main page]

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

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

Info

Publication number
JP2025008014A
JP2025008014A JP2023109831A JP2023109831A JP2025008014A JP 2025008014 A JP2025008014 A JP 2025008014A JP 2023109831 A JP2023109831 A JP 2023109831A JP 2023109831 A JP2023109831 A JP 2023109831A JP 2025008014 A JP2025008014 A JP 2025008014A
Authority
JP
Japan
Prior art keywords
character
area
region
image
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
Application number
JP2023109831A
Other languages
English (en)
Inventor
啓太 小笠原
Keita Ogasawara
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 JP2023109831A priority Critical patent/JP2025008014A/ja
Publication of JP2025008014A publication Critical patent/JP2025008014A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Character Input (AREA)

Abstract

【課題】文書画像における文字領域に対する文字認識処理に要する処理時間を抑制しつつ、文字認識の対象とすべき文字領域を適切に決定する。【解決手段】画像処理装置は、文書画像から文字領域を検出し、検出された複数の前記文字領域のうちから、前記文字領域の高さ及び幅の情報、並びに、当該文字領域と当該文字領域の周囲に存在する他の前記文字領域との位置関係に基づいて、文字認識処理を行う対象の前記文字領域である対象文字領域を特定し、特定された前記対象文字領域に対して前記文字認識処理を行う。【選択図】図2

Description

本開示は、画像データから文字情報を抽出する技術に関する。
文書画像から文書のタイトル等を示す文字列を抽出し、抽出した文字列を文書画像のデータを含むファイルのファイル名、又は当該ファイルを格納するフォルダのフォルダ名(以下、これらを総称して「ファイル名」と呼ぶ。)等に自動で付与するシステムがある。また、文書画像から、人、組織、若しくは物品等の名称、又は金額等を示す文字列を抽出して、抽出した文字列をデータベース等に自動で転記するシステムもある。これらシステムにおいて、文書画像から抽出したいとユーザが所望する文字列を含む文字領域の文書画像における位置は、文書画像ごとに異なるため、文書画像における全ての文字領域に対して文字認識処理を行うことが必要とされることがある。しかしながら、文書画像における全ての文字領域に対して文字認識処理を行うと、膨大な処理時間を要してしまう。
特許文献1には、文書画像における文字領域ごとに文字サイズ又は文字の色等の文字の属性を解析し、解析した当該属性に基づいて文字認識を行う文字領域を決定する技術が開示されている。特許文献1に開示の技術によれば、文書画像における必要な文字領域だけに対して文字認識処理を行うため、文字認識処理の処理時間が抑制される。
特開2012-178007号公報
しかしながら、特許文献1に開示の技術のように、単に、文字領域の文字サイズ又は文字の色等の文字の属性に基づいて文字認識対象となる文字領域を決定すると、文字認識処理の対象とすべき文字領域を文字認識の対象外にしてしまう場合がある。例えば、文字サイズが所定の閾値よりも小さいと判定されて文字認識の対象外とされた文字領域に、対象とすべき文字列が含まれている場合である。
本開示は、上述の問題点を解決するためのものであり、文書画像における文字領域に対する文字認識処理に要する処理時間を抑制しつつ、文字認識の対象とすべき文字領域を適切に決定することを目的とする。
本開示に係る画像処理装置は、文書画像から文字領域を検出する検出手段と、前記検出手段により検出された複数の前記文字領域のうちから、前記文字領域の高さ及び幅の情報、並びに、当該文字領域と当該文字領域の周囲に存在する他の前記文字領域との位置関係に基づいて、文字認識処理を行う対象の前記文字領域である対象文字領域を特定する特定手段と、前記特定手段により特定された前記対象文字領域に対して前記文字認識処理を行う文字認識手段と、を有する。
本開示によれば、文書画像における文字領域に対する文字認識処理に要する処理時間を抑制しつつ、文字認識の対象とすべき文字領域を適切に決定することができる。
画像処理システムのハードウェア構成の一例を示すブロック図である。 画像処理システムの機能構成の一例を示すブロック図である。 画像処理システムにおける処理の流れの一例を示すシーケンス図である。 文書画像、並びに、抽出対象及び抽出対象外の文字列の一例を説明するための図である。 文字抽出部における文字抽出処理の流れの一例を示すフローチャートである。 対象判定部における文字認識の対象判定処理の流れの一例を示すフローチャートである。 情報処理端末における表示処理の一例を説明するための図である。 対象判定部における文字認識の対象判定処理の流れの一例を示すフローチャートである。 対象判定部における対象設定処理の流れの一例を示すフローチャートである。 手書き文字により構成される文字列を含む文字領域の一例を示す図である。 領域設定部における認識実行領域の設定処理の流れの一例を示すフローチャートである。
以下、本開示を実施するための形態について図面を用いて説明する。なお、以下の実施の形態は特許請求の範囲に係る発明を限定するものでなく、また実施の形態で説明されている特徴の組み合わせの全てが開示の解決手段に必須のものとは限らない。
[第1の実施形態]
<画像処理システムの構成>
図1は、第1の実施形態における画像処理システム100のハードウェア構成の一例を示すブロック図である。画像処理システム100は、画像形成装置110、画像処理サーバ120、情報処理端末130、及びストレージサーバ140を有する。画像形成装置110、画像処理サーバ120、情報処理端末130、及びストレージサーバ140は、LAN(Local area network)又はインターネット等のネットワーク150を介して相互に通信可能に接続されている。
画像形成装置110は、原稿(文書)を読み取ること(以下「スキャン」とも呼ぶ。)により得た画像データを、画像処理サーバ120に送信し、画像処理サーバ120を介してストレージサーバ140への送信依頼をすること等が可能である。なお、本実施形態では、画像形成装置110は、一例として、スキャン機能、印刷機能、及び複写機能等を備える複合機であるものとして説明するが、画像形成装置110は、複合機に限定されるものではない。例えば、画像形成装置110は、スキャン機能を備える装置であればよい。ここで、スキャン機能とは、画像形成装置110が有するスキャナを用いて原稿を光学的に読み取ることにより生成される画像データを外部に送信する機能である。印刷機能とは、情報処理端末130等から受信した印刷データが示す画像を用紙等の記録媒体に形成(印刷)する機能である。複写機能とは、スキャナを用いて原稿を読み取ることにより得られた画像を記録媒体に印刷することにより、原稿の複写物を得る機能である。
なお、本実施形態では、画像処理システム100は、一例として、画像形成装置110、画像処理サーバ120、情報処理端末130、及びストレージサーバ140を有するものとして説明するが、画像処理システム100の構成はこれに限定されない。例えば、画像形成装置110が情報処理端末130及び画像処理サーバ120の少なくともいずれかが有する機能を兼ね備えてもよい。また、画像処理サーバ120は、インターネット上ではなくLAN上に配置された接続形態であってもよい。また、ストレージサーバ140をメールサーバ等に置き換えてもよく、この場合、例えば、ストレージサーバ140は、原稿を読み取ることにより得られた画像データを電子メール等に添付して、指定された電子メールアドレスに送信してもよい。また、例えば、画像処理システム100は、1つの画像形成装置110に対して、画像処理サーバ120、情報処理端末130、及びストレージサーバ140の少なくともいずれかを複数個有する構成でも構わない。
<ハードウェア構成>
画像形成装置110は、ハードウェア構成として、プリンタ101、スキャナ102、及び操作部103を有する。また、画像形成装置110は、上述のハードウェア構成に加えて、CPU111、RAM112、HDD113、ネットワークI/F114、プリンタI/F115、スキャナI/F116、操作部I/F117、及び拡張I/F118を有する。CPU111は、RAM112、HDD113、ネットワークI/F114、プリンタI/F115、スキャナI/F116、操作部I/F117、及び拡張I/F118とバスを介して接続され、これらと各種のデータを授受することが可能である。また、CPU111は、HDD113から読み出した命令(コンピュータプログラム)をRAM112に展開し、RAM112に展開した命令を実行することにより、後述する各機能構成の処理の実行を制御する。なお、本実施形態では、1つのCPU111が1つのメモリ(RAM112又はHDD113)を用いて後述のフローチャートに示す各処理を実行するものとするが、これに限定されない。例えば、複数のCPU、又は複数のRAM若しくはHDDを協働させて各処理を実行してもよい。
HDD113は、ハードディスクドライブ等により構成され、CPU111にて実行可能な命令、画像形成装置110にて使用される設定値、及びユーザから依頼された処理に関するデータ等を記憶しておくことが可能である。RAM112は、CPU111がHDD113から読み出した命令を一時的に格納するための領域である。また、RAM112は、命令の実行に必要な各種のデータを記憶しておくことも可能である。例えば、画像処理では、CPU111は、入力された画像のデータをRAM112に展開することにより処理を行うことが可能である。
ネットワークI/F114は、画像処理システム100内の外部装置とネットワーク通信を行うためのインターフェースである。ネットワークI/F114は、データ受信を行ったことをCPU111に伝達すること、及びCPU111からの指示に従ってRAM112上のデータをネットワーク150に送信することが可能である。プリンタI/F115は、CPU111からの指示に従って印刷対象の印刷データをプリンタ101に送信すること、及びプリンタ101から受信したプリンタの状態を示す情報をCPU111に伝達することが可能である。スキャナI/F116は、CPU111から指示された画像読み取り指示をスキャナ102に送信したり、スキャナ102から受信した画像データをCPU111に伝達したりする。また、スキャナI/F116は、スキャナ102から受信したスキャナ102の状態の情報をCPU111に伝達することが可能である。
操作部I/F117は、操作部103を介して入力されたユーザからの指示をCPU111に伝達したり、ユーザが操作するための画面情報を操作部103に表示させたりことが可能である。拡張I/F118は、画像形成装置110に外部機器を接続することを可能とするインターフェースである。拡張I/F118は、例えば、USB(Universal Serial Bus)形式のインターフェースを具備する。画像形成装置110は、拡張I/F118に接続されたUSBメモリ等の外部記憶装置に記憶されているデータを読み出したり、当該外部記憶装置に対してデータを書き込んだりすることが可能である。
プリンタ101は、プリンタI/F115を介して受信した画像データが示す画像を用紙に印刷することができ、また、プリンタ101の状態を示す情報をプリンタI/F115に伝達することもできる。スキャナ102は、スキャナI/F116を介して受信した画像の読み取り指示に従ってスキャナ102に載置された原稿を読み取り、当該読み取りにより得られた画像データをスキャナI/F116に伝達することが可能である。また、スキャナ102は、スキャナ102の状態を示す情報をスキャナI/F116に伝達することも可能である。操作部103は、ユーザの操作に基づいて、画像形成装置110に対して各種の指示を行うためのインターフェースである。例えば、操作部103は、タッチパネル式の液晶ディスプレイを具備し、操作画面を表示すると共に、ユーザからの操作を受け付ける。
画像処理サーバ120は、ハードウェア構成として、CPU121、RAM122、HDD123、及びネットワークI/F124を有する。CPU121は、画像処理サーバ120全体の制御を司る。また、CPU121は、RAM122、HDD123、及びネットワークI/F124とバスを介して接続され、これらとの間で各種のデータを授受する制御を行うことが可能である。また、CPU121は、HDD123から読み出した制御プログラム(命令)をRAM122に展開して実行する。HDD123は、画像データ、各種プログラム、及び画像処理実行時に生成される各種のデータを記憶する、ハードディスクドライブ等の大容量の記憶装置である。なお、本実施形態では、1つのCPU121が1つのメモリ(RAM122又はHDD123)を用いて後述のフローチャートに示す各処理を実行するものとするが、これに限定されない。
情報処理端末130は、ハードウェア構成として、CPU131、RAM132、HDD133、ネットワークI/F134、操作部I/F135、及び操作部136を有する。CPU131は、情報処理端末130全体の制御を司る。また、CPU131は、RAM132、HDD133、ネットワークI/F134、操作部I/F135、及び操作部136とバスを介して接続され、これらとの間で各種のデータを授受する制御を行うことが可能である。また、CPU131は、HDD133から読み出した制御プログラム(命令)をRAM132に展開し実行する。操作部I/F135は、操作部136から入力されたユーザからの指示をCPU131に伝達し、また、CPU131による表示制御に基づき、表示すべき操作画面に関する情報を操作部136に伝達するインターフェースである。なお、本実施形態では、1つのCPU131が1つのメモリ(RAM132又はHDD133)を用いて後述のフローチャートに示す各処理を実行するものとするが、これに限定されない。
ストレージサーバ140は、ハードウェア構成として、CPU141、RAM142、HDD143、及びネットワークI/F144を有する。CPU141は、ストレージサーバ140全体の制御を司る。また、CPU141は、RAM142、HDD143、及びネットワークI/F144とバスを介して接続され、これらとの間でデータを授受する制御を行うことが可能である。また、CPU141は、HDD143から読み出した制御プログラム(命令)をRAM142に展開して実行する。HDD143は、画像処理サーバ120から受信した画像データを保存することが可能である。なお、本実施形態では、1つのCPU141が1つのメモリ(RAM142又はHDD143)を用いて後述のフローチャートに示す各処理を実行するものとするが、これに限定されない。
<機能構成>
図2は、本実施形態に係る画像処理システムが有する機能構成の一例を示すブロック図である。具体的には、図2(a)は、画像形成装置110が有する機能構成の一例を、図2(b)は、画像処理サーバ120が有する機能構成の一例を、図2(c)は、情報処理端末130が有する機能構成の一例を示すブロック図である。画像形成装置110は、機能構成として、画像読取部211、画像印刷部212、UI表示部213、入力受付部214、及び画像送信部215を有する。画像形成装置110が機能構成として有する各部は、CPU111がHDD113に格納されたコンピュータプログラムをRAM112へ転送して実行することにより実現される。
画像読取部211は、スキャナ102上に載置された原稿をスキャナ102に読み取らせ、当該読み取りにより得られる信号を画像データに変換して、画像データをHDD113に記憶させる。画像印刷部212は、画像データをプリンタ101へ転送して、プリンタ101に画像データが示す画像を印刷させる。具体的には、画像印刷部212は、まず、HDD113が記憶する画像データを読み出して、又はネットワーク150上の他の機器からネットワークI/F114を介して画像データを受信して、読み出した又は受信した画像データをRAM112上へ展開する。続いて、画像印刷部212は、展開した画像データをプリンタ101へ転送して、プリンタ101による画像データの印刷を実行する。
UI表示部213は、ユーザが操作するボタン等の操作部品、及び処理進捗状況等の情報の表示を行うUI(User Interface)部品の表示を行う。入力受付部214は、UI表示部213が表示するUI部品へのユーザによる操作入力を受け付けて、操作入力に対応する処理の実行を各部に指示する。画像送信部215は、HDD113に記憶されている画像データ、及びスキャン設定の設定値をネットワークI/F114を介してネットワーク150上の画像処理サーバ120等の外部装置へ送信する。
画像処理サーバ120は、機能構成として、画像受信部221、データ生成部222、データ送信部223、修正部224、ファイル生成部225、ファイル送信部226、及び文字抽出部230を有する。画像処理サーバ120が機能構成として有する各部は、CPU121がHDD123に格納された制御プログラムをRAM122へ転送して実行することにより実現される。
画像受信部221は、画像形成装置110の画像送信部215から送信された画像データを受信する。画像受信部221により受信された画像データは、HDD123に記憶される。データ生成部222は、後述する情報処理端末130の抽出表示部250の動作に用いられるデータを生成する。本実施形態では、抽出表示部250は、Webアプリケーションプログラム(以下「Webアプリケーション」と表記する。)の実行により実現されるものとして説明する。Webアプリケーションは、HTML(HyperText Markup Language)等のWebページ記述言語により記述されたページ記述データと、JavaScript(登録商標)等のスクリプト言語により記述されたスクリプトデータとを含む。抽出表示部250を実現するWebアプリケーションのページ記述データには、画像受信部221が受信した画像データと、文字抽出部230が当該画像データから抽出された抽出情報とが含まれている。なお、ページ記述データは、HTMLに限らず、クライアント端末である情報処理端末130が解釈してWebアプリケーションとして動作させることが可能なものであればよい。具体的には、ページ記述データは、XML(Extensible Markup Language)形式又はJSON(JavaScript Object Notation)形式等の構造化されたデータでもあっても良い。
データ送信部223は、データ生成部222が生成したデータを情報処理端末130に送信する。修正部224は、情報処理端末130を使用するユーザによる修正操作に基づく修正指示を情報処理端末130から受信し、当該修正指示に基づいて抽出情報の修正又は追加を行う。例えば、抽出情報の修正指示として文字列の情報に対する修正の指示を受信した場合、修正部224は、HDD123に記憶されている抽出情報を修正する。また、例えば、抽出情報の修正指示として文字認識の実行の指示を受信した場合、修正部224は、文字抽出部230に文字抽出処理を再実行させて、当該文字抽出処理により抽出された文字情報を抽出情報に追加する。
ファイル生成部225は、後述する情報処理端末130の指示送信部242から送信されたファイル生成の指示を受信して、ファイル生成を行う。具体的には、例えば、ファイル生成部225は、画像送信部215から送られるスキャン設定の設定値からファイルフォーマットの情報を取得し、当該設定値に基づいて画像データからファイルを生成する。ファイル送信部226は、ファイル生成部225が生成したファイルをストレージサーバ140に送信して、ストレージサーバ140に当該ファイルを記憶させる。
文字抽出部230は、画像受信部221が受信した画像データに対して文字抽出処理を実行し、抽出結果を示す情報を取得する。文字抽出部230は、領域検出部231、対象判定部232、領域設定部233、及び文字認識部234を有する。領域検出部231は、画像データから文字を含む領域(以下「文字領域」と呼ぶ。)を検出する。具体的には、例えば、まず、領域検出部231は、画像データが示す画像(以下「文書画像」と呼ぶ。)から黒画素の塊及び白画素の塊の集合を抽出する。続いて、領域検出部231は、抽出した集合の、形状、大きさ、又は集合の状態等から、文書画像を、文字、絵若しくは図、表、枠、又は線等の特徴的な画像領域に分類することにより文字領域を検出する。
文字領域の検出方法は、上述の方法に限定されるものではなく、公知の技術を用いることができる。例えば、領域検出部231における文字領域の検出方法として、深層学習を使用したセマンティックセグメンテーションを適用してもよい。具体的には、この場合、まず、領域検出部231は、文書画像の画素ごとに、文字を形成する画素(以下「文字画素」と呼ぶ。)であるか否かのラベル付けを行い、続いて、周辺の文字画素を1つの領域として結合することにより文字領域を検出する。
対象判定部232は、文字領域の高さ及び幅と、他の文字領域との位置関係とに基づいて、文字認識の対象外となる文字領域(以下「対象外文字領域」と呼ぶ。)を判定する。領域設定部233は、対象判定部232の判定結果に基づいて、文字認識を行う対象の文字領域(以下「対象文字領域」と呼ぶ。)を設定する。文字認識部234は、領域設定部233が設定する対象文字領域に対して文字認識を行い、文字認識の結果を抽出情報としてHDD123に記憶させる。ここで、抽出情報には、文字認識により抽出された文字列の情報(文字コード)、抽出された文字列に対応する文字領域の位置を示す情報、文字の属性を示す情報、言語の情報、及び文字認識の確信度等が含まれる。
情報処理端末130は、機能構成として、データ受信部241、指示送信部242、実行部243、及び抽出表示部250を有する。また、抽出表示部250は、UI表示部251、画像表示部252、領域表示部253、領域選択部254、部分表示部255、文字表示部256、及び入力受付部257を有する。情報処理端末130が機能構成として有する各部は、CPU131がHDD133に格納された制御プログラムをRAM132へ転送して実行することにより実現される。
データ受信部241は、データ送信部223から送信されたデータを受信し、当該データをHDD303に記憶させる。指示送信部242は、入力受付部257が受け付けたユーザの操作入力に対応する指示を画像処理サーバ120に送信する。ここで、画像処理サーバ120に送信する指示には、例えば、ファイルの生成指示、抽出情報の修正指示、文字抽出の実行指示がある。
実行部243は、例えば、Webブラウザであって、データ受信部241が受信した、Webアプリケーションとしてのデータを実行することにより、CPU131を抽出表示部250として機能させる。抽出表示部250は、実行部243によるWebアプリケーションのページ記述データ及びスクリプトデータのレンダリング結果を、GUI(Graphical User Interface)画面として操作部136に表示する。ここで、抽出表示部250として機能するWebアプリケーションは、画像受信部221が受信した画像データの確認と、文字認識部234による文字認識の結果である抽出情報の確認及び修正とを行うことができるものである。以下、抽出表示部250は、Webアプリケーションの実行により機能するものとして説明するが、これに限定されるものではなく、抽出表示部250は、HDD133に格納されている制御プログラムの実行により実現されるものであってもよい。
抽出表示部250が有する各部251~257の機能は、Webアプリケーションのページ記述データ及びスクリプトデータのレンダリング結果により実現される。UI表示部251は、ユーザが操作するボタン等の操作部品、及び処理進捗状況等の情報の表示を行うUI部品の表示を行う。画像表示部252は、画像受信部221が受信した画像データであって、データ受信部241が受信したデータに含まれる画像データが示す文書画像の表示を行う。領域表示部253は、画像表示部252が表示している文書画像中に含まれる文字領域を表示する。領域選択部254は、ユーザの操作入力に基づいて、領域表示部253が表示する1以上の文字領域のうちから文字領域を選択する。
部分表示部255は、文書画像から、領域選択部254が選択した文字領域に対応する画像(以下「部分画像」と呼ぶ。)を切り出して、切り出した部分画像を表示する。本実施形態では、部分表示部255は、複数の部分画像を同時に表示することが可能であるものとして説明する。文字表示部256は、文字認識処理により各文字領域から抽出された文字情報を表示する。入力受付部257は、UI表示部251、画像表示部252、領域表示部253、及び文字表示部256が表示したUI部品へのユーザによる操作入力を受け付けて、操作入力に対応する処理の実行を各部に指示する。ユーザは、入力受付部257への操作入力をとおして、文字表示部256が表示する文字情報を修正することが可能である。
<画像処理システムの処理の流れ>
図3は、第1の実施形態に係る画像処理システム100の処理の流れの一例を示すシーケンス図である。具体的には、図3に示すシーケンス図は、画像形成装置110によるスキャンにより得られた画像データをファイル化して、ストレージサーバ140へ送信する処理の流れを示すものである。画像形成装置110の操作部103には、通常の状態において、提供可能な各機能を使用するためのボタンが並べられたメイン画面が表示されている。画像形成装置110には、スキャンにより得られた画像データを画像処理サーバ120に送信するための機能を実現するアプリケーションプログラムを事前にインストールしておく。これにより、当該アプリケーションプログラムを実行するためのボタンが、操作部103に表示されるメイン画面に表示される。このボタンが押下されると、操作部103には、スキャンの設定を行うためのスキャン設定画面、スキャンにより得られた画像データを画像処理サーバ120に送信するための送信設定画面、及びスキャンを開始するためのスキャン開始ボタン等が表示される。ユーザは、スキャン設定画面及び送信設定画面に対して操作入力を行うことにより、各種の設定を行うことができる。
スキャン開始ボタンが押下されると図3に示すシーケンス図の処理が開始される。なお、画像形成装置110は、スキャン設定画面又は送信設定画面とは異なる、上述の設定以外の設定をスキャン開始前に行うための画面を提供してもよい。例えば、画像形成装置110は、処理時間優先モード又は精度優先モード等の画像処理サーバ120における処理のモードを設定する画面等の、後段の処理においてどのような処理を行うかを設定するための画面を提供する。ユーザは、スキャン開始ボタンを押下する前に当該画面に対して操作入力を行うことにより、後段の処理においてどのような処理を行うかを設定することができる。なお、以下の説明において、記号「S」はステップを意味する。
画像形成装置110においてスキャン開始ボタンが押下されると、S300にて、画像形成装置110の画像読取部211は、スキャン設定画面にて設定された各種のスキャン設定に従って、スキャナ102に載置された原稿のスキャンを実行する。次に、S301にて、画像形成装置110の画像読取部211は、S300にて実行されたスキャンにより得られた信号に基づいて、原稿に対応する文書画像のデータ(画像データ)を生成する。次に、S302にて、画像形成装置110の画像送信部215は、S301にて生成された画像データを画像処理サーバ120へ送信する。
次に、S303にて、画像処理サーバ120の画像受信部221は、S302にて送信された画像データを受信する。次に、S304にて、画像処理サーバ120の文字抽出部230は、S303にて受信された画像データに対して文字抽出処理を実行し、文字抽出の結果を示す情報を取得する。文字抽出処理の詳細については、図5を用いて後述する。次に、S305にて、画像処理サーバ120のデータ生成部222は、S304にて取得される情報から、情報処理端末130の抽出表示部250の動作に用いられるデータを生成する。次に、S306にて、画像処理サーバ120のデータ送信部223は、S305にて生成されたデータを情報処理端末130に送信する。
次に、S307にて、情報処理端末130のデータ受信部241は、S306にて送信されたデータを受信する。次に、S308にて、情報処理端末130の抽出表示部250は、S307にて受信されたデータの実行部243によるレンダリングにより実行されて、抽出情報の表示処理を実行する。抽出情報の表示処理の詳細については、図7を用いて後述する。次に、S309にて、情報処理端末130の指示送信部242は、入力受付部257を介してユーザから受けた指示が、ユーザにより選択された対象外文字領域における文字認識の実行指示であるか否かを判定する。S309にて文字認識の実行指示であると判定された場合、S310にて、指示送信部242は、画像処理サーバ120の修正部224に、選択された対象外文字領域における文字認識の実行を指示する情報を送信する。
S310の後、S311にて、画像処理サーバ120の修正部224は、S310にて送信された、選択された対象外文字領域における文字認識の実行指示を示す情報を受信し、当該情報に基づいて、選択された対象外文字領域から文字を抽出する。S311の後、画像処理システム100はS305に戻って、S305以降の処理が繰り返し実行される。
S309にて文字認識の実行指示でないと判定された場合、S312にて、情報処理端末130の指示送信部242は、入力受付部257を介してユーザから受けた指示が、ファイルの生成指示であるか否かを判定する。S312にてファイルの生成指示ではないと判定された場合、情報処理端末130はS408に戻って、入力受付部257は、ユーザからの新たな指示を待つ。S312にてファイルの生成指示であると判定された場合、S313にて、情報処理端末130の指示送信部242は、画像処理サーバ120にファイルの生成指示を示す情報を送信する。なお、このとき、任意の文字領域に対応する文字が、ユーザにより入力受付部257を介して修正されていた場合、指示送信部242は、当該修正に基づく抽出情報の修正指示を示す情報についても、画像処理サーバ120の修正部224に送信する。
S313の後、S314にて、画像処理サーバ120のファイル生成部225は、S313にて送信されたファイルの生成指示を示す情報を受信して、S303にて受信された画像データに対応するファイルを生成する。なお、このとき、抽出情報の修正指示を示す情報についても受信している場合、画像処理サーバ120の修正部224は、修正指示を示す情報を受信して、ファイル生成部225によるファイルの生成処理の前に抽出情報を修正する。S314の後、S315にて、画像処理サーバ120ファイル送信部226は、S314にて生成されたファイルをストレージサーバ140に送信する。S315の後、ストレージサーバ140のCPU141は、S316にて、S315にて送信されたファイルを受信し、S317にて、S316にて受信したファイルをHDD143に記憶させて保存する。S317の後、画像処理システム100は、図3のシーケンス図に示す一連の処理を終了する。
<文字抽出処理>
図4乃至6を参照して、画像処理サーバ120の文字抽出部230における文字抽出処理の詳細について説明する。この処理は、ファイル名の付与、又は文字列の転記等を目的として、文書画像中の必要な文字列を抽出するために行なわれる。このとき、ユーザへの応答性又は画像処理サーバ120のハードウェアリソースの観点から、処理時間又は処理負荷を制限する必要が生じる場合がある。特に、文字認識には処理時間が掛かり、その処理時間は、一般的に、文字認識する文字数に比例して増加する。そのため、ファイル名の付与、又は文字列の転記の対象となる文字列のみについて文字認識を行い、それ以外の文字列については文字認識を行わないことが望ましい。
図4は、第1の実施形態に係る文書画像401、並びに、文書画像401における抽出対象の文字列及び抽出対象外の文字列を説明するための図である。具体的には、図4(a)は、第1の実施形態に係る文書画像401の一例を示す図であって、画像形成装置110によりスキャンされた文書が申込書である場合の文書画像401の一例を示す図である。文書画像401は、画像領域として、記入欄に対応する画像領域(以下「記入欄領域」と呼ぶ。)402、文書のタイトルに対応する文字領域(以下「タイトル領域」と呼ぶ。)403、及び、説明文に対応する文字領域(以下「説明文領域」と呼ぶ。)410を含む。また、記入欄領域402には、項目名に対応する文字領域(以下「項目名領域」と呼ぶ。)404~406、及び項目値である記入文字に対応する文字領域(以下「記入文字領域」と呼ぶ。)407~409を含む。
これらの文字領域の中で文字認識の対象とする文字領域は、タイトル領域403、項目名領域404~406、及び記入文字領域407~409になる。例えば、抽出した文字列を画像データのファイル名に用いるシステムにおいては、文書のタイトル又は一部の記入文字は、ファイル名の一部として付与にされる可能性がある。また、抽出した文字列を自動で転記するシステムにおいては、記入文字の他に、所定の項目を抽出するためのキーとして、項目名が文字認識される可能性がある。
一方、文字認識の対象としない文字領域は、説明文領域410になる。説明文は、文書のタイトルのように文書を特徴付ける文字列でもなければ、記入文字のように文書ごとに異なる文字列でもないからである。説明文のような文字列は、一般的に、活字であることが多く、また、文字サイズが小さいという特徴を有する。そのため、文字サイズの小さい文字列の文字領域については、文字認識を行わないといった手法を取り得る。ただし、文字サイズのみに基づいて文字認識を行わない文字領域を決定してしまうと、抽出すべき文字列が抽出されない場合がある。
図4(b)~(d)は、抽出すべき文字列に対応する文字領域の検出を行った結果を可視化した一例を示す図である。図4(b)~(d)において、矩形により囲まれた領域は、検出された文字領域のうち、文字サイズが8pt(ポイント)等の予め定められたサイズの閾値よりも小さい文字を含む文字領域を表している。図4(b)には、活字と手書きの文字とが混在する文字列の一例であって、日付を表す文字列の一例が示されている。図4(b)に示す例では、項目名である「お申込年月日」の文字列に対応する文字領域、「西暦」の文字列に対応する文字領域、及び「年」「月」「日」のうちの「日」の文字列(文字)に対応する文字領域が文字サイズの小さい文字領域として検出されている。
図4(c)には、手書きの文字による文字列の一例であって、日付を表す文字列の一例が示されている。図4(c)に示す例では、2つの「―」(ハイフン)のうちの右側の「-」の文字列(文字)に対応する文字領域が文字サイズの小さい文字領域として検出されている。日付を表す文字列における「-」に限らず、手書きの文字列のうちの記号で表現される文字に対応する文字領域は、文字サイズの小さい文字領域として検出されやすい傾向にある。図4(d)には、手書きの文字による文字列の一例であって、複数のアルファベットにより構成される文字列の一例が示されている。図4(d)に示す例では、小文字で書かれたアルファベットの一部に対応する文字領域が文字サイズの小さい文字領域として検出されている。
図4(b)~(d)に一例として示すように、文字サイズのみに基づいて文字認識を行う文字領域か否かを判定すると、抽出すべき文字列を抽出できない場合がある。そのため、文字サイズによる判定を加えて、文字サイズ以外の条件により、文字認識を行わない文字領域を決定する必要がある。具体的には、文字抽出部230は、文字サイズに基づく判定に加えて、文字領域内の文字数、又は文字領域同士の位置関係に基づく判定を行うことにより、文字認識を行わない文字領域、すなわち、文字認識の対象外となる領域(対象外文字領域)を決定する。例えば、文字抽出部230は、説明文領域410のような、文字サイズが小さい文字により構成され、且つ、複数行に亘り、且つ、一行あたりの文字数が多い文字列を含む文字領域を文字認識しない文字領域として設定する。この結果、文字認識する文字数が少なくなることため、文字認識処理に要する処理時間が抑制される。また、文字サイズのみに基づいて判定する場合と比べて、抽出すべき文字列がより適切に抽出され、抽出すべき文字列の抽出精度が向上する。
図5は、第1の実施形態に係る文字抽出部230における処理フローの一例を示すフローチャートであって、図3に示すS304における文字抽出処理の流れの一例を示すフローチャートである。まず、S501にて、文字抽出部230の領域検出部231は、S303にて受信した画像データが示す文書画像における文字領域を検出する。文字抽出部230は、S501にて検出された複数の文字領域のうちから文字認識を行う文字領域(対象文字領域)を決定する。
以下、領域検出部231は、一行に収まる文字列として認識される領域を文字領域として検出し、検出結果を、検出した各文字領域の外接矩形を示す情報をJSON形式によりリスト化したデータとして出力するものとして説明する。例えば、外接矩形は、文書画像において主走査方向にx軸を取り、副走査方向にy軸を取った場合の、外接矩形の左上頂点のx座標及びy座標、並びに、外接矩形の主走査方向の長さ(幅)及び副走査方向の長さ(高さ)を示す情報により表される。なお、検出結果は、JSON形式によりリスト化されたデータに限定されるものではなく、例えば、XML形式により表現されたものであってもよい。また、外接矩形は、外接矩形の左上頂点のx座標及びy座標と、右下頂点のx座標及びy座標とにより表現されてもよい。S501の後、S502にて、文字抽出部230の対象判定部232は、S501で検出した文字領域が文字認識の対象となるか否かを判定する。
図6は、第1の実施形態に係る対象判定部232における処理フローの一例を示すフローチャートであって、S502における対象判定処理の流れの一例を示すフローチャートである。まず、S601にて、対象判定部232は、S501にて検出された複数の文字領域のうちから任意の文字領域を選択する。以下、S601にて選択された文字領域を「選択文字領域」と表記して説明する。次に、S602にて、対象判定部232は、選択文字領域に含まれる文字の大きさ(文字サイズ)を算出する。具体的には、例えば、対象判定部232は、選択文字領域の高さ、すなわち、選択文字領域の外接矩形における副走査方向の長さに基づいて、文字サイズを算出する。
次に、S603にて、対象判定部232は、S602にて算出された文字サイズが、8pt等の予め定められたサイズの閾値(以下、単に「閾値」と表記する。)よりも小さいか否かを判定する。S603にて文字サイズが閾値よりも小さいと判定された場合、S604にて、対象判定部232は、選択文字領域を対象外候補領域に設定する。S604の処理により、文字サイズが小さい文字のみを含む文字領域が文字認識の対象外の文字領域の候補となる。S603にて文字サイズが閾値よりも小さくない、すなわち、閾値以上であると判定された場合、S605にて、対象判定部232は、選択文字領域を対象文字領域に設定する。
S604又はS605の後、S606にて、対象判定部232は、S501にて検出された全ての文字領域がS601にて選択されたか否かを判定する。S606にて全ての文字領域が選択されていない、すなわち、選択されていない文字領域があると判定された場合、対象判定部232は、S601の処理に戻って、S601にて、未だ選択されていない文字領域を選択する。その後、対象判定部232は、S606にて全ての文字領域が選択されたと判定されるまで、S601からS606までの処理を繰り返し実行する。S606にて全ての文字領域が選択されたと判定された場合、S607にて、対象判定部232は、S604にて設定された複数の対象外候補領域のうちから任意の対象外候補領域を選択する。以下、S607にて選択された対象外候補領域を「選択候補領域」と表記して説明する。
S607の後、S608にて、対象判定部232は、選択候補領域から主走査方向における所定の範囲内に、他の対象外候補領域が存在するか否かを判定する。S608にて他の対象外文字領域が存在すると判定された場合、S609にて、対象判定部232は、選択候補領域と当該他の対象外文字領域とを結合して、新たな文字領域を生成して、生成した文字領域を対象外候補領域に設定する。なお、この場合、対象判定部232は、選択候補領域に替えて、新たに生成した対象外候補領域を選択候補領域とし、結合前の2つの対象外候補領域については削除する。S609の後、対象判定部232は、S608の処理に戻って、S608にて他の対象外候補領域が存在しないと判定されるまで、S608及びS609の処理を繰り返し実行する。
S608にて他の対象外候補領域が存在しないと判定された場合、S610にて、対象判定部232は、選択候補領域に含まれる文字列の行数が予め定められた行数の閾値(以下、単に「閾値」と表記する。)より大きいか否かを判定する。ここで、選択候補領域に含まれる文字列の行数は、S609にて選択候補領域と他の対象外候補領域とを結合した回数と同じであるとみなしてもよい。S610にて行数が閾値より大きいと判定された場合、S611にて、対象判定部232は、選択候補領域を対象外文字領域に設定する。例えば、閾値を2と設定した場合、3行以上の文字列を含む選択候補領域は、対象外文字領域に設定される。
S610にて行数が閾値より大きくない、すなわち、閾値以下であると判定された場合、S612にて、対象判定部232は、選択候補領域に含まれる文字列の一行ごとの仮想文字数を算出する。ここで、仮想文字数とは、文字領域内に含まれる文字列の仮想的な文字数である。本実施形態においては、文字領域の外接矩形の大きさしか分わからないため、文字領域内に含まれる文字列の正確な文字数を取得することはできない。そのため、対象判定部232は、例えば、文字領域の外接矩形の主走査方向の長さ(幅)を、文字領域の外接矩形の副走査方向の長さ(高さ)で除した値、すなわち、S602にて算出した文字サイズで除した値を、文字領域内の仮想文字数として算出する。なお、仮想文字数の算出方法に上述の方法に限定されるものではなく、他の手法を用いて具体的な文字数を算出又は取得してもよい。
S612の後、S613にて、対象判定部232は、選択候補領域に含まれる文字列の一行ごとの仮想文字数の最大数が、予め定められた文字数の閾値(以下、単に「閾値」と表記する。)より大きいか否かを判定する。例えば、選択候補領域に含まれる文字列が一行である場合には、その行の仮想文字数が仮想文字数の最大数となる。また、選択候補領域に含まれる文字列が複数行である場合、全ての行の仮想文字数のうちの最も仮想文字数の多い行の仮想文字数が仮想文字数の最大数となる。S613にて仮想文字数の最大数が閾値より大きいと判定された場合、対象判定部232は、S611の処理を実行して、選択候補領域を対象外文字領域に設定する。S613にて仮想文字数の最大数が閾値より大きくない、すなわち、閾値以下であると判定された場合、S614にて、対象判定部232は、選択候補領域を対象文字領域に設定する。
S611又はS614の後、S615にて、対象判定部232は、S604にて設定された全ての対象外候補領域がS607にて選択されたか否かを判定する。S615にて全ての対象外候補領域が選択されていない、すなわち、選択されていない対象外候補領域があると判定された場合、対象判定部232は、S607に戻って、S607にて、未だ選択されていない対象外候補領域を選択する。その後、対象判定部232は、S615にて全ての対象外候補領域が選択されたと判定されるまで、S607からS615までの処理を繰り返し実行する。S615にて全ての対象外候補領域が選択されたと判定された場合、対象判定部232は、図6に示すフローチャートの処理、すなわち、図5に示すS502における文字認識の対象判定処理を終了する。
S502の後、S503にて、文字抽出部230の領域設定部233は、S605、S611又はS614にて設定されたS502の判定結果に基づいて、文書画像において文字認識を行う文字領域(以下「認識実行領域」と呼ぶ。)を設定する。具体的には、S605又はS614にて対象文字領域に設定された文字領域を認識実行領域として設定する。S503の処理により、文字認識される領域が限定されて、文字認識の処理時間の抑制に繋がる。なお、領域設定部233は、認識実行領域の設定方法について、後述する文字認識の実行の際に用いられるOCR(Optical Character Recognition)エンジンの特性に合わせて変更してよい。
次に、S504にて、文字抽出部230の文字認識部234は、OCRエンジンを用いて、S503にて設定された認識実行領域に対する文字認識を実行し、文字認識の結果を抽出情報として出力する。出力された抽出情報は、HDD123に記憶される。ここで、文字認識部234は、認識した全ての文字の情報を抽出情報に含める必要はなく、認識した文字のうちから抽出情報に含める文字を任意の方法により選択してもよい。例えば、文字認識部234は、認識された文字が文書画像における特定の文書領域から抽出されたものであるかを判定して抽出情報に含めるかを決定してもよく、認識された文字が特定の文字であるかを判定して抽出情報に含めるかを決定してもよい。
また、文字認識部234は、使用するOCRエンジン、及びOCRエンジンが使用されるシステムの特性にあわせて、OCRエンジンに認識実行領域の情報を入力する態様を変更してもよい。例えば、認識実行領域に対応する領域を画像データから切り出したデータをOCRエンジンに入力する場合、又は画像データにおいて文字認識を行う認識実行領域の範囲を選択してOCRエンジンに指示する場合等がある。また、認識実行領域がS609にて文字領域が結合されたものである場合、文字認識部234は、結合される前の状態に認識実行領域を分離して、分離後の各文字領域についてOCRエンジンに文字認識させてもよい。S504の後、文字抽出部230は、図5に示すフローチャートの処理、すなわち、図3に示すS304における文字抽出処理を終了する。
なお、S304にて出力された抽出情報は、情報処理端末130に送信されて、S308にて情報処理端末130の操作部136に表示される。また、ファイル名の付与又は文字列の転記に用いられる文字列は、S304にて出力された抽出情報のうちから、S308にてユーザにより選択される。
このような文字抽出部230の一連の処理によれば、文字認識の対象とすべき文字領域を適切に決定することができる。また、文字認識の対象とすべき文字領域の適切な決定による文字認識対象の文字領域の限定により、文書画像における文字認識の処理時間の抑制をするとともに、抽出すべき文字列の抽出精度を向上させることができる。なお、この一連の処理のうちの文字認識の対象とすべき文字領域を決定する処理は、必ずしも実行される必要はなく、例えば、処理時間が所定の時間よりも長いと予測される場合に限って実行されてもよい。具体的には、例えば、文書画像に含まれる文字列の仮想文字数の総数が閾値を超える場合には、文字認識の対象判定処理を行ってもよい。一方、当該総数が閾値以下である場合には、全ての文字領域を対象文字領域に設定して、全ての文字領域に対して文字認識を実行してもよい。
<抽出情報の表示処理>
図7を参照して、情報処理端末130の抽出表示部250における処理について説明する。図7(a)は、第1の実施形態に係る抽出表示部250が操作部136に表示する表示画面701の一例を示す図である。ユーザは、表示画面701を確認しつつ、操作入力を行うことにより、抽出情報に含まれる、文字認識により抽出された文字列の情報を選択、確認、及び修正、並びに、対象外文字領域に設定されていた文字領域に対する文字認識の実行の指示を行うことができる。
抽出表示部250のUI表示部251は、表示画面701を操作部136に表示する。画像表示領域704には、文書画像が表示される。なお、画像表示領域704に表示されている文書画像が処理対象の文書画像である。図7(b)は、図7(a)に示す画像表示領域704の拡大図である。抽出表示部250の領域表示部253は、抽出情報に含まれる、抽出された文字列の位置を示す情報に基づいて、画像表示領域704に表示されている文書画像上に、当該文書画像中に含まれる文字領域の位置を示す矩形等の画像を重畳表示する。図7(b)には、文字領域の位置を示す画像の一例として、破線による矩形が示されており、当該矩形が文書画像から抽出された文字列の領域の外接矩形に相当する。ページ表示領域702には、画像読取部211が読み取った原稿の総ページ数と、画像表示領域704に表示されている文書画像のページ番号とが表示される。ユーザは、ページ表示領域702の表示内容から、画像表示領域704に表示されている文書画像が原稿の何ページ目にあたるかを認識することができる。
ボタン703は、画像表示領域704に表示する文書画像を変更するためのボタンである。ユーザによる操作部136の操作によりボタン703が押下されると、押下される前に表示されていた文書画像に対応する原稿のページの、前又は後のページに対応する文書画像が画像表示領域704に表示されて、処理対象が当該文書画像に切り替えられる。なお、処理対象の文書画像に対応する抽出情報に含まれる文字列の情報が修正された状態においてボタン703が押下された場合には、当該修正の内容を示す情報は、HDD133等に一時的に記憶されて、画像表示領域704に表示される文書画像が変更される。一方、当該抽出情報に含まれる文字列の情報が修正されていない状態においてボタン703が押下された場合には、例えば、画像表示領域704に表示される文書画像が直ちに変更される。
ユーザによる操作部136の操作により、画像表示領域704に表示される文書画像内の座標が指定されると、抽出表示部250の領域選択部254は、抽出情報が示す複数の文字領域のうちから、当該座標に対応する文字領域を選択する。抽出表示部250の部分表示部255は、領域選択部254が選択した文字領域に対応する画像を文書画像から切り出して、切り出した画像を部分画像として部分表示領域705に表示する。
部分表示領域705に表示される部分画像は、ユーザにより指定された文書画像の座標に対応する文字領域に対応するものに限定されるものではない。例えば、領域選択部254は、抽出情報が示す全ての文字領域に対応する部分画像を表示してもよい。また、例えば、データ生成部222が部分表示領域705に表示させる部分画像に対応する文字領域を予め設定しておき、領域選択部254は、当該設定に基づいて文字領域を選択して部分画像を表示してもよい。また、例えば、領域選択部254は、ユーザにより過去に選択された文字領域の座標をHDD133等に記憶させておき、部分表示部255は、当該座標の情報に基づいて、抽出情報が示す全ての文字領域のうちの文字領域に対応する部分画像を表示してもよい。
文字表示部256は、部分画像に対応する文字領域から抽出された文字情報を文字表示領域706に表示する。ユーザは、操作部136の操作により、文字表示領域706に表示される文字情報を修正することができる。ボタン707は、処理対象の文書画像から抽出された文字情報の確認及び修正を完了した後に、ファイルの生成処理の指示をするためのボタンである。入力受付部257が受け付けたユーザによる操作部136の操作により、ボタン707が押下されると、情報処理端末130は、図3に示すS313の処理を実行して、画像処理サーバ120のファイル生成部225に対してファイルの生成処理を指示する。なお、ボタン707が押下される前に、ユーザによる文字情報を修正が行われていた場合、情報処理端末130は、ファイルの生成処理を指示すると共に、画像処理サーバ120の修正部224に対して文字情報の修正処理についても指示する。この場合、画像処理サーバ120は、文字情報の修正処理を実行した後にファイルの生成処理を実行する。
図7(b)において、破線による矩形により囲まれている領域は、文字抽出部230において対象文字領域に設定された文字領域であって、上述したように、文字抽出部230により文字列が抽出された文字領域を示している。一方、領域708は、本実施形態において、文字抽出部230により対象外文字領域に設定された文字領域であって、領域708については文字認識処理が実行されていない。ユーザによる操作により対象外文字領域である領域708が選択されると、指示送信部242は、S310の処理を実行して、画像処理サーバ120の修正部224に対して、選択された対象外文字領域における文字抽出の実行を指示する情報を送信する。修正部224は、受信した当該情報に基づいて、対象外文字領域である領域708に対する文字認識を実行する。このとき、文字認識が実行される領域は、選択された対象外文字領域のみであってもよいし、文書画像における全ての対象外文字領域であってもよい。なお、図7(b)における破線による矩形により囲まれている領域は、実際の表示画面801に常時表示されていてもよく、領域内のいずれかの座標が選択された場合にのみ表示されてもよい。
以上のようにして、抽出表示部250の一連の処理により、抽出された文字列の選択、確認、及び修正、並びに、対象外文字領域に設定されていた文字領域に対する文字認識の実行の指示を行うことができる。以上のように構成した画像処理サーバ120を有する画像処理システム100によれば、文字サイズのみに基づいて文字認識処理を行う文字領域を決定する場合と比べて、文字認識の対象とすべき文字領域を適切に決定できる。また、文字認識の対象とすべき文字領域の適切な決定による文字認識対象の文字領域の限定により、文字認識処理に要する処理時間を抑制しつつ、抽出すべき文字列の抽出精度を向上させることができる。
[第2の実施形態]
第1の実施形態では、図6のS611の処理において、条件に合致した全ての文字領域を対象外文字領域に設定する形態について説明した。このような設定方法により、第1の実施形態に係る文字抽出処理では、処理時間を最大限に抑制することができた。本実施形態では、文字抽出処理の処理時間に上限を設けることにより、文字抽出処理を一定時間内に完了しつつ、より多くの文字領域について文字認識を実行する形態について説明する。これにより、ユーザの操作性を維持しつつ、文字認識の対象とすべき文字領域をより適切に決定でき、抽出すべき文字列の抽出精度を更に向上させることができる。なお、本実施形態の説明において、第1の実施形態と同一の構成及び処理についての説明を省略し、差異のある箇所のみについて説明する。
図8は、第2の実施形態に係る対象判定部232における処理フローの一例を示すフローチャートであって、図5のS502の文字認識の対象判定処理の流れの一例を示すフローチャートである。図8に示すフローチャートは、第1の実施形態に係る対象判定部232における処理フローを示す図6のフローチャートと比較して、S611がS804に変更され、S801乃至S803及びS805が追加されたものである。
まず、S801にて、対象判定部232は、S501にて検出された全ての文字領域に対して文字認識処理を実行した場合に想定される処理時間(以下「第1の想定処理時間」と呼ぶ。)を算出する。ここで、文字認識処理の処理時間は、文字領域に含まれる文字数に略比例するため、第1の想定処理時間は、S501にて検出された各文字領域に含まれる文字列の仮想文字数の総数に基づいて算出することができる。次に、S802にて、対象判定部232は、S801にて算出された第1の想定処理時間が、文字認識処理として許容される処理時間(以下「許容時間」と呼ぶ。)以下であるか否かを判定する。S802にて第1の想定処理時間が許容時間以下であると判定された場合、S803にて、対象判定部232は、S501にて検出された全ての文字領域を対象文字領域に設定する。S803の後、対象判定部232は、図8に示すフローチャートの処理、すなわち、S502の処理を終了する。
S802にて第1の想定処理時間が許容時間以下でない、すなわち、許容時間より長いと判定された場合、対象判定部232は、S601からS610までの処理を適宜実行する。S610にて行数が閾値より大きくない、すなわち、閾値以下であると判定された場合、対象判定部232は、第1の実施形態と同様に、S612及びS613の処理を実行する。S613にて仮想文字数の最大数が閾値より大きくない、すなわち、閾値以下であると判定された場合、対象判定部232は、第1の実施形態と同様に、S614の処理を実行する。S610にて行数が閾値より大きいと判定された場合、又はS613にて仮想文字数の最大数が閾値より大きいと判定された場合、S804にて、対象判定部232は、選択候補領域の優先度を算出する。
以下、優先度は、対象外候補領域に含まれる文字列の仮想文字数の総数に基づいて設定され、当該仮想文字数の総数が多い対象外候補領域ほど高い優先度が設定されるものとして説明する。また、仮想文字数の総数が互いに同数の対象外候補領域については、行数が多い方の対象外候補領域の優先度が高く設定され、行数も同じである場合には一行あたりの仮想文字数の最大数が大きい方の対象外候補領域の優先度が高く設定されるものとして説明する。なお、優先度の設定方法は、上述の方法に限定されるものではなく、例えば、優先度は、仮想文字数の総数、行数、及び一行あたりの仮想文字数の最大数のそれぞれに対して、重み付けを行った数値の合計値に基づいて設定されてもよい。
S614又はS804の後、対象判定部232は、S615の処理を実行する。S615にて全ての対象外候補領域が選択されていない、すなわち、選択されていない対象外候補領域があると判定された場合、対象判定部232は、第1の実施形態と同様に、S607の処理に戻る。S615にて全ての対象外候補領域が選択されたと判定された場合、S805にて、対象判定部232は、S804にて算出された優先度と、許容時間とに基づいて、対象外候補領域を対象文字領域又は対象外文字領域に設定する対象設定処理を実行する。
図9は、第2の実施形態に係る対象判定部232における処理フローの一例を示すフローチャートであって、S805の対象設定処理の流れの一例を示すフローチャートである。まず、S901にて、対象判定部232は、対象外候補領域に設定されている複数の文字領域のうちから、S804にて算出された優先度が最も高い文字領域を選択する(S901)。以下、S901にて選択された対象外候補領域である文字領域を「優先候補領域」と表記して説明する。次に、S902にて、対象判定部232は、S901にて選択した優先候補領域に対して文字認識処理を実行した場合に想定される処理時間(以下、「第2の想定処理時間」と呼ぶ。)を算出する。ここで、文字認識処理の処理時間は、文字領域に含まれる文字数に略比例するため、第2の想定処理時間は優先候補領域に含まれる文字列の仮想文字数の総数に基づいて算出することができる。
次に、S903にて、対象判定部232は、優先候補領域の設定を対象外文字領域に変更して、文字認識処理の対象から優先候補領域を除外する。次に、S904にて、対象判定部232は、これまでにS902にて算出された第2の想定処理時間の合計値を算出して、第3の想定処理時間を取得する。すなわち、第3の想定処理時間とは、S804にて優先度が算出された全ての対象外候補領域のうちの、S903にて文字認識処理の対象から除外された各対象外候補領域に対応する第2の想定処理時間の合計値である。
次に、S905にて、対象判定部232は、S904にて取得された第3の想定処理時間が、第1の想定処理時間から許容時間を減じた値(以下「閾値」と呼ぶ。)未満であるか否かを判定する。ここで、第1の想定処理時間から許容時間を減じた値は、S501にて検出された全ての文字領域に対して文字認識処理を実行した場合に許容時間を超過してしまうと想定される時間である。例えば、許容時間が4秒間であり、第1の想定処理時間が7秒間である場合、閾値は、第1の想定処理時間である7秒間から許容時間である4秒間を減じた3秒間となる。
S905にて第3の想定処理時間が閾値未満であると判定された場合、S901の処理に戻って、第3の想定処理時間が閾値未満でない、すなわち閾値以上であると判定されるまで、S901からS905までの処理を繰り返し実行する。これは、第3の想定処理時間が閾値と等しいかそれを上回っていないため、文字認識処理の処理時間が許容時間を未だ越してしまうためである。この場合、文字認識処理の処理時間が許容時間内に収まるまで、より優先度の高い対象外候補領域の設定を、対象外文字領域に変更する必要がある。
S905にて第3の想定処理時間が閾値未満でない、すなわち閾値以上であると判定された場合、対象判定部232は、S906にて、残った全ての対象外候補領域の設定を対象文字領域に変更する。ここで、残った全ての対象外候補領域とは、S903にて最後に対象外文字領域に設定が変更されて文字認識処理の対象から除外された対象外候補領域よりも優先度が低い全ての対象外候補領域である。S906の後、対象判定部232は、図9に示すフローチャートの処理、すなわち、S802の処理を終了する。
以上のように構成した対象判定部232を有する画像処理サーバ120によれば、許容時間内に文字認識処理を完了することを担保することによりユーザの操作性を維持しつつ、文字認識される文字領域の数をより多くすることができる。具体的には、対象判定部232により、許容時間内に文字認識処理を完了するように、優先度の高い対象外候補領域から順に対象外文字領域に設定が変更される。そのため、優先度のより低い対象外候補領域を対象文字領域とすることができる。これにより、画像処理サーバ120を有する画像処理システム100によれば、ユーザの操作性を維持しつつ、文字サイズのみに基づいて文字認識処理を行う文字領域を決定する場合と比べて、文字認識の対象とすべき文字領域をより適切に決定できる。結果として、画像処理システム100によれば、文字認識処理に要する処理時間を抑制しつつ、抽出すべき文字列の抽出精度を向上させることができる。なお、上述の優先度の付与方法は、優先して対象外文字領域に設定を変更すべき対象外候補領域の優先度を高くするものであったが、優先度の付与方法は、上述の方法に限定されるものではない。例えば、優先して対象文字領域に設定を変更すべき対象外候補領域の優先度を高くしてもよい。この場合、S805の処理、すなわち、図9に示すフローチャートの処理については、優先度の付与方法に従って適宜変更すればよい。
[第3の実施形態]
文字領域に手書き文字が含まれる場合、1つの手書き文字に対応する文字領域が複数の文字領域に分離されてしまい、抽出すべき文字として適切に抽出できないことがある。本実施形態では、1つの文字に対応する文字領域が複数の文字領域に分離されてしまう場合であっても、文字認識処理の処理時間を抑制しつつ、当該文字を適切に抽出することを可能にする構成について説明する。なお、本実施形態の説明において、第1の実施形態と同一の構成及び処理についての説明を省略し、差異のある箇所のみについて説明する。
図10は、手書き文字の文字列を含む文字領域1000の一例を示す図であって、文字列を構成する一部の文字に対応する文字領域が、複数の文字領域1001,1002であるとみなされて検出された文字領域1000の一例である。ここで、文字領域1001~1003のうち、文字領域1001及び文字領域1003は、文字サイズが8pt等の予め定められたサイズの閾値以上の文字のみを含む文字領域として検出されたものである。また、文字領域1002は、文字サイズが当該閾値よりも小さい文字を含む文字領域として検出された文字領域である。なお、本来は、文字領域1001~1003が1つの文字領域1000として検出されることが望ましい。
第1の実施形態において、S502にて文字領域1001,1003は、対象文字領域に設定され、S503で認識実行領域に設定された場合、S504にて文字領域1001,1003のそれぞれに対して文字認識処理が実行されることになる。文字領域1001に含まれる文字(文字列)は、文字サイズが閾値以上であるため、S502にて、文字領域1001と文字領域1002とは、結合されることはない。そのため、文字領域1002も対象文字領域に設定されて、文字領域1001,1003とは別に、個別の文字認識処理が実行される。ここで、文字領域1001は、文字の一部が欠落した文字を含むため、文字認識処理の結果が適切なものにならないことがある。
このような問題を解決するための方法として、S501で検出された文字領域に対して文字認識処理を行わずに、別途、精度のより高い検出方法を用いて検出された文字領域に対して文字認識処理を行う方法が考えられる。精度のより高い検出方法を用いることにより、文字領域1001~1003が1つの文字領域1000として検出される。例えば、精度のより高い検出方法として、手書き・活字分離処理を用いて文字領域の検出を行う。手書き・活字分離処理とは、手書き文字に対応する画素(以下「手書き画素」と呼ぶ。)を特定し、手書き画素のみにより構成される画像と、活字及び背景に対応する画素により構成される画像に分離する処理である。
手書き・活字分離処理には、例えば、深層学習を使用したセマンティックセグメンテーションを適用することができる。手書き・活字分離処理の学習には、手書き文字のみを含む画像(以下「手書き文字画像」と呼ぶ。)と活字のみを含む画像(以下「活字画像」と呼ぶ。)を重畳した複数の手書き活字混在画像が学習データとして用いられる。また、手書き活字混在画像における手書き文字画像の領域を2値化することにより得られる2値化画像の画素値が手書き画素を示すラベル値となり、この手書き2値化画像のデータが教師データとなる。これらの学習データと教師データとを用いて、セマンティックセグメンテーションを行うように構成されたDNN(Deep Neural Network)の学習を行う。このような学習により、手書き・活字分離処理を実行するDNNモデルが生成される。
文書画像に対して手書き・活字分離処理を実行すると、学習済みのDNNモデルにより、画素ごとに手書き画素であるか活字画素であるかを示すラベル付けが行われる。そして、ラベル付けの結果であるラベル値に従って文書画像の画素が分離され、手書き画素のみを含む手書き文字画像と、活字及び罫線を含む活字画像との2つの画像が生成される。そして、生成された手書き文字画像と活字画像とのそれぞれに対して、文字領域の検出処理を行う。具体的には、例えば、文字領域の検出処理として、下記の(i)から(iv)までの処理ステップが実行される。
(i)まず、画像に対して直線検出を行い、罫線を除去する。
(ii)次に、罫線除去後の画像に対して周囲の画素と連結している連結画素を検出する。
(iii)次に、連結画素を太らせて、連結画素と周囲の画素とを連結しやすくする。
(iv)次に、太らせた後に互いに連結している画素の集合に対応する外接矩形を1行の文字領域とする。
上述の処理ステップにおいて、手書き文字画像と活字画像とでは、それぞれの特性に応じて各処理のパラメータ、又は連結画素等の判定又は検出方法等が変更され得る。例えば、活字画像においては、連続する文字の大きさが揃っている等の特性による連結判定を行い、一方、手書き文字画像においては、1文字ごとの大きさが変化するという特性を考慮した連結判定を行う。これにより、手書き文字画像と活字画像とのそれぞれにおいて、適した文字領域の検出を行うことができ、文字領域の検出精度が向上する。
手書き・活字分離処理の処理時間は、処理対象となる文字が少ないほど短くなる。そのため、手書き・活字分離処理の対象となる文字の総数は、少ない方がよい。また、DNNモデルによる処理において、画像における罫線に対応する画素は、手書き・活字分離処理の精度に悪影響を与える。そのため、文書画像から文字領域に対応する画像を切り出すことはせず、文書画像における、S611にて対象外文字領域に設定された文字領域の画素を文書画像の地色の画素(以下「白画素」と呼ぶ。)に置き替えた画像を生成する。以下、当該画像をマスク画像と表記して説明する。例えば、マスク画像、S611にて対象外文字領域に設定された文字領域の位置及び大きさを示す情報を用いて、文書画像における当該文字領域の画素を白画素に置き替えることによりに生成される。更に、生成したマスク画像に対して手書き・活字分離処理を行う。S611にて対象外文字領域に設定された文字領域が白画素により構成されることにより、文書画像に対する手書き・活字分離処理の精度を向上させつつ、処理時間を抑制することができる。
図11は、第3の実施形態に係る領域設定部233における処理フローの一例を示すフローチャートであって、図5のS503に示す認識実行領域の設定処理の流れの一例を示すフローチャートである。図11に示すフローチャートの処理は、S502の処理の終了後に開始される。まず、S1101にて、領域設定部233は、文書画像における、S611にて対象外文字領域に設定された文字領域の画素を白画素で置き換えたマスク画像を生成する。次に、S1102にて、領域設定部233は、S1101にて生成されたマスク画像に対して手書き・活字分離処理を行うことにより文字領域を検出する。次に、S1103にて、領域設定部233は、S1102にて検出された文字領域を対象文字領域として認識実行領域に設定する。S1103の後、領域設定部233は、図11に示すフローチャートの処理、すなわち、図5に示すS503の処理を終了する。
なお、第3の実施形態では、S1102にて検出された文字領域を対象文字領域とすることから、S605又はS614にて対象文字領域に設定された文字領域については、文字認識されずに無視される。このため、例えば、第3の実施形態では、S605及びS614において、文字領域の設定を対象文字領域、対象外文字領域、及び候補文字領域とは少なくとも異なる領域として設定してもよい。
以上のように構成した画像処理サーバ120によれば、処理時間を抑制しつつ、1つ文字に対応する文字領域が複数の文字領域に分離されて検出されてしまうような手書き文字により構成された文字列の文字認識精度を向上できる。これにより、以上のように構成した画像処理サーバ120を有する画像処理システム100によれば、文字サイズのみに基づいて文字認識処理を行う文字領域を決定する場合と比べて、文字認識の対象とすべき文字領域をより適切に決定できる。結果として、画像処理システム100によれば、文字認識処理に要する処理時間を抑制しつつ、抽出すべき文字列の抽出精度を向上させることができる。
[第3の実施形態の変形例1]
第3の実施形態では、生成された手書き文字画像と活字画像とのそれぞれに対して、文字領域の検出処理として上述の(i)から(iv)までの処理ステップを行う形態について説明した。しかしながら、生成された活字画像に対しては、必ずしも、文字領域の検出処理として上述の(i)から(iv)までの処理ステップを行う必要はない。この場合、例えば、生成された手書き文字画像に対しては、文字領域の検出処理として上述の(i)から(iv)までの処理ステップを行う。一方、活字による文字列を含む文字領域については、S605又はS614にて対象文字領域に設定された文字領域を認識実行領域に設定すればよい。この場合、S605又はS614にて対象文字領域に設定された文字領域のうち、生成された手書き文字画像から検出された文字領域の少なくとも一部を含む文字領域については、文字認識処理を実行せずに無視すればよい。このように構成した画像処理サーバ120によれば、第3の実施形態に係る画像処理サーバ120によりも、更に処理時間を抑制することができる。一方、手書き文字により構成された文字列については、手書き・活字分離処理を行うことにより文字認識精度を向上することができる。
[第3の実施形態の変形例2]
第3の実施形態では、文書画像における、S611にて対象外文字領域に設定された文字領域の画素を白画素で置き換えたマスク画像を生成し、生成したマスク画像に対して手書き・活字分離処理を行う形態について説明した。しかしながら、手書き・活字分離処理の処理対象は、マスク画像に限定されるものではなく、対象外文字領域に設定された文字領域の画素を白画素で置き換える前の文書画像に対して手書き・活字分離処理を行ってもよい。この場合、まず、文書画像に対して手書き・活字分離処理を行い、手書き文字画像及び活字画像を生成し、生成した手書き文字画像のみに対して、文字領域の検出処理として上述の(i)から(iv)までの処理ステップを行う。これにより、手書き文字により構成された文字列を含む文字領域の抽出が行われる。一方、活字により構成された文字列を含む文字領域については、活字画像を文書画像として、第1の実施形態にて説明した方法により、活字により構成される文字列を含む文字領域を抽出し、このうち、条件を満たす文字領域を対象文字領域に設定すればよい。このように構成した画像処理サーバ120によっても、処理時間を抑制しつつ文字認識精度を向上することができる。
[その他の実施形態]
本開示は、上述の実施形態の1以上の機能を実現するプログラムをネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
なお、本開示はその開示の範囲内において、各実施形態の自由な組み合わせ、各実施形態の任意の構成要素の変形、又は、各実施形態において任意の構成要素の省略が可能である。
[本開示の構成]
本開示は、以下の構成、方法、及びプログラムを含む。
<構成1>
文書画像から文字領域を検出する検出手段と、
前記検出手段により検出された複数の前記文字領域のうちから、前記文字領域の高さ及び幅の情報、並びに、当該文字領域と当該文字領域の周囲に存在する他の前記文字領域との位置関係に基づいて、文字認識処理を行う対象の前記文字領域である対象文字領域を特定する特定手段と、
前記特定手段により特定された前記対象文字領域に対して前記文字認識処理を行う文字認識手段と、
を有することを特徴とする画像処理装置。
<構成2>
前記特定手段により特定された前記対象文字領域を認識実行領域として設定する領域設定手段、
を更に有し、
前記文字認識手段は、前記認識実行領域に設定された前記文字領域に対して前記文字認識処理を行うこと、
を特徴とする構成1に記載の画像処理装置。
<構成3>
前記特定手段は、前記文字領域の高さ及び幅の情報に基づいて、前記文字領域に含まれる文字の大きさを推定する文字サイズ推定手段、
を有し、
前記特定手段は、推定される前記文字の大きさが所定の閾値以上である前記文字領域と、推定される前記文字の大きさが前記閾値未満であり、且つ、前記文字領域の周囲に存在し、推定される前記文字の大きさが前記閾値未満である他の前記文字領域が所定数未満である前記文字領域とを、前記対象文字領域として特定すること、
を特徴とする構成1又は2に記載の画像処理装置。
<構成4>
前記特定手段は、前記文字領域の高さ及び幅の情報に基づいて、前記文字領域に含まれる前記文字の文字数を推定する文字数推定手段、
を更に有し、
前記特定手段は、推定される前記文字の大きさが前記閾値未満であり、且つ、前記文字領域の周囲に存在し、推定される前記文字の大きさが前記閾値未満である他の前記文字領域が所定数以上である前記文字領域のうちの、推定される前記文字の文字数が所定の文字数未満である前記文字領域を、前記対象文字領域として更に特定すること、
を特徴とする構成3に記載の画像処理装置。
<構成5>
前記特定手段は、
前記対象文字領域として特定した全ての前記文字領域に対して、前記文字認識処理を行った場合の処理時間を推定する処理推定手段と、
前記文字認識処理を行うと特定した前記文字領域以外の前記文字領域について、前記文字領域の高さ及び幅の情報、並びに、当該文字領域と当該文字領域の周囲に存在する他の前記文字領域との位置関係に基づいて、優先度を付与する優先度付与手段と、
を有し、
前記特定手段は、前記処理推定手段により推定される処理時間が所定の処理時間に収まる範囲において、前記優先度を付与した複数の前記文字領域のうちの一部又は全部を前記優先度に基づいて前記対象文字領域として特定すること、
を特徴とする構成1乃至4のいずれか1つに記載の画像処理装置。
<構成6>
文書画像から文字領域を検出する検出手段と、
前記検出手段により検出された複数の前記文字領域のうちから、前記文字領域の高さ及び幅の情報、並びに、当該文字領域と当該文字領域の周囲に存在する他の前記文字領域との位置関係に基づいて、文字認識処理を行わない前記文字領域である対象外文字領域を特定する第1の特定手段と、
前記特定手段により特定された前記対象外文字領域が前記文書画像においてマスクされたマスク画像を生成する生成手段と、
前記マスク画像に対して手書き・活字分離処理を行うことにより、文字認識処理を行う対象である対象文字領域を特定する第2の特定手段と、
前記第2の特定手段により特定された前記対象文字領域に対して前記文字認識処理を行う文字認識手段と、
を有することを特徴とする画像処理装置。
<構成7>
前記第2の特定手段により特定された前記対象文字領域を認識実行領域として設定する領域設定手段、
を更に有し、
前記文字認識手段は、前記認識実行領域に設定された前記文字領域に対して前記文字認識処理を行うこと、
を特徴とする構成6に記載の画像処理装置。
<構成8>
前記第1の特定手段は、前記文字領域の高さ及び幅の情報に基づいて、前記文字領域に含まれる文字の大きさを推定する文字サイズ推定手段、
を有し、
前記第1の特定手段は、推定される前記文字の大きさが所定の閾値未満であり、且つ、前記文字領域の周囲に存在し、推定される前記文字の大きさが前記閾値未満である他の前記文字領域が所定数以上である前記文字領域を、前記対象外文字領域として特定すること、
を特徴とする構成6又は7に記載の画像処理装置。
<構成9>
前記第1の特定手段は、前記文字領域の高さ及び幅の情報に基づいて、前記文字領域に含まれる前記文字の文字数を推定する文字数推定手段、
を更に有し、
前記第1の特定手段は、推定される前記文字の大きさが前記閾値未満であり、且つ、前記文字領域の周囲に存在し、推定される前記文字の大きさが前記閾値未満である他の前記文字領域が所定数以上である前記文字領域のうちの、推定される前記文字の文字数が所定の文字数以上である前記文字領域を、前記対象外文字領域として特定すること、
を特徴とする構成8に記載の画像処理装置。
<構成10>
前記第2の特定手段は、前記マスク画像に対して前記手書き・活字分離処理を行うことにより手書き文字に対応する画素を含む手書き文字画像と活字に対応する画素を含む活字画像とを生成し、前記手書き文字画像に基づいて前記手書き文字を含む手書き文字領域を特定し、前記活字画像に基づいて前記活字を含む活字領域を特定し、特定した前記手書き文字領域及び前記活字領域を前記対象文字領域として特定すること、
を特徴とする構成6に記載の画像処理装置。
<構成11>
前記第2の特定手段は、前記マスク画像に対して前記手書き・活字分離処理を行うことにより、手書き文字に対応する画素を含む手書き文字画像を生成し、前記手書き文字画像に基づいて前記手書き文字を含む手書き文字領域を特定し、前記検出手段により検出された複数の前記文字領域のうちの前記対象外文字領域以外の前記文字領域から、前記手書き文字領域に対応する前記文字領域を除外した前記文字領域を、活字を含む活字領域として特定し、特定した前記手書き文字領域及び前記活字領域を前記対象文字領域として特定すること、
を特徴とする構成6に記載の画像処理装置。
<構成12>
文書画像に対して手書き・活字分離処理を行うことにより、手書き文字を含む手書き文字領域を特定する第1の特定手段と、
前記第1の特定手段により特定された前記手書き文字領域が前記文書画像においてマスクされたマスク画像を生成する生成手段と、
前記マスク画像から文字領域を検出する検出手段と、
前記検出手段により検出された複数の前記文字領域のうちから、前記文字領域の高さ及び幅の情報、並びに、当該文字領域と当該文字領域の周囲に存在する他の前記文字領域との位置関係に基づいて文字認識処理を行う対象の前記文字領域を特定する第2の特定手段と、
前記第1の特定手段により特定された前記手書き文字領域と、前記第2の特定手段により特定された前記文字領域とに対して前記文字認識処理を行う文字認識手段と、
を有することを特徴とする画像処理装置。
<構成13>
前記第1の特定手段により特定された前記手書き文字領域と、前記第2の特定手段により特定された前記文字領域とを認識実行領域に設定する領域設定手段、
を更に有し、
前記文字認識手段は、前記認識実行領域に設定された前記手書き文字領域及び前記文字領域に対して前記文字認識処理を行うこと、
を特徴とする構成12に記載の画像処理装置。
<構成14>
前記第2の特定手段は、前記文字領域の高さ及び幅の情報に基づいて、前記文字領域に含まれる文字の大きさを推定する文字サイズ推定手段、
を有し、
前記第2の特定手段は、推定される前記文字の大きさが所定の閾値以上である前記文字領域と、推定される前記文字の大きさが前記閾値未満であり、且つ、前記文字領域の周囲に存在し、推定される前記文字の大きさが前記閾値未満である他の前記文字領域が所定数未満である前記文字領域とを、前記文字認識処理を行う対象の前記文字領域として特定すること、
を特徴とする構成12又は13に記載の画像処理装置。
<構成15>
前記第2の特定手段は、前記文字領域の高さ及び幅の情報に基づいて、前記文字領域に含まれる前記文字の文字数を推定する文字数推定手段、
を更に有し、
前記第2の特定手段は、推定される前記文字の大きさが前記閾値未満であり、且つ、前記文字領域の周囲に存在し、推定される前記文字の大きさが前記閾値未満である他の前記文字領域が所定数以上である前記文字領域のうちの、推定される前記文字の文字数が所定の文字数未満である前記文字領域を、前記文字認識処理を行う対象の前記文字領域として更に特定すること、
を特徴とする構成14に記載の画像処理装置。
<構成16>
前記第1の特定手段は、前記文書画像に対して前記手書き・活字分離処理を行うことにより、前記手書き文字に対応する画素を含む手書き文字画像を生成し、前記手書き文字画像に基づいて前記手書き文字領域を特定すること、
を特徴とする構成12乃至15のいずれか1つに記載の画像処理装置。
<方法1>
文書画像から文字領域を検出する検出工程と、
前記検出工程により検出された複数の前記文字領域のうちから、前記文字領域の高さ及び幅の情報、並びに、当該文字領域と当該文字領域の周囲に存在する他の前記文字領域との位置関係に基づいて、文字認識処理を行う対象の前記文字領域である対象文字領域を特定する特定工程と、
前記特定工程により特定された前記対象文字領域に対して前記文字認識処理を行う文字認識工程と、
を含むことを特徴とする画像処理方法。
<方法2>
文書画像から文字領域を検出する検出工程と、
前記検出工程により検出された複数の前記文字領域のうちから、前記文字領域の高さ及び幅の情報、並びに、当該文字領域と当該文字領域の周囲に存在する他の前記文字領域との位置関係に基づいて、文字認識処理を行わない前記文字領域である対象外文字領域を特定する第1の特定工程と、
前記特定工程により特定された前記対象外文字領域が前記文書画像においてマスクされたマスク画像を生成する生成工程と、
前記マスク画像に対して手書き・活字分離処理を行うことにより、文字認識処理を行う対象である対象文字領域を特定する第2の特定工程と、
前記第2の特定工程により特定された前記対象文字領域に対して前記文字認識処理を行う文字認識工程と、
を含むことを特徴とする画像処理方法。
<方法3>
文書画像に対して手書き・活字分離処理を行うことにより、手書き文字を含む手書き文字領域を特定する第1の特定工程と、
前記第1の特定工程により特定された前記手書き文字領域が前記文書画像においてマスクされたマスク画像を生成する生成工程と、
前記マスク画像から文字領域を検出する検出工程と、
前記検出工程により検出された複数の前記文字領域のうちから、前記文字領域の高さ及び幅の情報、並びに、当該文字領域と当該文字領域の周囲に存在する他の前記文字領域との位置関係に基づいて文字認識処理を行う対象の前記文字領域を特定する第2の特定工程と、
前記第1の特定工程により特定された前記手書き文字領域と、前記第2の特定工程により特定された前記文字領域とに対して前記文字認識処理を行う文字認識工程と、
を含むことを特徴とする画像処理方法。
<プログラム>
コンピュータを、構成1乃至16のいずれか1つに記載の画像処理装置として機能させるためのプログラム。
120 画像処理サーバ
231 領域検出部
232 対象判定部
233 文字認識部

Claims (20)

  1. 文書画像から文字領域を検出する検出手段と、
    前記検出手段により検出された複数の前記文字領域のうちから、前記文字領域の高さ及び幅の情報、並びに、当該文字領域と当該文字領域の周囲に存在する他の前記文字領域との位置関係に基づいて、文字認識処理を行う対象の前記文字領域である対象文字領域を特定する特定手段と、
    前記特定手段により特定された前記対象文字領域に対して前記文字認識処理を行う文字認識手段と、
    を有することを特徴とする画像処理装置。
  2. 前記特定手段により特定された前記対象文字領域を認識実行領域として設定する領域設定手段、
    を更に有し、
    前記文字認識手段は、前記認識実行領域に設定された前記文字領域に対して前記文字認識処理を行うこと、
    を特徴とする請求項1に記載の画像処理装置。
  3. 前記特定手段は、前記文字領域の高さ及び幅の情報に基づいて、前記文字領域に含まれる文字の大きさを推定する文字サイズ推定手段、
    を有し、
    前記特定手段は、推定される前記文字の大きさが所定の閾値以上である前記文字領域と、推定される前記文字の大きさが前記閾値未満であり、且つ、前記文字領域の周囲に存在し、推定される前記文字の大きさが前記閾値未満である他の前記文字領域が所定数未満である前記文字領域とを、前記対象文字領域として特定すること、
    を特徴とする請求項1に記載の画像処理装置。
  4. 前記特定手段は、前記文字領域の高さ及び幅の情報に基づいて、前記文字領域に含まれる前記文字の文字数を推定する文字数推定手段、
    を更に有し、
    前記特定手段は、推定される前記文字の大きさが前記閾値未満であり、且つ、前記文字領域の周囲に存在し、推定される前記文字の大きさが前記閾値未満である他の前記文字領域が所定数以上である前記文字領域のうちの、推定される前記文字の文字数が所定の文字数未満である前記文字領域を、前記対象文字領域として更に特定すること、
    を特徴とする請求項3に記載の画像処理装置。
  5. 前記特定手段は、
    前記対象文字領域として特定した全ての前記文字領域に対して、前記文字認識処理を行った場合の処理時間を推定する処理推定手段と、
    前記文字認識処理を行うと特定した前記文字領域以外の前記文字領域について、前記文字領域の高さ及び幅の情報、並びに、当該文字領域と当該文字領域の周囲に存在する他の前記文字領域との位置関係に基づいて、優先度を付与する優先度付与手段と、
    を有し、
    前記特定手段は、前記処理推定手段により推定される処理時間が所定の処理時間に収まる範囲において、前記優先度を付与した複数の前記文字領域のうちの一部又は全部を前記優先度に基づいて前記対象文字領域として特定すること、
    を特徴とする請求項1に記載の画像処理装置。
  6. 文書画像から文字領域を検出する検出手段と、
    前記検出手段により検出された複数の前記文字領域のうちから、前記文字領域の高さ及び幅の情報、並びに、当該文字領域と当該文字領域の周囲に存在する他の前記文字領域との位置関係に基づいて、文字認識処理を行わない前記文字領域である対象外文字領域を特定する第1の特定手段と、
    前記特定手段により特定された前記対象外文字領域が前記文書画像においてマスクされたマスク画像を生成する生成手段と、
    前記マスク画像に対して手書き・活字分離処理を行うことにより、文字認識処理を行う対象である対象文字領域を特定する第2の特定手段と、
    前記第2の特定手段により特定された前記対象文字領域に対して前記文字認識処理を行う文字認識手段と、
    を有することを特徴とする画像処理装置。
  7. 前記第2の特定手段により特定された前記対象文字領域を認識実行領域として設定する領域設定手段、
    を更に有し、
    前記文字認識手段は、前記認識実行領域に設定された前記文字領域に対して前記文字認識処理を行うこと、
    を特徴とする請求項6に記載の画像処理装置。
  8. 前記第1の特定手段は、前記文字領域の高さ及び幅の情報に基づいて、前記文字領域に含まれる文字の大きさを推定する文字サイズ推定手段、
    を有し、
    前記第1の特定手段は、推定される前記文字の大きさが所定の閾値未満であり、且つ、前記文字領域の周囲に存在し、推定される前記文字の大きさが前記閾値未満である他の前記文字領域が所定数以上である前記文字領域を、前記対象外文字領域として特定すること、
    を特徴とする請求項6に記載の画像処理装置。
  9. 前記第1の特定手段は、前記文字領域の高さ及び幅の情報に基づいて、前記文字領域に含まれる前記文字の文字数を推定する文字数推定手段、
    を更に有し、
    前記第1の特定手段は、推定される前記文字の大きさが前記閾値未満であり、且つ、前記文字領域の周囲に存在し、推定される前記文字の大きさが前記閾値未満である他の前記文字領域が所定数以上である前記文字領域のうちの、推定される前記文字の文字数が所定の文字数以上である前記文字領域を、前記対象外文字領域として特定すること、
    を特徴とする請求項8に記載の画像処理装置。
  10. 前記第2の特定手段は、前記マスク画像に対して前記手書き・活字分離処理を行うことにより手書き文字に対応する画素を含む手書き文字画像と活字に対応する画素を含む活字画像とを生成し、前記手書き文字画像に基づいて前記手書き文字を含む手書き文字領域を特定し、前記活字画像に基づいて前記活字を含む活字領域を特定し、特定した前記手書き文字領域及び前記活字領域を前記対象文字領域として特定すること、
    を特徴とする請求項6に記載の画像処理装置。
  11. 前記第2の特定手段は、前記マスク画像に対して前記手書き・活字分離処理を行うことにより、手書き文字に対応する画素を含む手書き文字画像を生成し、前記手書き文字画像に基づいて前記手書き文字を含む手書き文字領域を特定し、前記検出手段により検出された複数の前記文字領域のうちの前記対象外文字領域以外の前記文字領域から、前記手書き文字領域に対応する前記文字領域を除外した前記文字領域を、活字を含む活字領域として特定し、特定した前記手書き文字領域及び前記活字領域を前記対象文字領域として特定すること、
    を特徴とする請求項6に記載の画像処理装置。
  12. 文書画像に対して手書き・活字分離処理を行うことにより、手書き文字を含む手書き文字領域を特定する第1の特定手段と、
    前記第1の特定手段により特定された前記手書き文字領域が前記文書画像においてマスクされたマスク画像を生成する生成手段と、
    前記マスク画像から文字領域を検出する検出手段と、
    前記検出手段により検出された複数の前記文字領域のうちから、前記文字領域の高さ及び幅の情報、並びに、当該文字領域と当該文字領域の周囲に存在する他の前記文字領域との位置関係に基づいて文字認識処理を行う対象の前記文字領域を特定する第2の特定手段と、
    前記第1の特定手段により特定された前記手書き文字領域と、前記第2の特定手段により特定された前記文字領域とに対して前記文字認識処理を行う文字認識手段と、
    を有することを特徴とする画像処理装置。
  13. 前記第1の特定手段により特定された前記手書き文字領域と、前記第2の特定手段により特定された前記文字領域とを認識実行領域に設定する領域設定手段、
    を更に有し、
    前記文字認識手段は、前記認識実行領域に設定された前記手書き文字領域及び前記文字領域に対して前記文字認識処理を行うこと、
    を特徴とする請求項12に記載の画像処理装置。
  14. 前記第2の特定手段は、前記文字領域の高さ及び幅の情報に基づいて、前記文字領域に含まれる文字の大きさを推定する文字サイズ推定手段、
    を有し、
    前記第2の特定手段は、推定される前記文字の大きさが所定の閾値以上である前記文字領域と、推定される前記文字の大きさが前記閾値未満であり、且つ、前記文字領域の周囲に存在し、推定される前記文字の大きさが前記閾値未満である他の前記文字領域が所定数未満である前記文字領域とを、前記文字認識処理を行う対象の前記文字領域として特定すること、
    を特徴とする請求項12に記載の画像処理装置。
  15. 前記第2の特定手段は、前記文字領域の高さ及び幅の情報に基づいて、前記文字領域に含まれる前記文字の文字数を推定する文字数推定手段、
    を更に有し、
    前記第2の特定手段は、推定される前記文字の大きさが前記閾値未満であり、且つ、前記文字領域の周囲に存在し、推定される前記文字の大きさが前記閾値未満である他の前記文字領域が所定数以上である前記文字領域のうちの、推定される前記文字の文字数が所定の文字数未満である前記文字領域を、前記文字認識処理を行う対象の前記文字領域として更に特定すること、
    を特徴とする請求項14に記載の画像処理装置。
  16. 前記第1の特定手段は、前記文書画像に対して前記手書き・活字分離処理を行うことにより、前記手書き文字に対応する画素を含む手書き文字画像を生成し、前記手書き文字画像に基づいて前記手書き文字領域を特定すること、
    を特徴とする請求項12に記載の画像処理装置。
  17. 文書画像から文字領域を検出する検出工程と、
    前記検出工程により検出された複数の前記文字領域のうちから、前記文字領域の高さ及び幅の情報、並びに、当該文字領域と当該文字領域の周囲に存在する他の前記文字領域との位置関係に基づいて、文字認識処理を行う対象の前記文字領域である対象文字領域を特定する特定工程と、
    前記特定工程により特定された前記対象文字領域に対して前記文字認識処理を行う文字認識工程と、
    を含むことを特徴とする画像処理方法。
  18. 文書画像から文字領域を検出する検出工程と、
    前記検出工程により検出された複数の前記文字領域のうちから、前記文字領域の高さ及び幅の情報、並びに、当該文字領域と当該文字領域の周囲に存在する他の前記文字領域との位置関係に基づいて、文字認識処理を行わない前記文字領域である対象外文字領域を特定する第1の特定工程と、
    前記特定工程により特定された前記対象外文字領域が前記文書画像においてマスクされたマスク画像を生成する生成工程と、
    前記マスク画像に対して手書き・活字分離処理を行うことにより、文字認識処理を行う対象である対象文字領域を特定する第2の特定工程と、
    前記第2の特定工程により特定された前記対象文字領域に対して前記文字認識処理を行う文字認識工程と、
    を含むことを特徴とする画像処理方法。
  19. 文書画像に対して手書き・活字分離処理を行うことにより、手書き文字を含む手書き文字領域を特定する第1の特定工程と、
    前記第1の特定工程により特定された前記手書き文字領域が前記文書画像においてマスクされたマスク画像を生成する生成工程と、
    前記マスク画像から文字領域を検出する検出工程と、
    前記検出工程により検出された複数の前記文字領域のうちから、前記文字領域の高さ及び幅の情報、並びに、当該文字領域と当該文字領域の周囲に存在する他の前記文字領域との位置関係に基づいて文字認識処理を行う対象の前記文字領域を特定する第2の特定工程と、
    前記第1の特定工程により特定された前記手書き文字領域と、前記第2の特定工程により特定された前記文字領域とに対して前記文字認識処理を行う文字認識工程と、
    を含むことを特徴とする画像処理方法。
  20. コンピュータを、請求項1乃至16のいずれか1項に記載の画像処理装置として機能させるためのプログラム。
JP2023109831A 2023-07-04 2023-07-04 画像処理装置、画像処理方法、及びプログラム Pending JP2025008014A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2023109831A JP2025008014A (ja) 2023-07-04 2023-07-04 画像処理装置、画像処理方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2023109831A JP2025008014A (ja) 2023-07-04 2023-07-04 画像処理装置、画像処理方法、及びプログラム

Publications (1)

Publication Number Publication Date
JP2025008014A true JP2025008014A (ja) 2025-01-20

Family

ID=94279820

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023109831A Pending JP2025008014A (ja) 2023-07-04 2023-07-04 画像処理装置、画像処理方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP2025008014A (ja)

Similar Documents

Publication Publication Date Title
US11418658B2 (en) Image processing apparatus, image processing system, image processing method, and storage medium
CN108132762B (zh) 图像处理装置以及图像形成装置
US11941903B2 (en) Image processing apparatus, image processing method, and non-transitory storage medium
JP2005073015A (ja) 画像処理装置及び画像処理方法及びコンピュータプログラム
US11243670B2 (en) Information processing system, information processing apparatus, information processing method and non-transitory computer readable medium
US12412409B2 (en) Information processing apparatus, information processing method, and storage medium
JP7467928B2 (ja) 情報処理装置及びプログラム
JP7690354B2 (ja) 画像処理装置、プログラム、画像処理方法
US20200021698A1 (en) Display apparatus and non-transitory computer readable medium
EP4524914A1 (en) Information processing apparatus, information processing method, and program
US11170211B2 (en) Information processing apparatus for extracting portions filled with characters from completed document without user intervention and non-transitory computer readable medium
JP2025008014A (ja) 画像処理装置、画像処理方法、及びプログラム
US12148234B2 (en) Information processing with iteratively improved estimates of data attributes based on user modifications, and apparatus, method, and storage medium thereof
US9990572B2 (en) Information processing apparatus, print data generation method, and storage medium
JP7317612B2 (ja) 情報処理装置、情報処理方法及びプログラム
US9978005B2 (en) Printer for drawing bold character, method for controlling the same, and storage medium
JP2024033328A (ja) 画像処理装置、画像処理装置の制御方法、及びプログラム
US20240397004A1 (en) Image processing apparatus, image processing method, and recording medium
US20240249546A1 (en) Information processing apparatus, information processing system, and storage medium
JP2021103476A (ja) 情報処理システム、情報処理装置、評価方法、プログラム
US11656819B2 (en) Information processing apparatus and printing request for designating documents based on a spoken voice
JP2006270589A (ja) 情報処理装置、情報処理方法、プログラムおよび記録媒体
JP7247725B2 (ja) 帳票処理装置及びモバイル端末装置
US20050179945A1 (en) System and method for variable text overlay
JP2010165217A (ja) 文書情報処理装置、文書情報処理方法、制御プログラム及び記録媒体