IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 富士通フロンテック株式会社の特許一覧

<>
  • 特開-帳票分類装置及びプログラム 図1
  • 特開-帳票分類装置及びプログラム 図2
  • 特開-帳票分類装置及びプログラム 図3
  • 特開-帳票分類装置及びプログラム 図4
  • 特開-帳票分類装置及びプログラム 図5
  • 特開-帳票分類装置及びプログラム 図6
  • 特開-帳票分類装置及びプログラム 図7
  • 特開-帳票分類装置及びプログラム 図8
  • 特開-帳票分類装置及びプログラム 図9
  • 特開-帳票分類装置及びプログラム 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022043435
(43)【公開日】2022-03-16
(54)【発明の名称】帳票分類装置及びプログラム
(51)【国際特許分類】
   G06V 30/412 20220101AFI20220309BHJP
   G06T 7/60 20170101ALI20220309BHJP
【FI】
G06K9/20 340C
G06T7/60 200K
【審査請求】未請求
【請求項の数】4
【出願形態】OL
(21)【出願番号】P 2020148704
(22)【出願日】2020-09-04
(71)【出願人】
【識別番号】000237639
【氏名又は名称】富士通フロンテック株式会社
(74)【代理人】
【識別番号】100121083
【弁理士】
【氏名又は名称】青木 宏義
(74)【代理人】
【識別番号】100138391
【弁理士】
【氏名又は名称】天田 昌行
(74)【代理人】
【識別番号】100074099
【弁理士】
【氏名又は名称】大菅 義之
(72)【発明者】
【氏名】馬路 武志
(72)【発明者】
【氏名】長谷川 将平
(72)【発明者】
【氏名】渡辺 和人
(72)【発明者】
【氏名】鴻田 昌利
【テーマコード(参考)】
5B029
5L096
【Fターム(参考)】
5B029AA01
5B029BB02
5B029CC26
5B029CC28
5B029CC29
5L096BA08
5L096BA18
5L096CA02
5L096FA03
5L096FA16
5L096FA67
5L096FA69
5L096GA07
(57)【要約】
【課題】帳票の分類に用いる定義体の個々の定義におけるデータ量を少なくし、帳票の分類処理を効率よく行うことができる技術を提供する。
【解決手段】帳票の画像から、定義体に登録された見出しの座標と、見出しに関連する基本項目の座標を抽出する特徴値生成部と、見出しの座標と、基本項目の座標に基づいて基本差分を抽出する差分抽出部と、抽出した差分に基づいて基本項目の座標を算出する座標算出部と、座標算出部により算出された基本項目の座標の周囲に罫線が存在するか否かを判定し、罫線が存在する場合には、算出された基本項目を認識項目として確定する照合部を備える帳票分類装置。
【選択図】図2
【特許請求の範囲】
【請求項1】
帳票の画像から、定義体に登録された見出しの座標と、前記見出しに関連する基本項目の座標を抽出する特徴値生成部と、
前記見出しの座標と、前記基本項目の座標に基づいて基本差分を抽出する差分抽出部と、
抽出した差分に基づいて前記基本項目の座標を算出する座標算出部と、
前記座標算出部により算出された前記基本項目の座標の周囲に罫線が存在するか否かを判定し、前記罫線が存在する場合には、前記算出された前記基本項目を認識項目として確定する照合部を備えることを特徴とする帳票分類装置。
【請求項2】
請求項1に記載の帳票分類装置であって、
前記基本項目の座標はN項の座標であり、
前記座標算出部は、前記抽出した前記基本差分に基づいて、N-1項の項目の座標から前記N項の項目の座標を算出し、
前記照合部は、前記座標算出部により算出された前記N-1項の座標の周囲に前記罫線が存在するか否かを判定し、前記罫線が存在する場合には、前記算出された前記N項の項目を前記認識項目として確定する
ことを特徴とする帳票分類装置。
【請求項3】
請求項1または2に記載の帳票分類装置であって、
前記照合部により確定された前記認識項目の座標を通知する通知部を更に備える
ことを特徴とする帳票分類装置。
【請求項4】
帳票の画像から、定義体に登録された見出しの座標と、前記見出しに関連する基本項目の座標を抽出し、
前記見出しの座標と、前記基本項目の座標に基づいて基本差分を抽出し、
前記抽出した差分に基づいて前記基本項目の座標を算出し、
前記算出された前記基本項目の座標の周囲に罫線が存在するか否かを判定し、前記罫線が存在する場合には、前記算出された前記基本項目を認識項目として確定する処理をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、帳票分類装置及びプログラムに関する。
【背景技術】
【0002】
コンピュータ等を利用した帳票分類装置において画像内の帳票の種別を自動的に分類する方法として、画像から抽出した帳票内の罫線等の線分のレイアウトと、予め用意された定義体に格納された線分のレイアウト情報とを照合して分類する方法が知られている。
【0003】
この種の分類方法では、複数種類の帳票のそれぞれについて、画像内での線分の位置等を示すレイアウト情報を作成し、帳票毎の定義として定義体に格納している。例えば、1本の線分のレイアウト情報は、該線分の一端の座標と他端の座標とを含む。
【0004】
また、罫線等の線分のレイアウト情報に基づいて帳票を分類する際に、罫線などから抽出した連結部分の重心を特徴点とし、該特徴点を用いて回転、拡大、縮小に対して不変な量である特徴量(ハッシュ値)を算出し、該特徴量に基づいて帳票の種別を分類する方法が知られている(例えば、特許文献1を参照)。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2008-245147号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
帳票内の罫線等の線分のレイアウト情報に基づいて画像内の帳票を分類する場合、帳票毎に、多数の線分のそれぞれについての位置等を示す情報を抽出し、それらを1まとめにした定義を定義体に格納することとなる。このため、1種類の帳票に含まれる線分の数が多くなるほど該1種類の帳票に対する定義のデータ量が多くなる。また、近年、私製の帳票の増加に伴い、定義体に格納する定義の種類が増加する傾向にある。したがって、線分のレイアウト情報を定義とする場合、予め用意する定義体のデータ量が膨大になる。
【0007】
定義体のデータ量が膨大になると、画像内の帳票を分類する際に、1種類の定義において照合に用いる情報が多くなり、照合処理に要する時間が長時間化する。
【0008】
1つの側面において、本発明は、帳票の分類に用いる定義体の個々の定義におけるデータ量を少なくし、帳票の分類処理を効率よく行うことを目的とする。
【課題を解決するための手段】
【0009】
上述目的を達成するために、本発明は、帳票分類装置であって、帳票の画像から、定義体に登録された見出しの座標と、前記見出しに関連する基本項目の座標を抽出する特徴値生成部と、前記見出しの座標と、前記基本項目の座標に基づいて基本差分を抽出する差分抽出部と、抽出した差分に基づいて前記基本項目の座標を算出する座標算出部と、前記座標算出部により算出された前記基本項目の座標の周囲に罫線が存在するか否かを判定し、前記罫線が存在する場合には、前記算出された前記基本項目を認識項目として確定する照合部を備えることを特徴とする。
【発明の効果】
【0010】
本発明によれば、帳票の分類に用いる定義体の個々の定義におけるデータ量を少なくし、帳票の分類処理を効率よく行うことが可能となる。
【図面の簡単な説明】
【0011】
図1】帳票分類システムの構成を示す図である。
図2】一実施形態に係る帳票分類装置の機能的構成を示す図である。
図3】定義として利用する帳票の特徴値を説明する図である。
図4】定義体の内容を示す図である。
図5】帳票分類装置で実行される項目確定処理の一例を示すフローチャートである。
図6】帳票分類装置で実行される見出し差分抽出処理の一例を示すフローチャートである。
図7】項目確定処理により認識項目が確定される帳票を説明する図である。
図8】項目確定処理により認識項目が確定される帳票を説明する図である。
図9】項目確定処理により認識項目が確定される帳票を説明する図である。
図10】コンピュータのハードウェア構成を示す図である。
【発明を実施するための形態】
【0012】
図1は、帳票分類システムの構成を示す図である。図1のように、帳票分類システム1は、帳票分類装置2と、スキャナ装置3と、入力装置4と、表示装置5と、DB(Data Base)6とを含む。
【0013】
帳票分類装置2は、スキャナ装置3等により作成された帳票の画像と、画像内における帳票の特徴値を示す情報(定義)に基づいて、該画像内の帳票の種類を識別して分類する装置である。スキャナ装置3は、紙媒体である帳票をデジタルデータ化して出力する装置である。スキャナ装置3は、帳票の画像を作成する装置の一例である。入力装置4は、帳票分類装置2に文字情報や制御に関する命令等の各種情報を入力する装置である。表示装置5は、帳票の画像や分類結果を含む各種情報を表示する装置である。
【0014】
DB6は、帳票の分類に使用する定義が格納された定義体を保持する装置である。帳票分類装置2は、DB6と通信可能に接続される。帳票分類装置2は、DB6から最新の定義体を取得して保持し、該定義体に格納された定義に基づいてスキャナ装置3等から取得した画像内の帳票を分類する。帳票分類装置2は、図示しない通信ネットワークを介してDB6と通信可能に接続されてもよい。
【0015】
なお、図1では省略しているが、帳票分類システム1は、帳票分類装置2、スキャナ装置3、入力装置4、及び表示装置5の組を複数組含む。帳票分類システム1は、図1に示していない他の構成を備えてもよい。
【0016】
図2は、一実施形態に係る帳票分類装置の機能的構成を示す図である。図2のように、帳票分類装置2は、スキャナ制御部210と、特徴値生成部220と、項目解析処理部230と、照合部240と、表示制御部250と、通信制御部260と、主制御部270と、記憶部290とを備える。
【0017】
スキャナ制御部210は、帳票分類装置2に接続されたスキャナ装置3の動作を制御し、帳票の画像(デジタルデータ)を取得する。
【0018】
特徴値生成部220は、スキャナ装置3等から取得した帳票の画像における帳票の特徴を示す値(特徴値)を生成する処理を行う。特徴値生成部220は、帳票の特徴を示す値として、画像内の水平方向に伸びる線分の分布の特徴を示す第1の特徴値と、画像内の垂直方向に伸びる線分の分布の特徴を示す第2の特徴値とを生成する。
【0019】
特徴値生成部220は、帳票の画像から、帳票の要素における水平方向成分を抽出した第1の成分画像と、帳票の要素における垂直方向成分を抽出した第2の成分画像とを作成する。ここで、帳票の要素は、帳票内の罫線、文字列、図形等の、帳票の識別に利用可能な情報である。また、帳票の要素における水平方向成分は、帳票の要素のうち帳票の画像における水平方向に伸びる成分である。水平方向に伸びる成分は、例えば、罫線における水平方向に伸びる線分、及び文字における横線(横画)等である。また、帳票の要素における垂直方向成分は、帳票の要素のうち帳票の画像における垂直方向に伸びる成分である。垂直方向に伸びる線分は、例えば、罫線における垂直方向に伸びる線分、及び文字における縦線(縦画)等である。
【0020】
特徴値生成部220は、第1の成分画像及び第2の成分画像のそれぞれを、メッシュ状に分割する。特徴値生成部220は、例えば、第1の成分画像及び第2の成分画像のそれぞれを、8×8画素を1個のブロックとして複数のブロックに分割する。
【0021】
特徴値生成部220は、第1の成分画像における各ブロック及び第2の成分画像における各ブロックのそれぞれに対し、抽出した線分を含むブロックであるか否かを判定して該判定結果に応じた値(ブロック値)Qを設定する。
【0022】
例えば、特徴値生成部220は、第1の成分画像におけるN×M個のブロックのうち、水平方向に伸びる線分を含むブロックのブロック値Qを「1」とし、水平方向に伸びる線分を含まないブロックのブロック値Qを「0」とする。
【0023】
ここで、特徴値生成部220は、1個のブロックを水平方向に並ぶ複数の領域に分割し、該複数の領域のうち線分を示す画素を含む領域の割合に基づいて、水平方向に伸びる線分を含むブロックであるか否かを判定する。例えば、1個のブロックにおける複数の領域のうち線分を示す画素を含む領域の割合が0.5以上である場合、特徴値生成部220は、該ブロックを水平方向に伸びる線分を含むブロックであると判定する。
【0024】
また、例えば、特徴値生成部220は、第2の成分画像におけるN×M個のブロックのうち、垂直方向に伸びる線分を含むブロックのブロック値Qを「1」とし、垂直方向に伸びる線分を含まないブロックのブロック値Qを「0」とする。
【0025】
ここで、特徴値生成部220は、1個のブロックを垂直方向に並ぶ複数の領域に分割し、該複数の領域のうち線分を示す画素を含む領域の割合に基づいて、垂直方向に伸びる線分を含むブロックであるか否かを判定する。例えば、1個のブロックにおける複数の領域のうち線分を示す画素を含む領域の割合が0.5以上である場合、特徴値生成部220は、該ブロックを垂直方向に伸びる線分を含むブロックであると判定する。
【0026】
特徴値生成部220は、第1の成分画像についてのブロック値に基づいて第1の特徴値を算出するとともに、第2の成分画像についてのブロック値に基づいて第2の特徴値を算出する。特徴値生成部220は、例えば、第1の成分画像についてのN×M個のブロックを、N×1ブロックを1行とするM個の行に分割し、行毎に、算出したブロック値Qが1であるブロックの割合と対応する16進数の1桁の値を算出する。また、特徴値生成部220は、算出した各行の16進数での値を第1の成分画像における行の並び順に整列させたM桁の値の先頭に16進数であることを示す2桁の値(0x)を付加した第1の特徴値を生成する。
【0027】
一方、特徴値生成部220は、例えば、第2の成分画像についてのN×M個のブロックを、1×Mブロックを1列とするN個の列に分割し、列毎に、算出したブロック値Qが1であるブロックの割合と対応する16進数の1桁の値を算出する。また、特徴値生成部220は、算出した各列の16進数での値を第2の成分画像における列の並び順に整列させたN桁の値の先頭に16進数であることを示す2桁の値(0x)を付加した第2の特徴値を生成する。
【0028】
また、特徴値生成部220は、帳票の画像から、見出しの座標と、見出しに関連する基本項目の座標と、を抽出する。基本項目の座標とは、帳票を構成する明細項目のうち、例えばN(Nは自然数)項の座標である。明細項目とは、帳票に記載された1つの見出しに対して複数の項目が規則的に並ぶ項目をいう。
【0029】
項目解析処理部230は、差分抽出部231と、座標算出部232と、を備える。差分抽出部231は、見出しの座標と、基本項目の座標と、に基づいて基本差分を抽出する。座標算出部232は、差分抽出部231が抽出した差分に基づいて基本項目の座標を算出する。例えば、座標算出部232は、差分抽出部231が抽出した基本差分に基づいて、N-1(Nは、自然数)項の項目の座標からN項の項目の座標を算出する。
【0030】
照合部240は、特徴値生成部220で生成した特徴値と、記憶部290に記憶させた定義体291に格納された定義の特徴値とを照合し、分類の対象となっている画像内の帳票の種別を識別し、取得した画像を帳票の種別毎に分類する。
【0031】
照合部240は、第1の特徴値における先頭の2桁(0x)を除くM桁の値について、桁毎に差分の絶対値を算出し、該M桁分の差分の絶対値に基づいて分類の対象となっている画像から生成した第1の特徴値と定義の第1の特徴値との差分を算出する。
【0032】
同様に、照合部240は、第2の特徴値における先頭の2桁(0x)を除くN桁の値について、桁毎に差分の絶対値を算出し、該N桁分の差分の絶対値に基づいて分類の対象となっている画像から生成した第2の特徴値と定義の第2の特徴値との差分を算出する。
【0033】
照合部240は、第1の特徴値(水平成分)の差分及び第2の特徴値(垂直成分)の差分が閾値以下となる定義を、分類の対象となっている画像内の帳票の種別と対応した定義であると判定する。照合部240は、照合結果を記憶部290の分類結果293に格納する。
【0034】
また、照合部240は、座標算出部232により算出された基本項目の座標の周囲に罫線が存在するか否かを判定する。例えば、照合部240は、座標算出部232により算出されたN-1項の座標の周囲に罫線が存在するか否かを判定する。座標算出部232により算出された基本項目の座標の周囲に罫線が存在する場合、すなわち、座標算出部232により算出されたN-1項の座標の周囲に罫線が存在する場合には、照合部240は、算出された基本項目を認識項目として確定する。
【0035】
表示制御部250は、取得した帳票の画像、照合結果、及び定義体に登録された定義を含む各種データを表示装置5に表示させる際の制御を行う。表示制御部250は、照合部240により確定された認識項目の座標を表示装置5に表示させることにより、帳票分類システム1の使用者に通知する通知部として機能する。
【0036】
通信制御部260は、DB6と通信を行い、例えば、DB6が保持している定義体690を取得する。また、通信制御部260は、例えば、記憶部290に記憶させた分類結果293、及び取得した帳票の画像等の各種データを、DB6或いは他の外部装置に送信する。
【0037】
主制御部270は、帳票分類装置2における各種処理(動作)の全体的な制御を行う。主制御部270は、例えば、スキャナ制御部210、特徴値生成部220、照合部240、表示制御部250、及び通信制御部260のそれぞれが行う処理(動作)の開始タイミングやデータの受け渡しのタイミング等の制御を行う。
【0038】
記憶部290は、定義体291、処理データ292、及び分類結果293を含む各種データを記憶する。処理データ292は、特徴値生成部220が第1の特徴値及び第2の特徴値を生成する処理において算出する成分画像、ブロック値Q、及び16進数の値等の、一時的に保持する中間データである。
【0039】
本実施形態の帳票分類装置2では、帳票の画像に含まれる罫線等の要素における水平方向に伸びる成分(線分)の分布の特徴を数値化した第1の特徴値と、該要素における垂直方向に伸びる成分(線分)の分布の特徴を数値化した第2の特徴値とに基づいて、帳票の種類を識別し分類する。
【0040】
図3は、定義として利用する帳票の特徴値を説明する図である。図3には、帳票の画像10と、第1の成分画像12と、第1の特徴値における特徴部分14Hと、第2の成分画像15と、第2の特徴値における特徴部分14Vとを示している。
【0041】
画像10には、定義体291に定義を登録する帳票11が写っている。画像10内には、帳票11の輪郭1101、帳票11内の罫線1102,1103,1104,及び1105のように、画像10内の水平方向に伸びる線分、及び画像10内の垂直方向に伸びる線分を多数含む。本実施形態の帳票分類システム1では、まず、帳票11の画像10から、水平方向に伸びる線分を抽出した第1の成分画像12と、垂直方向に伸びる線分を抽出した第2の成分画像15とを作成する。
【0042】
第1の成分画像12内には、図3に示した4本の線分1301~1304を含む、多数の水平方向に伸びる線分が分布しており、該線分の分布は、画像10内の帳票11における水平方向に伸びる線分(横線)の分布と対応している。すなわち、第1の成分画像12内における水平方向に伸びる線分の分布は、画像10内の帳票11における罫線のレイアウトに応じて変化する。このため、本実施形態の帳票分類システム1では、第1の成分画像12をメッシュ状(すなわち複数のブロック)に分割し、線分を含むブロックの分布に応じた固有の値により第1の成分画像12内の水平方向に伸びる線分の分布の特徴を示す。
【0043】
例えば、メッシュサイズ(1個のブロックのサイズ)をu×u画素として第1の成分画像12をメッシュ状に分割すると、第1の成分画像12はN×M(水平方向×垂直方向)個のブロックに分割される。本実施形態の帳票分類システム1では、第1の成分画像12におけるN×M個のブロックを、水平方向に並んだN個のブロック(N×1個のブロック)を1行とするM個の領域に分割し、領域毎に線分を含むブロックの割合を算出する。その後、M個の領域のそれぞれに対し、算出した線分を含むブロックの割合と対応する1桁の値(ハッシュ値)を割り当てる。割り当てる値は、例えば、16進法における1桁の値(0~9及びA~Fの16通りの値)とする。線分を含むブロックの割合は、10進数では0から1までの実数となる。
【0044】
このため、例えば、10進数における0及び1がそれぞれ0及び15となるよう、10進数で算出した線分を含むブロックの割合を16進数の1桁の値に変換(スケーリング)する。すなわち、第1の成分画像12における1つの領域に割り当てられる16進数の1桁の値は、該1つの領域における線分を含むブロックの割合が同一であれば、領域内のブロックの総数Nによらず、同一の値となる。
【0045】
このようにすると、水平方向に並んだN個のブロックのうちの水平方向に伸びる線分を含むブロックの数が同じである複数の領域には、全て同じ1桁の値が割り当てられる。例えば、図3の第1の成分画像12を水平方向に並ぶ14個のブロックを1行とする複数の領域に分割した場合、最上位の領域及び最下位の領域は、それぞれ、14個のブロック全てが線分を含むブロックとなる。このため、当該2つの領域は、線分を含むブロックの割合が10進数で「1」となる。ここで、10進数における0及び1がそれぞれ0及び15となるようスケーリングをすると、14個のブロックの全てが線分を含むブロックである場合の線分を含むブロックの割合は10進数で「15」となる。したがって、第1の成分画像12における最上位の領域及び最下位の領域には、それぞれ、16進数の「F」という値が割り当てられる。
【0046】
また、例えば、図3の第1の成分画像12における上から2番目(2行目)の領域及び3番目(3行目)の領域は、それぞれ、14個のブロックのうち13個のブロックが線分を含むブロックとなっている。このため、当該2つの領域における線分を含むブロックの割合は10進数で「0.93(=13/14)」となる。ここで、10進数における0及び1がそれぞれ0及び15となるようスケーリングをすると、14個のブロックのうち13個のブロックが線分を含むブロックである場合の線分を含むブロックの割合は10進数で「14(≒0.93×15)」となる。したがって、図3の第1の成分画像12における上から2番目(2行目)の領域及び3番目(3行目)の領域には、それぞれ、10進数の「14」と対応する16進数の「E」が割り当てられる。
【0047】
一方、第2の成分画像15内には、図3に示した6本の線分1601~1606を含む、多数の垂直方向に伸びる線分が分布しており、該線分の分布は、画像10内の帳票11における垂直方向に伸びる線分(縦線)の分布と対応している。すなわち、第2の成分画像15内における垂直方向に伸びる線分の分布は、画像10内の帳票11における罫線のレイアウトに応じて変化する。このため、本実施形態の帳票分類システム1では、第2の成分画像15をメッシュ状(すなわち複数のブロック)に分割し、線分を含むブロックの分布に応じた固有の値により第2の成分画像15内の垂直方向に伸びる線分の分布の特徴を示す。
【0048】
例えば、第1の成分画像12と同様、メッシュサイズ(1個のブロックのサイズ)をu×u画素として第2の成分画像15をメッシュ状に分割すると、第2の成分画像15はN×M(水平方向×垂直方向)個のブロックに分割される。本実施形態の帳票分類システム1では、第2の成分画像15におけるN×M個のブロックを、垂直方向に並んだM個のブロック(1×M個のブロック)を1列とするN個の領域に分割し、領域毎に線分を含むブロックの割合を算出する。その後、N個の領域のそれぞれに対し、算出した線分を含むブロックの割合と対応する1桁の値(ハッシュ値)を割り当てる。割り当てる値は、第1の成分画像12の各領域に割り当てる値と同様、16進法における1桁の値(0~9及びA~Fの16通りの値)とする。すなわち、第2の成分画像15における1つの領域に割り当てられる16進数の1桁の値は、該1つの領域における線分を含むブロックの割合が同一であれば、領域内のブロックの総数Mによらず、同一の値となる。
【0049】
このようにすると、垂直方向に並んだM個のブロックのうちの垂直方向に伸びる線分を含むブロックの数が同じである複数の領域には、全て同じ1桁の値が割り当てられる。例えば、図3の第2の成分画像15を垂直方向に並ぶ8個のブロックを1列とする複数の領域に分割した場合、左端の領域及び右端の領域は、それぞれ、8個のブロック全てが線分を含むブロックとなる。このため、当該2つの領域は、線分を含むブロックの割合が10進数で「1」となる。よって、10進数における0及び1がそれぞれ0及び15となるようスケーリングをすると、当該2つ領域における線分を含むブロックの割合は10進数で「15」となる。したがって、第2の成分画像15における左端の領域及び右端の領域には、それぞれ、16進数の「F」という値が割り当てられる。
【0050】
また、例えば、図3の第2の成分画像15における左から2番目(2列目)の領域は、8個のブロックのうち7個のブロックが線分を含むブロックとなっている。このため、当該領域における線分を含むブロックの割合は10進数で「0.875(=7/8)」となる。よって、10進数における0及び1がそれぞれ0及び15となるようスケーリングをすると、左から2番目の領域における線分を含むブロックの割合は10進数で「13(≒0.875×15)」となる。したがって、図3の第2の成分画像15における左から2番目(2列目)の領域には、10進数の「13」と対応する16進数の「D」が割り当てられる。
【0051】
帳票の画像10内の水平方向に伸びる線分の分布、より具体的には、線分の数、並びに各線分の位置及び長さの組み合わせは、帳票毎に異なる。すなわち、2枚の画像10に写っている帳票が同一の帳票11である場合、2枚の画像10のそれぞれから作成した第1の成分画像12のそれぞれを同数のブロックに分割すると、各行における線分を含むブロックの割合が略同一となる。これに対し、2枚の画像10に写っている帳票が異なる帳票である場合、2枚の画像10のそれぞれから作成した第1の成分画像12のそれぞれを同数のブロックに分割すると、線分を含むブロックの割合が全く異なる割合となる行が含まれる。よって、各行における線分を含むブロックの割合を示す第1の特徴値を照合することで、水平方向に伸びる線分の分布が同一であるか否かを判別することが可能となる。
【0052】
同様に、2枚の画像10のそれぞれから作成した第2の成分画像15のそれぞれを同数のブロックに分割し、上記の要領で第2の特徴値を生成すると、第2の特徴値を照合することで、垂直方向に伸びる線分の分布が同一であるか否かを判別することが可能となる。
【0053】
すなわち、2枚の画像10に写っている帳票が同一の帳票である場合には、該2枚の画像10のそれぞれから生成した第1の特徴値同士及び第2の特徴値同士は略同一の値となる。したがって、分類の対象となる画像10から生成した第1の特徴値及び第2の特徴値のそれぞれが、ある定義の第1の特徴値及び第2の特徴値と略同一の値である場合、画像10の帳票は、該定義の帳票であると判定することが可能となる。
【0054】
図4は、定義体の内容を示す図である。帳票分類装置2が参照する定義体690(291)には、例えば、図4のように、帳票ごとに、帳票種別と、帳票種別に対応した1項目目(「1明細目」とも呼ぶ)の座標が見出し種別ごとに登録されている。1項目目(1明細目)とは、帳票を構成する複数の明細項目のうち、見出しに関連する基本となる項目(「基本項目」とも呼ぶ)をいう。例えば、1項目目は、見出しの次に記載されている項目をいう。1項目目は、例えば、見出しの枠を構成する罫線のx方向に配置されている。
【0055】
見出し種別とは、見出しの種類をいう。図4の例においては、例えば、第1見出しの見出し種別として「氏名」が対応している。例えば、第2見出しの見出し種別として「フリガナ」が対応している。例えば、第3見出しの見出し種別として「住所」が対応している。例えば、第4見出しの見出し種別として「生年月日」が対応している。見出し種別の情報は、帳票種別に対応してそれぞれ変更してもよい。
【0056】
このように、本実施の形態に係る帳票分類システム1では、帳票種別に対応して、1項目目のみを登録しておけばよいため、全ての明細項目の座標を登録しておく場合に比べ、1種類の帳票に対する定義のデータ量を少なくすることが可能となる。
【0057】
以下、図5図9を参照し、帳票分類装置2により帳票の認識項目を確定する場合に帳票分類装置2が行う処理について説明する。
【0058】
図5は、帳票分類装置2で実行される項目確定処理の一例を示すフローチャートである。図6は、帳票分類装置2で実行される見出し差分抽出処理の一例を示すフローチャートである。図7図9は、項目確定処理により認識項目が確定される帳票を説明する図である。
【0059】
はじめに、スキャナ制御部210は、帳票分類装置2に接続されたスキャナ装置3の動作を制御し、帳票の画像を取得する(ステップS101)。特徴値生成部220は、DB6の定義体690を参照して、帳票300上の明細項目のうち1項目目の座標を抽出する(ステップS102)。差分抽出部231は、図6を参照して説明する見出し差分抽出処理を行う(ステップS103)。
【0060】
図6は、帳票分類装置2で実行される見出し差分抽出処理の一例を示すフローチャートである。差分抽出部231は、見出しの周囲の枠の座標を抽出する(ステップS201)。具体的には、図8に示すように、差分抽出部231は、第4見出し01の周囲の枠601を構成する罫線601aに基づいて、枠601の座標を抽出する。枠601の座標として、例えば、第4見出し01の周囲の枠601の左下の座標601yを見出しの周囲の枠の座標として設定することができる。
【0061】
差分抽出部231は、図5のステップS102においてDB6の定義体690を参照して抽出した1項目目の座標に基づき、1項目目の周囲の枠の座標を抽出する(ステップS202)。具体的には、図8に示すように、差分抽出部231は、1項目目501a1の周囲の枠701を構成する罫線701aに基づいて、枠701の座標を抽出する。枠701の座標として、例えば、枠701の左下の座標701y1を1項目目の周囲の枠の座標として設定することができる。
【0062】
差分抽出部231は、ステップS201で抽出した見出しの周囲の枠の座標と、1項目目の周囲の枠の座標と、の差分を基本差分として抽出する(ステップS203)。具体的には、図8に示すように、差分抽出部231は、見出しの周囲の枠の座標601yと、1項目目の周囲の枠の座標701y1と、の差分dy(dot)を基本差分として抽出する。この処理が終了すると、見出し差分抽出処理は終了となり、処理は図5のステップS104に戻る。
【0063】
座標算出部232は、項目チェック用の変数Nに2を格納する(ステップS104)。座標算出部232、図6のステップS203において抽出した基本差分に基づいて、N-1項の項目の座標からN項の項目の座標を算出する(ステップS105)。具体的には、図9に示すように、差分抽出部231は、N項目目である1項目目501a1の周囲の枠の座標701y1から差分dy(dot)だけY方向に移動した氏名の項目を2項目目502a2の座標701y2として算出する。
【0064】
照合部240は、N項の項目の座標の周囲に罫線が存在するか否かを判定する(ステップS106)。具体的は、図9に示すように、N=2である場合には、照合部240は、2項目目501a2の周囲に罫線701a1が存在するか否かを判定する。
【0065】
N項の項目の座標の周囲に罫線が存在する場合(ステップS106:YES)には、照合部240は、N項の項目を認識項目として確定する(ステップS107)。具体的には、図9に示すように、2項目目501a2の周囲には罫線701a1が存在するため、照合部240は、2項目目501a2の項目を認識項目として確定する。その後、座標算出部232は、変数Nに1を加算する(ステップS108)。この結果、見出しに対する明細項目がなくなるまでの間、ステップS105~ステップS108の処理が繰り返し実行される。
【0066】
そして、N項の項目の座標の周囲に罫線が存在しなくなった場合(ステップS106:NO)には、処理はステップS109へ進む。具体的は、図9に示すように、11項目501a11の周囲には罫線が存在しないため、照合部240は、11項目目501a11の項目を認識項目として確定せずに、ステップS109の処理へ進む。
【0067】
差分抽出部231は、DB6の定義体690を参照して、他の見出しが存在するか否かを判定する(ステップS109)。他の見出しが存在する場合(ステップS109:YES)には、当該他の見出しに対して、ステップS103~ステップS108の処理が繰り返し実行される。そして、他の見出しが存在しなくなった場合(ステップS109:NO)には、表示制御部250は、確定済みの認識項目の座標をディスプレイを通じて通知する(ステップS110)。この処理が終了すると、図5を参照して説明する項目確定処理は終了となる。
【0068】
以上説明したように、本実施形態に係る帳票分類装置2によれば、1種類の帳票についての定義のデータ量を非常に少なくすることが可能となり、定義体690の記憶に必要な記憶領域の増大を抑制することが可能となる。また、本実施形態に係る帳票分類装置2によれば、定義体の個々の定義におけるデータ量を非常に少なくすることが可能であるため、分類の対象である画像と定義との照合を短時間で効率よく行うことが可能となる。
【0069】
なお、帳票分類装置2が行う上記の各種処理は、それぞれ、本実施形態の要旨を逸脱しない範囲において適宜変更可能である。
【0070】
また、本実施形態に係る帳票分類装置2の機能的構成は、図2に示した構成に限らず、適宜変更可能である。加えて、本実施形態に係る帳票分類装置2は、コンピュータと、該コンピュータに実行させるプログラムとにより実現可能である。以下、図10を参照し、コンピュータとプログラムとにより実現される帳票分類装置2について説明する。
【0071】
図10は、コンピュータのハードウェア構成を示す図である。図10に示すように、コンピュータ50は、CPU(Central Processing Unit)5001と、メモリ5002と、補助記憶装置5003と、入力インタフェース5004と、表示処理装置5005と、通信制御装置5006と、媒体駆動装置5007とを備える。コンピュータ50におけるこれらの要素5001~5007は、バス5010により相互に接続されており、要素間でのデータの受け渡しが可能になっている。
【0072】
CPU5001は、オペレーティングシステムを含む各種のプログラムを実行することによりコンピュータ50の全体の動作を制御するプロセッサである。
【0073】
更に、帳票分類プログラムにおける照合処理は、例えば、図5図6に示したフローチャートにおける各ステップの処理を含む処理としてサブルーチン化されている。
【0074】
メモリ5002は、図示しないROM(Read Only Memory)及びRAM(Random Access Memory)を含む。メモリ5002のROMには、例えば、コンピュータ50の起動時にCPU5001が読み出す所定の基本制御プログラム等が予め記録されている。また、メモリ5002のRAMは、CPU5001が、各種のプログラムを実行する際に必要に応じて作業用記憶領域として使用する。メモリ5002のRAMは、例えば、帳票の画像10、第1の成分画像12及び第2の成分画像15、ブロック値Q、差分の絶対値の和SH及びSV等の一時的な記憶に利用可能である。
【0075】
補助記憶装置5003は、例えば、HDD(Hard Disk Drive)等の磁気ディスク、及びフラッシュメモリ等の不揮発性メモリである。補助記憶装置5003には、CPU5001によって実行される各種のプログラムや各種のデータ等を記憶させることができる。補助記憶装置5003は、例えば、上記の項目確定処理プログラム、見出し差分抽出処理プログラム等の記憶に利用可能である。また、補助記憶装置5003は、例えば、定義体291、帳票の画像10、第1の成分画像及び第2の成分画像、ブロック値Q、差分の絶対値の和SH及びSV、並びに第1の特徴値及び第2の特徴値等の記憶に利用可能である。
【0076】
入力インタフェース5004は、キーボード装置、マウス装置、及びタッチパネル装置等の入力装置4、並びにスキャナ装置3から入力される情報を受け付けるインタフェース装置である。
【0077】
表示処理装置5005は、液晶表示装置等の表示装置5の表示画面の制御等を行う。表示処理装置5005は、例えば、コンピュータ50の動作状態や、帳票の画像10、照合結果(分類結果)等を示す画面データを作成して表示装置5に表示させる。
【0078】
通信制御装置5006は、コンピュータ50を通信ネットワークに接続し、通信ネット
ワークを介したコンピュータ50と他の電子機器との各種通信を制御する装置である。通信制御装置5006は、例えば、DB6との通信を制御し該DB6から定義体690(図2を参照)を取得することに利用可能である。
【0079】
媒体駆動装置5007は、可搬型記録媒体51に記録されているプログラムやデータの読み出し、補助記憶装置5003に記憶されたデータ等の可搬型記録媒体51への書き込みを行う。可搬型記録媒体51としては、例えば、Secure Digital(SD)規格のメモリカード(フラッシュメモリ)がある。可搬型記録媒体51は、上記の項目確定処理プログラム、見出し差分抽出処理プログラムの記録に利用可能である。また、可搬型記録媒体51は、例えば、定義体291、帳票の画像10、第1の成分画像及び第2の成分画像、ブロック値Q、差分の絶対値の和SH及びSV、並びに第1の特徴値及び第2の特徴値等の記憶に利用可能である。
【0080】
更に、コンピュータ50が媒体駆動装置5007として利用可能な光ディスクドライブを搭載している場合、当該光ディスクドライブで認識可能な各種の光ディスクを可搬型記録媒体51として利用可能である。可搬型記録媒体51として利用可能な光ディスクには、例えば、Compact Disc(CD)、Digital Versatile Disc(DVD)、Blu-ray Disc(Blu-rayは登録商標)等がある。
【0081】
コンピュータ50は、オペレータが入力装置4を操作して項目確定処理プログラムの開始命令を入力すると、CPU5001が補助記憶装置5003等から図5のフローチャートにおける各ステップの処理を含む項目確定処理プログラムを読み出して実行する。項目確定処理プログラムを実行している間、CPU5001は、図2に示した帳票分類装置2におけるスキャナ制御部210、特徴値生成部220、及び主制御部270として機能(動作)する。また、項目確定処理プログラムを実行している間、コンピュータ50のメモリ5002のRAM及び補助記憶装置5003、並びに可搬型記録媒体51等の記録媒体は、図2に示した帳票分類装置2における記憶部290として機能する。
【0082】
また、コンピュータ50は、オペレータが入力装置4を操作して帳票分類プログラムの開始命令を入力すると、CPU5001が補助記憶装置5003等から図13のフローチャートにおける各ステップの処理を含む帳票分類プログラムを読み出して実行する。帳票分類プログラムを実行している間、CPU5001は、図2に示した帳票分類装置2におけるスキャナ制御部210、特徴値生成部220、照合部240、及び主制御部270として機能(動作)する。また、帳票分類プログラムを実行している間、コンピュータ50のメモリ5002のRAM及び補助記憶装置5003、並びに可搬型記録媒体51等の記録媒体は、図2に示した帳票分類装置2における記憶部290として機能する。
【0083】
更に、コンピュータ50は、例えば、帳票分類プログラムを終了したタイミングで、図23のフローチャートにおける各ステップの処理を含む学習プログラムを読み出して実行する。学習プログラムを実行している間、CPU5001は、図2に示した帳票分類装置2における照合部240及び主制御部270として機能(動作)する。また、学習プログラムを実行している間、コンピュータ50のメモリ5002のRAM及び補助記憶装置5003、並びに可搬型記録媒体51等の記録媒体は、図2に示した帳票分類装置2における記憶部290として機能する。
【0084】
なお、帳票分類装置2として動作させるコンピュータ50は、図10に示した要素5001~5008の全てを含む必要はなく、用途や条件に応じて一部の要素を省略することも可能である。例えば、コンピュータ50は、媒体駆動装置5007が省略されたものであってもよい。
【符号の説明】
【0085】
1 帳票分類システム
2 帳票分類装置
3 スキャナ装置
4 入力装置
5 表示装置
50 コンピュータ
51 可搬型記録媒体
210 スキャナ制御部
220 特徴値生成部
230 項目解析処理部
231 差分抽出部
232 座標算出部
240 照合部
250 表示制御部
260 通信制御部
270 主制御部
290 記憶部
291 定義体
292 処理データ
293 分類結果
300 帳票
690 定義体
5001 CPU
5002 メモリ
5003 補助記憶装置
5004 入力インタフェース
5005 表示処理装置
5006 通信制御装置
5007 媒体駆動装置
5010 バス
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10