(57)【特許請求の範囲】
【請求項１】
情報処理装置であって、
複数の入力画像を受け付ける受け付け手段と、
前記複数の入力画像から基準画像を決定し、前記基準画像の向きとは異なる所定の向きに前記基準画像を回転した回転画像を生成する回転画像生成手段と、
前記複数の入力画像の各々の画像の向きを判別する方向判別器を、前記基準画像及び前記回転画像に基づき生成する判別器生成手段と、
前記複数の入力画像の各々の画像の向きを、前記方向判別器を適用することにより判別し、判別した向きに応じて前記基準画像の向きに統一することにより、該複数の入力画像の向きを揃える方向統一手段と、
前記方向統一手段により統一された複数の入力画像を用いて、前記情報処理装置に入力される画像の分類に用いられる分類ルールを生成する分類ルール生成手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記判別器生成手段は、前記基準画像及び前記回転画像の向きにそれぞれ対応する方向判別器を生成する、ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記回転画像生成手段は、前記所定の向きとして前記基準画像を９０度、１８０度、及び２７０度にそれぞれ回転した回転画像を生成し、
前記判別器生成手段は、前記基準画像の向き及び前記それぞれ回転した回転画像の向きに対応する方向判別器を生成し、
前記方向統一手段は、前記複数の入力画像の各々の画像の向きを、前記生成された方向判別器がそれぞれ出力する確信度のうち、最も大きい値を出力した方向判別器に対応する向きであると判別する、ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記判別器生成手段は、前記基準画像及び前記回転画像に対して変形処理を行うことにより画像を増加させ、増加させた画像を用いて前記方向判別器を生成する、ことを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記変形処理は、シフト処理、回転処理、または拡大縮小処理を含む、ことを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記判別器生成手段は、前記基準画像、前記回転画像、及び前記増加させた画像の特徴量を算出し、該特徴量に基づき前記方向判別器を生成する、ことを特徴とする請求項４または５に記載の情報処理装置。
【請求項７】
前記方向統一手段は、前記複数の入力画像の各々の画像の向きが、前記方向判別器を適用することにより前記所定の向きであると判別した場合に、該画像を基準画像の向きとなるように回転することにより前記基準画像の向きに統一する、ことを特徴とする請求項１ないし５のいずれか１項に記載の情報処理装置。
【請求項８】
異なる種類の画像が順番に並んだ一式の入力画像が、複数回にわたって入力される場合に、
前記一式の入力画像が初めて入力された一式の入力画像であるか否かを判断する判断手段をさらに備え、
前記判断手段が前記一式の入力画像が初めて入力されたと判断した場合に、前記判別器生成手段は、前記一式の入力画像の全ての画像をそれぞれ基準画像とした方向判別器を生成する、
ことを特徴とする請求項１ないし７のいずれか１項に記載の情報処理装置。
【請求項９】
前記一式の入力画像は、異なる種類の複数の帳票の画像である、ことを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
情報処理装置の制御方法であって、
複数の入力画像を受け付ける工程と、
前記複数の入力画像から基準画像を決定し、前記基準画像の向きとは異なる所定の向きに前記基準画像を回転した回転画像を生成する工程と、
前記複数の入力画像の各々の画像の向きを判別する方向判別器を生成する工程と、
前記複数の入力画像の各々の画像の向きを、前記方向判別器を適用することにより判別し、判別した向きに応じて前記基準画像の向きに統一することにより、該複数の入力画像の向きを揃える工程と、
向きを揃えられた前記複数の入力画像を用いて、前記情報処理装置に入力される画像の分類に用いられる分類ルールを生成する工程と、
を有することを特徴とする制御方法。
【請求項１１】
請求項１乃至９のいずれか１項に記載の情報処理装置が備える各手段としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、その制御方法及びコンピュータプログラムに関する。
【背景技術】
【０００２】
紙帳票を扱うワークフローの効率化を実現する技術の一つとして、機械学習を利用した画像分類が提案されている。機械学習を利用した画像分類は、一般的に学習と分類の２つのプロセスを有し、画像群（学習セット）を与えることで分類ルールを学習によって構築し、構築した分類ルールに基づいて入力画像を分類する。すなわち、学習セットは、システムに入力される画像を分類する分類ルールの学習に用いる学習データである。
【０００３】
紙帳票を扱うワークフローに機械学習を利用した画像分類を応用すると、スキャン画像の格納先や配布先の自動決定、ファイル名の自動生成などが可能になる。また、顧客毎に用意した帳票から学習することで、個別にカスタマイズされた分類ルールを構築することも可能になる。
【０００４】
学習プロセスと分類プロセスとで用いられる画像の性質が異なると、十分な分類精度が得られないので、一般的には分類時の入力画像を想定して学習データとして大量の画像を用意する必要がある。また、顧客毎に紙帳票から分類ルールを構築するには、スキャナを備えたＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）などの入力機器を利用して、顧客毎に学習セット（学習データ）を用意する必要がある。
【０００５】
現場で学習セットを用意する際に、複数回に分けて１つの帳票をスキャンする場合や、複数の帳票をまとめてスキャンすることが考えられる。しかし、複数回に分けて１つの帳票をスキャンする場合に、スキャナにセットする帳票の方向が異なってしまうことが考えられる。また、複数の帳票をまとめてスキャンする場合に、異なる方向の原稿が混ざってしまうことが考えられる。このように、同じ種類の帳票が異なる方向で学習セットに登録されてしまうと、学習が上手く進めることができない。このため、学習セットに登録する帳票は、同じ種類の帳票に対して画像の方向を統一する必要がある。特許文献１は、文字を含む帳票から部分領域を切り出し、４つの方向に対する文字認識処理を利用して、帳票の方向判定を実現する方法を開示している。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１０−２８８２２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、文字認識処理を利用して帳票の方向判定を行う方法では、文字認識精度が方向判定精度に直接反映されてしまう。また、十分な文字認識精度を達成することができたとしても、帳票の言語に合わせて、文字認識用の辞書を切り替えなくてはならない。そのため、あらゆる言語の帳票に対応するには、言語の数だけ文字認識用の辞書を用意しなくてはならない。
【０００８】
本発明は、画像を分類する分類ルールの学習に用いる学習データの元となる入力画像群に、異なる向きの入力画像が混在する場合であっても、高品質の学習データを生成することが可能な情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の一実施形態の情報処理装置は、複数の入力画像を受け付ける受け付け手段と、複数の入力画像から基準画像を決定し、基準画像の向きとは異なる所定の向きに前記基準画像を回転した回転画像を生成する回転画像生成手段と、複数の入力画像の各々の画像の向きを判別する方向判別器を、基準画像及び回転画像に基づき生成する判別器生成手段と、複数の入力画像の各々の画像の向きを、方向判別器を適用することにより判別し、判別した向きに応じて基準画像の向きに統一することにより、該複数の入力画像の向きを揃える方向統一手段と、方向統一手段により統一された複数の入力画像を用いて、情報処理装置に入力される画像の分類に用いられる分類ルールを生成する分類ルール生成手段と、を備える。
【発明の効果】
【００１０】
本発明の情報処理装置によれば、画像を分類する分類ルールの学習に用いる学習データを生成する際に、学習データの元となる入力画像群に、異なる向きの入力画像が混在する場合であっても、高品質の学習データを生成することが可能となる。
【図面の簡単な説明】
【００１１】
【図１】第１実施形態に係るシステム構成を示す図である。
【図２】ＭＦＰの構成例を示す図である。
【図３】サーバの構成例を示す図である。
【図４】画像分類ルールを学習する処理を説明するためのフローチャートである。
【図５】画像方向統一処理を説明するためのフローチャートである。
【図６】勾配情報に基づく画像特徴量の算出方法を説明する図である。
【図７】画像特徴量を算出するためのパッチ画像の切り出しを説明する図である。
【図８】学習データの増加処理を説明する図である。
【図９】学習データを用いた機械学習の例を説明する図である。
【図１０】画像分類ルールを学習する処理を説明するためのフローチャートである。
【図１１】方向判別器の生成処理を説明するためのフローチャートである。
【図１２】画像方向統一処理を説明するためのフローチャートである。
【発明を実施するための形態】
【００１２】
以下、本発明を実施するための形態について図面などを参照して説明する。
（第１実施形態）
図１は、本発明の第１実施形態に係るシステム構成を示す図である。
第１実施形態に係るシステムは、画像入力装置であるＭＦＰ１０１とサーバ１０２とを備える。ＬＡＮ１０３には、ＭＦＰ１０１が接続されている。また、ＬＡＮ１０３は、インターネット１０４に接続されており、サービスを提供しているサーバ１０２ともインターネット１０４経由で接続されている。
【００１３】
ＭＦＰ１０１及びサーバ１０２は、ＬＡＮ１０３を介して互いに接続されており、画像データや各種情報の送受信を行う。この例では、ＭＦＰ１０１は、ＬＡＮ１０３に接続されているがその限りではない。ＭＦＰ１０１は、サーバ１０２に接続可能であればよい。なお、サーバ１０２は、画像入力装置から入力される画像の分類ルールの学習に用いる学習データを生成する情報処理装置である。具体的には、サーバ１０２は、画像入力装置から入力された画像の回転方向を統一した学習データを生成し、生成した学習データに基づいて画像の分類ルールを構築する。
【００１４】
図２は、ＭＦＰの構成例を示す図である。
図２（Ａ）は、ＭＦＰ１０１のハードウェア構成の一例を示す図である。図２（Ａ）に示すように、ＭＦＰ１０１は、コントローラ２０乃至操作部２０７を備える。装置制御部２００は、ＭＦＰ１０１の内部及びネットワークＩ／Ｆ部２０６を経由した外部とのデータの受け渡しや、操作部２０７からの操作の受け付けを行う。画像読取部２０１は、原稿の画像を読み取り、画像データを出力する。
【００１５】
画像処理部２０２は、画像読取部２０１や外部から入力される画像データを含む印刷情報を中間情報（以下「オブジェクト」と呼ぶ）に変換し、記憶部２０３のオブジェクトバッファに格納する。オブジェクトは、テキスト、グラフィック、イメージの属性を持つ。画像処理部２０２は、さらにバッファに格納したオブジェクトに基づきビットマップデータを生成し、記憶部２０３のバッファに格納する。その際、色変換処理、濃度調整処理、トナー総量制御処理、ビデオカウント処理、プリンタガンマ補正処理、ディザなどの疑似中間調処理を行う。
【００１６】
記憶部２０３は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）などから構成される。ＲＯＭは、ＣＰＵ２０４が実行する各種の制御プログラムや画像処理プログラムを格納する。ＲＡＭは、ＣＰＵ２０４がデータや各種情報を格納する参照領域や作業領域として用いられる。また、ＲＡＭ及びＨＤＤは、上述したオブジェクトを格納するバッファなどに用いられる。ＲＡＭ及びＨＤＤ上で画像データを蓄積し、ページのソートや、ソートされた複数ページにわたる原稿を蓄積し、複数部プリント出力を行う。
【００１７】
画像出力部２０５は、記録紙などの記録媒体にカラー画像を形成して出力する。ネットワークＩ／Ｆ部２０６は、ＭＦＰ１０１をＬＡＮ１０３に接続し、インターネット１０４や他の装置との間で各種情報を送受信する。操作部２０７は、タッチパネルや操作ボタンを備え、ユーザからの操作を受け付けて装置制御部２００へ該操作の情報を送信する。
【００１８】
図２（Ｂ）は、ＭＦＰ１０１の外観の一例を示す図である。画像読取部２０１は、複数のＣＣＤを有している。各ＣＣＤの感度が夫々異なっていると、たとえ原稿上の各画素の濃度が同じであったとしても、各画素が夫々違う濃度であると認識されてしまう。そのため、画像読取部では、最初に白板（一様に白い板）を露光走査し、露光走査して得られた反射光の量を電気信号に変換してコントローラに出力している。なお、画像処理部２０２内のシェーディング補正部は、各ＣＣＤから得られた電気信号を元に、各ＣＣＤの感度の違いを認識している。そして、認識された感度の違いを利用して、原稿上の画像をスキャンして得られた電気信号の値を補正している。
【００１９】
さらに、シェーディング補正部は、コントローラ２０内のＣＰＵ２０４からゲイン調整の情報を受取ると、当該情報に応じたゲイン調整を行う。ゲイン調整は、原稿を露光走査して得られた電気信号の値を、どのように０〜２５５の輝度信号値に割り付けるかを調整するために用いられる。ゲイン調整により、原稿を露光走査して得られた電気信号の値を高い輝度信号値に変換したり、低い輝度信号値に変換したりすることができるようになっている。すなわち、ゲイン調整により、読み取り信号のダイナミックレンジの調整が可能である。
【００２０】
続いて、原稿上の画像をスキャンする構成について説明する。
画像読取部２０１は、原稿上の画像を露光走査して得られた反射光をＣＣＤに入力することで画像の情報を電気信号に変換する。さらに電気信号をレッドＲ、グリーンＧ、及びブルーＢの各色からなる輝度信号に変換し、当該輝度信号を画像としてコントローラ２０に対して出力する。
【００２１】
なお、原稿は、原稿フィーダ２１１のトレイ２１２にセットされる。ユーザが操作部２０７から読み取り開始を指示すると、コントローラ２０から画像読取部２０１に原稿読み取り指示が与えられる。画像読取部２０１は、この指示を受けると原稿フィーダ２１１のトレイ２１２から原稿を１枚ずつフィードして、原稿の読み取り動作を行う。なお、原稿の読み取り方法は、原稿フィーダ２１１による自動送り方式に限られるものではなく、原稿を不図示のガラス面上に載置し露光部を移動させることで原稿の走査を行う方法であってもよい。
【００２２】
画像出力部２０５は、コントローラ２０から受取った画像を用紙上に形成する画像形成デバイスである。なお、本実施形態において、画像形成方式は、感光体ドラムや感光体ベルトを用いた電子写真方式であるが、これに限られるものではない。例えば、微少ノズルアレイからインクを吐出して用紙上に印字するインクジェット方式などであっても本発明は適用可能である。また、画像出力部２０５には、異なる用紙サイズ、または異なる用紙向きを選択可能とする複数の用紙カセット２１３乃至２１５が設けられている。排紙トレイ２１６には印字後の用紙が排出される。
【００２３】
図３は、サーバのハードウェア構成の一例を示す図である。
サーバ１０２は、ＣＰＵ３０１乃至データバス３０６を備える。ＣＰＵ３０１は、ＲＯＭ３０３に記憶された制御プログラムを読み出して各種制御処理を実行する。ＲＡＭ３０２は、ＣＰＵ３０１の主メモリ、ワークエリア等の一時記憶領域として用いられる。ネットワークＩ／Ｆ部３０４は、サーバ１０２をインターネット１０４に接続し、他の装置との間で各種情報を送受信する。ＨＤＤ３０５は、画像データ、特徴量データ、及び各種プログラムなどを記憶する。
【００２４】
図３において、ネットワークＩ／Ｆ部３０４を介して受信したＭＦＰ１０１からの画像データを、データバス３０６を介してＣＰＵ３０１、ＲＡＭ３０２、ＲＯＭ３０３が送受する。ＣＰＵ３０１がＲＯＭ３０３やＨＤＤ３０５に格納された画像処理プログラムを実行することによって、画像データに対する画像処理が実現される。
【００２５】
＜第１実施形態に係る画像分類ルールを学習する処理の詳細＞
図４は、画像分類ルールを学習する処理を説明するためのフローチャートである。
図４に示す処理は、ＭＦＰ１０１及びサーバ１０２により実行される。図４に示す処理のうち、ＭＦＰ１０１が実行する処理は、ＣＰＵ２０４が記憶部２０３に格納されている処理プログラムを記憶部２０３にロードして実行することにより実現される。また、サーバ１０２が実行する処理は、ＣＰＵ３０１が、ＨＤＤ３０５に格納されている処理プログラムをＲＡＭ３０２にロードして実行することにより実現される。
【００２６】
ステップＳ４０１において、ＭＦＰ１０１は、操作部２０７からユーザの指示を受け付けると、原稿フィーダ２１１のトレイ２１２から原稿を１枚ずつフィードして、画像読取部２０１で原稿を読み取る。なお、ここでトレイ２１２にセットされる原稿は、同じ種類の帳票とし、画像分類ルールにおいて同一の分類先に分類されるものとする。ステップＳ４０２において、ＭＦＰ１０１は、ネットワークＩ／Ｆ部２０６を通じてサーバ１０２に画像読取部２０１で読み取られた画像データを送信する。
【００２７】
ステップＳ４０３において、サーバ１０２は、ＬＡＮ１０３、インターネット１０４を経由して、ＭＦＰ１０１から画像データ（入力画像）を受信する。ＣＰＵ３０１は、受け付けた複数の画像データをＨＤＤ３０５に入力画像群として格納する。ステップＳ４０４において、サーバ１０２は、ステップＳ４０３で格納した入力画像群の方向を統一する画像方向統一処理を実行する。画像方向統一処理の詳細については、図５を用いて後述する。
【００２８】
ステップＳ４０５において、サーバ１０２は、ステップＳ４０４で方向の統一された入力画像群を学習セットとしてＨＤＤ３０５に登録する。ステップＳ４０６において、サーバ１０２は、学習セットの登録完了通知を、ネットワークＩ／Ｆ部３０４を通じてＭＦＰ１０１に送信する。ステップＳ４０７において、ＭＦＰ１０１は、インターネット１０４、ＬＡＮ１０３を経由して、サーバ１０２から学習セットの登録完了通知を受信する。
【００２９】
ステップＳ４０８において、ＭＦＰ１０１は、帳票の読み取りを続けるか否かの指示を、ユーザから操作部２０７を介して受け付ける。帳票の読み取りを続ける場合には、処理はステップＳ４０１に戻る。帳票の読み取りを続けない場合には、処理はステップＳ４０９に進む。なお、帳票の読み取りを続けるか否かの判断は、上述した方法に限られるものではない。例えば、ステップＳ４０１における帳票の読み取り回数をカウントし、あらかじめユーザによって操作部２０７を介して設定された帳票の読み取り回数に達するまで帳票の読み取りを続けてもよい。
【００３０】
ステップＳ４０９において、ＭＦＰ１０１は、ネットワークＩ／Ｆ部２０６を通じてサーバ１０２に帳票の読み取り完了通知を送信する。ステップＳ４１０において、サーバ１０２は、ＬＡＮ１０３、インターネット１０４を経由して、ＭＦＰ１０１から帳票の読み取り完了通知を受信する。ステップＳ４１１において、サーバ１０２は、機械学習を利用して文書画像の分類ルールを学習する。すなわち、サーバ１０２は、分類ルール生成を行う。学習を行う際には、ＨＤＤ３０５に格納されている学習セットから画像特徴量を算出して利用する。なお、分類ルールの学習に利用する画像特徴量及び機械学習は、ステップＳ４０４の画像方向統一処理で利用する画像特徴量及び機械学習と同一の方法を取ってもよいし、取らなくてもよい。
【００３１】
ステップＳ４１２において、サーバ１０２は、分類ルールの学習完了通知を、ネットワークＩ／Ｆ部３０４を通じてＭＦＰ１０１に送信する。ステップＳ４１３において、ＭＦＰ１０１は、インターネット１０４、ＬＡＮ１０３を経由して、サーバ１０２から分類ルールの学習完了通知を受信する。
【００３２】
＜第１実施形態に係る画像方向統一処理の詳細＞
図５は、画像方向統一処理を説明するためのフローチャートである。
図５に示す画像方向統一処理では、基準画像に基づいて方向判別器を生成し、生成した方向判別器を利用して入力画像群の方向を統一する。画像方向統一処理は、サーバ１０２のＣＰＵ３０１が、ＨＤＤ３０５に格納されている処理プログラムをＲＡＭ３０２にロードして実行することにより実現される。
【００３３】
ステップＳ５０１において、サーバ１０２は、入力画像群の中から方向判別器の生成に利用する基準画像を決定する。なお、本実施形態では入力画像群の先頭画像を基準画像とするが、基準画像の決定方法はこれに限られるものではない。例えば、操作部２０７のタッチパネルに入力画像群のサムネイル画像を表示し、ユーザから基準画像を決定する指示を受け付けてもよい。
【００３４】
ステップＳ５０２において、サーバ１０２は、画像の方向を統一する基準となる方向である基準方向を決定する。本実施形態において、基準方向は、基準画像の方向とするが、基準方向の決定方法はこれに限られるものではない。例えば、操作部２０７のタッチパネルに基準画像のサムネイル画像を表示し、ユーザから方向の指示を受け付けてもよい。
【００３５】
ステップＳ５０３において、サーバ１０２は、基準画像をシミュレーションによって変形し、基準画像を所定の角度に回転させた回転画像を生成する画像回転処理を実行する。すなわち、サーバ１０２は、回転画像生成手段として機能する。画像回転処理は、サーバ１０２が、基準画像に対して回転行列を利用した射影変換を実行することにより実現する。本実施形態では、画像の入力装置をＭＦＰのスキャナとしているため、基準画像を回転させる所定の角度は、時計回りに、９０度、１８０度、及び２７０度の３種類である。なお、基準画像を回転させる所定の角度は、上述した３種類に限定されるものではない。画像の入力装置によっては、入力される画像の方向を限定することができる場合があり得る。また、例えば、入力される画像の縦横比を前処理で限定することができる場合には、画像回転処理で生成する画像の方向は、１８０度回転方向のみとしてもよい。
【００３６】
ステップＳ５０４において、サーバ１０２は、ステップＳ５０１で決定した基準画像及びステップＳ５０３で生成した回転画像から画像特徴量を算出する。算出する画像特徴量の詳細については、図６及び図７を用いて後述する。なお、後述するステップＳ５０５において、方向判別器を生成する際に機械学習を利用する場合には、生成する方向判別器の判別精度を上げるために方向判別器用の学習データを増やす学習データ増加処理を実行する。この場合、サーバ１０２は、学習データ増加処理を実行してから画像特徴量を算出する。学習データ増加処理の詳細については、図８を用いて後述する。
【００３７】
ステップＳ５０５において、サーバ１０２は、ステップＳ５０４で算出した画像特徴量を用いて方向判別器を生成する。すなわち、サーバ１０２は、判別器生成手段として機能する。方向判別器は、ステップＳ５０２で決定した基準方向またはステップＳ５０３で生成した回転画像の方向のいずれであるかを判別する。本実施形態では、機械学習を利用して方向判別器を生成する。機械学習については、図９を用いて後述する。なお、方向判別器は、機械学習を利用して生成されるものに限らない。例えば、ステップＳ５０３で算出した画像特徴量とのマッチングを単純に行うような判別方法でもよい。
【００３８】
ステップＳ５０６において、サーバ１０２は、入力画像群の中から画像を１枚選択する。ステップＳ５０７において、サーバ１０２は、ステップＳ５０６で選択した画像から、ステップＳ５０４と同様の手順で画像特徴量を算出する。なお、ステップＳ５０５において、機械学習を利用した方向判別器を生成する場合には、ステップＳ５０４で算出する画像特徴量を全て算出する必要はない。ステップＳ５０５において生成した方向判別器で必要となる画像特徴量のみ算出すればよい。
【００３９】
ステップＳ５０８において、サーバ１０２は、方向判別処理を実行する。具体的には、ステップＳ５０５で生成した方向判別器を適用し、ステップＳ５０６で選択した画像が、ステップＳ５０２で決定した基準方向またはステップＳ５０３で生成した回転画像の方向のいずれであるかを判別する。ステップＳ５０９において、サーバ１０２は、ステップＳ５０８で判別した方向が、ステップＳ５０２で決定した基準方向でない場合、処理をステップＳ５１０に進める。また、ステップＳ５０８で判別した方向が、ステップＳ５０２で決定した基準方向である場合、処理をステップＳ５１１に進める。
【００４０】
ステップＳ５１０において、サーバ１０２は、ステップＳ５０９で基準方向でないと判別した画像が基準方向となるように画像回転処理を実行する。画像の回転角度は、ステップＳ５０８で判別した方向を基に決定する。例えば、画像が時計回りに９０°回転していると判別された場合には、画像を反時計回りに９０°回転させればよい。画像の回転処理は、ステップＳ５０３で説明した処理を同様の手順で実行する。
【００４１】
ステップＳ５１１において、サーバ１０２は、入力画像群の全ての画像に対して、方向判別処理が終了したか否かを判断する。方向判別処理が終了していない画像がある場合には、処理をステップＳ５０６に戻す。全ての画像に対して方向判別処理が終了している場合には、画像方向統一処理を終了する。
【００４２】
＜画像方向統一処理で利用する画像特徴量の詳細＞
次に、画像方向統一処理で利用する画像特徴量について、図６及び図７を用いて説明する。
図６は、勾配情報に基づく画像特徴量の算出方法を説明する図である。
図６に示す画像特徴量の算出方法では、画像特徴量として、パッチ画像内の画素ごとに算出した勾配強度と勾配方向を利用する。具体的には、ＣＰＵ３０１が、パッチ画像内の全ての画素について、縦方向と横方向のエッジ情報から勾配強度と勾配方向を求める。ＣＰＵ３０１は、勾配情報を利用して、図６に示すように、１パッチから９次元（９個）の特徴量を算出する。
【００４３】
１パッチから９次元の特徴量を算出するには、まず各画素について勾配強度が一定値以上の画素をエッジ画素、一定値より小さい画素を非エッジ画素とする。そして、エッジ画素群から勾配方向を８方向に量子化し、方向ごとの勾配強度積算値／パッチ画素数を計算する。さらに、非エッジ画素数／パッチ画素数と合わせて、１つのパッチ画像から９次元の特徴量が算出される。このように、エッジ画素と非エッジ画素を利用することにより、罫線や文字の情報だけでなく、文書画像の大きな特徴である余白部分を表現することが可能となる。なお、上述したように１つのパッチ画像における特徴量を算出するだけでなく、実際には複数のパッチ画像を切り出して利用することにより、多数の特徴量を利用する。
【００４４】
図７は、パッチ画像の切り出しを説明する図である。
まず、ＣＰＵ３０１は、ノイズの表れやすい画像端を削除し、複数の解像度の画像を作成する。複数の解像度の画像を作成する理由は、解像度ごとにエッジの構造が変わるためである。次に、ＣＰＵ３０１は、それぞれの解像度の画像から複数のサイズのパッチ画像を走査しながら切り出すことにより、パッチ画像位置を考慮した特徴量を算出することができる。
【００４５】
例えば、３００ｄｐｉでスキャンした画像から特徴量を抽出する場合について説明する。まず、ＣＰＵ３０１は、スキャン画像を１／４サイズと１／８サイズに縮小した２種類の画像を作成する。次に、ＣＰＵ３０１は、縮小した各解像度の画像から１／４サイズのパッチ画像を１／５ずつずらして５×５＝２５枚切り出す。また、１／８サイズのパッチ画像を１／１０ずつずらして１０×１０＝１００枚切り出す。これらの処理により、計２５０個のパッチ画像を切り出す。そして、上述したように、各パッチ画像から９次元の画像特徴量を算出する場合には、画像１枚から９×２５０＝２２５０次元の特徴量を算出することが可能となる。
【００４６】
なお、画像解像度、パッチサイズ、及びパッチ切り出し位置に関する各パラメータは、上述した数字に限定されるものではない。また、算出する画像特徴量として上述した他に、例えば、原稿の色の情報を利用するために、色ヒストグラムや色分散等を画像特徴量としてもよい。
【００４７】
＜学習データ増加処理の詳細＞
画像方向統一処理において、機械学習を利用して方向判別器を生成する場合に実行される、学習データを増やす処理である学習データ増加処理について説明をする。
本実施形態では、画像に対してシミュレーションによって変形処理を実行することにより変形画像が得られる。そして、変形処理の組み合わせにより学習データとする変形画像を増やしていく。
【００４８】
図８は、学習データ増加処理を説明する図である。具体的には、変形処理であるシフト処理、回転処理、及び拡大縮小処理を説明する図である。
シフト処理、回転処理、及び拡大縮小処理などの幾何学的変形処理は、射影変換行列を利用して実現される。図８（Ａ）は、シフト処理を表している。シフト処理では、画像を上、下、左、右、または左上、右上、左下、右下に一定量並行移動させることにより８パターンの変形画像を得る。図８（Ｂ）は、回転処理を表している。回転処理では、画像を時計回り及び反時計回りに一定量回転させることにより２パターンの変形画像を得る。図８（Ｃ）は、拡大縮小処理を表している。拡大縮小処理では、画像を一定倍率だけ拡大または縮小することにより２パターンの変形画像を得る。
【００４９】
なお、それぞれの変形処理において、入力画像と出力画像とは同サイズである。射影変換後に出力画像の画像領域外にはみ出てしまう画像外領域については破棄する。また、出力画像の内部で射影元の存在しない欠損領域については、非欠損画素の画素値を順次コピーしていくことで補完する。この欠損領域の扱いについては、上述した方法による補完に限られるものではない。例えば、入力画像から推定した背景画素に置き換えるような他の補完方法を用いてもよく、また、補完は行なわずに欠損画素に対して欠損画素であるというフラグ情報を付加し、マスク処理に利用する方法を用いてもよい。
【００５０】
学習データ増加処理では、これらシフト処理、回転処理、及び拡大縮小処理の各変形処理のパターンに、それぞれの変形を行わないというパターンも含めて、変形パターンを組み合わせることにより、学習データとして変形画像を増やしていくことができる。すなわち、１枚の画像データから変形パターンの組み合わせの数だけ変形画像を得ることができる。具体的には、上述した各変形処理のパターンに変形を行わない場合のパターンを加えると、シフト処理が９パターン、回転処理が３パターン、拡大縮小処理が３パターンである。そして、これら各パターンを組み合わせることにより、１枚の画像から３×９×３＝８１パターンの変形画像を生成し、学習データを増加させる。なお、それぞれの変形処理のパターン数は上述の数字に限定されるものではない。
【００５１】
＜利用する機械学習の詳細＞
次に、本実施形態において方向判別器の生成に利用する機械学習の手法について説明する。
本実施形態では、機械学習の手法としてＲｅａｌ  ＡｄａＢｏｏｓｔと呼ばれる公知の手法を利用する。Ｒｅａｌ  ＡｄａＢｏｏｓｔは、大量の特徴量から、与えられた学習データの分類に適した特徴量を選択して、その特徴量を組み合わせて分類器を構成することが可能な方法である。画像の分類時に大量の特徴量を利用すると、特徴量の計算負荷のためにパフォーマンスが低下してしまう。このように、分類に適した特徴量を選択して、一部の特徴量だけを利用し、分類器を構成できることは、Ｒｅａｌ  ＡｄａＢｏｏｓｔの大きな利点である。
【００５２】
ただし、Ｒｅａｌ  ＡｄａＢｏｏｓｔは、２クラス分類器であり、２種類のラベルがついたデータを分類するものである。つまり、このままでは、３種類以上の文書画像の方向判別には利用することができない。そこで、２クラス分類器を多クラス分類器に拡張するＯＶＡ（Ｏｎｅ−Ｖｅｒｓｕｓ−Ａｌｌ）と呼ばれる公知の方法を利用する。ＯＶＡは、１つのクラス（対象クラス）とそれ以外のクラスを分類する分類器をクラスの数だけ作成し、それぞれの分類器の出力を、対象クラスの信頼度とする。分類の際には、分類したいデータをすべての分類器に入力し、信頼度が最大であったクラスを分類先とする。
【００５３】
図９は、学習データを用いた機械学習の例を説明する図である。
この例では、学習データとして、４つのクラスの画像（基準方向、９０°回転方向、１８０°回転方向、及び２７０°回転方向の画像）のそれぞれに対応する画像特徴量が用意されているものとする。この４つのクラスを分類するために、ＯＶＡでは４種類の分類器を用意する。すなわち、４種類の分類器は、基準方向と基準方向以外（その他の回転方向）を判別するための基準方向判別器であり、９０°回転方向とその他の回転方向を判別するための９０°回転方向判別器である。さらに、１８０°回転方向とその他の回転方向を判別するための１８０°回転方向判別器であり、２７０°回転方向とその他の回転方向を判別するための２７０°回転方向判別器である。
【００５４】
基準方向判別器は、基準方向の画像が入力された場合に、大きい出力値（確信度）が出力され、それ以外の回転方向の画像が入力された場合は、小さい出力値（確信度）が出力される。９０°回転方向判別器、１８０°回転方向判別器、及び２７０°回転方向判別器についても同様である。実際の分類を行う際には、入力文書画像を４種類の分類器に入力し、その出力値の比較を行って回転方向を決定する。例えば、１８０°回転方向判別器の出力が最大であった場合には、その入力文書画像が１８０°回転方向であると判別する。
【００５５】
図９を参照して説明したＲｅａｌ  ＡｄａＢｏｏｓｔとＯＶＡを利用した多クラス分類器の学習と、多クラス分類器を利用した文書画像分類は、ＣＰＵ３０１で実行される。なお、本実施形態で利用可能な機械学習の手法は、上述した手法に限定されるものではない。例えば、Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  ＭａｃｈｉｎｅやＲａｎｄｏｍ  Ｆｏｒｅｓｔ等の公知の手法を利用してもよい。特徴量選択の枠組みが利用する機械学習の手法に含まれていない場合には、分類時の分類速度を向上させるために主成分分析や判別分析を利用した特徴量選択等の公知の特徴量選択を行うこともあり得る。利用する機器学習の手法が２クラス分類器である場合は、ＯＶＡ以外のＡｌｌ−Ｖｅｒｓｕｓ−Ａｌｌ（ＡＶＡ）やＥｒｒｏｒ−Ｃｏｒｒｅｃｔｉｎｇ  Ｏｕｔｐｕｔ−Ｃｏｄｉｎｇ（ＥＣＯＣ）等の公知の手法を用いてもよい。
【００５６】
以上のように、本実施形態によれば、ＭＦＰ等の画像入力装置から入力された画像に対して、様々な向きに対応した方向判別器を生成することにより、学習データの生成に用いる画像の向きを統一することができる。これにより、画像入力装置から入力された画像に様々な向きの画像が含まれているような場合であっても、高品質の学習データを生成することが可能となる。
【００５７】
（第２実施形態）
第１実施形態では、ＭＦＰのトレイにセットされる原稿は、同じ種類の帳票としていた。すなわち、ＭＦＰの画像読取部で一度に読み取られる原稿は、同じ種類の帳票であることを想定していた。そのため、一度に読み取られた入力画像群は、サーバで一律に画像方向統一処理が実行されていた。これに対して、本実施形態では、トレイにセットされ、画像読取部で一度に読み取られる原稿が異なる種類の帳票である場合を想定する。具体的には、異なる種類の帳票が決まった順番で並んでいるような書類一式が読み取られる場合を想定する。なお、以下では第１実施形態と差分がある部分についてのみ説明する。
【００５８】
＜第２実施形態に係る画像分類ルールを学習する処理の詳細＞
図１０は、本実施形態に係る画像分類ルールを学習する処理を説明するためのフローチャートである。
図１０に示す処理は、ＭＦＰ１０１及びサーバ１０２により実行される。図１０に示す処理のうち、ＭＦＰ１０１が実行する処理は、ＣＰＵ２０４が記憶部２０３に格納されている処理プログラムを記憶部２０３にロードして実行することにより実現される。また、サーバ１０２が実行する処理は、ＣＰＵ３０１が、ＨＤＤ３０５に格納されている処理プログラムをＲＡＭ３０２にロードして実行することにより実現される。
【００５９】
ステップＳ１００１において、ＭＦＰ１０１は、操作部２０７からユーザの指示を受け付けると、原稿フィーダ２１１のトレイ２１２から原稿を１枚ずつフィードして、画像読取部２０１で原稿を読み取る。なお、ここでトレイ２１２にセットされる原稿は、異なる種類の帳票で構成される原稿とし、学習する画像分類ルールにおいて異なる分類先に分類されるものとする。また、複数回にわたって原稿を読み取る場合には、２回目以降に読み取る原稿は、最初に読み取った原稿と同じ種類の帳票が同じ順番で並んでいる原稿とする。
【００６０】
ステップＳ１００２乃至ステップＳ１００３は、図４のステップＳ４０２乃至ステップＳ４０３と同様である。ステップＳ１００４において、サーバ１０２は、ステップＳ１００３で受け付けた入力画像群が、最初に読み込まれた入力画像群であるか否かを判断する。最初に読み込まれた入力画像群である場合には、サーバ１０２は、処理をステップＳ１００５に進める。最初に読み込まれた入力画像群でない場合には、サーバ１０２は、処理をステップＳ１００６に進める。
【００６１】
ステップＳ１００５において、サーバ１０２は、入力画像群のそれぞれの画像について、方向判別器を生成する。方向判別器の生成方法については、図１１を用いて後述する。ステップＳ１００６において、サーバ１０２は、画像方向統一処理を実行する。画像方向統一処理の詳細については、図１２を用いて後述する。ステップＳ１００７乃至ステップＳ１０１５は、図４のステップＳ４０５乃至ステップＳ４１３と同様である。
【００６２】
＜第２実施形態に係る方向判別器の生成方法の詳細説明＞
図１１は、本実施形態に係る方向判別器の生成方法を説明するためのフローチャートである。
本実施形態では、入力画像群が異なる帳票の画像で構成されていることを想定しているため、それぞれの帳票用に方向判別器を生成する。ステップＳ１１０１において、サーバ１０２は、入力画像群の中から画像を１枚選択する。以降のステップでは、ここで選択した画像を基準画像として処理を行う。
【００６３】
ステップＳ１１０２乃至ステップＳ１１０５は、図５のステップＳ５０２乃至ステップＳ５０５と同様である。ステップＳ１１０６において、サーバ１０２は、入力画像群の全ての画像に対して、方向判別器の生成が終了したかどうかを判断する。方向判別器を生成していない画像がある場合には、処理はステップＳ１１０１に戻る。全ての画像に対して方向判別器の生成が終了している場合には、方向判別器の生成処理を終了する。
【００６４】
＜第２実施形態に係る画像方向統一処理の詳細＞
図１２は、本実施形態に係る画像方向統一処理を説明するためのフローチャートである。
本実施形態では、入力画像群が異なる種類の帳票の画像で構成されていることを想定しているため、それぞれの帳票用に生成した方向判別器を利用し、それぞれの帳票の画像の方向を統一する。ステップＳ１２０１乃至ステップＳ１２０２は、図５のステップＳ５０６乃至Ｓ５０７と同様である。
【００６５】
ステップＳ１２０３において、サーバ１０２は、方向判別処理を実行する。具体的には、図１１のステップＳ１１０５で生成した方向判別器を適用し、ステップＳ１２０１で選択した画像が、図１１のステップＳ１１０２で決定した基準方向または図１１のステップＳ１１０３で生成した回転画像の方向のいずれであるかを判別する。なお、本実施形態では、異なる種類の帳票が決まった順番で並んでいることを想定しているため、図１１のステップＳ１１０５でそれぞれの帳票用に生成した方向判別器を利用してステップＳ１２０１で選択した画像に合わせた方向判別器を適用することができる。
【００６６】
ステップＳ１２０４乃至ステップ１２０５は、図５のステップＳ５０９乃至ステップＳ５１０と同様である。ステップＳ１２０６において、サーバ１０２は、入力画像群の全ての画像に対して、方向判別処理が終了したか否かを判断する。方向判別処理が終了していない画像がある場合には、処理をステップＳ１２０１に戻す。全ての画像に対して方向判別処理が終了している場合には、画像方向統一処理を終了する。
【００６７】
このように、本実施形態によれば、第１実施形態と同様の効果を奏する。さらに、本実施形態によれば、異なる種類のクラスに分類される画像が、複数回にわたって画像入力装置から入力される場合であっても、各々の種類に対応した方向判別器を生成することにより、入力された画像の向きを統一することができる。
【００６８】
なお、上述した各実施形態において生成した学習データに基づく分類ルールを用いて、ＭＦＰから新たに読み取られた画像を分類するプロセスにおいては、図５のＳ５０５で生成した方向判別器を用いればよい。具体的には、分類したい入力画像をＭＦＰ１０１で読み込み、分類ルールを適用する前に、方向判別器により画像の向きを基準方向に揃える。これにより、分類ルールを学習する際の入力画像の向き（基準方向）と、分類したい入力画像の向きを統一することが可能となる。すなわち、学習の際にＭＦＰにセットした原稿の向きと、分類の際にセットする原稿の向きとが異なる場合であっても、分類を行うことが可能となる。
【００６９】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００７０】
以上、本発明の好ましい実施形態について説明したが、本発明は、これらの実施形態に限定されず、その要旨の範囲内で種々の変形および変更が可能である。
【符号の説明】
【００７１】
１０１  ＭＦＰ
１０２  サーバ
【図１】
0006494435.tif 000002
【図２】
0006494435.tif 000003
【図３】
0006494435.tif 000004
【図４】
0006494435.tif 000005
【図５】
0006494435.tif 000006
【図６】
0006494435.tif 000007
【図７】
0006494435.tif 000008
【図８】
0006494435.tif 000009
【図９】
0006494435.tif 000010
【図１０】
0006494435.tif 000011
【図１１】
0006494435.tif 000012
【図１２】
0006494435.tif 000013