(57)【要約】【課題】識別対象の撮影画像に複数の物体が含まれる場合に、各物体を精度良く識別することを目的とする。【解決手段】撮影画像から、物体の有無を検知する物体検知手段と、物体検知手段により複数の物体が検知された場合に、複数の物体それぞれの種別を識別し、各識別結果の確からしさを示す評価値を算出する第１の識別手段と、評価値に基づいて、第１の識別手段により、複数の物体それぞれに対して得られた複数の識別結果のうち一の識別結果を選択する結果選択手段と、各物体の種別に対し、同一の撮影画像に含まれる物体の種別を対応付ける物体対応テーブルを参照し、物体対応テーブルにおいて、結果選択手段により選択された識別結果に対応付けられている種別に基づいて、結果選択手段により選択された識別結果以外の他の識別結果が得られた物体に対し、再び種別を識別する第２の識別手段とを有する。【選択図】図４
2017073039.tif 000002
【特許請求の範囲】
【請求項１】
撮影画像から、物体の有無を検知する物体検知手段と、
前記物体検知手段により複数の物体が検知された場合に、複数の物体それぞれの種別を識別し、各識別結果の確からしさを示す評価値を算出する第１の識別手段と、
前記評価値に基づいて、前記第１の識別手段により、前記複数の物体それぞれに対して得られた複数の識別結果のうち一の識別結果を選択する結果選択手段と、
各物体の種別に対し、同一の撮影画像に含まれる物体の種別を対応付ける物体対応テーブルを参照し、前記物体対応テーブルにおいて、前記結果選択手段により選択された前記識別結果に対応付けられている種別に基づいて、前記結果選択手段により選択された識別結果以外の他の識別結果が得られた物体に対し、再び種別を識別する第２の識別手段と
を有することを特徴とする物体識別装置。
【請求項２】
前記結果選択手段は、前記評価値が最大の識別結果を選択することを特徴とする請求項１に記載の物体識別装置。
【請求項３】
前記第２の識別手段は、前記結果選択手段により選択された前記識別結果に基づいて、前記選択された識別結果以外の他の識別結果を識別する識別器を用いて、種別を識別することを特徴とする請求項１又は２に記載の物体識別装置。
【請求項４】
前記物体の種別と、前記物体対応テーブルにおいて前記物体の種別に対応付けられている他の種別を識別する識別器と、を対応付ける識別器対応テーブルを参照し、前記結果選択手段により選択された前記識別結果から前記識別器を選択する識別器選択手段をさらに有し、
前記第２の識別手段は、前記識別器選択手段により選択された前記識別器を用いて、種別を識別することを特徴とする請求項３に記載の物体識別装置。
【請求項５】
物体識別装置が実行する物体識別方法であって、
撮影画像から、物体の有無を検知する物体検知ステップと、
前記物体検知ステップにおいて複数の物体が検知された場合に、複数の物体それぞれの種別を識別し、各識別結果の確からしさを示す評価値を算出する第１の識別ステップと、
前記評価値に基づいて、前記第１の識別ステップにおいて、前記複数の物体それぞれに対して得られた複数の識別結果のうち一の識別結果を選択する結果選択ステップと、
各物体の種別に対し、同一の撮影画像に含まれる物体の種別を対応付ける物体対応テーブルを参照し、前記物体対応テーブルにおいて、前記結果選択ステップにおいて選択された前記識別結果に対応付けられている種別に基づいて、前記結果選択ステップにおいて選択された識別結果以外の他の識別結果が得られた物体に対し、再び種別を識別する第２の識別ステップと
を含むことを特徴とする物体識別方法。
【請求項６】
コンピュータを、
撮影画像から、物体の有無を検知する物体検知手段と、
前記物体検知手段により複数の物体が検知された場合に、複数の物体それぞれの種別を識別し、各識別結果の確からしさを示す評価値を算出する第１の識別手段と、
前記評価値に基づいて、前記第１の識別手段により、前記複数の物体それぞれに対して得られた複数の識別結果のうち一の識別結果を選択する結果選択手段と、
各物体の種別に対し、同一の撮影画像に含まれる物体の種別を対応付ける物体対応テーブルを参照し、前記物体対応テーブルにおいて、前記結果選択手段により選択された前記識別結果に対応付けられている種別に基づいて、前記結果選択手段により選択された識別結果以外の他の識別結果が得られた物体に対し、再び種別を識別する第２の識別手段と
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、物体識別装置、物体識別方法及びプログラムに関する。
【背景技術】
【０００２】
従来、文書をスキャンして電子データとして保存する場合、撮像にラインセンサを用いるラインスキャナと、２次元の撮像センサを用いるカメラスキャナとがある。特に、書画台の上方にカメラを配置し、原稿を上向きに書画台に置いて撮像するカメラスキャナの場合には、１枚の原稿であれば置くだけで素早くスキャンすることができると供に、本のように厚みのある原稿も容易に書画台に置いてスキャンすることができる。
【０００３】
特許文献１には、カメラとプロジェクタを用いて、置かれている物体に応じたＵＩを提供するシステムが開示されている。机の下に設置したカメラにより、バーコードを付与した物体を撮影し、認識を行う。システムは認識した結果に対応する対応するＵＩをプロジェクタによって投影する。ユーザは置かれたものを回転させることにより、ＵＩの選択を行うことが可能となる。選択するＵＩによっては別の物体を新たに置き、物体間で連携したＵＩの提示を行っている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−７９５２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１の技術では、物体に対しバーコード等を付与する必要があり、載置する物体が制限される。このため、ユーザの利便性が低いという問題があった。また、複数の物体が置かれる場合もあり、複数の物体それぞれを精度よく識別する技術が望まれている。
【０００６】
本発明はこのような問題点に鑑みなされたもので、識別対象の撮影画像に複数の物体が含まれる場合に、各物体を精度良く識別することを目的とする。
【課題を解決するための手段】
【０００７】
そこで、本発明は、物体識別装置であって、撮影画像から、物体の有無を検知する物体検知手段と、前記物体検知手段により複数の物体が検知された場合に、複数の物体それぞれの種別を識別し、各識別結果の確からしさを示す評価値を算出する第１の識別手段と、前記評価値に基づいて、前記第１の識別手段により、前記複数の物体それぞれに対して得られた複数の識別結果のうち一の識別結果を選択する結果選択手段と、各物体の種別に対し、同一の撮影画像に含まれる物体の種別を対応付ける物体対応テーブルを参照し、前記物体対応テーブルにおいて、前記結果選択手段により選択された前記識別結果に対応付けられている種別に基づいて、前記結果選択手段により選択された識別結果以外の他の識別結果が得られた物体に対し、再び種別を識別する第２の識別手段とを有することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、識別対象の撮影画像に複数の物体が含まれる場合に、各物体を精度良く識別することができる。
【図面の簡単な説明】
【０００９】
【図１】第１の実施形態に係るスキャンシステムを示す図である。
【図２】カメラスキャナを示す図である。
【図３】コントローラ部のハードウェア構成例を示す図である。
【図４】制御用プログラムの機能構成を示す図である。
【図５】距離画像取得部の処理を示すフローチャートである。
【図６】距離画像の計測原理を説明するための図面である。
【図７】物体識別部による学習処理を示すフローチャートである。
【図８】学習画像の読み込み方法の説明図である。
【図９】物体識別部による識別処理を示すフローチャートである。
【図１０】スコアの説明図である。
【図１１】物体検知部の処理を示すフローチャートである。
【図１２】メイン制御処理を示すフローチャートである。
【図１３】単体物体識別処理を示すフローチャートである。
【図１４】ＧＵＩ対応テーブルを示す図である。
【図１５】面原稿画像撮影処理を示すフローチャートである。
【図１６】平面原稿画像撮影処理の説明図である。
【図１７】書籍画像撮影処理を示すフローチャートである。
【図１８】書籍画像撮影処理の説明図である。
【図１９】画像書籍歪み補正処理を示すフローチャートである。
【図２０】画像書籍歪み補正処理の説明図である。
【図２１】複数物体識別処理を示すフローチャートである。
【図２２】ＧＵＩ対応テーブル、物体対応テーブル及び識別器対応テーブルを示す図である。
【図２３】ＧＵＩ対応テーブルを示す図である。
【図２４】再識別処理を示すフローチャートである。
【図２５】再識別処理の説明図である。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態について図面に基づいて説明する。
【００１１】
（第１の実施形態）
図１は、第１の実施形態に係るスキャンシステムを示す図である。図１に示すように、カメラスキャナ１０１はイーサネット（登録商標）等のネットワーク１０４にてホストコンピュータ１０２及びプリンタ１０３に接続されている。ここで、カメラスキャナ１０１は、物体識別装置の一例である。図１のネットワーク構成において、ホストコンピュータ１０２からの指示により、カメラスキャナ１０１から画像を読み取るスキャン機能や、スキャンデータをプリンタ１０３により出力するプリント機能の実行が可能である。また、ホストコンピュータ１０２を介さず、カメラスキャナ１０１への直接の指示により、スキャン機能、プリント機能の実行も可能である。
【００１２】
図２（ａ）は、カメラスキャナ１０１の外観図である。図２（ａ）に示すように、カメラスキャナ１０１は、コントローラ部２０１、カメラ部２０２、腕部２０３、短焦点プロジェクタ２０７、距離画像センサ部２０８を含む。カメラスキャナの本体であるコントローラ部２０１と、撮像を行うためのカメラ部２０２、短焦点プロジェクタ２０７及び距離画像センサ部２０８は、腕部２０３により連結されている。腕部２０３は関節を用いて曲げ伸ばしが可能である。
【００１３】
図２（ａ）には、カメラスキャナ１０１が設置されている書画台２０４も示している。カメラ部２０２及び距離画像センサ部２０８のレンズは書画台２０４方向に向けられており、破線で囲まれた読み取り領域２０５内の画像を読み取り可能である。図２の例では、原稿２０６は読み取り領域２０５内に置かれているので、カメラスキャナ１０１が読み取り可能となっている。また、書画台２０４内にはターンテーブル２０９が設けられている。ターンテーブル２０９はコントローラ部２０１からの指示によって回転することが可能であり、ターンテーブル２０９上に置かれた物体とカメラ部２０２との角度を変えることができる。
【００１４】
カメラ部２０２は単一解像度で画像を撮像するものとしてもよいが、高解像度画像撮像と低解像度画像撮像が可能なものとすることが好ましい。なお、図２に示されていないが、カメラスキャナ１０１は、ＬＣＤタッチパネル３３０及びスピーカ３４０をさらに含むこともできる。
【００１５】
さらに、カメラスキャナ１０１では各ハードウェアデバイスに対して、カメラ座標系［Ｘｃ，Ｙｃ，Ｚｃ］、距離画像座標系［Ｘｓ，Ｙｓ，Ｚｓ］、プロジェクタ座標系［Ｘｐ，Ｙｐ，Ｚｐ］の３つの座標系が定義される。これらはカメラ部２０２及び距離画像センサ部２０８の後述のＲＧＢカメラ３６３が撮像する画像平面又はプロジェクタ２０７が投影する画像平面をＸＹ平面とし、画像平面に直交した方向をＺ方向として定義したものである。さらに、これらの独立した座標系の３次元データを統一的に扱えるようにするために、書画台２０４を含む平面をＸＹ平面とし、このＸＹ平面から上方に垂直な向きをＺ軸とする直交座標系を定義する。
【００１６】
座標系を変換する場合の例として、図２（ｂ）に直交座標系と、カメラ部２０２を中心としたカメラ座標系を用いて表現された空間と、カメラ部２０２が撮像する画像平面との関係を示す。直交座標系における３次元点Ｐ［Ｘ，Ｙ，Ｚ］は、（式１）によって、カメラ座標系における３次元点Ｐｃ［Ｘｃ，Ｙｃ，Ｚｃ］へ変換できる。
【数１】
2017073039.tif 000003
ここで、Ｒｃ及びｔｃは、直交座標系に対するカメラ部２０２の姿勢（回転）と位置（並進）によって求まる外部パラメータによって構成され、Ｒｃを３×３の回転行列、ｔｃを並進ベクトルと呼ぶ。
【００１７】
逆に、カメラ座標系で定義された３次元点は（式２）によって、直交座標系への変換することができる。
【数２】
2017073039.tif 000004
【００１８】
さらに、カメラ部２０２で撮影される２次元のカメラ画像平面は、カメラ部２０２によって３次元空間中の３次元情報が２次元情報に変換されたものである。すなわち、カメラ座標系上での３次元点Ｐｃ［Ｘｃ，Ｙｃ，Ｚｃ］を、（式３）によってカメラ画像平面での２次元座標ｐｃ［ｘｐ，ｙｐ］に透視投影変換することによって変換することができる。
【数３】
2017073039.tif 000005
ここで、Ａは、カメラの内部パラメータと呼ばれ、焦点距離と画像中心等で表現される３×３の行列である。
【００１９】
以上のように、（式１）と（式３）を用いることで、直交座標系で表された３次元点群を、カメラ座標系での３次元点群座標やカメラ画像平面に変換することができる。なお、各ハードウェアデバイスの内部パラメータ及び直交座標系に対する位置姿勢（外部パラメータ）は、公知のキャリブレーション手法により予めキャリブレーションされているものとする。以後、特に断りがなく３次元点群と表記した場合は、直交座標系における３次元データを表しているものとする。
【００２０】
図３は、カメラスキャナ１０１の本体であるコントローラ部２０１のハードウェア構成例を示す図である。図３に示すように、コントローラ部２０１は、システムバス３０１に接続されたＣＰＵ３０２、ＲＡＭ３０３、ＲＯＭ３０４、ＨＤＤ３０５、ネットワークＩ／Ｆ３０６及び画像処理プロセッサ３０７を有している。コントローラ部２０１はさらに、カメラＩ／Ｆ３０８、ディスプレイコントローラ３０９、シリアルＩ／Ｆ３１０、オーディオコントローラ３１１及びＵＳＢコントローラ３１２を有している。
【００２１】
ＣＰＵ３０２は、コントローラ部２０１全体の動作を制御する中央演算装置である。ＲＡＭ３０３は揮発性メモリである。ＲＯＭ３０４は、不揮発性メモリであり、ＣＰＵ３０２の起動用プログラムを格納している。ＨＤＤ３０５は、ＲＡＭ３０３と比較して大容量なハードディスクドライブ（ＨＤＤ）である。ＨＤＤ３０５にはコントローラ部２０１の実行する、カメラスキャナ１０１の制御用プログラムが格納されている。
【００２２】
ＣＰＵ３０２は、電源ＯＮ等の起動時、ＲＯＭ３０４に格納されている起動用プログラムを実行する。この起動用プログラムは、ＨＤＤ３０５に格納されている制御用プログラムを読み出し、ＲＡＭ３０３上に展開するためのものである。ＣＰＵ３０２は、起動用プログラムを実行すると、続けてＲＡＭ３０３上に展開した制御用プログラムを実行し、制御を行う。また、ＣＰＵ３０２は、制御用プログラムによる動作に用いるデータもＲＡＭ３０３上に格納して読み書きを行う。ＨＤＤ３０５上にはさらに、制御用プログラムによる動作に必要な各種設定や、カメラ入力によって生成した画像データを格納することができ、ＣＰＵ３０２によって読み書きされる。ＣＰＵ３０２はネットワークＩ／Ｆ３０６を介してネットワーク１０４上の他の機器との通信を行う。
【００２３】
画像処理プロセッサ３０７は、ＲＡＭ３０３に格納された画像データを読み出して処理し、またＲＡＭ３０３へ書き戻す。なお、画像処理プロセッサ３０７が実行する画像処理は、回転、変倍、色変換等である。カメラＩ／Ｆ３０８は、カメラ部２０２及び距離画像センサ部２０８と接続され、ＣＰＵ３０２からの指示に応じてカメラ部２０２から画像データを、距離画像センサ部２０８から距離画像データを取得してＲＡＭ３０３へ書き込む。また、ＣＰＵ３０２からの制御コマンドをカメラ部２０２及び距離画像センサ部２０８へ送信し、カメラ部２０２及び距離画像センサ部２０８の設定を行う。
【００２４】
また、コントローラ部２０１は、ディスプレイコントローラ３０９、シリアルＩ／Ｆ３１０、オーディオコントローラ３１１及びＵＳＢコントローラ３１２のうち少なくとも１つをさらに含むことができる。ディスプレイコントローラ３０９は、ＣＰＵ３０２の指示に応じてディスプレイへの画像データの表示を制御する。ここでは、ディスプレイコントローラ３０９は短焦点プロジェクタ２０７及びＬＣＤタッチパネル３３０に接続されている。シリアルＩ／Ｆ３１０はシリアル信号の入出力を行う。ここでは、シリアルＩ／Ｆ３１０はターンテーブル２０９に接続され、ＣＰＵ３０２の回転開始・終了及び回転角度の指示をターンテーブル２０９へ送信する。また、シリアルＩ／Ｆ３１０は、ＬＣＤタッチパネル３３０に接続され、ＣＰＵ３０２はＬＣＤタッチパネル３３０が押下されたときに、シリアルＩ／Ｆ３１０を介して押下された座標を取得する。
【００２５】
オーディオコントローラ３１１は、スピーカ３４０に接続され、ＣＰＵ３０２の指示に応じて音声データをアナログ音声信号に変換し、スピーカ３４０を通じて音声を出力する。ＵＳＢコントローラ３１２は、ＣＰＵ３０２の指示に応じて外付けのＵＳＢデバイスの制御を行う。ここでは、ＵＳＢコントローラ３１２はＵＳＢメモリやＳＤカード等の外部メモリ３５０に接続され、外部メモリ３５０へのデータの読み書きを行う。
【００２６】
図４（ａ）は、ＣＰＵ３０２が実行するカメラスキャナ１０１の制御用プログラムの機能構成を示す図である。また、図４（ｂ）は、機能構成の各モジュールの処理の関係を示すシーケンス図である。カメラスキャナ１０１の制御用プログラムは前述のようにＨＤＤ３０５に格納され、ＣＰＵ３０２が起動時にＲＡＭ３０３上に展開して実行する。メイン制御部４０２は制御の中心であり、図４（ｂ）に示すように、機能構成の各モジュールを制御する。
【００２７】
画像取得部４１５は、画像入力処理を行うモジュールであり、カメラ画像取得部４０７、距離画像取得部４０８から構成される。カメラ画像取得部４０７は、カメラＩ／Ｆ３０８を介してカメラ部２０２が出力する画像データを取得し、ＲＡＭ３０３へ格納する。距離画像取得部４０８は、カメラＩ／Ｆ３０８を介して距離画像センサ部２０８が出力する距離画像データを取得し、ＲＡＭ３０３へ格納する。距離画像取得部４０８の処理については、図５を参照しつつ後に詳述する。
【００２８】
物体検知部４０９は、カメラ画像取得部４０７、距離画像取得部４０８が取得する画像データから書画台２０４上の物体の動きを検知して認識するモジュールである。物体検知部４０９は、メイン制御部４０２から物体載置待ち処理又は物体除去待ち処理の通知を受けると、画像取得部４１５から書画台２０４を撮像した画像を取得する。そして、物体検知部４０９は、書画台２０４上に物体が置かれて静止するタイミング又は物体が取り除かれるタイミングを検知する処理を行う。物体検知部４０９の処理については、図１１を参照しつつ後に詳述する。
【００２９】
スキャン処理部４１３は、実際に対象物のスキャンを行うモジュールであり、平面原稿画像撮影部４１０、書籍画像撮影部４１１、立体画像撮影部４１２から構成される。平面原稿画像撮影部４１０は平面原稿、書籍画像撮影部４１１は書籍、立体画像撮影部４１２は立体物に、それぞれ適した処理を実行し、それぞれに応じた形式のデータを出力する。
【００３０】
ＵＩ部４０３は、メイン制御部４０２からの要求を受け、メッセージやボタン等のＧＵＩ部品を生成する。そして、ＵＩ部４０３は、表示部４０６へ生成したＧＵＩ部品の表示を要求する。なお、表示部４０６は、ディスプレイコントローラ３０９を介して、短焦点プロジェクタ２０７又はＬＣＤタッチパネル３３０へ要求されたＧＵＩ部品の表示を行う。プロジェクタ２０７は、書画台２０４に向けて設置されているため、書画台２０４上にＧＵＩ部品を投射することが可能となっている。また、ＵＩ部４０３は、シリアルＩ／Ｆ３１０を介したＬＣＤタッチパネル３３０からの入力操作、そしてさらにそれらの座標を受信する。そして、ＵＩ部４０３は、描画中の操作画面の内容と操作座標を対応させて操作内容（押下されたボタン等）を判定する。この操作内容をメイン制御部４０２へ通知することにより、操作者の操作を受け付ける。
【００３１】
ネットワーク通信部４０４は、ネットワークＩ／Ｆ３０６を介して、ネットワーク１０４上の他の機器とＴＣＰ／ＩＰによる通信を行う。データ管理部４０５は、制御用プログラム４０１の実行において生成した作業データ等様々なデータをＨＤＤ３０５上の所定の領域へ保存し、管理する。例えば平面原稿画像撮影部４１０、書籍画像撮影部４１１、立体画像撮影部４１２が生成したスキャンデータ等である。物体領域分割部４１６は、カメラ画像取得部４０７、距離画像取得部４０８が取得する画像データから、物体毎の領域を取得し、物体識別部４１４に受け渡す。物体識別部４１４では、物体の種類を識別し、メイン制御部４０２に通知する。
【００３２】
図３に戻り、距離画像センサ部２０８について説明する。距離画像センサ部２０８は、赤外線によるパターン投射方式の距離画像センサである。距離画像センサ部２０８は、赤外線パターン投射部３６１、赤外線カメラ３６２及びＲＧＢカメラ３６３を有している。赤外線パターン投射部３６１は、対象物に、人の目には不可視である赤外線によって３次元測定パターンを投射する。赤外線カメラ３６２は、対象物に投射した３次元測定パターンを読みとるカメラである。ＲＧＢカメラ３６３は、人の目に見える可視光をＲＧＢ信号で撮影するカメラである。
【００３３】
図５は、距離画像取得部４０８の処理を示すフローチャートである。また、図６は、パターン投影方式による距離画像の計測原理を説明するための図面である。ステップＳ５０１において、距離画像取得部４０８は、図６（ａ）に示すように、赤外線パターン投射部３６１を用いて赤外線による３次元形状測定パターン６０１を対象物６０２に投射する。次に、ステップＳ５０２において、距離画像取得部４０８は、ＲＧＢカメラ画像６０３及びステップＳ５０１で投射した３次元形状測定パターン６０１を撮影した赤外線カメラ画像６０４を取得する。
【００３４】
赤外線カメラ３６２とＲＧＢカメラ３６３の設置位置が異なるため、図６（ｂ）に示すようにそれぞれで撮影される２つのＲＧＢカメラ画像６０３及び赤外線カメラ画像６０４の撮影領域が異なる。そこで、続く、ステップＳ５０３においては、距離画像取得部４０８は、赤外線カメラ３６２の座標系からＲＧＢカメラ３６３の座標系への座標系変換を用いて赤外線カメラ画像６０４をＲＧＢカメラ画像６０３の座標系に合わせる。なお、赤外線カメラ３６２とＲＧＢカメラ３６３の相対位置や、それぞれの内部パラメータは事前のキャリブレーション処理により既知であるとする。
【００３５】
次に、ステップＳ５０４において、距離画像取得部４０８は、図６（ｃ）に示すように、３次元形状測定パターン６０１とステップＳ５０３で座標変換を行った赤外線カメラ画像６０４間での対応点を抽出する。距離画像取得部４０８は、例えば、赤外線カメラ画像６０４上の１点を３次元形状測定パターン６０１上から探索して、同一の点が検出された場合に対応付けを行う。また、他の例としては、距離画像取得部４０８は、赤外線カメラ画像６０４の画素の周辺のパターンを３次元形状測定パターン６０１上から探索し、一番類似度が高い部分と対応付けてもよい。
【００３６】
次に、ステップＳ５０５において、距離画像取得部４０８は、赤外線パターン投射部３６１と赤外線カメラ３６２を結ぶ直線を基線６１０として三角測量の原理を用いて計算を行うことにより、赤外線カメラ３６２からの距離を算出する。距離画像取得部４０８は、ステップＳ５０４で対応付けができた画素については、赤外線カメラ３６２からの距離を算出して画素値として保存する。距離画像取得部４０８は、ステップＳ５０４で対応付けができなかった画素については、距離の計測ができなかった部分として無効値を保存する。距離画像取得部４０８は、この処理を、ステップＳ５０３で座標変換を行った赤外線カメラ画像６０４の全画素に対して行うことで、各画素に距離値が入った距離画像を生成する。
【００３７】
次に、ステップＳ５０６において、距離画像取得部４０８は、距離画像の各画素にＲＧＢカメラ画像５２５のＲＧＢ値を保存することにより、１画素につきＲ、Ｇ、Ｂ、距離の４つの値を持つ距離画像を生成する。ここで取得した距離画像は距離画像センサ部２０８のＲＧＢカメラ３６３で定義された距離画像センサ座標系が基準となっている。そこで、続くステップＳ５０７においては、距離画像取得部４０８は、図２（ａ）を参照しつつ説明したように、距離画像センサ座標系として得られた距離データを直交座標系における３次元点群に変換する。以後、特に指定がなく３次元点群と表記した場合は、直交座標系における３次元点群を示すものとする。
【００３８】
なお、本実施例では上述したように、カメラスキャナ１０１は、距離画像センサ部２０８として赤外線パターン投射方式を採用しているが、他の方式の距離画像センサを用いることも可能である。例えば、カメラスキャナ１０１は、距離画像センサ部２０８として、２つのＲＧＢカメラでステレオ立体視を行うステレオ方式や、レーザー光の飛行時間を検出することで距離を測定するＴＯＦ（Ｔｉｍe  ｏｆ  Ｆｌｉｇｈｔ）方式を用いてもよい。また、カメラスキャナ１０１は、撮像対象物が人体等の赤外線を発するような場合は、焦電型赤外線センサを用いて対象物の認識と距離の測定を行ってもよい。
【００３９】
次に、カメラスキャナ１０１による物体識別を行うための学習処理について説明する。本実施形態に係るカメラスキャナ１０１は、物体識別処理として、書画台２０４に載置された物体の撮影画像に基づいて、その物体がいずれのクラスに属するかを判定する。なお、クラスは、例えば、はさみ、ペン、消しゴム、電話、時計といった物体の種別に応じて予め定められているものとする。物体識別のための学習処理とは、物体識別に先立ち、事前にいずれのクラスに属するかが既知の物体の撮影画像を学習することにより、識別器を生成する処理である。
【００４０】
図７は、物体識別部４１４による学習処理を示すフローチャートである。なお、カメラスキャナ１０１は、事前に学習対象の物体の撮影画像の撮影を完了しているものとする。なお、学習対象の物体を撮影する撮影処理は、後述する立体画像撮影部４１２よる立体画像撮影処理（ステップＳ１３１６）と同様である。すなわち、書画台２０４上に載置された物体の撮影画像をカメラ画像取得部４０７及び距離画像取得部４０８で取得する。この作業を物体の置き位置を複数の箇所として、また物体の置き方もそれぞれ変化させ、事前に複数パターン撮影しておく。
【００４１】
学習処理では、ステップＳ７０１において、物体識別部４１４は、撮影画像を読み込む。次に、ステップＳ７０２において、物体識別部４１４は、読み込んだ画像から特徴を抽出する。ここで画像の特徴を抽出する方法について説明する。画像の特徴を記述する手法としては、画素値の統計や固有値を記述するものから、局所的な特徴を記述するものまで多種にわたる。本実施形態に係るカメラスキャナ１０１は、特徴抽出のために局所特徴の一種であるＳＩＦＴ特徴を用いるものとする。すなわち、ステップＳ７０２の後、ステップＳ７０３において、物体識別部４１４は、ＳＩＦＴ特徴（局所特徴ベクトル）を抽出する。
【００４２】
ＳＩＦＴ特徴は、画像の拡大縮小、回転や視点の変化のいずれに対してもロバスト（強靭）であるとの性質がある。ＳＩＦＴ特徴の抽出は、特徴点の抽出とその特徴点における特徴ベクトルの抽出の２つのステップに分けることができる。物体識別部４１４は、ＳＩＦＴ特徴における特徴点の抽出について、次に述べるＧＲＩＤ点抽出で行う。ＧＲＩＤ点抽出では、格子状に点を配置し、ＳＩＦＴ特徴ベクトル計算のための特徴点として利用する。ＧＲＩＤ点抽出によるＳＩＦＴ特徴の抽出手順は以下のようになる。
１．格子点の間隔を決定する。ここでは例えば、画像に対して、１０画素ごとにＧＲＩＤ点抽出を行い、それらの点に基づきＳＩＦＴ特徴量を計算しても良い。
２．画像から格子点を抽出し、予め決められた複数のスケールで、それぞれの点について勾配方向を計算する。格子点の総数は画像の画素数と格子点の間隔に依存する。
３．抽出した特徴点に対して、ＳＩＦＴ特徴量を計算する。
【００４３】
物体識別部４１４は、ステップＳ７０１〜ステップＳ７０３までの処理を、事前の撮影により得られたすべての撮影画像に対して行うまで繰り返す。そして、物体識別部４１４は、撮影画像すべてに対する処理が完了すると（ステップＳ７０４でＹｅｓ）、処理をステップＳ７０５へ進める。ステップＳ７０５において、物体識別部４１４は、抽出された特徴点における特徴ベクトルの抽出を行う。本実施形態においては、物体識別部４１４は、特徴ベクトルの抽出をＢａｇ  ｏｆ  Ｋｅｙｐｏｉｎｔｓの手法で行う。Ｂａｇ  ｏｆ  Ｋｅｙｐｏｉｎｔｓモデルとは、画像を局所特徴の集合と捉えた手法であり、局所特徴をベクトル量子化し、Ｖｉｓｕａｌ  Ｗｏｒｄｓと呼ばれる特徴ベクトルを生成する。物体識別部４１４は、これらをまとめたコードブックを生成する。コードブックは、ＳＩＦＴ特徴の代表ベクトルを指定されたクラスタ数だけ記述したデータである。
【００４４】
次に、ステップＳ７０６において、物体識別部４１４は、ステップＳ７０６において生成された特徴ベクトルを記述子として画像全体の特徴ベクトルを生成する。これにより、画像をＶｉｓｕａｌ  Ｗｏｒｄｓの集合（ｂａｇ）として表現することができる。次に、ステップＳ７０７において、物体識別部４１４は、各画像に対応するＳＩＦＴ特徴のそれぞれについて、コードブックから「距離が最も近い」ベクトルを探し、そのベクトルに対して投票することによってヒストグラムを生成する。
【００４５】
物体識別部４１４は、ベクトルの距離を計測する尺度として、ユークリッド距離を用いる。このヒストグラム生成はステップＳ７０６で生成した各画像の特徴ベクトルを積み上げる形で行われる。したがって、物体識別部４１４は、ステップＳ７０４の処理と同様に、すべての撮影画像に対し、ステップＳ７０７の処理が行われるまでステップＳ７０７の処理を繰り返す。そして、物体識別部４１４は、すべての撮影画像に対し、ステップＳ７０７の処理が完了すると（ステップＳ７０８でＹｅｓ）、処理をステップＳ７０９へ進める。
【００４６】
ステップＳ７０９において、物体識別部４１４は、ステップＳ７０７において生成されたヒストグラムを学習データとして、物体識別に利用される識別器を生成する。本実施形態においては、物体識別部４１４は、ＳＶＭ（Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅ）を用いて識別器を作成する。ＳＶＭは、ニューロンのモデルとして最も単純な線形しきい素子を用いて、２クラスのパターン識別器を構成する手法である。この２クラス分類機を組み合わせる事により、多クラスの分類も可能になる事が知られている。本実施形態においては、ケースに応じて２クラス分類と多クラス分類を使い分けて機能を実現する。ここで上記の分類を行うための学習画像の読み込み方法について図８を参照しつつ説明する。
【００４７】
２クラス分類の場合は、物体識別部４１４は、図８（ａ）に示すように識別対象のキーワード（例えばペン）に対して、そのキーワードが含まれる画像（Ｇｒｐ．１）を正例画像として読み込む。さらに、物体識別部４１４は、キーワードが含まれない画像（Ｇｒｐ．２）を負例画像として画像を読み込む。そして、物体識別部４１４は、読み込んだ画像に対して特徴量を抽出し、２クラスのコードブックのヒストグラムを作成する。また、識別対象のキーワードが２つ以上あり、読み込んだ画像の中にいずれのキーワードが含まれるかを判断したい場合もある。この場合、物体識別部４１４は、図８（ｂ）に示すように、キーワード１又はキーワード２を含む画像（Ｇｒｐ．３）を正例画像として読み込み、いずれのキーワードも含まない画像（Ｇｒｐ．４）を負例画像として、識別器を生成してもよい。
【００４８】
一方、多クラス分類の場合は、図８（ｃ）に示すように、識別対象のキーワードに対してそれぞれを含む正例画像を準備する。図８（ｃ）の例では、Ｇｒｐ．５はキーワード１、Ｇｒｐ．６はキーワード２、Ｇｒｐ.７はキーワード３、Ｇｒｐ.８はキーワード４に対する正例画像である。そして、物体識別部４１４は、キーワード１に対してはＧｒｐ.５を正例画像、その他のキーワードを含む画像（Ｇｒｐ.６、Ｇｒｐ.７、Ｇｒｐ.８）を負例画像として画像を読み込む。物体識別部４１４は、この作業をキーワード２〜４に対しても繰り返し、特徴量を抽出し多クラスのコードブックのヒストグラムを作成する。
【００４９】
なお、上記識別を行うための処理はメイン制御部４０２で実行されてもよいし、事前にネットワーク通信部４０４を介して接続されている他のＣＰＵで実行して得られた識別器を用いてもよい。
【００５０】
また、ＳＶＭを作成する際には、２つのパラメータＧａｍｍａ値とＣｏｓｔ値を設定する必要がある。Ｇａｍｍａ値は、識別境界の形状を決定するものであり、低いほど線形に近い形で識別境界が生成される。一方、Ｃｏｓｔ値は誤分類点をどのくらい許容するかを調整するものであり、大きいほど誤分類を含まないように識別境界が生成される。これらのパラメータはＳＶＭの識別精度に大きな影響を与える要素であり、識別器毎に設定する必要のあるものである。本実施形態に係る物体識別部４１４は、このパラメータの決定にグリッドサーチと呼ばれる手法を用いる。グリッドサーチとは、各パラメータを増減させ、網羅的に最適なパラメータを探索する手法である。本実施形態の物体識別部４１４は、Ｇａｍｍａ値とＣｏｓｔ値を増減させ、各識別器の精度が最も高くなる値を設定する。
【００５１】
図９は、物体識別部４１４による識別処理を示すフローチャートである。識別処理は、学習処理において生成された識別器を用いた物体識別を行う処理である。識別処理を行うプログラムの動作が開始されると、ステップＳ９０１において、物体識別部４１４は、認識対象の撮影画像を取得する。以下、認識対象の撮影画像を対象撮影画像と称する。次に、ステップＳ９０２において、物体識別部４１４は、対象撮影画像に対し、特徴抽出処理を行う。次に、ステップＳ９０３において、物体識別部４１４は、対象撮影画像に対し、局所ベクトル抽出処理を行う。なお、ステップＳ９０２における特徴抽出処理及びステップＳ９０３における局所ベクトル抽出処理は、それぞれステップＳ７０２及びステップＳ７０３の処理と同様ある。
【００５２】
次に、ステップＳ９０４において、物体識別部４１４は、ステップＳ９０１及びステップＳ９０２において抽出された特徴ベクトルからヒストグラムを生成する。具体的には、物体識別部４１４は、抽出された特徴ベクトルに対し、ステップＳ７０５において生成されたコードブック中で「距離が最も近い」ベクトルを探し、そのベクトルに対して投票することによってヒストグラムを生成する。なお、物体識別部４１４は、２クラス分類を行う場合は２クラス分類用のコードブックを用い、多クラス分類を行う場合は多クラス分類用のコードブックを用いる。また、ここでのベクトルの距離を計測する尺度として、物体識別部４１４は、ユークリッド距離を用いる。このようにして、コードブックに関するヒストグラムを得ることになる。
【００５３】
次に、ステップＳ９０５において、物体識別部４１４は、ヒストグラムを正規化する。典型的な例では、各ヒストグラムは要素の合計が１となるように正規化されることによって、識別対象画像を表すｂａｇ−ｏｆ−ｋｅｙｐｏｉｎｔｓベクトルが得られる。次に、ステップＳ９０６において、物体識別部４１４は、ｂａｇ−ｏｆ−ｋｅｙｐｏｉｎｔｓベクトルを学習処理において生成された識別器に入力し、識別対象画像に対する識別結果を得る。さらに、物体識別部４１４は、識別の際にＳＶＭにより各クラスの確からしさを定量的に評価したスコアを算出する。ここで、スコアは、評価値の一例である。また、ステップＳ９０６の処理は、識別処理の一例である。このスコアは、図１０（ａ）に示すように、０〜１の値であり、すべてのスコアの合計が１となるように出力される。この値が大きいほど、識別結果が正しいと判断できる。つまり、図１０（ａ）の物体１のように、１つのスコアだけ突出して高い場合は、識別結果が信頼できるものだと考えることができる。一方、物体２のように複数のスコアが近い値をとる場合、識別候補のどちらでもあり得るため、信頼性が低いと考えられる。
【００５４】
図１０（ｂ）は、また、スコアと識別器の関係を示す図である。ＳＶＭから得られるスコアは識別面１００１からの距離に基づいて算出される。図１０（ｂ）に示すように、識別空間座標系１００３に識別データ１０１１，１０１２が投影され、各キーワードの空間１００４、１００５、１００６に割り当てられる。このとき、空間１００４、１００５、１００６は、それぞれキーワード１、キーワード２、キーワード３に対応する。なお、識別データ１０１１，１０１２は、一般的に高次元であるが、図示するために２次元で表現している。図１０（ａ）において、キーワード１のスコアが高くなっているのは、識別データ１０１１のように１００１境界面から離れた位置に存在し、明らかに空間１００４に属している状態であるためである。一方、物体２のようにキーワード１とキーワード２が近い値となっているのは、識別データ１０１２のように、境界付近の曖昧な位置に属している状態であるためである。
【００５５】
図１１は、物体検知部４０９の処理を示すフローチャートである。物体検知部４０９の処理は、初期化処理（ステップＳ１１０１）と、物体載置検知処理（ステップＳ１１０２）と、物体除去検知処理（ステップＳ１１０３）と、に大別される。物体載置検知処理（ステップＳ１１０２）及び物体除去検知処理（ステップＳ１１０３）は、物体の有無を検知する物体検知処理の一例である。初期化処理は、撮影画像から物体が書画台に載置されたこと及び物体が書画台から除去されたことを検知するための前処理である。物体載置検知処理は、物体が書画台に載置されたことを検知する処理である。物体除去処理は、物体が書画台から除去されたことを検知する処理である。以下、各処理について詳述する。
【００５６】
初期化処理では、まず、ステップＳ１１１１において、物体検知部４０９は、カメラ画像取得部４０７からカメラ画像を、距離画像取得部４０８から距離画像をそれぞれ１フレーム取得する。次に、ステップＳ１１１２において、物体検知部４０９は、取得したカメラ画像を前フレームカメラ画像として保存する。次に、ステップＳ１１１３において、物体検知部４０９は、取得したカメラ画像及び距離画像をそれぞれ背景カメラ画像及び背景距離画像として保存する。ここで、背景カメラ画像及び背景距離画像は、物体が載置されていない状態の書画台の画像である。以上で初期化処理が終了し、物体検知部４０９は、処理を物体載置検知処理へ進める。
【００５７】
物体載置検知処理では、まずステップＳ１１１４において、物体検知部４０９は、カメラ画像取得部４０７からカメラ画像を１フレーム取得する。次に、ステップＳ１１１５において、物体検知部４０９は、取得したカメラ画像と前フレームカメラ画像との差分を計算してその絶対値を合計した差分値を算出する。次に、ステップＳ１１１６において、物体検知部４０９は、算出した差分値が予め設定された閾値以上か否かを判定する。物体検知部４０９は、差分値が閾値未満の場合には（ステップＳ１１１６でＮＯ）、書画台２０４上には物体が無いと判断し、処理をステップＳ１１１７へ進める。ステップＳ１１１７において、物体検知部４０９は、現フレームのカメラ画像を前フレームカメラ画像として保存し、その後処理をステップＳ１１１４へ進める。
【００５８】
一方、ステップＳ１１１６において、物体検知部４０９は、差分値が所定値以上の場合には（ステップＳ１１１６でＹＥＳ）処理をステップＳ１１１８へ進める。ステップＳ１１１８において、物体検知部４０９は、ステップＳ１１１３で取得したカメラ画像と前フレームカメラ画像との差分値を算出する。本処理は、ステップＳ１１１５の処理と同様である。次に、ステップＳ１１１９において、物体検知部４０９は、算出した差分値が予め設定された閾値以下か否かを判定する。物体検知部４０９は、差分値が閾値よりも大きい場合には（ステップＳ１１１９でＮＯ）、書画台２０４上の物体が動いていると判断し、処理をＳ１１１７へ進める。そして、物体検知部４０９は、現フレームのカメラ画像を前フレームカメラ画像として保存してから、処理をステップＳ１１１４へ進める。一方、ステップＳ１１１９において、物体検知部４０９は、差分値が閾値以下の場合には（ステップＳ１１１９でＹＥＳ）、処理をステップＳ１１２０へ進める。
【００５９】
ステップＳ１１２０において、物体検知部４０９は、ステップＳ１１１９で連続してＹＥＳとなった回数から、差分が閾値以下、すなわち書画台２０４上の物体が静止した状態が所定のフレーム数続いたか否かを判定する。物体検知部４０９は、所定フレーム数続いていないと判定した場合には（ステップＳ１１２０でＮＯ）、処理をＳ１１１７へ進める。物体検知部４０９は、所定フレーム数続いたと判定した場合には（ステップＳ１１２０でＹＥＳ）、処理をステップＳ１１２１へ進める。ステップＳ１１２１において、物体検知部４０９は、物体が置かれたことをメイン制御部４０２へ通知する。以上で、物体載置検知処理が終了し、物体検知部４０９は、処理を物体除去検知処理へ進める。
【００６０】
物体除去検知処理では、ステップＳ１１２２において、物体検知部４０９は、カメラ画像取得部４０７からカメラ画像を１フレーム取得する。次に、ステップＳ１１２３において、物体検知部４０９は、取得したカメラ画像と書画台背景カメラ画像との差分値を算出する。次に、ステップＳ１１２４において、物体検知部４０９は、算出した差分値が予め設定された閾値以下か否かを判定する。物体検知部４０９は、差分値が予め決めておいた所定値よりも大きい場合には（ステップＳ１１２４でＮＯ）、書画台２０４上にまだ物体が存在するため、処理をステップＳ１１２２へ進める。
【００６１】
一方、物体検知部４０９は、差分値が閾値以下の場合には（ステップＳ１１２４でＹＥＳ）、処理をステップＳ１１２５へ進める。ステップＳ１１２５において、物体検知部４０９は、書画台２０４上の物体がなくなったため、物体除去をメイン制御部４０２へ通知する。以上で、物体除去処検知処理が終了する。なお、Ｓ１１２５の処理の後、物体検知部４０９は、処理をＳ１１１４へ進め、再び物体載置検知処理を行う。なお、本処理は、物体検知の終了指示が入力された場合に適宜終了する。
【００６２】
図１２は、メイン制御処理を示すフローチャートである。本処理は、ＣＰＵ３０２がスキャンアプリケーションを実行することにより実現される処理である。まず、ステップＳ１２０１において、メイン制御部４０２は、書画台２０４にスキャンの対象物が載置されるのを待つ物体載置待ち処理を行う。物体載置待ち処理は、Ｓ１２１１〜Ｓ１２１３の処理を含む。
【００６３】
ステップＳ１２１１において、メイン制御部４０２は、ＵＩ部４０３のＧＵＩ部品生成表示部４１７を介して、書画台２０４にプロジェクタ２０７によって初期画面を投射表示する。次に、ステップＳ１２１２において、メイン制御部４０２は、物体検知部４０９に対し、処理の開始を指示する。物体検知部４０９は、開始の指示に従い、図１１を参照しつつ説明した処理を開始する。次に、ステップＳ１２１３において、メイン制御部４０２は、物体検知部４０９からの物体載置通知を待つ。物体検知部４０９が、図１１のステップＳ１１２１において、物体載置をメイン制御部４０２へ通知した場合に、メイン制御部４０２は、物体載置通知を受け付けたと判断し（ステップＳ１２１３でＹｅｓ）、物体載置待ち処理を終了する。そして、物体検知部４０９は、処理をステップＳ１２０２へ進める。
【００６４】
ステップＳ１２０２において、メイン制御部４０２は、積載を認識した事を知らせるためのＧＵＩ部品を表示するための処理を行う。次に、ステップＳ１２０３において、メイン制御部４０２は、スキャン処理のタイミングか否かを判定する。スキャン処理のタイミングは予め定められているものとする。スキャン処理のタイミングは、例えば、画像取得部４１５からの情報に基づいて、動体検知後に動体が静止したと判定したタイミングである。また他の例としては、スキャン処理のタイミングは、ユーザがＵＩ部４０３を用いて処理の開始を指示したタイミングであってもよい。メイン制御部４０２は、スキャン処理のタイミングまで待機し、スキャン処理のタイミングになると（ステップＳ１２０３でＹＥＳ）、処理をステップＳ１２０４へ進める。
【００６５】
ステップＳ１２０４において、メイン制御部４０２は、物体領域分割部４１６に物体領域分割を指示する。これに対し、物体領域分割部４１６は、背景画像との差分によって得られる画像に基づいて、物体が存在する領域を取得する。そして、物体領域分割部４１６は、これらの領域を包括するような矩形を取得することにより、物体毎の領域を切り出す。画像取得部４１５は、切り出した物体の領域数を撮影画像に含まれる物体の数として特定する。次に、ステップＳ１２０５において、メイン制御部４０２は、切り出された領域の数、すなわち物体の数が単数か複数かを判定する。
【００６６】
メイン制御部４０２は、単数の場合(ステップＳ１２０５でＮＯ)、処理をステップＳ１２０６へ進める。メイン制御部４０２は、複数の場合（ステップＳ１２０５でＹＥＳ）、処理をステップＳ１２０７へ進める。ステップＳ１２０６において、メイン制御部４０２は、単数の物体に対する物体識別処理を行い、その後処理をステップＳ１２０８へ進める。ステップＳ１２０７において、メイン制御部４０２は、複数の物体に対する物体識別処理を行い、その後処理をステップＳ１２０８へ進める。
【００６７】
ステップＳ１２０８において、メイン制御部４０２は、メイン制御処理の終了判定を行う。メイン制御部４０２は、具体的には、ネットワークＩ／Ｆ３０６を介してホストコンピュータ１０２から送信されるスキャン終了命令や、ＬＣＤタッチパネル３３０から入力される終了命令に基づき、メイン制御処理の終了判定を行う。他の例としては、メイン制御部４０２は、タイマー設定（図示なし）等に基づき、メイン制御処理の終了判定を行ってもよい。メイン制御部４０２は、例えば、メイン制御処理の終了命令を受信した場合に、メイン制御処理を終了すると判定する。
【００６８】
メイン制御部４０２は、メイン制御処理を終了すると判定した場合には(ステップＳ１２０８でＹＥＳ)、メイン制御処理を終了する。メイン制御部４０２は、メイン制御処理を終了しないと判定した場合には（ステップＳ１２０８でＮＯ）、処理をステップＳ１２０１へ進め、物体載置待ち状態となる。これにより、ユーザが複数の原稿をスキャンしたい場合に、書画台２０４上の原稿を取り換えたことを検知することができ、複数の原稿のスキャンを連続して実行できる。
【００６９】
図１３は、図１２を参照しつつ説明した単体物体識別処理（ステップＳ１２０６）における詳細な処理を示すフローチャートである。まず、ステップＳ１３０１において、スキャン処理部４１３は、スキャン処理を実行する。スキャン処理は、ステップＳ１３１１〜ステップＳ１３１６を含んでいる。ステップＳ１３１１及びステップＳ１３１４の処理は、載置された物体を特定する処理である。メイン制御部４０２は、載置された物体に応じて、続いて実行する処理を決定する。
【００７０】
ステップＳ１３１１において、スキャン処理部４１３は、距離画像センサ部２０８とカメラ部２０２の情報に基づいて、載置された物体が平面原稿か否かを判定する。具体的には、メイン制御部４０２は、手領域以外の物体の高さが一定値以下か否かを判定する。スキャン処理部４１３は、より具体的な一例としてはカメラ部から肌色領域を検出し、その肌色領域を手領域と見なし、その部分以外の領域が所定の高さ以下にある場合は載置された物体が平面原稿であると判定する。一方、メイン制御部４０２は、所定の高さよりも高い場合には載置された物体が厚みのある物体である、すなわち平面原稿ではないと判定する。
【００７１】
ステップＳ１３１１において、平面原稿画像撮影部４１０は、物体が平面原稿であると判定した場合には（ステップＳ１３１１でＹＥＳ）、処理をステップＳ１３１２へ進める。ステップＳ１３１２において、平面原稿画像撮影部４１０は、平面原稿画像の撮影処理を行う。本処理については、図１５等を参照しつつ後述する。メイン制御部４０２は、物体が平面原稿でないと判定した場合には(ステップＳ１３１１でＮＯ)、処理をステップＳ１３１３へ進める。ステップＳ１３１３の処理は、載置された物体が書籍であるか、書籍以外の立体物であるかを判定するための処理である。ステップＳ１３１３において、物体識別部４１４は、載置された物体が書籍か書籍以外の立体物かを判別するための２クラス識別器を用いて、載置された物体が書籍か否かを判定する。なお、ここで用いられる２クラス識別器は、図７に示す処理により図８（ａ）のキーワードを書籍として設定し、書籍とそれ以外の撮影画像に基づいて作成された識別器である。
【００７２】
次に、ステップＳ１３１４において、メイン制御部４０２は、識別結果が書籍である場合には（ステップＳ１３１４でＹＥＳ）、処理をステップＳ１３１５へ進める。ステップＳ１３１５において、書籍画像撮影部４１１は、書籍画像撮影処理を行う。本処理については、図１７等を参照しつつ後述する。一方で、ステップＳ１３１４において、メイン制御部４０２は、識別結果が書籍でない場合には（ステップＳ１３１４でＮＯ）、処理をステップＳ１３１６へ進める。ステップＳ１３１６において、立体画像撮影部４１２は、立体画像撮影処理を行う。立体撮影処理において、立体画像撮影部４１２は、距離画像センサ部２０８にて取得した画像に対して、図５を参照しつつ説明した距離画像取得部４０８の処理により得られた画像を取得する。さらに、立体画像撮影部４１２は、カメラ部２０２にて取得した画像に対し、後述の平面原稿画像撮影処理を実行することにより得られた画像を取得する。このように、立体画像撮影部４１２は、２つの画像を取得する。
【００７３】
次に、ステップＳ１３０３において、物体識別部４１４は、多クラス識別器を用いて、載置された物体を識別する。なお、ここで用いられる他クラス識別器は、図７に示す処理により、図８（ｃ）のキーワードに例えば、はさみ、ペン、印鑑、電話、時計等を設定し、これらの物体の撮影画像とそれ以外の撮影画像に基づいて、作成された識別器である。
【００７４】
次に、ステップＳ１３０４において、メイン制御部４０２は、ＧＵＩテーブルを参照し、ステップＳ１３０１において特定された物体に対応付けられたＧＵＩを選択する。ここで、ＧＵＩは、識別した物体に関連する情報や、物体の名称を表示するものである。図１４は、ＧＵＩ対応テーブル１４００を示す図である。ＧＵＩ対応テーブルは、キーワードとＧＵＩとを対応付ける情報である。ＧＵＩ対応テーブルは、予め定義され例えばＲＯＭ３０４等に記録されているものとする。ステップＳ１３０４の処理の後、メイン制御部４０２は、処理をステップＳ１３０５へ進める。ステップＳ１３０５において、メイン制御部４０２は、図１２のステップＳ１２０３の処理と同様に、スキャン処理の実行タイミングまで待機する。そして、メイン制御部４０２は、スキャン実行のタイミングになると（ステップＳ１３０５でＹＥＳ）、単体物体識別処理を終了し、処理を図１２のステップＳ１２０８へ進める。
【００７５】
一方、ステップＳ１３１２及びステップＳ１３１５の処理の後、メイン制御部４０２は、処理をステップＳ１３０２へ進める。ステップＳ１３０２において、メイン制御部４０２は、物体除去待ち処理を行う。物体除去待ち処理は、ステップＳ１３２１及びステップＳ１３２２を含む。ステップＳ１３２１において、ＧＵＩ部品生成表示部４１７は図示しないスキャン終了画面を表示する。次に、ステップＳ１３２２において、メイン制御部４０２は、物体検知部４０９からの物体除去通知を受信するのを待つ。ここで、物体除去通知は、物体検知部４０９が図１１のステップＳ１１２５で通知するものである。メイン制御部４０２は、物体除去通知を受信すると（ステップＳ１３２２でＹＥＳ）、物体除去待ち処理を終了し、その後処理を図１２のステップＳ１２０８へ進める。
【００７６】
図１５は、図１３を参照しつつ説明した平面原稿画像撮影処理（ステップＳ１３１２）における詳細な処理を示すフローチャートである。図１６は、平面原稿画像撮影処理の説明図である。ステップＳ１５０１において、平面原稿画像撮影部４１０は、カメラ画像取得部４０７を介してカメラ部２０２からの画像を１フレーム取得する。ここで、カメラ部２０２の座標系は図２（ａ）で示したように書画台２０４に正対していない。したがって、このときの撮影画像は、図１６（ａ）に示すように対象物１６０１、書画台２０４ともに歪んでいる。
【００７７】
ステップＳ１５０２において、平面原稿画像撮影部４１０は、背景カメラ画像と、ステップＳ１５０１で取得したカメラ画像との画素毎の差分を算出し、差分画像を生成する。そして、平面原稿画像撮影部４１０は、差分画像を、差分のある画素が黒、差分の無い画素が白となるように二値化する。したがって、ここで生成した差分画像は、図１６（ｂ）の領域１６０２のように、対象物１６０１の領域が黒色の（差分がある）画像となる。
【００７８】
次に、ステップＳ１５０３において、平面原稿画像撮影部４１０は、差分領域１６０２を用いて、図１６（ｃ）のように対象物１６０１のみの画像を抽出する。対象物のみの画像を検出した後、ステップＳ１５０４へ進める。ステップＳ１５０４において、平面原稿画像撮影部４１０は、対象物１６０１のみの画像に対し画像処理を施す。なお、この画像処理は平面原稿画像撮影部４１０としてのＣＰＵ３０２の他、ＦＰＧＡ３１３や画像処理プロセッサ３０７が実行してもよい。画像処理（ステップＳ１５０４）は、ステップＳ１５１１〜ステップＳ１５１４を含んでいる。
【００７９】
ステップＳ１５１１において、平面原稿画像撮影部４１０は、抽出した原稿領域画像に対して階調補正を行う。次に、ステップＳ１５１２において、平面原稿画像撮影部４１０は、抽出した原稿領域画像に対してカメラ座標系から書画台２０４への射影変換を行い、図１６（ｄ）のように書画台２０４の真上から見た画像１６０３に変換する。ここで用いる射影変換パラメータは、平面パラメータとカメラ座標系から求めることができる。
【００８０】
図１６（ｄ）に示したように、書画台２０４上への原稿の置き方により、ここで得られる画像１６０３は傾いていることがある。そこで、ステップＳ１５１２に続く、ステップＳ１５１３において、平面原稿画像撮影部４１０は、画像１６０３を矩形近似してからその矩形が水平になるように回転し、図１６（ｅ）に示す画像１６０４のように傾きのない画像を得る。このとき、平面原稿画像撮影部４１０は、図１６（ｆ）に示すように、基準ラインに対しての矩形の傾きθ１及びθ２を算出し、傾きが小さい方（ここではθ１）を画像１６０３の回転角度として決定する。また他の例としては、平面原稿画像撮影部４１０は、図１６（ｇ）及び図１６（ｈ）に示すように、画像１６０３中に含まれる文字列に対してＯＣＲ処理を行い、文字列の傾きから画像１６０３の回転角度の算出及び天地判定処理をしてもよい。
【００８１】
次に、ステップＳ１５１４において、平面原稿画像撮影部４１０は、抽出した画像１６０４に対して、予め設定された画像フォーマット（例えばＪＰＥＧ、ＴＩＦＦ、ＰＤＦ等）に合わせて圧縮及びファイルフォーマット変換を行う。そして、平面原稿画像撮影部４１０は、データ管理部４０５を介してＨＤＤ３０５の所定の領域へファイルとして保存する。以上で、平面原稿画像撮影処理が終了する。
【００８２】
図１７は、図１３を参照しつつ説明した書籍画像撮影処理（ステップＳ１３１５）における詳細な処理を示すフローチャートである。また、図１８は、書籍画像撮影処理の説明図である。ステップＳ１７０１において、書籍画像撮影部４１１は、カメラ画像取得部４０７、距離画像取得部４０８を用いて、カメラ部２０２からカメラ画像を、距離画像センサ部２０８から距離画像を、それぞれ１フレームずつ取得する。
【００８３】
ここで得られるカメラ画像の例を図１８（ａ）に示す。図１８（ａ）では、書画台２０４と撮影対象書籍１８１１を含むカメラ画像１８０１が得られている。図１８（ｂ）は、ここで得られた距離画像の例である。図１８（ｂ）では、距離画像センサ部２０８に近い方が濃い色で表されており、距離画像センサ部２０８から対象物体１８１２上の各画素への距離が含まれる距離画像１８０２が得られている。また、図１８（ｂ）において、距離画像センサ部２０８からの距離が書画台２０４よりも遠い画素については白で表されており、対象物体１８１２の書画台２０４に接している部分（対象物体１８１２では右側のページ）も同じく白色となる。
【００８４】
次に、ステップＳ１７０２では、書籍画像撮影部４１１は、取得したカメラ画像と距離画像から書画台２０４上に載置された書籍物体の３次元点群を算出する処理を行う。ステップＳ１７０２の処理は、ステップＳ１７１１〜ステップＳ１７１６の処理を含んでいる。ステップＳ１７１１において、書籍画像撮影部４１１は、カメラ画像１８０１と背景カメラ画像との画素毎の差分を算出して二値化を行い、図１８（ｃ）のように物体領域１８１３が黒で示されるカメラ差分画像１８０３を生成する。
【００８５】
次に、ステップＳ１７１１２において、書籍画像撮影部４１１は、カメラ差分画像１８０３に対し、カメラ座標系から距離画像センサ座標系への変換を行う。そして、書籍画像撮影部４１１は、図１８（ｄ）に示すように距離画像センサ部２０８からみた物体領域１８１４を含むカメラ差分画像１８０４を生成する。次に、ステップＳ１７１３において、書籍画像撮影部４１１は、距離画像と書画台背景距離画像との画素毎の差分を算出して二値化を行い、図１８（ｅ）に示すように物体領域１８１５が黒で示される距離差分画像１８０５を生成する。
【００８６】
対象物体１８１１の書画台２０４と同じ色の部分については、画素値の差が小さくなるためカメラ差分画像１８０３中の物体領域１８１３に含まれなくなる場合がある。また、対象物体１８１２の書画台２０４と高さが変わらない部分については距離画像センサ部２０８からの距離値が書画台２０４と差が小さいため、距離差分画像１８０５中の物体領域１８１５には含まれない場合がある。そこで、続く、ステップＳ１７１４において、書籍画像撮影部４１１は、カメラ差分画像１８０３と距離差分画像１８０５の和をとって図１８（ｆ）に示す物体領域画像１８０６を生成し、物体領域１８１６を得る。ここで物体領域１８１６は書画台２０４と比べて色が異なるか又は高さが異なる領域となる。この物体領域１８１６は、カメラ差分画像１８０３中の物体領域１８１３及び距離差分画像１８０５中の物体領域１８１５に比べて、より正確に物体領域を表している。
【００８７】
物体領域画像１８０６は、距離画像センサ座標系であるため、ステップＳ１７１５においては、書籍画像撮影部４１１は、距離画像１８０２から物体領域画像１８０６中の物体領域１８１６のみを抽出することが可能である。次に、ステップＳ１７１６においては、書籍画像撮影部４１１は、ステップＳ１７１５で抽出した距離画像を直交座標系に変換することにより図１８（ｇ）に示した３次元点群１８１７を生成する。この３次元点群１８１７が書籍物体の３次元点群である。物体領域画像及び３次元点群が取得されると、書籍画像撮影部４１１は、書籍物体の３次元点群算出処理を終了し、その後処理をステップＳ１７０３へ進める。
【００８８】
ステップＳ１７０３において、書籍画像撮影部４１１は、書籍画像に対する画像処理を行う。この画像処理は、書籍画像撮影部４１１としてのＣＰＵ３０２の他、ＦＰＧＡ３１３や画像処理プロセッサ３０７が実行してもよい。ステップＳ１７０３の処理は、ステップＳ１７２１〜ステップＳ１７２３の処理を含んでいる。ステップＳ１７２１において、書籍画像撮影部４１１は、取得したカメラ画像と、算出した３次元点群から、書籍画像のゆがみ補正処理を行い、２次元の書籍画像を生成する。なお、ステップＳ１７２１の処理については、図１９等を参照しつつ後述する。
【００８９】
ステップＳ１７２１の処理の後、ステップＳ１７２２において、書籍画像撮影部４１１は、生成した書籍画像に対し、階調補正を施す。次に、ステップＳ１７２３において、書籍画像撮影部４１１は、書籍画像に対して、予め設定された画像フォーマット（例えばＪＰＥＧ、ＴＩＦＦ、ＰＤＦ等）に合わせて圧縮及びファイルフォーマット変換を行う。以上で、画像処理（ステップＳ１７０３）が終了する。書籍画像撮影部４１１は、続いて、処理をＳ１７０４へ進める。ステップ１７０４において、書籍画像撮影部４１１は、生成した画像データを、データ管理部４０５を介してＨＤＤ３０５の所定の領域へファイルとして保存する。以上で、書籍画像撮影処理が終了する。
【００９０】
図１９は、図１７を参照しつつ説明した画像書籍歪み補正処理（ステップＳ１７２１）における詳細な処理を示すフローチャートである。ステップＳ１９０１において、書籍画像撮影部４１１は、物体領域画像１８０６を距離センサ画像座標系からカメラ座標系に変換する。次に、ステップＳ１９０２において、書籍画像撮影部４１１は、座標変換後の物体領域画像１８０６から物体領域１８１６を抽出する。次に、ステップＳ１９０３において、書籍画像撮影部４１１は、抽出した物体領域１８１６の画像を書画台平面へ射影変換する。次に、ステップＳ１９０４において、書籍画像撮影部４１１は、射影変換した物体領域画像１８０６を矩形近似し、その矩形が水平になるように回転することによって、図１８（ｇ）の書籍画像１８０７を生成する。書籍画像１８０７は近似矩形の片方の辺がＸ軸に平行となっているため、続いて、書籍画像１８０７に対してＸ軸方向へのゆがみ補正処理が行われる。
【００９１】
ステップＳ１９０５において、書籍画像撮影部４１１は、図２０に示すように、書籍画像１８０７の３次元点群１８１７の最も左端の点をＰとする。次に、ステップＳ１９０６において、書籍画像撮影部４１１は、書籍物体の３次元点群１８１７から図２０に示す点Ｐの高さｈ１を取得する。次に、ステップＳ１９０７において、書籍画像撮影部４１１は、書籍画像１８０７の点Ｐに対してＸ軸方向に所定の距離ｘ１離れた点をＱとする。次に、ステップＳ１９０８において、書籍画像撮影部４１１は、３次元点群１８１７から点Ｑの高さｈ２を取得する。次に、ステップＳ１９０９において、書籍画像撮影部４１１は、点Ｐと点Ｑの書籍物体上での距離ｌ１を（式４）により、直線近似で算出する。
【数４】
2017073039.tif 000006
【００９２】
次に、ステップＳ１９１０において、書籍画像撮影部４１１は、距離ｌ１でＰＱ間の距離を補正し、補正結果に応じて、図２０の画像２０００上の点Ｐ'と点Ｑ'の位置に画素をコピーする。次に、ステップＳ１９１１において、書籍画像撮影部４１１は、処理を行った点Ｑを点Ｐとする。次に、ステップＳ１９１２において、書籍画像撮影部４１１は、すべての画素について本処理を行ったか否かを確認する。未処理の画素が存在する場合には（ステップＳ１９１２でＮｏ）、処理をステップＳ１９０６へ進める。すべての画素について処理が終了した場合には（ステップＳ１９１２でＹｅｓ）、書籍画像ゆがみ補正処理を終了する。このように、本処理をすべての画素について繰り返すことにより、ゆがみ補正後の画像２０００を得ることができる。
【００９３】
図２１は、図１２を参照しつつ説明した複数物体識別処理（Ｓ１２０７）における詳細な処理を示すフローチャートである。複数の物体を識別する場合、個々の物体に対する識別結果が合っていないと正しいＧＵＩを提示することができない。そこで、本実施形態に係る物体識別部４１４は、一般的な物体識別の技術に加え、書画台２０４に同時に置かれる物体を考慮し、撮影画像中に同時に存在し得る物体を制限することで、より精度よく複数の物体それぞれを識別する。
【００９４】
ステップＳ２１０１において、物体識別部４１４は、スキャン処理を行う。スキャン処理は、ステップＳ２１１１〜ステップＳ２１１６を含んでいる。ステップＳ２１１１〜ステップＳ２１１６の処理は、それぞれ図１３に示すステップＳ１３１１〜ステップＳ１３１６の処理と同様である。そして、ステップＳ２１１２の処理の後及びステップＳ２１１５の処理の後、物体識別部４１４は、処理をステップＳ２１０３へ進める。また、ステップＳ２１１６の処理の後、物体識別部４１４は、処理をステップＳ２１０２へ進める。ステップＳ２１０２の処理は、図１３に示すステップＳ１３０３の処理と同様である。物体識別部４１４は、ステップＳ２１０２の処理の後、処理をステップＳ２１０３へ進める。
【００９５】
ステップＳ２１０３において、物体識別部４１４は、すべての物体の識別が終了したか否かを判定する。物体識別部４１４は、識別が完了していない物体が存在する場合には（ステップＳ２１０３でＮＯ）、処理をＳ２１０１へ進め、処理を継続する。物体識別部４１４は、すべての物体の識別が終了した場合には（ステップＳ２１０３でＹＥＳ）、処理をＳ２１０４へ進める。なお、複数物体識別処理においては、置かれた物体に対してＧＵＩ等を表示することがあるため、単体物体処理に含まれる物体除去待ち処理（ステップＳ１３０２）は含まれない。
【００９６】
ステップＳ２１０４において、物体識別部４１４は、検出された複数の物体間の関係性に着目した再識別処理を実行する。再識別処理（ステップＳ１２０４）については、図２４等を参照しつつ後に詳述する。ステップＳ２１０４の処理の後、物体識別部４１４は、処理をＳ２１０５へ進める。なお、ステップＳ２１０５と、これに続くステップＳ２１０６の処理は、それぞれ、図１３を参照しつつ説明したステップＳ１３０４及びステップＳ１３０５の処理と同様である。但し、ステップＳ２１０５においては、図２２（ａ）に示すＧＵＩ対応テーブル２２００が参照されるものとする。なお、ステップＳ２１１１、ステップＳ２１１３、ステップＳ２１１４及びステップＳ２１０２の処理は、物体識別処理の一例である。
【００９７】
次に、再識別処理について説明する。物体識別部４１４は、予めユーザからの入力等に従い、同時に置かれる物体を設定する。図２２（ｂ）は、同時に置かれる物体を対応付ける物体対応テーブル２３００の一例を示す図である。物体対応テーブル２３００は、予め作成され、例えば、ＲＯＭ３０４等に記録されているものとする。そして、物体識別部４１４は、学習段階において、物体対応テーブル２３００を参照し、物体対応テーブル２３００において同時に置かれる物体として定義されている複数の物体を対象とした識別器を生成する。
【００９８】
例えば、図２２（ｂ）の例では、キーワード1に対して、キーワード３とキーワード４との組み合わせが設定されている。したがって、物体識別部４１４は、キーワード３とキーワード４を識別する２クラス識別器を生成する。同様に、物体識別部４１４は、キーワード２に対しては、キーワード４とキーワード５を識別する２クラス識別器を作成する。なお、同時に置かれる物体が１つであった場合、一意に決定されるため、識別器を生成する必要は無い。また、すべての物体に対して組み合わせが設定されている場合も同様である。このようにして、物体識別部４１４は各キーワードと、各キーワードに対して定まるキーワードの組み合わせから生成された識別器とを対応付ける識別器対応テーブルを生成し、これをＲＯＭ３０４等に記録する。図２２（ｃ）は、識別器対応テーブル２３０１の一例である。
【００９９】
図２４は、再識別処理（ステップＳ２１０４）における詳細な処理を示すフローチャートである。再識別処理においては、上述の処理により生成された識別器が用いられる。ステップＳ２４０１において、物体識別部４１４は、スコア（評価値）に基づいて、１の識別結果を選択する（結果選択処理）。具体的には、物体識別部４１４は、スコアが最大の識別結果を正しい識別結果として選択する。なお、物体識別部４１４は、選択した識別結果については、得られた識別結果を最終的な識別結果として確定する。
【０１００】
次に、ステップＳ２４０２において、物体識別部４１４は、図２２（ｃ）に示す識別器対応テーブル２３０１を参照し、ステップＳ２４０１において選択した識別結果に対応付けられている識別器を選択する（識別器選択手段）。ここで選択される識別器は、上述のように、図２２（ｂ）に示す物体対応テーブル２３００において、同一の撮影画像から識別される物体として定義された物体を識別する識別器である。
【０１０１】
次に、ステップＳ２４０３において、物体識別部４１４は、ステップＳ２４０２において選択した識別器を用いて、ステップＳ２４０１において選択された識別結果以外の識別結果、すなわち他の識別結果に対応する物体に対し再度識別処理を行う。ここで用いられる識別器は、物体対応テーブルにおいて対応付けられた種別に応じて生成されたものである。すなわち、ステップＳ２４０１の処理は、物体対応テーブルにおいて、ステップＳ２４０１において選択された識別結果に対応付けられている種別に基づいて、他の識別結果に対応する物体に対し再び種別を識別する識別処理の一例である。以上で、再識別処理が終了する。
【０１０２】
このように、物体識別部４１４は、ステップＳ２４０３において、同時に存在し得る複数の物体の種別に応じて、対象を絞り込んだ識別器を用いて再識別処理を行う。これにより、ステップＳ２１１１、ステップＳ２１１４及びステップＳ２１０２における物体識別処理による識別結果のスコアの低い物体についても、より高い精度の識別結果を得ることができる。
【０１０３】
図２５は、再識別処理の説明図である。図２５（ａ）は、を識別空間座標系における、識別可能なすべての種別を識別するための空間示す図である。識別空間は、識別境界２５００により、キーワード１〜５それぞれに対応する５つの空間２５０１〜２５０５に分割されている。この識別境界２５００は、すべてのキーワードに対して汎化性を持つように、前述したパラメータによって調整され、キーワード数が増えるほど、より複雑なものとなる。これに対し、図２５（ｂ）は、識別対象を制限した場合の識別空間を示す図である。識別境界２５１０により、２つのキーワードそれぞれに対応する２つの空間２５１１，２５１２に分割されている。なお、これは、２クラス識別器に対応するが、全クラス数未満の数のクラスの識別器であればよい。
【０１０４】
上述の通りＳＶＭにおけるパラメータは識別器毎に設定されており、各学習データに対して最適な精度を出すように設定される。対象物を制限した識別器は、それぞれの物体に対してより明確な識別境界を持っているため、識別精度の向上が実現する。
【０１０５】
以上のように、本実施形態に係るカメラスキャナ１０１は、識別対象の撮影画像に複数の物体が含まれる場合に、各物体を精度良く識別することができる。本実施形態に係るスキャンシステムでは、プロジェクタ２０７によるＧＵＩの投射と距離画像センサ部２０８によるジェスチャー認識、及び書画台上の物体の検知を行うことができる。さらに、スキャンシステムでは、物体が複数置かれた場合、それぞれを適切に認識し、その組み合わせに基づいたＧＵＩの提示を行うことができる。さらに、スキャンシステムでは、置かれた物体に対して関係性に基づいたカテゴリの絞込みを行うことにより、精度の高い複数物体認識の枠組みを実現することが可能となる。
【０１０６】
実施形態の変更例としては、ステップＳ２１０５において、選択されるＧＵＩ対応テーブルが、プロジェクタ２０７によって投影されている画面毎に設定されていてもよい。図２３は、第１の画面に対応するＧＵＩ対応テーブル２６０１と、第２の画面に対応するＧＵＩ対応テーブル２６０２とを示す図である。それぞれのＧＵＩ対応テーブル２６０１，２６０２は、網掛けされていない部分が有効なデータである。そして、物体識別部４１４は、立体認識処理（ステップＳ２１０２）及びＧＵＩ選択処理（Ｓ２１０５）において、何れかのＧＵＩ対応テーブルを用いることで、対象とする物体の組み合わせを制限し、複数物体における認識精度を向上させることが可能である。
【０１０７】
例えば、ある投影画面１では、図２３（a）のテーブルを用いるように設定し、キーワード１〜３を識別対象とする。また、ある投影画面２では、図２３（b）のテーブルを用いるように設定し、キーワード３〜５を対象とする。さらに、この場合において、図２１の再識別処理（Ｓ２１０４）を行わず、Ｓ２１０３でＹＥＳと判定された場合には、処理をＳ２１０５へ進めることとしてもよい。
【０１０８】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【０１０９】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１１０】
１０１  カメラスキャナ
１０２  ホストコンピュータ
１０３  プリンタ
【図１】
2017073039.tif 000007
【図２】
2017073039.tif 000008
【図３】
2017073039.tif 000009
【図４】
2017073039.tif 000010
【図５】
2017073039.tif 000011
【図６】
2017073039.tif 000012
【図７】
2017073039.tif 000013
【図８】
2017073039.tif 000014
【図９】
2017073039.tif 000015
【図１０】
2017073039.tif 000016
【図１１】
2017073039.tif 000017
【図１２】
2017073039.tif 000018
【図１３】
2017073039.tif 000019
【図１４】
2017073039.tif 000020
【図１５】
2017073039.tif 000021
【図１６】
2017073039.tif 000022
【図１７】
2017073039.tif 000023
【図１８】
2017073039.tif 000024
【図１９】
2017073039.tif 000025
【図２０】
2017073039.tif 000026
【図２１】
2017073039.tif 000027
【図２２】
2017073039.tif 000028
【図２３】
2017073039.tif 000029
【図２４】
2017073039.tif 000030
【図２５】
2017073039.tif 000031