(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-13
(45)【発行日】2024-02-21
(54)【発明の名称】情報処理装置及びプログラム
(51)【国際特許分類】
G06V 30/412 20220101AFI20240214BHJP
G06V 30/14 20220101ALI20240214BHJP
H04N 1/387 20060101ALI20240214BHJP
【FI】
G06V30/412
G06V30/14 340J
H04N1/387 200
(21)【出願番号】P 2020020734
(22)【出願日】2020-02-10
【審査請求日】2023-01-20
(73)【特許権者】
【識別番号】000005496
【氏名又は名称】富士フイルムビジネスイノベーション株式会社
(74)【代理人】
【識別番号】110001210
【氏名又は名称】弁理士法人YKI国際特許事務所
(72)【発明者】
【氏名】袖浦 稔
【審査官】佐藤 直樹
(56)【参考文献】
【文献】特開2021-103846(JP,A)
【文献】特開2019-080146(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06V 30/412
G06V 30/14
H04N 1/387
(57)【特許請求の範囲】
【請求項1】
プロセッサを備え、
前記プロセッサは、
複数の原稿の画像を含んだ入力画像を受け取り、
前記入力画像から、原稿が含む項目として予め定められた1以上の項目の検出を実行し、
検出した前記1以上の項目に基づいて、前記入力画像から各原稿の画像を抽出して出力する出力処理を実行
し、
前記原稿が含む項目として予め定められた前記1以上の項目は、複数の項目を含み、
前記出力処理では、前記入力画像のうち前記複数の項目のすべてを含む連続した領域の画像を、1つの原稿の画像として抽出して出力する、
ことを特徴とする情報処理装置。
【請求項2】
前記プロセッサは、前記入力画像に含まれる各原稿の領域の仮推定を実行し、
前記検出及び前記出力処理は、前記仮推定により求められた個々の前記領域の部分の画像について実行される、
ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記出力処理では、前記仮推定により求められた個々の前記領域について、その領域の一方端から他方端に向かって順に前記複数の項目の全てを含む連続した部分ごとに、当該部分の画像を1つの原稿の画像として抽出して出力する、
請求項
2に記載の情報処理装置。
【請求項4】
前記仮推定で前記領域のパターンが複数求められた場合に、
前記出力処理では、複数の前記パターンのうちから採用された1つのパターンに属する領域ごとに、当該領域内の前記複数の項目を含む連続した部分であって、かつ複数の前記パターンのうち採用されなかったパターンにおける前記領域同士の境界により区切られる部分の画像を、1つの原稿の画像として抽出して出力する、
請求項
2に記載の情報処理装置。
【請求項5】
前記プロセッサは、
前記入力画像に含まれる前記原稿の種類を示す種類情報を取得し、
前記検出では、取得した前記種類情報が示す前記種類に対応づけて予め定められた前記1以上の項目を、前記入力画像から検出する、
ことを特徴とする請求項1~
4のいずれか1項に記載の情報処理装置。
【請求項6】
前記プロセッサは、
前記1以上の項目の選択を、前記原稿の種類ごとにユーザから受け付ける、
ことを特徴とする請求項
5に記載の情報処理装置。
【請求項7】
複数の原稿の画像を含んだ入力画像を受け取り、
前記入力画像から、原稿が含む項目として予め定められた1以上の項目の検出を実行し、
検出した前記1以上の項目に基づいて、前記入力画像から各原稿の画像を抽出して出力する出力処理を実行する、
ようコンピュータを動作させるためのプログラム
であって、
前記原稿が含む項目として予め定められた前記1以上の項目は、複数の項目を含み、
前記出力処理では、前記入力画像のうち前記複数の項目のすべてを含む連続した領域の画像を、1つの原稿の画像として抽出して出力する、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置及びプログラムに関する。
【背景技術】
【0002】
スキャナ装置や複合機(すなわちスキャナ、プリンタ、コピー機等の機能を併せ持つ装置)の中には、プラテンとも呼ばれる原稿台の上に置かれた複数の原稿を読み取り、読み取った画像から個々の原稿の画像を切り出してデータ化する機能を持つものがある。このような機能は、マルチクロップ機能と呼ばれる。
【0003】
従来装置は、原稿台の上に置いた複数の原稿を黒い背景紙で覆う等の方法により原稿の周縁部と背景とのコントラストを高めることで、個々の原稿の画像の切り出しの精度を高めている。
【0004】
しかし、原稿群の上を黒い背景紙で覆うという操作は忘れられがちである。複合機等は、原稿台に対して開閉可能な原稿カバー部(これは自動原稿送り装置を内蔵する場合が多い)を備えており、この原稿カバー部の原稿台に面する面は一般に白色である。原稿台上の複数の原稿を黒い背景紙で覆うのを忘れ、通常通り原稿カバー部を閉めて読み取りを行うと、読取り結果の画像は、白い背景上に白い原稿が複数配置された状態を示すものとなる。この読取り結果の画像には原稿のエッジが明確に現れない場合が多い。原稿のエッジが明確でない場合、個々の原稿の画像の切り出しの精度が劣化する。例えば、別々の複数の原稿を、1つの大きな原稿として切り出してしまう等の誤りが生じる。
【0005】
また、黒い背景紙等を用いて切り出しの精度を高めた場合でも、切り出しに誤りが生じる場合がある。例えば、複数の原稿が、隙間なく又は互いに少し重なった状態で、整列して原稿台の上に置かれた場合、マルチクロップ機能が、それら複数の原稿を1つの原稿として切り出してしまうことがある。
【0006】
また、特許文献1に記載された装置は、読み取り領域に置かれた原稿を含む領域を示す領域画像を取得し、領域画像に含まれる原稿画像の配置が、所定方向から読み取り領域を見た場合の配置と一致するように、領域画像を反転または回転する。そして、反転または回転された領域画像を出力する。
【先行技術文献】
【特許文献】
【0007】
【発明の概要】
【発明が解決しようとする課題】
【0008】
本発明は、原稿の項目に基づいて、原稿を撮像した入力画像から原稿領域を抽出しない場合よりも、該入力画像中から適切に原稿領域を抽出することを目的とする。
【課題を解決するための手段】
【0009】
請求項1に係る発明は、プロセッサを備え、前記プロセッサは、複数の原稿の画像を含んだ入力画像を受け取り、前記入力画像から、原稿が含む項目として予め定められた1以上の項目の検出を実行し、検出した前記1以上の項目に基づいて、前記入力画像から各原稿の画像を抽出して出力する出力処理を実行し、前記原稿が含む項目として予め定められた前記1以上の項目は、複数の項目を含み、前記出力処理では、前記入力画像のうち前記複数の項目のすべてを含む連続した領域の画像を、1つの原稿の画像として抽出して出力する、ことを特徴とする情報処理装置である。
【0011】
請求項2に係る発明は、前記プロセッサは、前記入力画像に含まれる各原稿の領域の仮推定を実行し、前記検出及び前記出力処理は、前記仮推定により求められた個々の前記領域の部分の画像について実行される、ことを特徴とする請求項1に記載の情報処理装置である。
【0012】
請求項3に係る発明は、前記出力処理では、前記仮推定により求められた個々の前記領域について、その領域の一方端から他方端に向かって順に前記複数の項目の全てを含む連続した部分ごとに、当該部分の画像を1つの原稿の画像として抽出して出力する、請求項2に記載の情報処理装置である。
【0013】
請求項4に係る発明は、前記仮推定で前記領域のパターンが複数求められた場合に、前記出力処理では、複数の前記パターンのうちから採用された1つのパターンに属する領域ごとに、当該領域内の前記複数の項目を含む連続した部分であって、かつ複数の前記パターンのうち採用されなかったパターンにおける前記領域同士の境界により区切られる部分の画像を、1つの原稿の画像として抽出して出力する、請求項2に記載の情報処理装置である。
【0014】
請求項5に係る発明は、前記プロセッサは、前記入力画像に含まれる前記原稿の種類を示す種類情報を取得し、前記検出では、取得した前記種類情報が示す前記種類に対応づけて予め定められた前記1以上の項目を、前記入力画像から検出する、ことを特徴とする請求項1~4のいずれか1項に記載の情報処理装置である。
【0015】
請求項6に係る発明は、前記プロセッサは、前記1以上の項目の選択を、前記原稿の種類ごとにユーザから受け付ける、ことを特徴とする請求項5に記載の情報処理装置である。
【0016】
請求項7に係る発明は、複数の原稿の画像を含んだ入力画像を受け取り、前記入力画像から、原稿が含む項目として予め定められた1以上の項目の検出を実行し、検出した前記1以上の項目に基づいて、前記入力画像から各原稿の画像を抽出して出力する出力処理を実行する、ようコンピュータを動作させるためのプログラムであって、前記原稿が含む項目として予め定められた前記1以上の項目は、複数の項目を含み、前記出力処理では、前記入力画像のうち前記複数の項目のすべてを含む連続した領域の画像を、1つの原稿の画像として抽出して出力する、ことを特徴とするプログラムである。
【発明の効果】
【0017】
請求項1又は7に係る発明によれば、原稿の項目に基づいて、原稿を撮像した入力画像から原稿領域を抽出しない場合よりも、該入力画像中から適切に原稿領域を抽出することができる。
【0018】
請求項2又は3に係る発明によれば、原稿が含む項目としてあらかじめ定められた1以上の項目を入力画像全体から検出する場合と比べて、検出のための処理負荷を軽減することができる。
【0019】
請求項4に係る発明によれば、選ばれなかった仮推定結果のパターンの領域の情報を用いない場合と比べて、原稿に対応した正確な領域を抽出できる。
【0020】
請求項5に係る発明によれば、原稿の種類に応じた原稿の領域を抽出することができる。
【0021】
請求項6に係る発明によれば、原稿の種類に応じて、原稿の領域を抽出する際に用いる項目の選択をユーザから受け付けることができる。
【図面の簡単な説明】
【0022】
【
図1】黒い背景シートを用いる従来のマルチクロップ処理を説明するための図である。
【
図2】黒い背景シートを用いる従来のマルチクロップ処理の問題を説明するための図である。
【
図3】黒い背景シートを用いない場合のスキャン画像を例示するための図である。
【
図4】黒い背景シートを用いない場合のマルチクロップ処理の問題を説明するための図である。
【
図5】実施形態の方法の概要を説明するための図である。
【
図6】キー項目管理情報の内容を例示する図である。
【
図7】情報処理装置のハードウエア構成を例示する図である。
【
図8】実施形態の方法の全体的な処理手順を例示する図である。
【
図9】本推定処理の処理手順の一例を示す図である。
【
図10】
図9の手順による本推定を説明するための図である。
【
図11】本推定処理の処理手順の別の例を示す図である。
【
図12】
図11の手順による本推定を説明するための図である。
【
図13】
図11の手順による本推定を説明するための図である。
【
図14】仮推定により原稿領域のパターンが複数求められ、そのうちの1つが仮推定結果として採用されることを説明するための図である。
【
図15】仮推定で不採用となったパターンの原稿領域の情報を用いた本推定処理の特徴部分を例示する図である。
【
図16】原稿判定方式の設定画面の例を示す図である。
【
図17】原稿判定方式の設定画面の別の例を示す図である。
【
図19】本推定結果を表示する推定結果画面の一例を示す図である。
【
図20】本推定結果を表示する推定結果画面の別の例を示す図である。
【
図21】本推定結果を表示する推定結果画面の別の例を示す図である。
【発明を実施するための形態】
【0023】
<マルチクロップ処理とその課題>
マルチクロップ処理とは、複数枚の原稿が並んだ面を撮像し、この撮像により得られた画像から個々の原稿の画像を自動的に抽出して個別にファイル化する処理である。
【0024】
マルチクロップ処理は、スキャナ、複写機又は複合機(すなわちスキャナ、プリンタ、複写機及びファクシミリ装置の機能を併せ持つ装置)のスキャンにより得られたスキャン画像に対する技術として発展してきた。以下、スキャナ単体の装置、及び複写機及び複合機が内蔵するスキャナのことを、スキャナと総称する。しかし、以下に説明する本実施形態の技術は、スキャナによるスキャン画像だけでなく、様々な撮像装置(例えば、スマートフォン、デジタルカメラ)により撮像された画像に適用可能である。
【0025】
図1を参照して、従来のマルチクロップ処理の一例を説明する。レシートや名刺等、地の色が白い原稿を対象にマルチクロップ処理を行う場合、スキャナのプラテン上に置かれた原稿群を黒い背景シートで覆ってスキャンすることが行われている。これにより得られたスキャン画像10Aは、黒い背景内に白地の中に文字や画像を含んだ原稿画像12a及び12bが含まれたものとなる。
図1に例示したスキャン画像の例では、周知の画像処理の1つであるエッジ検出により原稿画像12a及び12bの外周のエッジを検出することにより、スキャン画像10A内にある各原稿画像12a及び12bの領域14a及び14bを特定することができる。
【0026】
図2には、
図1の例と同じ2枚の原稿を、互いの両側辺がほぼ同一直線上に並ぶように隙間無く並べてスキャンした場合のスキャン画像10Bが例示される。スキャン画像10B内の2つの原稿画像12a及び12bは一体となって1つの矩形を構成しており、それら両画像間のエッジは極めて淡く、エッジ検出により検出されない。この場合、従来のマルチクロップ処理では、それら2つの原稿画像12a及び12bが個別に抽出される代わりに、それら2つの原稿画像12a及び12bの外周に外接する最小の矩形の領域14c内の画像である1つの原稿画像12cが抽出される。
【0027】
図2の例は、黒い背景シートを用いてスキャンした場合に、正しい原稿領域が抽出されないケースを示している。
【0028】
一方、スキャナのプラテンを背面から覆う原稿カバーは白色であることが一般的である。マルチクロップ処理のためには、その原稿カバーではなく、別途用意した黒い背景シートでプラテン上を覆うという特別な作業が必要となる。ユーザは、その労を厭ったり、その必要性を知らなかったりして、通常通り原稿カバーでプラテンを覆ってスキャンする場合がある。この場合、原稿同士がある程度離れていても、それら原稿の画像が分離されずに1つの画像として抽出される場合がある。
図3及び
図4はそのような例を示す。
【0029】
図3の例示したスキャン画像10Cは、原稿カバーの白い背景上に、2つの原稿画像12a及び12bが互いに少し離れて配置された状態を示す。この例では、背景と原稿画像12a及び12bの地の色が同じ白なので、両者の間に明確なエッジが現れにくい。このため、エッジ検出により原稿画像12a及び12bを抽出することは困難である。
【0030】
そこで、
図4に例示するように、スキャン画像に文字列形状解析を施し、この結果得られた文字列等の画像オブジェクトの情報に基づいて、原稿画像12dの領域14dを抽出する方法を用いることも考えられる。
【0031】
文字列形状解析では、例えば、OCR(光学文字認識)技術における文字認識のための前処理であるレイアウト解析や行の切り出しにより、スキャン画像10C中に含まれる文字列等の行15を特定する。行が特定できれば行の方向とそれに垂直な方向をx及びy方向とする座標系を設定でき、この座標系内でのそれら各行の文字列の座標(例えば行の文字列の外接矩形の座標)が求められる。上の行から順に各行の文字列の左端(これは筆記方向が左から右へ進む言語の場合)のx座標を調べていった場合に、そのx座標がほぼ同じである区間は、同じ1つの原稿の領域内と判断される。ただし、隣り合う行同士の間の距離があらかじめ定めた閾値より大きい場合、前の行が属する区間と後ろの行が属する区間とは別々の原稿の領域と判断される。
【0032】
また文字列形状解析を用いた原稿領域の推定処理の別の例として、本出願人が2019年12月19日に出願した特願2019-229599号の明細書、特許請求の範囲及び図面に記載した処理がある。この処理では、スキャン画像に膨張フィルタと収縮フィルタを順に適用することにより、前景(すなわち白地の上にある文字や画像)の画素群の領域を特定し、それら前景領域同士の距離や、それら領域間の隙間の面積に基づいて、同じ原稿に属する前景領域を判定する。そして、同じ原稿に属する前景領域の集まりを1つの原稿画像の領域として統合する。
【0033】
文字列形状解析では、上述した文字認識結果に基づく解析手法だけでなく、スキャン画像から抽出されたエッジの情報も考慮に入れて原稿領域を求めてもよい。抽出されたエッジが薄かったり断片的であったりした場合でも、文字認識結果に基づく上述の解析手法の結果と総合することで、エッジベースの手法又は文字認識結果に基づく解析手法を単独で用いる場合よりも精度よく原稿領域を抽出することができる。
【0034】
文字列形状解析に基づく原稿領域の推定では、
図4に例示するように、2つの原稿が近接して配置された結果、原稿画像12aの最下端の行15と原稿画像12bの最上端の行15との間隔が十分大きくない場合、それらが1つの原稿画像12dとして抽出される。
【0035】
以上に説明したように、黒い背景シートを用いる場合も用いない場合も、分離して抽出されるべき複数の原稿の画像が、1つの画像として抽出されることが起こり得る。
【0036】
<解決方法の概要>
このような事象に対処するための本実施形態の情報処理装置が実行する処理の概要を、
図5を参照して説明する。
【0037】
この処理は、上述したエッジ検出又は文字列形状解析等を用いた推定処理により推定された原稿の領域14d内の原稿画像12dに対して実行される。この処理では、原稿画像12d内から、原稿が含む項目として予め定められた項目(以下では「キー項目」と呼ぶ)に該当する単語や句を探索する(図中の「キー項目探索」処理)。
【0038】
原稿には、氏名、会社名、住所、電話番号、電子メールアドレス、商品名、合計金額、クレジットカード決済情報等の様々な項目が含まれる。同じ種類の原稿であれば、必ず含んでいると想定される項目がある。このような項目がキー項目である。例えば、レシートの場合は、発行者の会社名、住所、合計金額等がキー項目の例であり、名刺の場合は、氏名、会社名、住所、電話番号等の連絡先がキー項目の例である。原稿の種類ごとに、1以上のキー項目が設定される。
【0039】
図6に、情報処理装置が持つ、名刺という種類の原稿についてのキー項目管理情報を例示する。この例のキー項目管理情報は、項目ID、検出済みフラグ、具体的項目、判定条件等の欄を含む。項目IDは、個々のキー項目を一意に識別する識別情報である。この例では、項目IDとしてその項目の意味を示す名称を用いているが、これは分かりやすさを優先した便宜的な例に過ぎない。検出済みフラグは、原稿画像から当該キー項目に該当する語句が検出されたか否かを示すフラグであり、後述する処理手順において検出したキー項目の記録のために用いられる。このフラグの値は、未検出であれば「OFF」、検出済みであれば「ON」である。具体的項目は、そのキー項目に該当する具体的な項目であり、特に複数の具体的な項目のうちの1以上に該当する語句が見つかれば、キー項目が見つかったものとするために用いる。すなわち、1つのキー項目が含む複数の具体的項目は、いわば、1つのキー項目が見つかったものと判定するためのOR条件である。例えば、電話番号のみが見つかった場合、メールアドレスのみが見つかった場合、それら両方が見つかった場合のいずれも、キー項目「連絡先」が見つかったものとして対等に扱う。判定条件は、具体的項目ごとに、その項目に該当する語句が満たすべき条件を規定する。例えば、キー項目「会社名」に該当する語句についての条件には、予め用意した会社・団体名称データベースに登録されている語句であるという条件、「株式会社」や「(株)」等の所定の文字列を含んでいるという条件、等々がある。これら列挙された条件の少なくとも1つを満たすものが、キー項目「会社名」に該当する語句と判定される(すなわちOR条件)。判定条件欄には、複数の個別条件が、OR条件、AND条件等を含む論理式で規定される条件を設定できるようにしてもよい。また、キー項目に属する具体的項目が複数ある場合には、判定条件欄には、具体的項目ごとの判定条件が設定される。
【0040】
なお、1つのキー項目がOR条件を構成する複数の具体的項目を含む場合、キー項目管理情報には、キー項目の検索済みフラグに加え、具体的項目についての検索済みフラグを含んでいてもよい。
【0041】
図5の例では、原稿の種類「レシート」に対して、会社名、住所、合計金額の3つの項目がキー項目として定められている。キー項目探索処理では、原稿画像12dの上端又は下端から下方又は上方へと各行の文字列を順に調べ、それら文字列が当該原稿の種類に設定されたキー項目に該当する単句を含むか否か判定する。そして、原稿画像の行の並び方向についての、それら3つのキー項目に該当する語句を含む連続した区間であって、同じキー項目に該当する異なる語句を含まない区間を、1つの原稿の領域と推定する。図示例では、例えば領域14dの上端から順に会社名「FX商店」、住所「東京都港区六本木x-x-x」、合計金額「合計 ¥4200」の3つのキー項目が見つけられる。この3つ目の項目が見つかると、領域14dの上端又は最初に見つけたキー項目の上端から、3つ目のキー項目の下端までの区間が、1つの原稿画像12eの領域14eと判定される。その後更に下方に探索が進められる過程で、順に会社名「YMM cafe」、住所「神奈川県横浜西区みなとみらいx-x-x」、合計金額「合計 ¥2100」の3つのキー項目が見つけられる。すると、その3つのうちの最初の会社名「YMM cafe」の上端から最後の合計金額「合計 ¥2100」の下端までの区間が、2つ目の原稿画像12fの領域14fと判定される。
【0042】
このように、本実施形態では、原稿画像12dの内容を調べ、その内容が含むキー項目に基づいて個々の原稿画像12e及び12fの領域14e及び14fを区切る。
【0043】
以下に説明する例では、エッジ検出や文字列形状解析に基づいて各原稿画像の領域を推定し、この推定結果の領域から、キー項目の探索に基づいて更に厳密な原稿の領域を推定するという2段階の推定処理を行う。前者を仮推定、後者を本推定と呼び分ける。
【0044】
以下、本実施形態の情報処理装置のハードウエア構成の例、及びその情報処理装置が実行する処理の具体的な例を説明していく。
【0045】
<ハードウエア構成>
この実施形態の情報処理装置のハードウエア構成を
図7に示す。
図7に示す例は、情報処理装置がいわゆる複合機である場合のものである。複合機は、ローカルエリアネットワーク等のネットワーク経由でパーソナルコンピュータ等のクライアントからリクエストを受け付けたり、インターネット上のサーバ等と通信したりする機能を持つ場合もある。
【0046】
この情報処理装置は、例えば、
図7に示すように、ハードウエアとして、プロセッサ102、ランダムアクセスメモリ(RAM)等のメモリ(主記憶装置)104、フラッシュメモリやSSD(ソリッドステートドライブ)、HDD(ハードディスクドライブ)等の不揮発性記憶装置である補助記憶装置106を制御するコントローラ、各種の入出力装置108とのインタフェース、ローカルエリアネットワークなどのネットワークとの接続のための制御を行うネットワークインタフェース110等が、例えばバス112等のデータ伝送路を介して接続された回路構成を有する。入出力装置108の中には、例えば、タッチパネル等の表示装置兼入力装置やスピーカ等の音声出力装置、ユーザ認証用のカードリーダー等が含まれる。以上に説明した部分の回路構成は、汎用のコンピュータと同様のものでよい。
【0047】
また、情報処理装置は、バス112等を介してそのコンピュータ部分に接続されたスキャナ制御回路114、プリンタ制御回路116、ファクシミリ装置118等を備える。これらは、情報処理装置(この例では複合機)が備える各種の機能のためのものである。スキャナ制御回路114は、複合機が内蔵するスキャナや自動原稿送り装置を制御するための回路であり、プリンタ制御回路116は、複合機が内蔵するプリンタを制御するための回路である。また、ファクシミリ装置118は、複合機が持つファクシミリ送受信機能を担う装置である。
【0048】
情報処理装置のコンピュータ部分は、UI(ユーザインタフェース)のための処理、ネットワーク経由でのデータのやりとりの制御、スキャナ、プリンタ及びファクシミリ装置等の各種機能要素の制御のための情報処理を実行する。これら各種の情報処理の内容が記述されたプログラムが、ネットワーク等を経由してコンピュータにインストールされ、補助記憶装置106に保存される。補助記憶装置106に記憶されたプログラムが、プロセッサ102によりメモリ104を用いて実行されることにより、この実施形態の情報処理装置が実現される。
【0049】
ここでプロセッサ102とは広義的なプロセッサを指し、汎用的なプロセッサ(例えばCPU:Central Processing Unit、等)や、専用のプロセッサ(例えばGPU:Graphics Processing Unit、ASIC:Application Specific Integrated Circuit、FPGA:Field Programmable Gate Array、プログラマブル論理デバイス、等)を含むものである。
【0050】
また、プロセッサ102の動作は、1つのプロセッサ102によってなすのみでなく、物理的に離れた位置に存在する複数のプロセッサ102が協働してなすものであってもよい。また、プロセッサ102の各動作は、以下の実施形態において説明する順序のみに限定されるものではなく、適宜に変更してもよい。
【0051】
本実施形態の処理は、情報処理装置が備える撮像機構(例えば、スキャナ制御回路114に接続されたスキャナ)により撮像された画像に対するものである。したがって、情報処理装置は、プリンタ及びこれを制御するプリンタ制御回路116やファクシミリ装置118等を含んでいなくてもよい。以下では、情報処理装置が複合機として実現されている場合を主たる例として説明するが、これはあくまで一例にすぎない。情報処理装置は、撮像機構を備えた装置であればよく、例えばスキャナ装置、キオスク端末、スマートフォン、タブレット端末、パーソナルコンピュータ等であってもよい。
【0052】
<全体的な処理手順>
図8を参照して、情報処理装置のプロセッサ102が実行する本実施形態の方法の全体的な処理手順を説明する。
【0053】
この処理は、ユーザが、情報処理装置に付属するスキャナのプラテン上に1以上の原稿を置き、情報処理装置に対して「マルチクロップ」処理の実行開始を指示すると開始される。この指示に応じて、情報処理装置が備えるスキャナがスキャンを実行する。このスキャンにより得られた画像(以下、この画像のことをスキャン画像と呼ぶ)は、プラテン全面のサイズの画像であり、その中に1以上の原稿画像を含んでいる。このスキャン画像が、
図8の処理手順の対象となる。
【0054】
マルチクロップの開始指示の際、プロセッサ102は、ユーザに、原稿の種類(例えば名刺か、レシートか)の指定を求めてもよい。
【0055】
図8の処理手順では、プロセッサ102はまず背景種別判定を行う(S10)。この判定は、スキャン画像の背景が黒(すなわち黒い背景シートを使用)か白かを判定する処理である。この判定は、スキャン画像の外周部の画素群の濃度の積算値や平均値が閾値以上である場合には背景が黒であり、そうでない場合には背景が白であると判定する。
【0056】
S10の判定結果がYesの場合、すなわち背景が黒の場合は、プロセッサ102は、エッジ検出に基づいて原稿領域を仮推定する(S14)。エッジ検出に基づく仮推定には、公知の技術を用いればよい。また、S10の判定結果がNoの場合は、プロセッサ102は、上述した文字列形状解析に基づく原稿領域の仮推定を実行する(S16)。
【0057】
原稿領域の仮推定(S14又はS16)のあと、プロセッサ102は、原稿領域の本推定を実行する(S18)。そして、プロセッサ102は、この本推定により得られた推定結果の情報を、情報処理装置に接続された表示装置に表示する(S19)。
【0058】
<本推定の例1>
図8の手順のS18の具体的な処理の例を
図9に示す。
図9の手順は、S14又はS16で仮推定された原稿領域ごとに実行される。
【0059】
この手順では、まずプロセッサ102は、処理対象である仮推定結果の原稿領域内の原稿画像に対して文字認識処理を実行する(S20)。仮推定(S14又はS16)において文字認識の前処理が済んでいる場合は、その前処理結果を利用して文字認識を実行する。なお、S20では、文字認識に加え、企業のロゴマーク等の認識を実行してもよい。これには、各企業のロゴマークを登録したデータベースを用意し、例えば、原稿画像内の文字でない画像がそのデータベース内のロゴマークに合致するか否かを判定すればよい。
【0060】
またプロセッサ102は、変数「領域上端高さ」に、処理対象の原稿領域の上端の高さをセットする(S22)。
【0061】
ここで、この処理で用いる座標系を、
図10を参照して説明する。この例では、処理対象の原稿領域14d内の行の延びる方向(すなわち図中では左から右へ向かう向き)をx方向、それに垂直な、すなわち複数の行が並ぶ方向をy方向としている。y方向が「高さ」方向である。わかりやすさのために、以下の説明において上及び下の方向は、図で見たとおりの方向とする。別の観点から言えば、図に示したy方向の矢印が指す方向が「下」の方向、その逆向きが「上」の方向である。また、この例では、あくまで一例であるが、原稿領域14dの左上隅の頂点を、座標系の原点としている。
【0062】
S22で値がセットされる「領域上端高さ」(図では「ys」と表記)は、本推定結果となる原稿領域14dの上端のy座標を保持する変数である。
【0063】
またプロセッサ102は、S20の認識結果において、領域上端高さの直下の行の文字列(またはロゴマーク等の画像)を対象オブジェクトに設定する(S24)。
【0064】
次にプロセッサ102は、その対象オブジェクトがキー項目に該当する語句を含んでいるかどうかを判定する(S26)。この判定では、その語句が、キー項目管理情報(
図6参照)の判定条件を満たすか否かを判定する。そして、いずれかの判定条件が満たされた場合、S26の判定結果がYesとなる。また、プロセッサ102は、このときその語句が満たした判定条件に対応するキー項目及び具体的項目を認識する。なお、この判定では、明示的な判定条件を用意する代わりに、入力された語句が該当するキー項目及び具体的項目を判定するよう学習したニューラルネットワーク等のモデルを用いてもよい。
【0065】
S26の判定結果がNoの場合、プロセッサ102はS38に進み、原稿画像12d内に対象オブジェクトの次の行が存在するか否かを判定する。この判定の結果がNoであれば、原稿領域14dの末尾まで処理が完了したということなので、例えば領域上端高さから原稿領域14dの下端までの範囲を1つの原稿領域として抽出(S39)した後、
図9の手順を終了する。S38の判定結果がYesの場合、プロセッサ102は、対象オブジェクトを次の行に変更し、S26以降の処理を繰り返す。
【0066】
S26の判定結果がYesの場合、S26で認識した対象オブジェクトが含むキー項目の検出済みフラグをONにセットする(S28)。
図9の手順の開始時点では、全てのキー項目の検出済みフラグはOFFになっているものとする。次にプロセッサ102は、キー項目管理情報内の検出済みフラグを参照することにより、当該原稿の種類に対応する全てのキー項目が検出済みとなっているか否かを判定する(S30)。
【0067】
S30の判定結果がNoの場合、プロセッサ102はS38に進み、対象オブジェクトの次の行が存在すれば、対象オブジェクトを次の行に変更し、S26以降の処理を繰り返す。
【0068】
S30の判定結果がYesの場合、プロセッサ102は、S26で認識した具体的項目が、そのS26の前に既に検出済みの具体的項目と同じであるか否かを判定する(S31)。この判定の結果がYesの場合、この時点では、1つの原稿画像が含んでいるべき全てのキー項目が検出済みであり、かつ、今回見つけたキー項目の具体的項目は、その原稿画像が含んでいるキー項目の具体的項目と同じ種類のものであるということである。このことは、1つの原稿画像の領域を調べ終わり、更に次の原稿画像の領域の先頭の行(=現在の対象オブジェクト)を見つけたことを意味する。この場合、プロセッサ102は、仮推定結果の原稿領域14dのうち、y方向について領域上端高さから、対象オブジェクトの上端の高さまでの範囲を、1つの原稿領域として抽出する(S32a)。このとき抽出された原稿領域が本推定の結果の1つである。次にプロセッサ102は、領域上端高さを、現在の対象オブジェクトの上端の高さ(=y座標)に変更する(S34)。次の原稿領域は、この領域上端高さから下に延びる。
【0069】
図10の例の場合、原稿領域14dの上端から順に調べていくなかで、キー項目且つ具体的項目である「会社名」、「住所」、及び「合計金額」に該当する語句「FX商店」、「東京都港区六本木x-x-x」、「合計 ¥4200」がこの順に見つかる。この後の語句「YMM cafe」は、キー項目かつ具体的項目「会社名」に該当する。したがって、語句「YMM cafe」については、S31の判定結果がYesとなる。そこで、S32aにて、原稿領域14dのうち、その原稿領域14dの上端から、語句「YMM cafe」の領域(例えばそれら文字列に外接する最小の矩形)の上端までの範囲が、1つ目の原稿領域として抽出される。そして、S34で、語句「YMM cafe」の領域の上端が、次の原稿領域の領域上端高さに設定される。
【0070】
S34の後、プロセッサ102は、キー項目管理情報内の全ての項目の検索済みフラグをOFFにリセットし(S36)、S38の処理に進む。
【0071】
以上に例示した本推定の処理手順によれば、
図10に示した例では、仮推定結果の原稿領域14dから、図示した原稿1及び原稿2の2つの原稿領域が本推定結果として求められる。
【0072】
<本推定の例2>
図11を参照して、本推定の処理手順の別の例を説明する。
図11の処理手順のうち、
図9の処理手順のステップと同様のステップには同一符号を付し、重複する説明は省略する。
【0073】
図11の処理手順は、
図9の手順のS32aをS32bに置換すると共に、S24又はS40とS26の間にS42を挿入したものである。この手順では、プロセッサ102は、S24又はS40の後、対象オブジェクトの下端を変数「領域下端高さ」にセットする(S42)。すなわち、次の行が見つかる都度、領域下端高さは、見つかった行の下端へと更新される。そして、プロセッサ102は、S31の判定結果がYesの場合、仮推定結果の原稿領域のうち、その時点での領域上端高さから領域下端高さまでの範囲を、1つの原稿領域として抽出する(S32b)。
【0074】
この手順によれば、
図12に示すように、まず仮推定結果の原稿領域14dの上端が領域上端高さy
sにセットされ(S22)、次に最も上の行の「FX商店」の下端が領域下端高さy
eにセットされる(S42)。その後上から順に各行の語句を調べていく過程で、領域下端高さは1行ずつ下がっていく。そして、処理が語句「YMM cafe」の行に到達した時点で、S31の判定結果がYesとなる。この時点では、領域下端高さには1つ前の行「合計 ¥4200」の下端の高さがセットされている。したがって、S32bでは、原稿領域14dの上端から「合計 ¥4200」の下端までの範囲が、1つ目の原稿領域として抽出される。その後、同様にして、2つ目の原稿領域が抽出される。
【0075】
また、
図11の手順によれば、原稿画像が全てのキー項目の後に、キー項目でない項目を含んでいる場合、後者の項目までを含んだ原稿領域が抽出される。
図13に例示する原稿画像12には、原稿1の3つのキー項目「FX商店」、「東京都港区六本木x-x-x」、「合計 ¥4200」の後に、キー項目でないカード番号を示す項目「xyzカード ********1234」が含まれている。
図11の手順によれば、領域上端高さから、この項目の下端までが、原稿1の原稿領域として抽出される。
【0076】
<本推定の例3>
この例は、仮推定(S14及びS16)において、原稿領域のパターンとして複数のパターンが求められ、それら複数のパターンのうちの最良の1つが仮推定結果として選択される方式を前提とする。例えば、エッジ検出を用いた従来の原稿領域の抽出処理では、求めた原稿領域のパターンごとに、そのパターンの確からしさを示すスコアを計算する。そして、このスコアが最高値であるパターンを自動的に採用し、そのパターンが示す各原稿領域の画像を抽出して出力していた。このような方式の場合、
図9又は
図11の手順の対象となる仮推定結果の原稿領域の中に、不採用の別のパターンの複数の原稿領域が含まれる場合がある。
図14に示す例では、採用された原稿領域14dのみからなるパターンの他に、2つの原稿領域14g及び14hからなる不採用のパターンがある。プロセッサ102は、このような不採用のパターンの情報をメモリ104に記憶している。
【0077】
この例の手順の特徴部分を
図15に示す。
図15に示す手順は、
図9又は
図11の手順のうちのS24とS38との間のステップ群を置き換えるものである。
【0078】
この手順では、対象オブジェクトの1つ前である直前オブジェクトを保持する変数を用意する。S26の判定結果がNoの場合、プロセッサ102は、直前オブジェクトの変数に現在の対象オブジェクトをセットし(S44)、S38に進む。
【0079】
S26の判定結果がYesの場合、プロセッサ102は、S28及びS30の処理を実行し、S30の判定結果がNoの場合、上述したS44を実行した後、S38に進む。
【0080】
S30の判定結果がYesの場合、プロセッサ102は、直前オブジェクトの下端と対象オブジェクトの上端との間に、不採用のパターンにおける隣り合う原稿領域同士の境界が存在するか否かを判定する(S46)。この判定の結果がYesの場合、プロセッサ102は、処理対象である仮推定結果の原稿領域のうち、領域上端高さからその境界までの範囲を、本推定結果の原稿領域として抽出する(S48)。プロセッサ102は、領域上端高さをその境界の高さに変更し(S50)、直前オブジェクトを空へとクリア(S52)した後、S38に進む。
【0081】
なお、S46において、不採用のパターンの原稿領域同士の境界として2つの線が検出された場合がある。例えば、
図14の例では、不採用のパターン内の「合計 ¥4200」と「YMM cafe」との間には、原稿領域14gの下端の線と、原稿領域14hの上端の線が存在している。この場合、S48では、領域上端高さからその2つの線のうち上側の線までを、原稿領域として抽出する。そして、S50では、その2つの線のうち下側の線を、領域上端高さにセットする。
【0082】
以上の説明では、
図9又は
図11の手順をベースとした手順の例を説明したので、仮推定結果の原稿領域の上端から下端に探索を進めたが、このような探索の方向性はこの例3の方法にとっては本質的なものではない。この方法は、採用されなかったパターンの原稿領域同士の境界を本推定結果の原稿領域の境界とするので、抽出された各キー項目の位置が分かれば足りる。それら各キー項目が見つかった順序の情報までは不要である。
【0083】
以上に説明したように、この例の方法では、仮推定結果の原稿領域に含まれる本来の原稿領域を抽出するに当たり、仮推定結果として採用すなわち選択されなかったパターンの原稿領域の情報を用いる。上述した本推定の例1及び2では、原稿領域の区切りは文字認識結果の行単位になる。このため、本推定結果の原稿領域が、本来の原稿画像が含んでいる白紙部分やキー項目以外の部分を含まないものとなったり、逆に本来の原稿画像同士の空白部分を含んだものとなったりする。これに対し、仮推定結果として採用されなかったパターンの中には、総合的な評価で採用されなかったものの、本来の原稿画像の外周に近い原稿領域を含んだものが含まれる場合がある。この例3の手法では、採用されなかったパターンの原稿領域の境界を採用することにより、上記例1及び例2の場合よりも正確な原稿領域を推定できる可能性がある。
【0084】
<設定画面の例>
本実施形態の情報処理装置は、マルチクロップ処理における原稿判定方式の設定画面200をユーザに提供する。この設定画面200では、原稿判定方式を特定する情報として、原稿の種類の選択を受け付ける。
【0085】
図示した設定画面200では、原稿の種類として「レシート/領収書」と「名刺」の2種類が択一式で選択される。設定画面200には、原稿の種類「レシート/領収書」に対応する判定方法として「※会社名、住所、合計金額で領域を判定します。」との説明が表示されている。これは、本推定の際のキー項目として会社名、住所、合計金額の3つを用いることを示している。また、設定画面200には、原稿の種類「名刺」の場合は、本推定のキー項目として会社名、氏名、住所、電話番号が用いられることが示されている。
【0086】
ユーザは、マルチクロップ処理の実行開始を指示する前に、この設定画面200上で今回の処理対象の原稿の種類を選択する。
【0087】
図17に例示する設定画面200には、選択可能な原稿の種類ごとに詳細設定のためのボタン202が表示されている。ユーザがこのボタン202を押下すると、プロセッサ102は、対応する原稿の種類に対する判定方法の詳細設定を受け付ける画面220(
図18参照)を表示する。例えば、ユーザが原稿の種類「名刺」に対応するボタン202を押下すると、判定方式名の欄222に「名刺」が設定された画面220が表示される。この画面220内には、キー項目として選択可能な項目が列挙されており、各項目の左側には選択されているか否かを示すチェック欄224が配されている。チェック欄224が黒い状態の項目はキー項目として選択されているものであり、チェック欄224が白い状態の項目はキー項目として選択されていないものである。ユーザは、選択状態の項目のうち不要なものがあれば、例えばそれをタッチすることで非選択状態に変更する。また、非選択状態の項目のうちキー項目として必要なものがあれば、タッチ操作等でそれを選択状態に変更する。必要なキー項目を選択した段階で、ユーザは決定ボタン226を押下する。これにより、プロセッサ102は、設定画面200の表示に戻る。このとき表示される設定画面200には、「名刺」の判定方法の説明の欄に、画面220上で選択状態とされた項目群が列挙される。
【0088】
<本推定結果の表示画面の例>
図8の手順のS19で情報処理装置が備える表示装置に表示される推定結果画面300の例を説明する。
【0089】
図19に例示する推定結果画面300は、スキャン画像10上に本推定結果の原稿領域14a及び14bを重畳して表示したものである。スキャン画像10内には、原稿画像12a及び12bが表示される。図示例では、原稿領域14a及び14bは、それぞれ、対応する原稿画像12a及び12b内のキー項目群を含む領域を囲んだ枠線の形態である。ただし、図示した枠線の表示形態はあくまで一例に過ぎない。
【0090】
図19に例示した推定結果画面300内の原稿画像12a及び12b並びに原稿領域14a及び14bの配置は、ユーザがプラテンを上から見た状態に対して鏡像の配置となっている。このため、
図19の配置では、プラテン上に置いた各原稿と、推定結果画面300内の各原稿領域14a及び14bとの関係がユーザにとって分かりにくい可能性がある。
【0091】
そこで、
図20に例示する推定結果画面300は、プラテンの範囲を示す背景画像30内に、スキャン画像10から求めた原稿領域14a及び14bを鏡像配置に変換したものを、原稿領域画像17a及び17bとして示す。
図20の推定結果画面300内の原稿領域画像17a及び17bの配置は、プラテン上の2つの原稿の配置と対応しているので、両者の対応関係がユーザに分かりやすい。ただし、
図20に例示した推定結果画面300は、各原稿領域画像17a及び17bに対応する原稿の画像内容までは表示されない。
【0092】
そこで、
図21に例示する推定結果画面300は、
図20に例示した推定結果画面300内の原稿領域画像17a及び17b内に、それぞれ、対応する原稿画像19a及び19bを表示したものである。この例では、原稿画像19a及び19bは、ユーザにとって直感的に分かりやすいように、スキャン画像10内の原稿領域14a及び14b内の画像を、同じ面内で回転させることにより、それぞれ対応する原稿領域画像17a及び17bに位置合わせしたものである。スキャン画像10を鏡像変換(すなわち裏返し)したものに原稿領域画像17a及び17bの枠線を重畳したものを推定結果画面に表示してもよいが、それよりも
図21に示したものの方が、ユーザにとってどの領域がどの原稿に対応するか直感的に分かりやすい。
【0093】
以上、実施形態の構成及び処理について説明した。しかし、上述した構成及び処理の例は例示的なものにすぎない。本発明の範囲内で様々な変形や改良が可能である。例えば、以上に説明した処理の例では、仮推定結果の原稿領域の上端から下端に向かって処理を進めていったが、下端から上端に向かって処理を進めてももちろんよい。
【符号の説明】
【0094】
10A~10C スキャン画像、12a~12f 原稿画像、14a~14h 原稿領域、102 プロセッサ、104 メモリ、106 補助記憶装置、108 入出力装置、110 ネットワークインタフェース、112 バス、114 スキャナ制御回路、116 プリンタ制御回路、118 ファクシミリ装置。