(57)【要約】      （修正有）【課題】記入形式が合っている記入前データと記入後データのセットであるか否かを自動判別する技術を提供する。【解決手段】記入前データ及び記入後データとの差分から得られる情報を取得する情報処理装置が、当該記入前データ及び記入後データにおけるデータ箇所を読み取り、読み取った記入前データと記入後データのデータ箇所に共通して存在する特徴点同士の位置を、読み取った記入前データと記入後データ間で対応付け、対応付けした特徴点同士の位置を読み取った記入前データに合わせるように、読み取った記入後データの特徴点の位置を変形させ、変形させた後に、読み取った記入前データ及び記入後データにおいて、データのある箇所を示す階調と、データの無い箇所を示す階調に二値化し、二値化した記入前データ及び二値化した記入後データの重複度に従って、読み取った記入前データ及び記入後データとの記入形式の整合性を判定する。【選択図】図３
2019101647.tif 000002
【特許請求の範囲】
【請求項１】
記入前データ及び記入後データとの差分から得られる情報を取得する情報処理装置であって、
当該記入前データ及び記入後データにおけるデータ箇所を読み取る読取手段と、
前記読み取った記入前データと記入後データのデータ箇所に共通して存在する特徴点同士の位置を、前記読み取った記入前データと記入後データ間で対応付けする対応付け手段と、
前記対応付けした特徴点同士の位置を前記読み取った記入前データに合わせるように、前記読み取った記入後データの特徴点の位置を変形させる変形手段と、
前記変形させた後に、前記読み取った記入前データ及び記入後データにおいて、データのある箇所を示す階調と、データの無い箇所を示す階調に二値化する二値化手段と、
前記二値化した記入前データ及び前記二値化した記入後データの重複度に従って、前記読み取った記入前データ及び記入後データとの記入形式の整合性を判定する判定手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
記入形式が異なる複数種類の記入前データを記憶する記憶手段と、
前記二値化した前記記入形式が異なる複数種類の記入前データと前記二値化した記入後データとの重複度をそれぞれ比較することで、前記読み取った記入後データと前記記入形式が異なる複数種類の記入前データの中で記入形式が合う記入前データを選択する選択手段と、
前記選択された前記二値化した記入前データと、前記二値化した記入後データとの差分から得られる情報を取得する取得手段と、
更に備えることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
記入後データは、前記記入形式が異なる複数種類の記入前データに前記差分から得られる情報が記載されている連続ページで構成されており、
前記読取手段が前記記入後データのデータ箇所をページ単位で読み取り、
前記ページ毎に読み取った記入後データのデータ箇所と記入形式の整合性が良い記入前データを、前記判定手段の前記記入形式の整合性の判定に結果に従って、前記記入形式が異なる複数種類の記入前データの中から前記ページ単位で選択することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
記入前データ及び記入後データとの差分から得られる情報を取得する情報処理装置の制御方法であって、
前記情報処理装置の読取手段が、当該記入前データ及び記入後データにおけるデータ箇所を読み取る読取工程と、
前記情報処理装置の対応付け手段が、前記読み取った記入前データと記入後データのデータ箇所に共通して存在する特徴点同士の位置を、前記読み取った記入前データと記入後データ間で対応付けする対応付け工程と、
前記情報処理装置の変形手段が、前記対応付けした特徴点同士の位置を前記読み取った記入前データに合わせるように、前記読み取った記入後データの特徴点の位置を変形させる変形工程と、
前記情報処理装置の二値化手段が、前記変形させた後に、前記読み取った記入前データ及び記入後データにおいて、データのある箇所を示す階調と、データの無い箇所を示す階調に二値化する二値化工程と、
前記情報処理装置の判定手段が、前記二値化した記入前データ及び前記二値化した記入後データの重複度に従って、前記読み取った記入前データ及び記入後データとの記入形式の整合性を判定する判定工程と、
を含むことを特徴とする制御方法。
【請求項５】
記入前データ及び記入後データとの差分から得られる情報を取得する情報処理装置で読み取り実行可能なプログラムであって、
前記情報処理装置を、
当該記入前データ及び記入後データにおけるデータ箇所を読み取る読取手段と、
前記読み取った記入前データと記入後データのデータ箇所に共通して存在する特徴点同士の位置を、前記読み取った記入前データと記入後データ間で対応付けする対応付け手段と、
前記対応付けした特徴点同士の位置を前記読み取った記入前データに合わせるように、前記読み取った記入後データの特徴点の位置を変形させる変形手段と、
前記変形させた後に、前記読み取った記入前データ及び記入後データにおいて、データのある箇所を示す階調と、データの無い箇所を示す階調に二値化する二値化手段と、
前記二値化した記入前データ及び前記二値化した記入後データの重複度に従って、前記読み取った記入前データ及び記入後データとの記入形式の整合性を判定する判定手段と、
して機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記入形式が合っている記入前データと記入後データのセットであるか否かを自動判別する技術に関する。
【背景技術】
【０００２】
帳票から文字を読み取るＯＣＲ（Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅｃｏｇｎｉｔｉｏｎ）装置を利用するにあたり、スキャン等で入力する帳票の種類（記入形式）のレイアウト情報を事前にＯＣＲ装置に設定してことは、ＯＣＲをする際には一般的である。
【０００３】
使用する帳票の種類は、ユーザが明示的に与えることもできるが、機械が自動で識別する方法も考えられる。自動識別にすることで、帳票用紙をバッチ単位で入力する際に、ページ数を固定して帳票を読み込ませたり、順番を決めたりする必要が無くなり、便利である。帳票の自動識別手法の主要なものは、入力した帳票画像中から識別に有用な特徴点を抽出し、帳票の種類（記入形式）の候補群の中から一番特徴点の近いものを、該当する帳票の種類（記入形式）として識別するものである。
【０００４】
しかしながら、帳票の種類（記入形式）のレイアウトによっては特徴点の取りにくいものもある。例えば、下線で構成されたレイアウトの帳票である。
【０００５】
特許文献１には、上記のような、特徴点の取りにくいレイアウトの帳票の種類（記入形式）でも、帳票識別を可能にする方法として、論理演算と不一致尺度に基づいて識別する技術について開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１３−１９６６１１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
このように、特許文献１には、記入前帳票画像（記入前データ）、記入例帳票画像、識別対象帳票画像の３種のデータを用意する。それぞれの帳票画像をグリッドに分け、各小領域が前景領域（１）か背景領域（０）かの判定を行う。そうすると０と１で構成されたグリッドができる。記入前帳票グリッドと識別対象帳票グリッド間、および記入例帳票グリッドと識別対象帳票グリッド間で論理演算をすることで、グリッド間で０と１が不一致な小領域の量を求める。不一致な小領域の量をもとに、特定の尺度で不一致の度合いをはかる。記入前帳票画像と識別対象帳票画像で不一致の度合いを求め、不一致の度合いにもとづき、識別対象帳票画像が記入前帳票画像により生成されたものかどうかを判定する技術が記載されている。
【０００８】
しかしこの手法では、精度を良くするために事前に記入例帳票画像を作成する必要があり煩雑である。
更に、用紙のズレや画像間でのサイズの違いを吸収するために領域分割を行っているが、領域分割する粒度を複数設定しておく必要があり煩雑である。
更に、傾きのズレ等に対しては未対応であり、精度に問題がある
【０００９】
そのため、記入例帳票画像を作成することなく、またスキャンした識別対象帳票画像のサイズの違いや傾きのズレ、位置のズレを自動で補正することが望まれる。
【００１０】
本発明は、記入前データと記入後データの差分から情報を得るために、記入前データと記入後データの両方のデータを用いて、記入形式が合っている記入前データと記入後データのセットであるか否かを自動判別することが可能な仕組みを提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明は、記入前データ及び記入後データとの差分から得られる情報を取得する情報処理装置であって、当該記入前データ及び記入後データにおけるデータ箇所を読み取る読取手段と、前記読み取った記入前データと記入後データのデータ箇所に共通して存在する特徴点同士の位置を、前記読み取った記入前データと記入後データ間で対応付けする対応付け手段と、前記対応付けした特徴点同士の位置を前記読み取った記入前データに合わせるように、前記読み取った記入後データの特徴点の位置を変形させる変形手段と、前記変形させた後に、前記読み取った記入前データ及び記入後データにおいて、データのある箇所を示す階調と、データの無い箇所を示す階調に二値化する二値化手段と、前記二値化した記入前データ及び前記二値化した記入後データの重複度に従って、前記読み取った記入前データ及び記入後データとの記入形式の整合性を判定する判定手段と、を備えることを特徴とする。
【００１２】
本発明は、記入前データ及び記入後データとの差分から得られる情報を取得する情報処理装置の制御方法であって、前記情報処理装置の読取手段が、当該記入前データ及び記入後データにおけるデータ箇所を読み取る読取工程と、前記情報処理装置の対応付け手段が、前記読み取った記入前データと記入後データのデータ箇所に共通して存在する特徴点同士の位置を、前記読み取った記入前データと記入後データ間で対応付けする対応付け工程と、前記情報処理装置の変形手段が、前記対応付けした特徴点同士の位置を前記読み取った記入前データに合わせるように、前記読み取った記入後データの特徴点の位置を変形させる変形工程と、前記情報処理装置の二値化手段が、前記変形させた後に、前記読み取った記入前データ及び記入後データにおいて、データのある箇所を示す階調と、データの無い箇所を示す階調に二値化する二値化工程と、前記情報処理装置の判定手段が、前記二値化した記入前データ及び前記二値化した記入後データの重複度に従って、前記読み取った記入前データ及び記入後データとの記入形式の整合性を判定する判定工程と、を含むことを特徴とする。
【００１３】
本発明は、記入前データ及び記入後データとの差分から得られる情報を取得する情報処理装置で読み取り実行可能なプログラムであって、前記情報処理装置を、当該記入前データ及び記入後データにおけるデータ箇所を読み取る読取手段と、前記読み取った記入前データと記入後データのデータ箇所に共通して存在する特徴点同士の位置を、前記読み取った記入前データと記入後データ間で対応付けする対応付け手段と、前記対応付けした特徴点同士の位置を前記読み取った記入前データに合わせるように、前記読み取った記入後データの特徴点の位置を変形させる変形手段と、前記変形させた後に、前記読み取った記入前データ及び記入後データにおいて、データのある箇所を示す階調と、データの無い箇所を示す階調に二値化する二値化手段と、前記二値化した記入前データ及び前記二値化した記入後データの重複度に従って、前記読み取った記入前データ及び記入後データとの記入形式の整合性を判定する判定手段と、して機能させる。
【発明の効果】
【００１４】
本発明により、記入前データと記入後データの差分から情報を得るために、記入前データと記入後データの両方のデータを用いて、記入形式が合っている記入前データと記入後データのセットであるか否かを自動判別することが可能な仕組みを提供することが可能となる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施形態における、帳票識別のシステム（手書き文字ＯＣＲシステム）構成の一例を示す図である。
【図２】本発明の実施形態における、ＯＣＲ装置等のハードウェア構成の一例を示すブロック図である。
【図３】本発明の実施形態における、帳票識別する処理の一例を示すフローチャートである。
【図４】本発明の実施形態における、フィッティングする処理の一例を示すフローチャートである。
【図５】本発明の実施形態における、不一致率の算出の一例を示すフローチャートである。
【図６】本発明の実施形態における、記入前帳票情報データベースの一例を示す図である。
【図７Ａ】本発明の実施形態における、記入前帳票画像（表紙）の一例を示す図である。
【図７Ｂ】本発明の実施形態における、記入前帳票画像（本文）の一例を示す図である。
【図８】本発明の実施形態における、識別対象帳票画像の一例を示す図である。
【図９】本発明の実施形態における、フィッティング処理により得られた、変形後識別対象帳票画像の一例を表す図である。
【図１０】本発明の実施形態における、変形のための特徴点の対応付け処理の一例を表す図である。
【図１１Ａ】本発明の実施形態における、記入前帳票画像（表紙）と変形後識別対象帳票画像（表紙）の画素同士の積を取り、ＡＮＤ画像（１）を生成する処理の一例を表す図である。
【図１１Ｂ】本発明の実施形態における、記入前帳票画像（本文）と変形後識別対象帳票画像（表紙）の画素同士の積を取り、ＡＮＤ画像（２）を生成する処理の一例を表す図である。
【図１２Ａ】本発明の実施形態における、ＡＮＤ画像（１）と変形後識別対象帳票（表紙）の画素同士の排他的論理和を取り、ＸＯＲ画像を生成する処理の一例を表す図である。
【図１２Ｂ】本発明の実施形態における、ＡＮＤ画像（２）と変形後識別対象帳票（表紙）の画素同士の排他的論理和を取り、ＸＯＲ画像を生成する処理の一例を表す図である。
【図１３】本発明の実施形態における、変形前、変形後の画素の位置関係を示す式、不一致率を算出する式の一例を示す図である。
【発明を実施するための形態】
【００１６】
図１を説明する。
【００１７】
図１は、本発明の実施形態における帳票識別のシステムのシステム構成の一例を示す図である。
【００１８】
手書き文字抽出の主要な処理を行うためのＯＣＲ装置（情報処理装置）１００１および、帳票をスキャンして画像ファイル化（画像スキャン）するスキャナ３００１が通信経路４００１を介して接続される構成となっている。
【００１９】
通信経路４００１はスキャナ３００１の有する物理インターフェースに応じて、有線ＬＡＮ，無線ＬＡＮ，ＵＳＢなどの形態をとることができる。
【００２０】
通信経路４００１上にはファイルサーバ５００１を置いてもよい。スキャナ３００１でスキャンした画像をＯＣＲ装置１００１に取り込む方法として、スキャナ３００１からＯＣＲ装置１００１に直接画像を送信する方法、スキャナ３００１で取り込んだ画像ファイルをいったんファイルサーバ５００１に保管し、ＯＣＲ装置１００１がファイルサーバ５００１から画像ファイルを取り出す方法どちらをとっても良い。
【００２１】
図２を説明する。
【００２２】
図２は、本発明の実施形態におけるＯＣＲ装置１００１のハードウェア構成の一例を示すブロック図である。ファイルサーバ５００１も同様の構成となる。
【００２３】
ＣＰＵ１は、システムバス４に接続される各デバイスやコントローラを統括的に制御する。また、ＲＯＭ２あるいは外部メモリ１１には、ＣＰＵ１の制御プログラムであるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  ／  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）やオペレーティングシステムプログラム（以下、ＯＳ）や、各サーバ或いは各ＯＣＲ装置の実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。
【００２４】
ＲＡＭ３は、ＣＰＵ１の主メモリ、ワークエリア等として機能する。ＣＰＵ１は、処理の実行に際して必要なプログラム等をＲＯＭ２あるいは外部メモリ１１からＲＡＭ３にロードして、該ロードしたプログラムを実行することで各種動作を実現するものである。
【００２５】
また、５は入力コントローラで、キーボード（ＫＢ）９やカメラデバイス１２（撮像装置）、不図示のマウス等のポインティングデバイス等からの入力を制御する。２０６はビデオコントローラで、ＣＲＴディスプレイ（ＣＲＴ）１０等の表示器への表示を制御する。なお、ＣＲＴ１０と記載しているが、表示器はＣＲＴだけでなく、液晶ディスプレイ等の他の表示器であってもよい。これらは必要に応じて管理者が使用するものである。
【００２６】
メモリコントローラ７は、ブートプログラム，各種のアプリケーション，フォントデータ，ユーザファイル，編集ファイル，各種データ等を記憶する外部記憶装置（ハードディスク（ＨＤ））や、フレキシブルディスク（ＦＤ）、或いはＯＣＲ装置ＭＣＩＡカードスロットにアダプタを介して接続されるコンパクトフラッシュ（登録商標）メモリ等の外部メモリ１１へのアクセスを制御する。
【００２７】
通信Ｉ／Ｆコントローラ８は、ネットワーク（例えば、図に示したＬＡＮ）を介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、ＴＣＰ／ＩＰを用いた通信等が可能である。
【００２８】
なお、ＣＰＵ１は、例えばＲＡＭ３内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、ＣＲＴ１０上での表示を可能としている。また、ＣＰＵ１は、ＣＲＴ１０上の不図示のマウスカーソル等でのユーザによる指示を可能とする。
【００２９】
本発明を実現するための後述する各種プログラムは、外部メモリ１１に記録されており、必要に応じてＲＡＭ３にロードされることによりＣＰＵ１によって実行されるものである。さらに、上記プログラムの実行時に用いられる定義ファイル及び各種情報テーブル等も、外部メモリ１１に格納されており、これらについての詳細な説明も後述する。
【００３０】
また、本発明における実行可能なプログラムは、図３乃至図４の処理をコンピュータに実行させるプログラムである。なお、本発明におけるプログラムは、図３乃至図４の各処理ごとのプログラムであってもよい。
【００３１】
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムを読み出し、実行することによっても本発明の目的が達成されることは言うまでもない。
【００３２】
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記録した記録媒体は本発明を構成することになる。
【００３３】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＥＥＰＲＯＭ、シリコンディスク等を用いることが出来る。
【００３４】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００３５】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００３６】
また、本発明は、複数の機器から構成されるシステムに適用しても、ひとつの機器から成る装置に適用しても良い。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【００３７】
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
【００３８】
次に図３〜図５のフローチャートを用いて、本発明の実施形態におけるＯＣＲ装置１００１が実行する処理について説明する。
【００３９】
図３のフローチャートは、ＯＣＲ装置１００１のＣＰＵ２０１が所定の制御プログラムを読み出して実行する処理であり、帳票識別する処理を示すフローチャートである。
【００４０】
ユースケースの一例として、識別対象帳票が学校のレポートであり、表紙か本文を識別するタスクを考える。
【００４１】
尚、以降で説明する記入後データは連続するページで構成されているものする。更に記入後データは、記入形式が異なる複数種類（表紙用、本文用）の記入前データの連続するページ毎に、記入前データとの差分から得られる情報（手書きの学籍番号、手書きの氏名、手書きの得点等）が既に記入済みのものとする。
【００４２】
ステップＳ３０１では、図２のＣＰＵ２０１は、ユーザから帳票識別要求を受け付ける。
【００４３】
ステップＳ３０１１では、記入後データのデータ箇所を連続するページの中で何ページ目かを選択する。
【００４４】
ステップＳ３０２では、図２のＣＰＵ２０１は、識別対象帳票情報をメモリに読み込む。
識別対象帳票情報には、スキャナ１１０１でスキャンした識別対象帳票画像５０１（今回は表紙とする）と、その帳票が属するグループの情報３２１のうちグループ１に属するという情報が含まれているとする。また識別対象帳票画像（記入後データ）５０１はスキャンに伴う傾きがあるものとする。さらに記入後データにおけるデータ箇所（罫線や記入枠や項目名、手書きの学籍番号、手書きの氏名、手書きの得点等）を読み取る（読取手段）。
【００４５】
図６のデータベーステーブル３０１は、記入前帳票情報候補を格納した一例を示すテーブルである。この例では、画像ＩＤ、画像ファイル名、グループのインデックス３２１、表紙か本文かの情報を属性として持つ。
【００４６】
このように、データベーステーブル３０１には、記入前帳票情報候補として記入形式が異なる複数種類の記入前データを記憶している（記憶手段）。
【００４７】
図７Ａ、図７Ｂの画像は、データベーステーブル３０１内のグループ１に属する記入前帳票画像を読み出したものである。レコード３１１の画像が記入前帳票画像（記入前データ）４０１（表紙）にあたり、レコード３１２の画像が記入前帳票画像４０２（本文）にあたるとする。
【００４８】
ステップＳ３０３では、図２のＣＰＵ２０１は、ファイルサーバ５００１より、記入前帳票情報候補を抽出し、メモリ上のキューに格納する。ファイルサーバ５００１はデータベーステーブル３０１の通りの構成になっている。
【００４９】
記入前帳票情報候補はステップＳ３０２で与えられた識別対象帳票情報をもとに、その帳票が属するグループ１に該当する候補が抽出される。
【００５０】
ステップＳ３０４では、図２のＣＰＵ２０１は、ステップＳ３０３で用意したキューを参照し、記入前帳票情報のレコードがあるかどうかを判定する。キューにレコードが残っていれば、ステップＳ３０５へ進み、残っていなければ、ステップＳ３０９へ進む。
【００５１】
ステップＳ３０５では、図２のＣＰＵ２０１は、ステップＳ３０３で用意したキューを参照し、先頭のレコード１つを取り出し、そのレコードをメモリに格納する。
【００５２】
さらに記入前データにおけるデータ箇所（罫線や記入枠や項目名等）を読み取る（読取手段）。
【００５３】
ステップＳ３０６では、図２のＣＰＵ２０１は、ステップＳ３０２で読み込んだ識別対象帳票情報と、ステップＳ３０５で読み込んだ、記入前帳票情報のレコード１つを、「フィッティング」サブプロセスへ渡し、識別対象帳票画像を構成する画素が記入前帳票画像の画素にフィッティングした、変形後識別対象帳票画像５０２を返り値として受取り、この返り値をメモリに格納する。
【００５４】
ステップＳ３０７では、図２のＣＰＵ２０１は、ステップＳ３０５で読み込んだ、記入前帳票情報のレコード１つと、ステップＳ３０６で受け取った変形後識別対象帳票画像５０２を「不一致率の算出」サブプロセスへ渡し、これら２つの画像の不一致率を算出する。
【００５５】
ステップＳ３０８では、図２のＣＰＵ２０１は、ステップＳ３０８で算出した不一致率を、記入前帳票情報のレコードと対応付けて、メモリへ格納する。その後、ステップＳ３０３の直前へ処理が渡される。
【００５６】
ステップＳ３０９では、図２のＣＰＵ２０１は、ステップＳ３０８で格納された記入前帳票情報のレコードと不一致率のペアの中から、不一致率が最小のものを抽出しメモリに格納する。
【００５７】
つまりここで、ステップＳ５０６で既に判定をした、二値化した記入形式が異なる複数種類の記入前データと二値化した記入後データとの重複度（不一致率）をそれぞれ比較することで、読み取った記入後データと記入形式が異なる複数種類の記入前データの中で記入形式が合う記入前データを選択していることになる（選択手段）。
【００５８】
ステップＳ３１０では、図２のＣＰＵ２０１は、ステップＳ３０９で格納した最小の不一致率を事前に設定したしきい値と比較する。このしきい値は、帳票かそれ以外かを判断するためのものである。不一位率がしきい値未満ならば、ステップＳ３１１へ、そうでなければＳ３１２へ進む。
【００５９】
ステップＳ３１１では、図２のＣＰＵ２０１は、ステップＳ３０８で格納された記入前帳票情報の画像が該当帳票であるという認識結果を出力する。この際に、複数の候補に対する不一致率を比較して、、クライアント端末７００１で、その結果（複数の候補に対する不一致率）を表示できるように制御させる。
【００６０】
更にここでは、ステップＳ３０８で格納された記入前帳票情報の画像が該当帳票であるので、ステップＳ３０９で選択された二値化した記入前データと、二値化した記入後データとの差分から得られる情報（手書きの学籍番号、手書きの氏名、手書きの得点等）を取得してもよい（取得手段）。
【００６１】
ステップＳ３１２では、図２のＣＰＵ２０１は、ステップＳ３０２で読み込んだ識別対象帳票情報の画像は、ファイルサーバ５００１に登録されている記入前帳票情報のいずれとも一致しなかったとして、「ＯＴＨＥＲ（未登録）」という認識結果を返して、クライアント端末７００１で「ＯＴＨＥＲ（未登録）」という認識結果を表示させるように制御させる。
【００６２】
ステップＳ３１３では、記入後データに未処理のページがあるか否かを判断する。未処理のページがあると判断した場合には、Ｓ３０１１に戻って、以降の処理を繰り返す。未処理のページがないと判断した場合には、処理を終了する。
【００６３】
このように、記入後データが連続ページ（表紙、本文等）である場合には、ページ毎に読み取った記入後データのデータ箇所と記入形式の整合性が良い記入前データを、判定手段の記入形式の整合性の判定結果に従って、記入形式が異なる複数種類の記入前データの中からページ単位で選択することになる。
【００６４】
図４のフローチャートは、ＯＣＲ装置１００１のＣＰＵ２０１が所定の制御プログラムを読み出して実行する処理であり、２つの画像を一方へ画素単位でフィッティングする処理を示すフローチャートである
ステップＳ４０１では、図２のＣＰＵ２０１は、ステップＳ３０２で抽出した識別対象帳票情報中の識別対象帳票画像５０１を抽出し、特徴点群６０２を抽出する。なお、特徴点群６０２は、識別対象帳票画像５０１の一部であり、画像全体から特徴点が抽出されている。  特徴点は画像中の線分の端点、交点、輝度や色の境界になる線上の点が望ましい。こうした条件に合致する点を抽出するための手法として、ＫＡＺＥ、ＯＲＢ（Ｏｒｉｅｎｔｅｄ−ＢＲＩＥＦ）、ＳＩＦＴ  （Ｓｃａｌｅ−ｉｎｖａｒｉａｎｔ  ｆｅａｔｕｒｅ  ｔｒａｎｓｆｏｒｍ）などが知られている。  特徴点同士の対応がとれることを目的としているので、特徴点の質は識別に有用な質である必要はない。
【００６５】
ステップＳ４０２では、図２のＣＰＵ２０１は、ステップＳ４０１と同様にして、記入前帳票画像４０１から、特徴点群６０１を抽出する。
【００６６】
ステップＳ４０３では、図２のＣＰＵ２０１は、特徴点群６０１と特徴点群６０２間で、記入前後の帳票の同一個所から検出されたと推定される特徴点の対応付けを行う。特徴点の対応付けのアルゴリズムとしては、ＫＮＮ（Ｋ−Ｎｅａｒｅｓｔ  Ｎｅｉｇｈｂｏｒ  ａｌｇｏｒｉｔｈｍ）、Ｂｌｕｔｅ−Ｆｏｒｃｅ、ＦＬＡＮＮ（Ｆａｓｔ  Ｌｉｂｒａｒｙ  ｆｏｒ  Ａｐｐｒｏｘｉｍａｔｅ  Ｎｅａｒｅｓｔ  Ｎｅｉｇｈｂｏｒｓ）などが知られている。
【００６７】
つまりここで、読み取った記入前データと記入後データのデータ箇所に共通して存在する特徴点同士の位置を、読み取った記入前データと記入後データ間で対応付けしていることになる（対応付け手段）。
【００６８】
図１０は、ステップ４０３における特徴点の対応付け処理の一例を示す図である。識別対象帳票画像５０１上の手書き文字から検出された特徴点は、記入前帳票画像４０１からは検出されないのでここで対応付けから除外され、帳票にもともと存在する罫線、見出しに対応する特徴点対応情報６０３が得られる。
【００６９】
ステップＳ４０４では、図２のＣＰＵ２０１は、対応する特徴点同士の座標から、識別対象帳票画像５０１を記入前帳票画像４０１と重なるように変形するための変換行列を算出する。変換行列を算出するための手法としては、ＲＡＮＳＡＣやＬｅａｓｔ  Ｍｅｄｉａｎなどが知られている。
【００７０】
ステップＳ４０５では、識別対象帳票画像５０１に変換行列Ｔをかけて変形を行う。ここで行う変形は画像全体に対して単一の変換行列をかけるものである。この変形により、サイズの違いや、ズレ、スキャン時に発生した大きな傾きや、天地を逆にスキャンした場合でも補正できるというメリットがある。ここで得られる画像を変形後識別対象帳票画像５０２とする。
【００７１】
つまりここで、ステップＳ４０３で対応付けした特徴点同士の位置を読み取った記入前データに合わせるように、読み取った記入後データの特徴点の位置を変形させていることになる（変形手段）。
【００７２】
数式１は変形後識別対象帳票画像５０２上の任意の点（ｘ，ｙ）と変形前の識別対象帳票画像５０１上の対応する点（ｘ’，ｙ’）との関係を表す式である。
【００７３】
数式２は変形後識別対象帳票画像５０２上の任意の点（ｘ，ｙ）における色Ｃ２（ｘ，ｙ）を表す式である。Ｃ２（ｘ，ｙ）は変形前の識別対象帳票画像５０１上の点（ｘ’，ｙ’）におけるＣ１（ｘ’，ｙ’）となる。
【００７４】
図５のフローチャートは、ＯＣＲ装置１００１のＣＰＵ２０１が所定の制御プログラムを読み出して実行する処理であり、識別対象画像に対して、オリジナルの帳票との不一致率を算出する処理を示すフローチャートである。
【００７５】
ステップＳ５０１では、図２のＣＰＵ２０１は、記入前帳票画像４０１と変形後識別対象帳票画像５０２に対し、二値化処理をかけ、二値化記入前帳票画像７０１と二値化変形後識別対象帳票画像７０２を生成する。
【００７６】
つまりここで、ステップＳ４０５で変形させた後に、読み取った記入前データ及び記入後データにおいて、データのある箇所を示す階調と、データの無い箇所を示す階調に二値化させていることになる（二値化手段）。
【００７７】
ステップＳ５０２では、図２のＣＰＵ２０１は、二値化記入前帳票画像７０１と二値化変形後識別対象帳票画像７０２に対し、画素同士の論理積（ＡＮＤ）をとったＡＮＤ画像７０３を生成する。ＡＮＤ画像は、二値化変形後識別対象帳票画像７０２が二値化記入前帳票画像７０１と情報を多く含んでいるほど、二値化記入前帳票画像７０１とＡＮＤ画像７０３は近いものになる。逆に、違う二値化フォーム画像７１１と二値化変形後識別対象帳票画像７０２でＡＮＤを取ると、二値化フォーム画像７１１と異なるＡＮＤ画像７１２ができる。
【００７８】
ステップＳ５０３では、図２のＣＰＵ２０１は、二値化記入前帳票画像７０１とＡＮＤ画像７０３に対し、画素同士の排他的論理和（ＸＯＲ）をとったＸＯＲ画像７０４を生成する。ＸＯＲ演算では２枚の画像間で違う画素であるとき不一致画素（この例では黒画素）とする。よって、不一致画素が少ないほど、二値化記入前帳票画像７０１に近いとみなせる。異なるＡＮＤ画像７１２とＸＯＲを取って生成すると、不一致画素が多く残る。
【００７９】
ステップＳ５０４では、図２のＣＰＵ２０１は、二値化記入前帳票画像７０１内の全ての前景画素（この例では黒画素）の量を集計し、メモリに格納する。
【００８０】
ステップＳ５０５では、図２のＣＰＵ２０１は、ステップＳ５０３で得られたＸＯＲ画像７０４内の全ての不一致画素（この例では黒画素）の量を集計し、メモリに格納する。
【００８１】
ステップＳ５０６では、図２のＣＰＵ２０１は、ステップＳ５０４で得られた二値化記入前帳票画像７０１内の全ての前景画素の量とステップＳ５０５で得られたＸＯＲ画像７０４内の全ての不一致画素の量を用いて数式３により、不一致率を求める。今回の例では、前者で後者を割ることで、どのくらいの誤差画素が論理演算結果として残存しているかの比率を出すこととした。
【００８２】
つまりここで、ステップＳ５０１で二値化した記入前データ及び二値化した記入後データの重複度（不一致率）に従って、読み取った記入前データ及び記入後データとの記入形式の整合性を判定していることになる（判定手段）。
【００８３】
本実施例では、下記の５点が可能になる
１．  各学生でページ数が違い、かつ、表紙と本文が混在した用紙の束を入力することが出来ること
２．  記入例帳票画像を用意する必要がないこと
３．  識別対象帳票画像のスキャン時の傾き、ズレ、サイズの違いがあってもよいこと。
４．  識別に必要な特徴が正確に抽出できなくてもよいこと
５．  複数のレイアウトでの不一致率の比較表示やエラー時の警告をすること
【符号の説明】
【００８４】
１００１  ＯＣＲ装置本体（情報処理装置）
３００１  スキャナ本体（画像読取装置）
４００１  ネットワーク経路
５００１  ファイルサーバ（読取画像管理装置）
６００１  サーバ（OCR結果管理装置）
７００１  クライアント端末
【図１】
2019101647.tif 000003
【図２】
2019101647.tif 000004
【図３】
2019101647.tif 000005
【図４】
2019101647.tif 000006
【図５】
2019101647.tif 000007
【図６】
2019101647.tif 000008
【図７Ａ】
2019101647.tif 000009
【図７Ｂ】
2019101647.tif 000010
【図８】
2019101647.tif 000011
【図９】
2019101647.tif 000012
【図１０】
2019101647.tif 000013
【図１１Ａ】
2019101647.tif 000014
【図１１Ｂ】
2019101647.tif 000015
【図１２Ａ】
2019101647.tif 000016
【図１２Ｂ】
2019101647.tif 000017
【図１３】
2019101647.tif 000018