(57)【要約】【課題】ジェスチャ認識の性能およびユーザの利便性を向上させる。【解決手段】目標物体認識部２２は、画像入力装置１１により撮像された入力画像データ内で所定の初期化動作をする物体を目標物体として認識する。ジェスチャ認識部２３は、認識された目標物体を入力画像データ内で追跡することにより、対象機器１３を操作するためのジェスチャを認識する。本発明は、例えば、ジェスチャにより操作を行うテレビジョン受像機、パーソナルコンピュータ等に適用できる。【選択図】図１
2012098771.tif 000002
【特許請求の範囲】
【請求項１】
画像内で所定の動きをする物体を目標物体として認識する目標物体認識手段と、
認識された前記目標物体を画像内で追跡することにより、所定の機器を操作するためのジェスチャを認識するジェスチャ認識手段と
を含む画像処理装置。
【請求項２】
前記ジェスチャ認識手段は、前記目標物体の追跡に失敗した後、前記目標物体認識手段により新たに前記目標物体が認識された場合、新たに認識された前記目標物体を画像内で追跡することにより、前記ジェスチャを認識する
請求項１に記載の画像処理装置。
【請求項３】
前記目標物体認識手段は、さらに、認識した前記目標物体の特徴量を記憶手段に記憶させるとともに、前記記憶手段に記憶されている前記特徴量に基づいて前記目標物体を画像内で認識する
請求項１に記載の画像処理装置。
【請求項４】
前記ジェスチャ認識手段は、認識した前記ジェスチャに対応する操作信号を出力する
請求項１に記載の画像処理装置。
【請求項５】
ユーザの指令により、前記所定の動きおよび前記ジェスチャの少なくとも一方を登録する登録手段を
さらに含む請求項１に記載の画像処理装置。
【請求項６】
所定の機器を操作するためのジェスチャを認識する画像処理装置が、
画像内で所定の動きをする物体を目標物体として認識し、
認識された前記目標物体を画像内で追跡することにより、前記ジェスチャを認識する
ステップを含む画像処理方法。
【請求項７】
画像内で所定の動きをする物体を目標物体として認識し、
認識された前記目標物体を画像内で追跡することにより、所定の機器を操作するためのジェスチャを認識する
ステップを含む処理をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置および方法、並びに、プログラムに関し、特に、各種の機器を操作するためのジェスチャの認識に用いて好適な画像処理装置および方法、並びに、プログラムに関する。
【背景技術】
【０００２】
近年、より自然なヒューマンマシンインタフェースを実現するべく、ジェスチャ認識技術の研究開発が数多くなされ、様々な手法が提案されている（例えば、特許文献１参照）。また、例えば、米国Motion Analysis社の「Eagle & Hawk Digital System」（商標）や、米Vicon Peak社の「MX Motion Capture」（商標）等、ジェスチャ認識を用いたヒューマンマシンインタフェースやモーションキャプチャの実用例も存在する。
【０００３】
これらの技術の多くは、ユーザが身に付けたり、手に持ったりする、事前に登録された目標物体（例えば、専用の器具など）を追跡することにより、ユーザにより行われるジェスチャを認識する。
【０００４】
一方、特別な物体を用いずに、手などユーザの体の一部を目標物体として追跡することにより、ジェスチャを認識する技術も提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００２−８３３０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、事前に登録されている目標物体を用いる場合、認識性能が向上する反面、必ずその目標物体を身に付けたり、手に持ったりしてジェスチャを行う必要があり、ユーザの利便性が損なわれてしまう。
【０００７】
また、ユーザの体の一部を用いる場合、その形状や色が操作する人によって異なるため、認識性能が低下してしまう。
【０００８】
本発明は、このような状況を鑑みてなされたものであり、ジェスチャ認識の性能およびユーザの利便性を向上させるようにするものである。
【課題を解決するための手段】
【０００９】
本発明の一側面の画像処理装置は、画像内で所定の動きをする物体を目標物体として認識する目標物体認識手段と、認識された前記目標物体を画像内で追跡することにより、所定の機器を操作するためのジェスチャを認識するジェスチャ認識手段とを含む。
【００１０】
前記ジェスチャ認識手段には、前記目標物体の追跡に失敗した後、前記目標物体認識手段により新たに前記目標物体が認識された場合、新たに認識された前記目標物体を画像内で追跡させることにより、前記ジェスチャを認識させることができる。
【００１１】
前記目標物体認識手段には、さらに、認識した前記目標物体の特徴量を記憶手段に記憶させるとともに、前記記憶手段に記憶されている前記特徴量に基づいて前記目標物体を画像内で認識させることができる。
【００１２】
前記ジェスチャ認識手段には、認識した前記ジェスチャに対応する操作信号を出力させることができる。
【００１３】
ユーザの指令により、前記所定の動きおよび前記ジェスチャの少なくとも一方を登録する登録手段をさらに設けることができる。
【００１４】
本発明の一側面の画像処理方法は、所定の機器を操作するためのジェスチャを認識する画像処理装置が、画像内で所定の動きをする物体を目標物体として認識し、認識された前記目標物体を画像内で追跡することにより、前記ジェスチャを認識するステップを含む。
【００１５】
本発明の一側面のプログラムは、画像内で所定の動きをする物体を目標物体として認識し、認識された前記目標物体を画像内で追跡することにより、所定の機器を操作するためのジェスチャを認識するステップを含む処理をコンピュータに実行させる。
【００１６】
本発明の一側面においては、画像内で所定の動きをする物体が目標物体として認識され、認識された前記目標物体を画像内で追跡することにより、所定の機器を操作するためのジェスチャが認識される。
【発明の効果】
【００１７】
本発明の一側面によれば、任意の目標物体を用いて、ジェスチャ認識を行うことができる。また、本発明の一側面によれば、ジェスチャ認識の性能およびユーザの利便性を向上させることができる。
【図面の簡単な説明】
【００１８】
【図１】本発明を適用した情報処理システムの一実施の形態を示すブロック図である。
【図２】ジェスチャ認識処理を説明するためのフローチャートである。
【図３】動作認識処理の詳細を説明するためのフローチャートである。
【図４】目標物体抽出処理の詳細を説明するためのフローチャートである。
【図５】目標物体を認識する処理の具体例を説明するための図である。
【図６】動作パターン登録処理を説明するためのフローチャートである。
【図７】コンピュータの構成例を示すブロック図である。
【発明を実施するための形態】
【００１９】
以下、本発明を実施するための形態（以下、実施の形態という）について説明する。なお、説明は以下の順序で行う。
１．本発明の実施の形態
２．変形例
【００２０】
＜１．本発明の実施の形態＞
［情報処理システムの構成例］
図１は、本発明を適用した情報処理システムの一実施の形態を示すブロック図である。
【００２１】
情報処理システム１は、ユーザにより行われるジェスチャを認識し、認識したジェスチャに対応する処理を行うシステムである。情報処理システム１は、画像入力装置１１、画像処理装置１２、および、対象機器１３を含むように構成される。
【００２２】
画像入力装置１１は、例えば、CCD（Charge Coupled Device Image Sensor）イメージセンサ、CMOS（Complementary Metal Oxide Semiconductor）イメージセンサなどの撮像素子を用いたビデオカメラにより構成される。画像入力装置１１は、撮像の結果得られた画像データ（以下、入力画像データと称する）を画像処理装置１２に供給する。
【００２３】
画像処理装置１２は、例えば、マイクロコンピュータなど、各種のプロセッサと記憶媒体を備える装置により構成され、バッファ２１、目標物体認識部２２、ジェスチャ認識部２３、登録部２４、ガイダンス部２５、および、記憶部２６を含むように構成される。
【００２４】
バッファ２１は、画像入力装置１１から供給される入力画像データを一時的に保持する。なお、バッファ２１内の入力画像データの容量が所定の容量を超えた場合、古い入力画像データから順次消去される。
【００２５】
目標物体認識部２２は、ユーザにより行われるジェスチャを認識するために用いる目標物体の認識を行う。目標物体認識部２２は、動作認識部３１、マッチング部３２、および、目標物体抽出部３３を含むように構成される。
【００２６】
動作認識部３１は、入力画像データをバッファ２１から取得し、入力画像データ内の動物体を抽出し、抽出した動物体の動作の特徴量（例えば、位置、移動方向、移動距離、速度、回転角等）を検出する。また、動作認識部３１は、入力画像データの各フレームにおいて抽出された動物体の動作の特徴量の履歴を示す動作履歴を生成し、保持する。さらに、動作認識部３１は、動作履歴に基づいて、抽出した動物体のこれまでの動作の特徴量（以下、累積動作特徴量と称する）を算出する。そして、動作認識部３１は、動作履歴、および、抽出した動物体の累積動作特徴量をマッチング部３２に供給する。
【００２７】
マッチング部３２は、抽出された動物体の累積動作特徴量と、記憶部２６に記憶されている初期化動作の動作データ（以下、初期化動作データと称する）とのマッチングを行い、その結果に基づいて、初期化動作が行われた否かを判定する。マッチング部３２は、初期化動作が行われたと判定した場合、初期化動作を行ったと判定された動物体の動作履歴を目標物体の動作履歴として目標物体抽出部３３に供給する。
【００２８】
ここで、初期化動作とは、画像処理装置１２に目標物体を認識させるための動作のことである。逆に言えば、画像処理装置１２は、入力画像データ内で初期化動作を行う物体を目標物体として認識する。
【００２９】
また、後述するように、ユーザは任意の動作を初期化動作として設定することができる。例えば、左または右回りの回転、左または右への平行移動、上または下への平行移動などの単純動作や、複数の単純動作を組み合わせた動作を初期化動作に設定することができる。なお、初期化動作は、例えば、移動方向、移動距離、移動速度、回転角等の各種の特徴量により定義される。
【００３０】
また、動作データとは、対象となる動作を表す特徴量（例えば、移動方向、移動距離、移動速度、回転角など）からなるデータである。
【００３１】
目標物体抽出部３３は、入力画像データをバッファ２１から取得し、入力画像データおよび目標物体の動作履歴に基づいて、目標物体の特徴点および特徴量を抽出する。また、目標物体抽出部３３は、抽出した目標物体の特徴点および特徴量からなる物体テンプレート（以下、目標物体テンプレートと称する）を生成する。目標物体抽出部３３は、生成した目標物体テンプレートを追跡部４１に供給するとともに、記憶部２６に記憶させる。また、目標物体抽出部３３は、生成した目標物体テンプレート、または、記憶部２６に記憶されている目標物体テンプレートを追跡部４１に供給する。さらに、目標物体抽出部３３は、目標物体の認識が完了したことをガイダンス部２５に通知する。
【００３２】
ジェスチャ認識部２３は、入力画像データ内の目標物体を追跡することにより、対象機器１３を操作するためにユーザにより行われるジェスチャ（以下、操作動作と称する）を認識し、認識した操作動作に対応する操作信号を対象機器１３に供給する。ジェスチャ認識部２３は、追跡部４１およびマッチング部４２を含むように構成される。
【００３３】
なお、後述するように、初期化動作と同様に、ユーザは任意の動作を操作動作として設定することができる。また、初期化動作と同様に、操作動作は、例えば、移動方向、移動距離、移動速度、回転角等の各種の特徴量により定義される。
【００３４】
追跡部４１は、入力画像データをバッファ２１から取得し、目標物体抽出部３３から供給される目標物体テンプレートに基づいて、入力画像データ内の目標物体の動きを追跡する。追跡部４１は、追跡の結果に基づいて、目標物体の動作履歴を生成し、保持する。また、追跡部４１は、目標物体の動作履歴に基づいて、目標物体の累積動作特徴量を算出し、マッチング部４２に供給する。さらに、追跡部４１は、目標物体の登録の有無、目標物体の追跡結果等をガイダンス部２５に通知する。
【００３５】
マッチング部４２は、目標物体の累積動作特徴量と、記憶部２６に記憶されている各操作動作の動作データ（以下、操作動作データと称する）とのマッチングを行い、その結果に基づいて、操作動作が行われた否かを判定する。マッチング部４２は、操作動作が行われたと判定した場合、その操作動作に対応する操作信号を出力する。
【００３６】
登録部２４は、入力画像データをバッファ２１から取得し、入力画像データ、および、図示せぬ入力装置を介して入力されるユーザからの指令に基づいて、初期化動作および操作動作を登録する。より具体的には、登録部２４は、入力画像データおよびユーザからの指令に基づいて、初期化動作データおよび操作動作データを生成し、記憶部２６に記憶させる。また、登録部２４は、初期化動作または操作動作を登録する際のガイダンスの実行をガイダンス部２５に指令する。
【００３７】
ガイダンス部２５は、画像処理装置１２の使用するための各種のガイダンスの実行を対象機器１３に指令し、実行させる。
【００３８】
記憶部２６は、例えば、EEPROM、ハードディスクドライブ等の不揮発性の記憶媒体により構成される。記憶部２６は、目標物体テンプレート、初期化動作データ、および、操作動作データを記憶する。なお、記憶部２６には、初期化動作データおよび操作動作データの初期値が予め記憶されている。すなわち、初期化動作および対象機器１３を操作するための操作動作として、デフォルトの動作（ジェスチャ）が予め登録されている。
【００３９】
対象機器１３は、特定の機器に限定されるものではなく、例えば、パーソナルコンピュータ、テレビジョン受像機、各種のビデオレコーダ、ビデオプレーヤなど、ジェスチャ認識による操作を適用可能な機器により構成される。そして、対象機器１３は、マッチング部４２から供給される操作信号に対応する処理を実行する。
【００４０】
なお、以下、対象機器１３が、LCD（Liquid Crystal Display）などの表示装置を備えているものとして説明する。
【００４１】
［ジェスチャ認識処理］
次に、図２のフローチャートを参照して、情報処理システム１により実行されるジェスチャ認識処理について説明する。なお、この処理は、例えば、情報処理システム１の電源がオンされたとき開始され、情報処理システム１の電源がオフされたとき終了する。
【００４２】
なお、ジェスチャ認識処理の開始に伴い、画像入力装置１１の撮像が開始され、撮像の結果得られた入力画像データが、逐次バッファ２１に供給され、一時保持される。また、バッファ２１内の入力画像データの容量が所定の容量を超えた場合、古い入力画像データから順次消去されていく。
【００４３】
ステップＳ１において、対象機器１３は、ガイダンス部２５の制御の基に、目標物体の登録のガイダンスを行う。例えば、対象機器１３は、画像入力装置１１から入力画像データを取得し、入力画像データに基づく画像を表示する。さらに、対象機器１３は、表示した画像上に、目標物体の登録を促すメッセージ、目標物体の初期位置の目安を示す枠、目標物体を認識させるための初期化動作を案内する矢印等を表示する。そして、ユーザは、ガイダンスに従って、例えば、目標物体に設定したい物体を手に持って、あるいは、手に装着して、案内された初期位置に物体を設定した後、手を動かして、物体を初期化動作させる。
【００４４】
なお、初期位置は、目標物体をより迅速に認識するために設定するものであり、必ずしも初期位置を設ける必要はない。
【００４５】
また、この目標物体の登録のガイダンスは、必ずしも行う必要はなく、省略することも可能である。
【００４６】
ステップＳ２において、動作認識部３１は、バッファ２１から１フレーム前と最新の入力画像データを取得する。
【００４７】
ステップＳ３において、動作認識部３１は、動作認識処理を実行する。ここで、図３のフローチャートを参照して、動作認識処理の詳細について説明する。
【００４８】
ステップＳ３１において、動作認識部３１は、前のフレームとの差分を算出する。すなわち、動作認識部３１は、バッファ２１から取得した最新の入力画像データと１フレーム前の入力画像データとの間で、同じ位置にある画素同士の画素値の差分値を算出し、両者の間の差分画像データを生成する。
【００４９】
ステップＳ３２において、動作認識部３１は、差分画像データに対して各種のフィルタ処理を行い、差分画像データの背景ノイズを除去する。
【００５０】
ステップＳ３３において、動作認識部３１は、主要動作を抽出する。すなわち、動作認識部３１は、ノイズを除去した差分画像データに基づいて、入力画像データ内の主要な動物体を抽出するとともに、抽出した動物体の動作の特徴量を検出する。なお、動作認識部３１は、主要な動物体が複数存在する場合、各動物体の動作の特徴量を検出する。
【００５１】
なお、この主要動作の抽出処理には、任意の手法を採用することができる。例えば、「Yokoyama, M. and T. Poggio, "A Contour-Based Moving Object Detection and Tracking", In: Proceedings of Second Joint IEEE International Workshop on Visual Surveillance and Performance Evaluation of Tracking and Surveillance (in conjunction with ICCV 2005), p.271-276, October 2005」に記載されている手法を採用することができる。
【００５２】
また、画像入力装置１１の撮像位置が固定されており、背景の変動が少ない場合には、背景差分法等を適用することが可能である。
【００５３】
ステップＳ３４において、動作認識部３１は、動作履歴を更新する。例えば、動作認識部３１は、ステップＳ３３の処理で抽出した動物体（以下、当該動物体と称する）のうちの１つを選択し、保持している動作履歴に基づいて、前回の動作認識処理で抽出された動物体のうち、当該動物体との距離が所定の範囲内で、かつ、最も近い位置にある動物体を検出する。そして、動作認識部３１は、検出した動物体の動作の履歴に、ステップＳ３３の処理で検出した当該動物体の動作の特徴量を追加することにより動作履歴を更新する。そして、動作認識部３１は、今回のステップＳ３３の処理で抽出した全ての動作物体について、この処理を行う。
【００５４】
また、動作認識部３１は、前回の動作認識処理で抽出された動物体の中に、当該動物体からの距離が所定の範囲内である動物体が存在しない場合、当該動物体を新たな動物体として、動作履歴に追加する。
【００５５】
なお、このとき、所定の時間以上前のデータを動作履歴から削除するようにしてもよい。
【００５６】
ステップＳ３５において、動作認識部３１は、動作認識を行う。具体的には、動作認識部３１は、ステップＳ３３の処理で抽出した各動物体について、動作履歴に基づいて、所定の時間前（所定のフレーム前）から現時点までの累積動作特徴量を算出する。動作認識部３１は、動作履歴、および、各動物体の累積動作特徴量をマッチング部３２に供給する。
【００５７】
なお、このとき、各動物体について、時間の制限を設けずに、動物体が初めて検出されてから現時点までの累積動作特徴量を算出するようにしてもよい。
【００５８】
その後、動作認識処理は終了し、処理は、図２のステップＳ４に進む。
【００５９】
ステップＳ４において、マッチング部３２は、初期化動作が行われたか否かを判定する。具体的には、マッチング部３２は、初期化動作データを記憶部２６から読み出し、動作認識部３１により検出された各動物体の累積動作特徴量とのマッチングを行う。マッチング部３２は、その結果、初期化動作データとの差が所定の範囲内の累積動作特徴量を有する動物体を検出できなかった場合、初期化動作が行われていないと判定し、処理はステップＳ２に戻る。
【００６０】
なお、このとき行われるマッチングには、例えば、HMM（Hidden Markov Model）法、Neural Network法などの任意の手法を採用することができる。
【００６１】
その後、ステップＳ４において、初期化動作が行われたと判定されるまで、画像入力装置１１からバッファ２１に入力画像データが供給されるのに同期して、ステップＳ２乃至Ｓ４の処理が繰り返し実行される。
【００６２】
一方、ステップＳ４において、マッチング部３２は、初期化動作データとの差が所定の範囲内の累積動作特徴量を有する動物体を検出した場合、初期化動作が行われたと判定し、処理はステップＳ５に進む。
【００６３】
ステップＳ５において、目標物体抽出部３３は、目標物体抽出処理を実行する。ここで、図４のフローチャートを参照して、目標物体抽出処理の詳細について説明する。
【００６４】
ステップＳ５１において、目標物体抽出部３３は、所定のフレーム数の入力画像データにおける目標物体の領域を算出する。具体的には、マッチング部３２は、初期化動作データとの差が所定の範囲内の累積動作特徴量を有する動物体のうち最も差が小さい動物体の動作履歴を、目標物体の動作履歴として目標物体抽出部３３に供給する。目標物体抽出部３３は、最新の入力画像データから所定のフレーム数前までの入力画像データをバッファ２１から取得する。そして、目標物体抽出部３３は、目標物体の動作履歴に基づいて、取得した入力画像データの各フレームにおける目標物体の領域を算出する。
【００６５】
ステップＳ５２において、目標物体抽出部３３は、目標物体の形状を算出する。具体的には、目標物体抽出部３３は、ステップＳ５１の処理で算出した入力画像データの各フレームにおける目標物体の領域のマッチングを行うことにより、目標物体の形状を算出する。
【００６６】
ステップＳ５３において、目標物体抽出部３３は、各フレームにおける目標物体の特徴点を抽出する。具体的には、目標物体抽出部３３は、ステップＳ５１の処理で算出した入力画像データの各フレームにおける目標物体の領域に、ステップＳ５２の処理で算出した目標物体の形状を適用する。そして、目標物体抽出部３３は、入力画像データの各フレームの目標物体の領域内における特徴点を抽出する。
【００６７】
なお、このとき、１種類の特徴量に基づいて特徴点を抽出するようにしてもよいし、複数の種類の特徴量に基づいて特徴点を抽出するようにしてもよい。また、特徴点を抽出する手法も、例えば、局所領域ヒストグラム、Scale-Invariant Feature Transform（SIFT）など、任意の手法を採用することができる。
【００６８】
ステップＳ５４において、目標物体抽出部３３は、各フレームにおいて抽出した目標物体の特徴点のマッチングを行う。なお、マッチングに用いる距離関数は、特定のものに制限されるものではなく、特徴量の種類に応じて、適切な関数を適用するようにすればよい。
【００６９】
ステップＳ５５において、目標物体抽出部３３は、目標物体テンプレートを生成する。例えば、目標物体抽出部３３は、ステップＳ５４のマッチング処理の結果に基づいて、各フレームにおいて互いに対応すると判定された特徴点の特徴量の平均値を求める。そして、目標物体抽出部３３は、目標物体の各特徴点、および、算出した特徴量の平均値からなる目標物体テンプレートを生成する。
【００７０】
これにより、例えば、図５に示されるように、ユーザ１０１が、手に持ったカップ１０２を矢印１０３の方向に回転させ、矢印１０３方向の回転動作が初期動作である場合、カップ１０２が目標物体として認識される。また、カップ１０２とほぼ同じ大きさの矩形の領域１０４内の特徴点および特徴量を示す目標物体テンプレートが生成される。
【００７１】
その後、目標物体抽出処理は終了し、処理は図２のステップＳ６に進む。
【００７２】
ステップＳ６において、目標物体抽出部３３は、ステップＳ５の処理で抽出した目標物体が登録されているか否かを判定する。具体的には、目標物体抽出部３３は、記憶部２６に目標物体テンプレートが１つも記憶されていない場合、抽出した目標物体が登録されていないと判定し、処理はステップＳ７に進む。
【００７３】
一方、目標物体抽出部３３は、記憶部２６に目標物体テンプレートが記憶されている場合、ステップＳ５５の処理で生成した目標物体テンプレートと、記憶部２６に記憶されている各目標物体テンプレートとを比較する。そして、目標物体抽出部３３は、生成した目標物体テンプレートとの差が所定の範囲内である目標物体テンプレートが記憶部２６に記憶されていない場合、抽出した目標物体が登録されていないと判定し、処理はステップＳ７に進む。
【００７４】
ステップＳ７において、目標物体抽出部３３は、目標物体を登録する。すなわち、目標物体抽出部３３は、ステップＳ５の処理で生成した目標物体テンプレートを記憶部２６に記憶させる。
【００７５】
一方、ステップＳ６において、目標物体抽出部３３は、ステップＳ５５の処理で生成した目標物体テンプレートとの差が所定の範囲内である目標物体テンプレートが記憶部２６に記憶されている場合、抽出した目標物体が登録されていると判定し、ステップＳ７の処理はスキップされ、処理はステップＳ８に進む。なお、このとき、目標物体抽出部３３が、記憶部２６に記憶されている目標物体テンプレートを、新たに生成した目標物体テンプレートに更新するようにしてもよい。
【００７６】
ステップＳ８において、対象機器１３は、ガイダンス部２５の制御の基に、目標物体の認識完了を通知する。具体的には、目標物体抽出部３３は、目標物体の認識完了をガイダンス部２５に通知する。ガイダンス部２５は、対象機器１３に指令を与え、目標物体の認識完了の通知を実行させる。
【００７７】
例えば、対象機器１３は、入力画像データに基づく画像上に、図５の領域１０４の枠のように、認識した目標物体の領域を示す枠を表示することにより、目標物体を認識が完了したこと、および、認識した目標物体をユーザに通知する。
【００７８】
このようにして、ユーザは、簡単に任意の物体を目標物体に設定することができる。また、例えば、手、腕、頭、足など自分の体の一部、または、全身を目標物体に設定することもできる。
【００７９】
なお、認識性能を向上させるためには、外観（形、色、明るさなど）の変化がなるべく小さい物体を目標物体に設定することが望ましい。また、体の一部を目標物体に設定する場合、ジェスチャ認識を行うときに、なるべくその形を変化させないように動かすことが望ましい。
【００８０】
ステップＳ９において、画像処理装置１２は、目標物体の追跡を開始する。具体的には、まず、目標物体抽出部３３は、認識した目標物体の物体テンプレート（目標物体テンプレート）を追跡部４１に供給する。なお、このとき、抽出した目標物体がすでに登録されている場合、記憶部２６に記憶されている目標物体テンプレート、または、ステップＳ５５の処理で新たに生成した目標物体テンプレートのいずれを追跡部４１に供給するようにしてもよい。
【００８１】
追跡部４１は、画像入力装置１１からバッファ２１に入力画像データが供給されるのに同期して、以下の処理を実行する。すなわち、追跡部４１は、新たな入力画像データをバッファ２１から取得し、目標物体テンプレートに基づいて、最新の入力画像データ内において目標物体を探索する。そして、追跡部４１は、その結果に基づいて、目標物体の動作履歴を更新する。
【００８２】
また、追跡部４１は、目標物体の動作履歴に基づいて、所定の時間前（所定のフレーム前）から現時点までの目標物体の累積動作特徴量を算出する。追跡部４１は、目標物体の累積動作特徴量をマッチング部４２に供給する。
【００８３】
ステップＳ１０において、追跡部４１は、目標物体の追跡に失敗したか否かを判定する。追跡部４１は、入力画像データ内において目標物体を検出できている場合、または、目標物体を検出できなかった期間が所定の時間（フレーム数）内である場合、目標物体の追跡に失敗していないと判定し、処理はステップＳ１１に進む。
【００８４】
ステップＳ１１において、マッチング部４２は、操作動作が行われたか否かを判定する。具体的には、マッチング部４２は、マッチング部３２と同様の手法により、記憶部２６に記憶されている各操作動作データと目標物体の累積動作特徴量とのマッチングを行う。マッチング部４２は、その結果、目標物体の累積動作特徴量との差が所定の範囲内の操作動作データを検出できなかった場合、操作動作が行われていないと判定し、処理はステップＳ１０に戻る。
【００８５】
その後、ステップＳ１０において、目標物体の追跡に失敗したと判定されるか、ステップＳ１１において、操作動作が行われたと判定されるまで、ステップＳ１０およびＳ１１の処理が繰り返し実行される。
【００８６】
一方、ステップＳ１１において、マッチング部４２は、目標物体の累積動作特徴量との差が所定の範囲内の操作動作データを検出した場合、操作動作が行われたと判定し、処理はステップＳ１２に進む。
【００８７】
ステップＳ１２において、マッチング部４２は、操作動作に対応する操作信号を出力する。すなわち、マッチング部４２は、目標物体の累積動作特徴量との差が最も小さい操作動作データに対応する操作信号を対象機器１３に供給する。そして、対象機器１３は、取得した操作信号に従って、ユーザにより行われた操作動作に対応する処理を実行する。
【００８８】
その後、処理はステップＳ１０に戻り、ステップＳ１０以降の処理が実行される。
【００８９】
一方、ステップＳ１０において、追跡部４１は、目標物体を検出できなかった期間が所定の時間を越えている場合、目標物体の追跡に失敗したと判定し、処理はステップＳ１に戻る。その後、ステップＳ１以降の処理が実行され、目標物体を再設定したり、変更したりすることができる。
【００９０】
このようにして、任意の物体を簡単に目標物体に設定して、ジェスチャ認識による対象機器１３の操作を行うことができる。従って、予め目標物体を登録する必要がなく、また、例えば、ユーザが使いやすい身近な物体を目標物体に設定することができ、ユーザの利便性が向上する。また、目標物体として使用する専用のツールを準備する必要がないため、例えば、一般家庭用の機器への展開が容易になる。
【００９１】
また、ユーザの体の一部または全身も目標物体として設定できるため、さらにユーザの利便性が向上する。
【００９２】
さらに、簡単に目標物体を再設定したり、変更したりすることができるため、例えば、明るさなど周囲の環境が変化しても、目標物体を再設定することにより、目標物体の追跡精度の低下を抑制し、ジェスチャ認識の性能を向上させることができる。
【００９３】
［動作パターン登録処理］
次に、図６のフローチャートを参照して、情報処理システム１により実行される動作パターン登録処理について説明する。なお、この処理は、例えば、ジェスチャ認識処理の実行中に、ユーザが所定の操作を行ったとき開始される。
【００９４】
ステップＳ１０１において、登録部２４は、初期化動作を登録する。具体的には、登録部２４は、初期化動作の登録のガイダンスの実行をガイダンス部２５に指令する。ガイダンス部２５は、対象機器１３に指令を与え、初期化動作の登録のガイダンスを実行させる。ユーザは、ガイダンスに従って、初期化動作の登録を行い、登録部２４は、登録された初期化動作に対応する動作データ（初期化動作データ）を記憶部２６に記憶させる。
【００９５】
ステップＳ１０２において、登録部２４は、操作動作を登録する。具体的には、登録部２４は、操作動作の登録のガイダンスの実行をガイダンス部２５に指令する。ガイダンス部２５は、対象機器１３に指令を与え、操作動作の登録のガイダンスを実行させる。ユーザは、ガイダンスに従って、操作動作の登録を行い、登録部２４は、登録された操作動作に対応する動作データ（操作動作データ）を記憶部２６に記憶させる。
【００９６】
その後、動作パターン登録処理は終了する。
【００９７】
なお、ステップＳ１０１およびＳ１０２の処理は、順序を逆にしてもよい。また、初期化動作と操作動作を任意の順序で登録できるようにしてもよい。
【００９８】
また、初期化動作および操作動作の登録方法は、特定の方法に限定されるものではなく、任意の方法を採用することができる。
【００９９】
例えば、予め登録されている複数の動作パターンを矢印などにより示した一覧を、対象機器１３の図示せぬ表示装置に表示し、初期化動作および各操作動作に適用する動作パターンをユーザに選択させるようにしてもよい。
【０１００】
また、例えば、描画用の画面を対象機器１３の図示せぬ表示装置に表示し、ユーザが、マウスなどの図示せぬ入力装置を用いて初期化動作または各操作動作に適用する動作パターン（動作の軌跡）を描画するようにしてもよい。この場合、例えば、描画した動作パターンに対応する動作データが生成され、記憶部２６に記憶される。
【０１０１】
さらに、例えば、初期化動作または各操作動作に適用する動作を、実際に画像入力装置１１の前でユーザに実行させるようにしてもよい。この場合、例えば、撮像した入力画像データに基づいて、ユーザの動作が抽出され、抽出された動作に対応する動作データが生成され、記憶部２６に記憶される。
【０１０２】
このようにして、任意の動作パターンを初期化動作および操作動作として登録することができ、さらにユーザの利便性が向上する。
【０１０３】
＜２.変形例＞
なお、以上で説明した各種のガイダンスの方法は、その一例であり、他の方法によりガイダンスを行うようにしてもよい。例えば、対象機器１３が表示装置を備えていない場合、例えば、音声や光などによりガイダンスを行うようにしてもよい。また、対象機器１３が表示装置を備えている場合でも、画像、音声、光などを組み合わせて、ガイダンスを行うようにしてもよい。
【０１０４】
さらに、ガイダンス部２５が、表示装置、音声出力装置、発光装置等を備え、ガイダンス部２５自身がガイダンスを行うようにしてもよい。
【０１０５】
また、図１では、対象機器１３と画像入力装置１１および画像処理装置１２を別に設ける例を示したが、例えば、対象機器１３に、画像入力装置１１および画像処理装置１２、または、その一方を内蔵するようにすることも可能である。
【０１０６】
さらに、ユーザの体以外の物体を目標物体に設定する場合、ユーザは、目標物体を手に持つようにしてもよい、目標物体を身に付けるようにしてもよい。
【０１０７】
また、以上の説明では、操作動作を認識した場合に、対応する操作信号を出力するようにしたが、例えば、操作動作を認識できない場合に、該当操作なしを示す信号を出力するようにしてもよい。
【０１０８】
さらに、初期化動作および操作動作を必ずしもユーザが登録できるようにする必要はなく、予め登録されているデフォルトのもののみを使用するようにすることも可能である。また、初期化動作および操作動作の一方のみをユーザが登録できるようにしてもよい。
【０１０９】
また、目標物体テンプレートが記憶部２６に記憶されている場合、初期化動作による目標物体の認識処理と並行して、その目標物体テンプレートに基づく目標物体の認識処理を行うようにしてもよい。そして、例えば、目標物体認識部２２が、初期化動作が行われる前に、記憶部２６に記憶されている目標物体テンプレートとの差が所定の範囲内である物体を入力画像データ内で検出した場合、その物体を目標物体に設定するようにしてもよい。これにより、初期化動作を行うことなく、登録済みの目標物体を再利用することが可能になる。
【０１１０】
［コンピュータの構成例］
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
【０１１１】
図７は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
【０１１２】
コンピュータにおいて、CPU（Central Processing Unit）３０１，ROM（Read Only Memory）３０２，RAM（Random Access Memory）３０３は、バス３０４により相互に接続されている。
【０１１３】
バス３０４には、さらに、入出力インタフェース３０５が接続されている。入出力インタフェース３０５には、入力部３０６、出力部３０７、記憶部３０８、通信部３０９、及びドライブ３１０が接続されている。
【０１１４】
入力部３０６は、キーボード、マウス、マイクロフォンなどよりなる。出力部３０７は、ディスプレイ、スピーカなどよりなる。記憶部３０８は、ハードディスクや不揮発性のメモリなどよりなる。通信部３０９は、ネットワークインタフェースなどよりなる。ドライブ３１０は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア３１１を駆動する。
【０１１５】
以上のように構成されるコンピュータでは、CPU３０１が、例えば、記憶部３０８に記憶されているプログラムを、入出力インタフェース３０５及びバス３０４を介して、RAM３０３にロードして実行することにより、上述した一連の処理が行われる。
【０１１６】
コンピュータ（CPU３０１）が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア３１１に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
【０１１７】
コンピュータでは、プログラムは、リムーバブルメディア３１１をドライブ３１０に装着することにより、入出力インタフェース３０５を介して、記憶部３０８にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部３０９で受信し、記憶部３０８にインストールすることができる。その他、プログラムは、ROM３０２や記憶部３０８に、あらかじめインストールしておくことができる。
【０１１８】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【０１１９】
また、本明細書において、システムの用語は、複数の装置、手段などより構成される全体的な装置を意味するものとする。
【０１２０】
さらに、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【０１２１】
１  情報処理システム，  １１  画像入力装置，  １２  画像処理装置，  １３  対象機器，  ２１  バッファ，  ２２  目標物体認識部，  ２３  ジェスチャ認識部，  ２４  登録部，  ２５  ガイダンス部，  ２６  記憶部，  ３１  動作認識部，  ３２  マッチング部，  ３３  目標物体抽出部，  ４１  追跡部，  ４２  マッチング部
【図１】
2012098771.tif 000003
【図２】
2012098771.tif 000004
【図３】
2012098771.tif 000005
【図４】
2012098771.tif 000006
【図５】
2012098771.tif 000007
【図６】
2012098771.tif 000008
【図７】
2012098771.tif 000009