(57)【要約】【課題】体の動きを精度よくユーザインターフェースに利用する。【解決手段】撮像装置１２が取得したユーザの姿を含む動画像のデータを、情報処理装置１４の画像取得部２０が取得する。初期処理部２２は、ユーザの移動量と最終的に出力する画像を規定するパラメータとの対応関係を決定し変換情報記憶部２４に格納する。追跡処理部２６は、パーティクルフィルタによる視覚追跡を動画像に対し行い、ユーザの頭部輪郭の倍率、並進量を推定する。入力値変換部２８は、倍率、並進量を媒介として、ユーザの移動量を画像を規定するパラメータに変換する。出力データ生成部３０は、当該パラメータに基づき画像を生成する。出力制御部３２は生成された画像を表示装置１６に表示するよう制御する。【選択図】図４
2010191827.tif 000002
【特許請求の範囲】
【請求項１】
対象物の動きを動画像として撮像する撮像装置と、
前記撮像装置に対する前記対象物の縦方向、横方向、奥行き方向の三次元空間での基準位置からの動き量を、前記対象物の輪郭線に基づき前記動画像より推定する入力値取得部と、
前記入力値取得部が推定した三次元空間での動き量に応じて異なる処理を行い出力データを生成する出力データ生成部と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記入力値取得部は、
前記対象物の一般形状を曲線で表し、少なくとも当該曲線の倍率および並進量を変化させながら前記撮像装置が撮像した動画像を構成する画像フレームのエッジ画像とマッチングすることによって、当該画像フレームにおける前記対象物と最も合致する曲線を規定する倍率および並進量のデータを、画像フレームごとに取得する追跡処理部と、
前記追跡処理部が取得した前記並進量のデータを用いて縦方向および横方向の動き量を推定し、前記倍率のデータを用いて奥行き方向の動き量を推定する入力値変換部と、
を備えることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記入力値取得部は、
前記対象物の一般形状を曲線で表し、少なくとも当該曲線の倍率および並進量を変化させながら前記撮像装置が撮像した動画像を構成する画像フレームのエッジ画像とマッチングすることによって、当該画像フレームにおける前記対象物と最も合致する曲線を、画像フレームごとに取得する追跡処理部と、
前記追跡処理部が取得した曲線で囲まれた領域の画素数を用いて奥行き方向の動き量を推定する入力値変換部と、
を備えることを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記追跡処理部は、前記対象物として人間の頭部の輪郭形状をΩ形の曲線で表し、
前記入力値変換部は、ユーザの頭部の三次元空間での動き量を推定することを特徴とする請求項２または３に記載の情報処理装置。
【請求項５】
前記出力データ生成部は、前記動き量に応じて一意に決定する変数を入力値として処理を行い、
前記出力データ生成部における処理に先立ち、各方向における前記対象物の動く範囲を対象物ごとに特定し、当該動く範囲と前記出力データ生成部の入力値との対応関係を決定する初期処理部をさらに備えることを特徴とする請求項１から３のいずれかに記載の情報処理装置。
【請求項６】
前記出力データ生成部は、あらかじめ設定された対応関係に基づき、前記動き量に応じて一意に決定する変数を入力値として処理を行い、
前記出力データ生成部における処理に先立ち、前記撮像装置が撮像するユーザの画像の鏡面画像を表示装置に表示したうえで、前記対応関係によって規定される、各方向における前記対象物の許容移動範囲の端点に対応する鏡面画像上の位置に、前記対象物の一般形状を表す曲線をさらに表示し、表示画像上で当該曲線と前記対象物の実際の輪郭線とが一致するように前記対象物を移動させることにより、前記対象物の許容移動範囲をユーザに認識させる初期処理部をさらに備えることを特徴とする請求項１から３のいずれかに記載の情報処理装置。
【請求項７】
前記入力値取得部は、前記対象物の奥行き方向の動き量に基づき、撮像装置による見かけ上の縦方向および横方向の動き量を補正することにより、実際の縦方向および横方向の動き量をそれぞれ推定することを特徴とする請求項１に記載の情報処理装置。
【請求項８】
前記出力データ生成部は、前記三次元空間での基準位置からの動き量が、あらかじめ設定されたしきい値を超えない場合、当該動き量の変化を実行する処理に反映させないことを特徴とする請求項１に記載の情報処理装置。
【請求項９】
前記入力値変換部は、各画像フレームにおいて取得された前記並進量のデータと前記倍率のデータに対し、その前までの画像フレームにおける各データの時間変化を用いてノイズ除去のフィルタリングを施し、補正することを特徴とする請求項２に記載の情報処理装置。
【請求項１０】
前記出力データ生成部は、ユーザの仮想世界での視野を表現した画像のデータを生成し、ユーザの頭部の三次元空間での動き量に応じて、当該視野の視点を変化させ、
前記出力データ生成部が生成した画像を、ユーザが三次元空間を移動しながら確認できるように表示する表示装置をさらに備えることを特徴とする請求項４に記載の情報処理装置。
【請求項１１】
前記出力データ生成部は、仮想世界でのユーザを表すオブジェクトを表現した画像のデータを生成し、ユーザの頭部の三次元空間での動き量に応じて、当該オブジェクトを動かし、
前記出力データ生成部が生成した画像を、ユーザが三次元空間を移動しながら確認できるように表示する表示装置をさらに備えることを特徴とする請求項４に記載の情報処理装置。
【請求項１２】
対象物の動きを動画像として撮像する撮像装置と、
前記撮像装置に対する前記対象物の縦方向、横方向の二次元空間での基準位置からの動き量と、奥行き方向の基準位置からの距離とを前記動画像より推定する入力値取得部と、
前記入力値取得部が推定した二次元空間での動き量に応じて異なる処理を行い出力データを生成する出力データ生成部と、
を備え、
前記入力値取得部は、前記対象物の奥行き方向の基準位置からの距離に基づき、撮像装置による見かけ上の縦方向および横方向の動き量を補正することにより、実際の縦方向および横方向の動き量をそれぞれ推定することを特徴とする情報処理装置。
【請求項１３】
対象物の動きを動画像として撮像装置により撮像するステップと、
撮像装置に対する前記対象物の縦方向、横方向、奥行き方向の三次元空間での基準位置からの動き量を、前記対象物の輪郭線に基づき前記動画像より推定するステップと、
推定した三次元空間での動き量に応じて異なる処理を行い出力データを生成するステップと、
を含むことを特徴とする情報処理方法。
【請求項１４】
前記出力データを生成するステップは、前記対象物の三次元空間での動き量に連動して変化する動画像のデータを生成し、
前記動画像を表示するステップをさらに含むことを特徴とする請求項１２に記載の情報処理方法。
【請求項１５】
対象物の動きを動画像として撮像装置により撮像する機能と、
撮像装置に対する前記対象物の縦方向、横方向、奥行き方向の三次元空間での基準位置からの動き量を、前記対象物の輪郭線に基づき前記動画像より推定する機能と、
推定した三次元空間での動き量に応じて異なる処理を行い出力データを生成する機能と、
をコンピュータに実現させることを特徴とするコンピュータプログラム。
【請求項１６】
対象物の動きを動画像として撮像装置により撮像する機能と、
撮像装置に対する前対象物位の縦方向、横方向、奥行き方向の三次元空間での基準位置からの動き量を、前記対象物の輪郭線に基づき前記動画像より推定する機能と、
推定した三次元空間での動き量に応じて異なる処理を行い出力データを生成する機能と、
をコンピュータに実現させることを特徴とするコンピュータプログラムを記録した、コンピュータにて読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理技術に関し、特にユーザの入力に応じた処理を行うためのユーザインターフェースを含む情報処理装置およびそこで実行される情報処理方法に関する。
【背景技術】
【０００２】
近年、ゲーム装置や電化製品などを含む電子機器は、その機能が著しく高度化している。それに伴い、ユーザインターフェースによってユーザが行うことのできる入力体系は複雑化している。そのような複雑な入力体系にあっても容易な入力が可能となるように、ユーザインターフェースには様々な工夫がなされてきた。例えば、コントローラにおけるボタンの割り付けを工夫したり、タッチパネルを利用したりするほか、ユーザを撮像する装置をインターフェースとし、ユーザの顔の状態を検出することによって、様々なイベントを実行する技術も提案されている（例えば特許文献１参照）。
【０００３】
このように撮像装置をユーザインターフェースとする場合、ユーザの顔の状態を検出するためには、一般的な顔検出技術を利用することができる。例えばあらかじめ準備した基準画像と検出した顔領域の画像とをマッチングしたり、顔領域の面積によって顔の向きや傾きを判断したりする。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−１５９４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
情報処理技術の進歩によって、電子機器や情報処理装置を利用する環境、ユーザ、処理内容なども多様化し、それらの要因に応じて、望まれるユーザインターフェースも異なってくる。したがってそのようなニーズに合致させて、ユーザインターフェースの態様もさらに多様化させる必要がある。特に、多くのボタンなどによって複雑な入力を行わずともより自然な動きで入力が可能なユーザインターフェースが望まれている。
【０００６】
本発明はこのような課題に鑑みてなされたものであり、その目的は、人の動作によって正確かつ多様な入力が可能なユーザインターフェースを含む情報処理技術を提供することにある。
【課題を解決するための手段】
【０００７】
本発明のある態様は情報理装置に関する。この情報処理装置は、対象物の動きを動画像として撮像する撮像装置と、撮像装置に対する対象物の縦方向、横方向、奥行き方向の三次元空間での基準位置からの動き量を、対象物の輪郭線に基づき動画像より推定する入力値取得部と、入力値取得部が取得した三次元空間での動き量に応じて異なる処理を行い出力データを生成する出力データ生成部と、を備えることを特徴とする。
【０００８】
本発明の別の態様も情報処理装置に関する。この情報処理装置は、対象物の動きを動画像として撮像する撮像装置と、撮像装置に対する対象物の縦方向、横方向の二次元空間での基準位置からの動き量と、奥行き方向の基準位置からの距離とを前記動画像より推定する入力値取得部と、追跡処理部が取得した二次元空間での動き量に応じて異なる処理を行い出力データを生成する出力データ生成部と、を備え、入力値取得部は、対象物の奥行き方向の基準位置からの距離に基づき、撮像装置による見かけ上の縦方向および横方向の動き量を補正することにより、実際の縦方向および横方向の動き量をそれぞれ推定することを特徴とする。
【０００９】
本発明の別の態様は情報処理方法に関する。この情報処理方法は、対象物の動きを動画像として撮像装置により撮像するステップと、撮像装置に対する対象物の縦方向、横方向、奥行き方向の三次元空間での基準位置からの動き量を、対象物の輪郭線に基づき動画像より推定するステップと、推定した三次元空間での動き量に応じて異なる処理を行い出力データを生成するステップと、を含むことを特徴とする。
【００１０】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラム、コンピュータプログラムを記録した記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１１】
本発明によれば、様々な情報処理において、ユーザ自身の自然な動きを入力値として、多様な処理を精度よく行うことができる。
【図面の簡単な説明】
【００１２】
【図１】本実施の形態を適用できる情報処理システムの構成例を示す図である。
【図２】人物を追跡対象とした場合の視覚追跡手法を説明するための図である。
【図３】パーティクルフィルタを用いた確率密度分布推定の手法を説明する図である。
【図４】本実施の形態における情報処理装置の構成を詳細に示す図である。
【図５】本実施の形態における追跡処理部の構成を詳細に示す図である。
【図６】本実施の形態における入力値変換部の構成を詳細に示す図である。
【図７】本実施の形態における初期処理部が行うキャリブレーションにおいてユーザを撮像する際の頭部の位置を示す図である。
【図８】本実施の形態においてユーザの奥行き方向の移動と画像規定パラメータとの対応関係を模式的に示す図である。
【図９】本実施の形態において見かけ上の移動量を表す並進量の値を補正する原理を説明するための図である。
【図１０】本実施の形態の報処理装置の処理手順を示すフローチャートである。
【図１１】図１０のフローチャートで処理対象としたゲームにおいて表示装置に表示する画像の、ユーザの位置に対する変化の例を示す図である。
【図１２】図１０のフローチャートで処理対象としたゲームにおいて表示装置に表示する画像の、ユーザの位置に対する変化の例を示す図である。
【発明を実施するための形態】
【００１３】
図１は本実施の形態を適用できる情報処理システムの構成例を示す。情報処理システム１０は、ユーザ１８を撮像する撮像装置１２、ユーザの動作を検出しそれに応じた情報処理を行う情報処理装置１４、情報処理装置が処理した結果得られた画像データを出力する表示装置１６を含む。
【００１４】
情報処理装置１４と、撮像装置１２あるいは表示装置１６との接続は、有線、無線を問わず、また種々のネットワークを介していてもよい。あるいは撮像装置１２、情報処理装置１４、表示装置１６のうちいずれか２つ、または全てが組み合わされて一体的に装備されていてもよい。また、撮像装置１２は必ずしも表示装置１６の上に搭載されていなくてもよい。以後の説明では、撮像装置１２は表示装置１６に対峙したユーザ１８を正面から撮像することを前提とするが、撮像する方向が異なっていても、簡単な座標変換により同様の処理を行うことができる。また、撮像装置１２のレンズが向く方向を「奥行き方向」とし、レンズ面に水平な平面における「縦方向」および「横方向」を加えた３つの方向を、ユーザが移動する三次元空間の軸として表現する。
【００１５】
撮像装置１２はユーザ１８を含む画像のデータを、所定のフレームレートで取得する。取得された動画像データは情報処理装置１４に入力される。情報処理装置１４は、撮像装置１２から取得した動画像データからユーザの動作を検出する。本実施の形態では、ユーザが自分の動作によってできる入力の自由度を高くするため、撮像装置１２に対する奥行き方向の移動の情報も取得する。具体的な手法な後に述べるが、奥行き方向の動きを検出することによって、単に奥行き方向分のパラメータ入力が可能になるばかりでなく、縦方向、横方向の動きを正確に検出することができる。結果として単に画像平面上の動きを検出することに比べ、格段に入力の自由度を向上させることができる。
【００１６】
情報処理装置１４は、奥行き方向の動きを含むユーザの動作を検出し、それに応じて処理を変化させる。ここで情報処理装置１４が実行する、ユーザインターフェースに係る処理以外の処理の内容は限定されない。例えば、表示装置１６に表示した画像をユーザ１８の視野としたり、ユーザ１８に対応するオブジェクトをアバターとして表示したりして、洞窟や街中など仮想空間を移動しながら様々なアクションを起こすゲームなどが考えられる。ロールプレイングゲームやシューティングゲーム、ボクシングゲーム、サッカーゲームなど、そのような状況を利用したゲームは様々考えられる。ゲーム以外にも、仮想空間内の仮想店舗で買い物をしたり、処理のメニューを表示したオブジェクトを選択したりすることもできる。
【００１７】
これらの処理はいずれも、表示装置１６によって表示される画像とユーザ１８の動作を連動させる、という発想に基づいているが、本実施の形態はそれに限らず、ユーザの入力により動作するいかなるアプリケーションでもよい。すなわちユーザの動作と処理との対応づけをあらかじめ行っておけば、表示装置１６に表示したテレビ番組やウェブサイトを動作によって切り替えるなどの利用も考えられる。または単にメニューを選択するのみで画像表示を伴わなくてもよい。いずれにしろユーザの動きという単純な変化を「入力値」としても、入力の自由度が高いうえ高精度に「入力値」を検出できるため、様々なアプリケーションと組み合わせが可能である。
【００１８】
表示装置１６は、情報処理装置１４がユーザ１８の動作を検出した結果を反映させて生成した画像データを取得し、画像として出力する。以後の説明では、ユーザの動作と表示装置１６に表示する画像とを連動させるゲームを処理する態様に主眼を置くが、上述のとおり適用できるアプリケーションは多岐に渡る。
【００１９】
次に、情報処理装置１４が行う、ユーザ１８の動作検出の原理を説明する。本実施の形態では、パーティクルフィルタを用いた視覚追跡処理を、撮像装置１２が撮像したユーザ１８を含む画像に対して実行する。図２は人物を追跡対象とした場合の視覚追跡手法を説明するための図である。人物画像１５０は撮像した動画像の画像ストリームを構成する画像フレームのひとつであり、追跡対象である人物１５２が写っている。当該人物１５２が、図１におけるユーザ１８に対応する。
【００２０】
この人物１５２の動きを追跡するために、人物１５２の頭部輪郭の形状を近似するΩ形の曲線１５４を既知の表現で記述する。一方、人物１５２を含む人物画像１５０にはエッジ抽出処理を施し、エッジ画像を取得しておく。そして曲線１５４を規定するパラメータを変化させることにより当該曲線１５４を並進、伸縮、回転させて、その近傍にあるエッジを探索することにより、人物１５２の頭部輪郭と最もマッチすると推定されるパラメータの値を特定する。以上の処理をフレームごとに繰り返すことにより人物１５２の追跡が進捗する。ここでエッジとは一般的には画像の濃度や色に急な変化を有する箇所のことである。
【００２１】
規定するパラメータの値を様々にした曲線１５４と人物１５２の頭部輪郭とのマッチングを行うために、パーティクルフィルタによる確率分布予測技術を導入する。すなわち、ひとつ前のフレームにおけるパラメータ空間上の対象物の確率分布に応じて曲線１５４のサンプリング数を増減させ、追跡候補の絞り込みを行う。これにより存在確率の高い部分に対しては重点的に探索を行うことができ、精度のよいマッチングが効率的に行える。
【００２２】
対象物の輪郭に着目した追跡に対するパーティクルフィルタの適用手法は、例えば非特許文献（ICondensation: Unifying low-level and high-level tracking in a stochastic framework, Michael Isard and Andrew Blake, Proc 5th European Conf. Computer Vision, 1998）に詳述されている。ここでは本実施の形態に係る点に着目して説明する。
【００２３】
まずΩ形の曲線１５４を、Ｂスプライン曲線で記述する。Ｂスプライン曲線はｎ個の制御点（Ｑ０，・・・，Ｑｎ）とｎ個のノット（ｓ０，・・・，ｓｎ）とから定義される。そして基本となる曲線形状、この場合はΩ形の曲線となるように、それらのパラメータをあらかじめ設定しておく。このときの設定によって得られる曲線を以後、テンプレートＱtと呼ぶ。なお、図２で示した人物画像１５０における人物１５２の追跡を行う場合は、テンプレートＱtはΩ形であるが、その形状は追跡対象によって変化させる。すなわち追跡対象がボールであれば円形、手のひらであれば手の形状などとなる。
【００２４】
次にテンプレートの状態を変化させるための変換パラメータとして、形状空間ベクトルｘを準備する。形状空間ベクトルｘは以下のような６つのパラメータで構成される。
【００２５】
【数１】
2010191827.tif 000003
【００２６】
ここで（shiftｘ，shiftｙ）は（ｘ，ｙ）方向への並進量、（extendｘ，extendｙ）は倍率、θは回転角である。そして形状空間ベクトルｘをテンプレートＱtに作用させるための作用行列Ｗを用いると、変形後の曲線、すなわち候補曲線Ｑは以下のように記述できる。
【００２７】
【数２】
2010191827.tif 000004
【００２８】
式２を用いれば、形状空間ベクトルｘを構成する６つのパラメータを適宜変化させることにより、テンプレートを並進、伸縮、回転させることができ、組み合わせによって候補曲線Ｑを種々変化させることができる。
【００２９】
そして、制御点、およびノットの間隔といったテンプレートＱtのパラメータや、形状空間ベクトルｘを構成する６つのパラメータを変化させることによって表現される複数の候補曲線について、各ノットの近傍にある人物１５２のエッジを探索する。その後、エッジとの距離などから各候補曲線の尤度を求めることにより、形状空間ベクトルｘを構成する６つのパラメータで定義される６次元空間における確率密度分布を推定する。
【００３０】
図３はパーティクルフィルタを用いた確率密度分布推定の手法を説明する図である。同図では理解を簡単にするために、形状空間ベクトルｘを構成する６つのパラメータのうち、あるパラメータｘ１の変化を横軸に表しているが、実際には６次元空間において同様の処理が行われる。ここで確率密度分布を推定したい画像フレームが時刻ｔの画像フレームであるとする。
【００３１】
まず、時刻ｔの画像フレームのひとつ前のフレームである時刻ｔ−１の画像フレームにおいて推定された、パラメータｘ１軸上の確率密度分布を用いて（Ｓ１１０）、時刻ｔにおけるパーティクルを生成する（Ｓ１１２）。それまでにフィルタリングを行い、すでにパーティクルが存在する場合は、その分裂、および消滅を決定する。Ｓ１１０において表した確率密度分布は、パラメータ空間上の座標に対応して離散的に求められたものであり、円が大きいほど確率密度が高いことを表している。
【００３２】
パーティクルはサンプリングするパラメータｘ１の値とサンプリング密度とを実体化したものであり、例えば時刻ｔ−１において確率密度が高かったパラメータｘ１の領域は、パーティクル密度を高くすることで重点的にサンプリングを行い、確率密度の低かった範囲はパーティクルを少なくすることでサンプリングをあまり行わない。これにより、例えば人物１５２のエッジ近傍において候補曲線を多く発生させて、効率よくマッチングを行う。
【００３３】
次に所定の運動モデルを用いて、パーティクルをパラメータ空間上で遷移させる（Ｓ１１４）。所定の運動モデルとは例えば、ガウシアン型運動モデル、自己回帰予測型運動モデルなどである。前者は、時刻ｔにおける確率密度は時刻ｔ−１における各確率密度の周囲にガウス分布している、とするモデルである。後者は、サンプルデータから取得した２次以上の自己回帰予測モデルを仮定する手法で、例えば人物１５２がある速度で等速運動をしているといったことを過去のパラメータの変化から推定する。図２の例では、自己回帰予測型運動モデルによりパラメータｘ１の正方向への動きが推定され、各パーティクルをそのように遷移させている。
【００３４】
次に、各パーティクルで決定される候補曲線の近傍にある人物１５２のエッジを、時刻ｔのエッジ画像を用いて探索することにより、各候補曲線の尤度を求め、時刻ｔにおける確率密度分布を推定する（Ｓ１１６）。前述のとおり、このときの確率密度分布はＳ１１６に示すように、真の確率密度分布４００を離散的に表したものになる。以降、これを繰り返すことにより、各時刻における確率密度分布がパラメータ空間において表される。例えば確率密度分布が単峰性であった場合、すなわち追跡対象が唯一であった場合は、得られた確率密度を用いて各パラメータの値に対し重み付けした和を最終的なパラメータとすることにより、追跡対象の輪郭と推定される曲線が得られることになる。
【００３５】
Ｓ１１６において推定される時刻ｔにおける確率密度分布p(xti)は以下のように計算される。
【００３６】
【数３】
2010191827.tif 000005
【００３７】
ここでｉはパーティクルに一意に与えられた番号、p(xti|xti, ut-1)は所定の運動モデル、p(yt|xti)は尤度である。式３で得られる確率密度分布は、形状空間ベクトルの各パラメータに対して得られる。したがって当該確率密度分布でパーティクルの加重平均を求めることにより、各時刻の形状空間ベクトルが推定できる。
【００３８】
一方、図１に示した、ユーザの動作を撮像してそれを入力値とする態様を考える。撮像対象が撮像装置に近ければ当該対象は大きく写り、遠ければ小さく写る、といったように、撮像装置１２とユーザ１８との距離と、頭部輪郭の大きさとはおよそ比例関係にあることが実験的に判明しているため、本実施の形態ではその性質を利用する。すなわち、形状空間ベクトルのうち倍率を表す（extendｘ，extendｙ）に着目し、その変化がユーザの奥行き方向の移動量を反映しているとして、入力値に利用する。また、縦横方向の動きは形状空間ベクトルのうち並進量を表す（shiftｘ，shiftｙ）によって検出する。
【００３９】
単眼のカメラを撮像装置に用いてユーザの動きを検出する場合、撮影された画像はその面上の二次元の情報のみで構成されるため、ユーザの奥行き方向の動きを検出することは難しい。二次元情報から奥行きの情報を取得するために、顔検出技術によって検出した顔領域の面積の変化を用いることが考えられるが、顔の向きや髪の毛のかかり具合などによって奥行き方向の距離とは無関係に顔領域の面積が変化しやすく、十分な精度が得られない場合があり得る。
【００４０】
また上記手法では、断続的に撮影した複数の静止画における顔領域の面積を比較することによって奥行き方向の移動を検出することになるが、撮影範囲に複数の人が存在したり、カメラの前を何かが横切ったりといった様々な環境の変化をも検出結果として取り込んでしまうことが考えられ、常に対象とする人の動作のみを検出することは困難である。
【００４１】
本実施の形態では、ユーザの頭部輪郭を連続的に追跡する。一般的に頭部輪郭は、顔の向きや髪の毛が変化してもその大きさはほとんど変化しない。そのため頭部輪郭の大きさを媒介とすれば、そのようなユーザ自身の変化の影響をほとんど受けることなく奥行き方向の位置を把握することができる。またフレームごとなど連続的に追跡を行うため、撮影範囲に別の人や物が存在しても対象とするユーザの動きのみを正確に抽出し易く、そのような周囲の環境にも強い耐性を有する。さらに対象とする人ごとに追跡を行えるため、複数のユーザでゲームなどを行っても、対象を取り違えることなくユーザ個々の動作に応じた処理を行うことができる。
【００４２】
図４は情報処理装置１４の構成を詳細に示している。情報処理装置１４は、撮像装置１２から入力される入力画像データを取得する画像取得部２０、ユーザの実際の動きと、連動させる画像の動きとの対応づけを行う初期処理部２２、上述の視覚追跡処理を実行する追跡処理部２６、追跡の結果得られた倍率や並進量のパラメータを画像の動きを規定するパラメータ（以後、「画像規定パラメータ」と呼ぶ）に変換する入力値変換部２８、当該画像規定パラメータを用いて新たな画像データを生成する出力データ生成部３０、および、生成された画像データの表示装置１６への出力を制御する出力制御部３２を含む。
【００４３】
図４および以後の図５、６において、様々な処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、ＣＰＵ、メモリ、その他のＬＳＩで構成することができ、ソフトウェア的には、画像処理を行うプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
【００４４】
なお、出力データ生成部３０は、ユーザの動きと連動する画像を表示するゲームであれば当該画像のデータを生成するが、上述のように本実施の形態は様々なアプリケーションへの応用が可能であるため、画像データを生成するばかりでなく各アプリケーションに応じた処理を行ってよい。したがって入力値変換部２８は、追跡の結果得られたパラメータを、あらかじめ当該パラメータと対応づけたアプリケーションの機能ＩＤなどに変換し、出力データ生成部３０が当該機能ＩＤに対応する機能を実現する処理を行うようにしてもよい。
【００４５】
画像取得部２０は、有線、無線を問わず撮像装置１２からユーザの画像を取得する。初期処理部２２は、ユーザが最大限動いたときの追跡処理によって得られる形状空間ベクトルのパラメータの振り幅と、画像規定パラメータの可変幅とを対応づけるためのキャリブレーションを行う。具体的には、最大限動いたときの位置にユーザを立たせるなどしてそれぞれの画像を撮影し、その際の形状空間ベクトルのパラメータを取得することによって各パラメータの振り幅を得る。倍率、並進量の各パラメータの最大値、最小値が、画像規定パラメータの可変範囲の最大値、最小値のいずれかと対応するように対応関係を決定する。最大値、最小値以外の対応関係の決定の仕方はゲームの内容などによって異なっていてよい。詳細は後に述べる。このようにして決定した、対応関係を表すデータは、変換情報記憶部２４に格納する。
【００４６】
追跡処理部２６は、上述の視覚追跡の手法によりユーザの動きを追跡する。以後の説明ではユーザの頭部輪郭を追跡する例を説明するが、本実施の形態における追跡対象は頭部に限らない。ただし上述のような理由から、移動によって撮像装置１２に対する角度が変化しても、撮像装置からの見かけ上の形状が変化しない、あるいは変化しにくい輪郭を有する物を追跡対象とすることが望ましい。例えば持ち手である棒の先に球体がついた物をユーザに持たせ、当該球体を追跡対象としても、頭部と同様の結果を得ることができる。
【００４７】
入力値変換部２８は、追跡処理部２６の追跡の結果得られる各時刻における倍率および並進量の値に基づき、変換情報記憶部２４が記憶する対応関係を表すデータを参照することにより、各時刻の画像規定パラメータを取得する。出力データ生成部３０は、入力値変換部２８が取得した画像規定パラメータに基づき、表示画像がユーザの動きによって変化するように新たな画像データを生成する。生成した画像は、出力制御部３２の制御のもと、表示装置１６に表示する。
【００４８】
図５は追跡処理部２６の構成を詳細に示している。追跡処理部２６は、入力画像データからエッジ画像などを生成する画像処理部４０、パーティクルの生成および消滅によってパラメータ空間におけるサンプリングを行うサンプリング部４２、各パーティクルが規定する候補曲線の尤度を観測する観測部４６、観測の結果を統合し、形状空間ベクトルを推定する結果取得部５０、Ω形のテンプレートを規定するパラメータを記憶するパラメータ記憶部４８を含む。なお、ユーザの体の位置や動作を検出する場合はテンプレートをΩ形とすることで頭部の輪郭を追跡すればよいが、テンプレートの形状はそれに限らない。例えばユーザの手のみを撮像してその位置や動作により処理を行う場合、テンプレートは手のひらの形とするなど、撮像対象によってテンプレート形状は異なってよい。
【００４９】
画像処理部４０は、入力画像データの画像フレームごとにエッジ抽出処理を施し、エッジ画像を生成する。ここではキャニーエッジフィルタや、ソーベルフィルタなど一般的なエッジ抽出アルゴリズムを用いることができる。また画像処理部４０は、背景差分を利用した前景抽出器（図示せず）を実装していてもよく、エッジ抽出処理の前処理として入力画像から追跡対象を含む前景を抽出することにより、追跡対象のエッジを効率的に抽出するようにしてもよい。
【００５０】
サンプリング部４２は、一つ前の時刻ｔ−１における画像フレームに対して推定された、形状空間ベクトルｘの空間での確率密度分布に基づきパーティクルの生成および消滅の処理を行う。そして全パーティクルに対し所定の運動モデルを適用して、パーティクルを当該空間上で遷移させる。
【００５１】
観測部４６は、サンプリング部４２が生成・消滅、遷移させた各パーティクルが定める候補曲線の尤度を観測する。尤度は上述のように、画像処理部４０が生成したエッジ画像上で各候補曲線の近傍にあるエッジを探索し、当該エッジまでの距離を候補曲線ごとに見積もることによって決定する。候補曲線は上述のように、パラメータ記憶部４８から読み出したΩ形のテンプレートに対し、各パーティクルを規定するパラメータを作用させることによって得られる。結果取得部５０は、観測部４６が観測した尤度に基づき式３で示すような確率密度分布を形状空間ベクトルｘの空間において算出し、それにより各パラメータを重み付け平均する。また次の時刻ｔ＋１における追跡処理に使用するため、サンプリング部４２にそのデータを返す。
【００５２】
追跡対象が複数存在する場合、結果取得部５０はさらに、それぞれに用意したテンプレートを用いて、追跡対象ごとに追跡を行う。また複数の追跡対象が重なるような場合を追跡結果によって検出し、後ろに隠れる追跡対象については所定のタイミングで追跡処理対象からはずすなどの措置を講じる。これにより追跡対象が別の追跡対象の背後に回ったことによって観測尤度が一時的に低下しても、不適当な追跡結果を出力するのを避けることができる。
【００５３】
図６は入力値変換部２８の構成を詳細に示している。入力値変換部２８は、視覚追跡の結果得られた形状空間ベクトルのパラメータを取得する追跡結果取得部５２、画像規定パラメータへの変換に際し正確を期するための補正を行う補正部５４、形状空間ベクトルのパラメータを画像規定パラメータに変換する画像規定パラメータ取得部５８を含む。追跡結果取得部５２は、追跡処理部２６が追跡結果として取得した、時刻ｔにおける形状空間ベクトルのパラメータのうち、倍率を表す（extendｘ，extendｙ）、並進量を表す（shiftｘ，shiftｙ）の値を取得する。取得した値は履歴記憶部５６に記憶させる。
【００５４】
補正部５４は、倍率および並進量のその時点までの時間変化を履歴記憶部５６から取得し、当該データを用いてメディアンフィルタや最小自乗法などノイズ除去のフィルタリングを行うことにより、時刻ｔにおける倍率および並進量の値を補正する。具体的には、実際の動きとは考えにくい急峻な変化を示すデータを、それまでの時間変化から得られる基準により排除したり、追跡誤差を考慮して真の値を推定する。履歴データを参照して、極端なデータを排除したり真の値を推定する手法は、統計学で一般的に用いられる手法を利用できる。
【００５５】
本実施の形態では、形状空間ベクトルを例えばフレーム単位で取得できるため、各パラメータの時間変化が詳細に得られる。それを補正に利用することにより、倍率や並進量といったパラメータ、ひいては画像規定パラメータの信頼性を向上させることができる。またユーザの動きを画像に反映させる態様においては、高周波数成分を除去することにより、なめらかな動きの画像を表示することができる。
【００５６】
画像規定パラメータ取得部５８は、補正された形状空間ベクトルのパラメータに基づき、変換情報記憶部２４に格納された対応関係を表すデータを参照して、時刻ｔの画像規定パラメータを取得する。ここで、形状空間ベクトルのパラメータと画像規定パラメータとの対応づけについて説明する。図７は初期処理部２２が対応関係を決定するために行うキャリブレーションにおいてユーザを撮像する際の頭部の位置を示している。
【００５７】
図のＸ座標、Ｙ座標、およびＺ座標はそれぞれ、横方向、縦方向、奥行き方向を表す。キャリブレーションにおいてはまず、移動によって各種入力を行う際の基準となる位置にユーザを立たせる。以後、この位置を「基準位置」と呼ぶ。基準位置は、撮像装置１２から１ｍなど、所定の距離を装置側で指定してよい。このときの撮像装置１２からの距離は、後に述べる横方向、縦方向の動きの補正において使用するが、補正を行わない場合はユーザの好きな位置でもよい。この状態で撮像装置１２がユーザ１８を撮影し、追跡処理部２６がその状態における倍率および並進量の値を取得する。
【００５８】
ここで取得する値は前述のように、算出した確率密度分布でパーティクルを規定する各パラメータを重み付け平均した値である。初期処理であるため、ユーザが写っていると思われる領域をエッジ画像などから導出して、当該領域に等間隔にパーティクルを分散させて観測してもよい。または単にテンプレートとエッジ画像とのマッチングを行ってもよい。このときの頭部の位置を図７の座標では原点Ｐ＿０としている。
【００５９】
次に、例えば前後に１歩移動した位置に立たせ、そこでの倍率の値を取得する。このときの頭部の位置を図７の座標ではそれぞれＰＺ＿ｍｉｎ、ＰＺ＿ｍａｘとしている。さらに基準位置から左右に一歩移動した位置に立たせ、そこでの並進量の値を取得する。このときの頭部の位置を図７の座標ではそれぞれＰＸ＿ｍｉｎ、ＰＸ＿ｍａｘとしている。同様に基準位置において屈んだ状態と背伸びした状態にさせ、そのときの並進量の値を取得する。このときの頭部の位置を図７の座標ではそれぞれＰＹ＿ｍｉｎ、ＰＹ＿ｍａｘとしている。
【００６０】
ここで「一歩」としているのはあくまで例であり、例えば洞窟探検のゲームなどにおいて、ユーザが基準位置から一歩前進した状態では洞窟の先へと進み続け、基準位置から一歩後退した状態では洞窟を後ずさりし続けるような視野画像を表示するゲームで用いることができる。したがってキャリブレーションの位置はゲームなど、アプリケーションにおける設定によって変化させてよい。例えば最大の移動量を三歩とし、基準位置からの距離に応じて表示する仮想空間における移動速度を連続的に変化させるようなアプリケーションでは、基準位置から前後左右に三歩移動させてキャリブレーションを行う。ただしユーザに立たせる位置は、撮像装置１２の画角内とすることが望ましい。
【００６１】
すなわち、ユーザの移動範囲の奥行き方向（Ｚ軸）、横方向（Ｘ軸）の両端でそれぞれ、倍率、並進量の値を取得する。縦方向（Ｙ軸）についても同様で、縦方向の頭部の移動範囲の最高位置、最低位置において並進量の値を取得すればよく、「背伸び」、「屈む」などの行為は例示である。この場合、背伸びして塀の向こうをのぞき込んだり、屈んで何かをよけたりといった仮想体験をさせるための画像を表示するのに用いることができるが、どのような範囲とするかはアプリケーションに応じて異なっていてよい。
【００６２】
上述のキャリブレーションの手法は、まずユーザが自分の歩幅で移動したり所定の姿勢をとったりして、その際の倍率や並進量を取得する手順であった。これにより、顔の大きさ、歩幅の大小、背の高さなどが異なったユーザでも、表示する画像を同じ動作で反応させることが可能となる。一方、アプリケーションによっては、倍率や並進量の最大振れ幅を装置側で指定し、ユーザがそれに合わせて移動するような態様でもよい。この場合、キャリブレーション時に、ユーザを撮像した画像の鏡面画像をリアルタイムで表示装置１６に表示するとともに、装置側で許容できる移動範囲のＸ軸、Ｙ軸、Ｚ軸の両端の計６点（ＰＸ＿ｍｉｎ，ＰＸ＿ｍａｘ，ＰＹ＿ｍｉｎ，ＰＹ＿ｍａｘ，ＰＺ＿ｍｉｎ，ＰＺ＿ｍａｘ）におけるテンプレートの画像を重ねて表示する。
【００６３】
そして、表示した６つのテンプレートの形状に頭部輪郭が合致するように動いてもらうことにより、移動できるおよその範囲をユーザに認識させる。この場合は、個人差や環境の変化があっても、倍率や並進量の最大振り幅はほぼ同じとなるため、画像規定パラメータとの対応づけを装置やアプリケーション側で固定とすることができる。
【００６４】
図８はユーザの奥行き方向の移動と画像規定パラメータとの対応関係を模式的に示している。図の横軸は倍率を示しており、移動範囲における倍率の最小値を「ｅｘｔｅｎｄ＿ｍｉｎ」、最大値を「ｅｘｔｅｎｄ＿ｍａｘ」とする。ここで上述のとおり実際には倍率はＸ座標、Ｙ座標の２次元で表されるが、図８で示す倍率はそのどちらかあるいは平均値などを利用し、画像規定パラメータとの対応づけを行う。このとき、倍率が最小値「ｅｘｔｅｎｄ＿ｍｉｎ」であるということは、ユーザが撮像装置１２に対し移動範囲内で最も遠い場所、すなわちＰＺ＿ｍａｘの位置にいることを意味する。逆に、倍率が最大値「ｅｘｔｅｎｄ＿ｍａｘ」であるということは、ユーザが撮像装置１２に対し最も近い場所、すなわちＰＺ＿ｍｉｎにいることを意味する。
【００６５】
同図で横軸に並行して示すように、頭部輪郭の倍率と撮像装置までの距離とはおよそ線形の関係にあるため、倍率をそのまま奥行き方向の位置に置き換えることができ、Ｐｚ＿ｍｉｎ／Ｐｚ＿ｍａｘ間がユーザの移動範囲となる。そしてユーザの移動範囲、ひいては倍率の変化の範囲を画像規定パラメータの可変範囲に変換する対応関係７０を決定する。なおここでいう「移動範囲」とは、画像がユーザの動きと連動する範囲という意味でよく、実際にはユーザはＰｚ＿ｍｉｎ／Ｐｚ＿ｍａｘを超えて移動してもよい。
【００６６】
同図に示すように、移動範囲における倍率が最小値「ｅｘｔｅｎｄ＿ｍｉｎ」のときに画像規定パラメータの最小値「Ｐａｒａ＿ｍｉｎ」、倍率が最大値「ｅｘｔｅｎｄ＿ｍａｘ」のときに画像規定パラメータの最大値「Ｐａｒａ＿ｍａｘ」となるように対応関係７０の両端を決めた上で、倍率の値から画像規定パラメータの可変範囲内の値が導出できるように対応づけを行う。なお倍率の最小値「ｅｘｔｅｎｄ＿ｍｉｎ」、最大値「ｅｘｔｅｎｄ＿ｍａｘ」を、画像規定パラメータの最大値「Ｐａｒａ＿ｍａｘ」、最小値「Ｐａｒａ＿ｍｉｎ」のいずれと対応させるかはアプリケーションや画像規定パラメータによって異なってよい。
【００６７】
またユーザが「移動範囲」の外部に移動した場合は、同図の例では、Ｐｚ＿ｍｉｎより撮像装置に近ければ画像規定パラメータの最小値「Ｐａｒａ＿ｍｉｎ」、Ｐｚ＿ｍａｘより遠ければ、画像規定パラメータの最大値「Ｐａｒａ＿ｍａｘ」の値をそれぞれ維持するような設定としている。
【００６８】
上述のように倍率の最小値「ｅｘｔｅｎｄ＿ｍｉｎ」および最大値「ｅｘｔｅｎｄ＿ｍａｘ」はユーザの歩幅などに鑑みキャリブレーションによって取得してもよいし、あらかじめ定めておいて移動範囲をユーザ自身に認識させるようにしてもよい。前者の場合、初期処理部２２は倍率の最小値「ｅｘｔｅｎｄ＿ｍｉｎ」および最大値「ｅｘｔｅｎｄ＿ｍａｘ」を取得した後、対応関係７０をあらかじめ定めた規則に則り決定する。後者の場合はアプリケーションプログラムなどにおいて対応関係７０そのものを設定しておく。
【００６９】
画像規定パラメータの可変範囲の両端を、倍率の変化の範囲の両端と合致させる以外、倍率と画像規定パラメータの対応関係の規則はアプリケーションやユーザの環境などに応じて変化させてよい。図８の例では、倍率と画像規定パラメータが線形に変化する例を示している。ただし同図の対応関係７０では、基準位置Ｐ＿０と対応する倍率「ｅｘｔｅｎｄ＿０」を中心とする２ａの範囲で、倍率が変化しても画像規定パラメータが変化しない領域７２を設けている。これは、ユーザが基準位置から動いていなくても実際の微妙な頭部の動きや倍率の算出誤差などによって倍率が変化する可能性が考えられるためである。
【００７０】
そのようなユーザが意図しない揺らぎによって画像規定パラメータ、ひいては表示画像が過剰な反応をしないように、領域７２を不感帯として設けてもよい。また、対応関係７０のうち、不感帯以外の部分は線形でなくてもよい。例えば二次、三次といった関数でもよいし、不連続に変化させてもよい。なお図８において不感帯を設けない場合は、対応関係７０の点線で示した部分を含め、全ての移動範囲において画像を連動させることになる。
【００７１】
例えば前述の、ユーザが一歩前進した位置に立つと、表示する仮想世界では前進し続けるような態様とする場合に、画像規定パラメータを「前進速度」とすると、倍率が「ｅｘｔｅｎｄ＿ｍｉｎ」より大きく「ｅｘｔｅｎｄ＿０」以下では前進速度の値は０、倍率が「ｅｘｔｅｎｄ＿ｍｉｎ」では所定の前進速度、といった具合に不連続な関係になる。ユーザの位置によってメニューの項目を選択するなどの場合でも同様である。連続としても特徴的な位置でのみ数値の対応を設定しておき、その他の対応関係は図８のような座標上で補間することにより決定してもよい。
【００７２】
また前述の例では、ユーザの動きに画像を連動させる「移動範囲」の両端における倍率と画像規定パラメータの可変範囲の両端とを対応づけたが、必ずしも両端同士を対応づけなくてもよい。すなわちキャリブレーション時に、所定の歩数分隔てた２点の位置にユーザを立たせて頭部輪郭の倍率を取得し、その歩数に応じた動きで画像が連動するように、取得した倍率と画像規定パラメータとを対応づければよい。このときの２点、ＰＺ＿ａ、ＰＺ＿ｂをＰＺ＿ｍｉｎ≦ＰＺ＿ａ＜ＰＺ＿ｂ≦ＰＺ＿ｍａｘとなるようにすると、図８における対応関係７０が決定できる。
【００７３】
さらにアプリケーションや表示する画像によっては、連動させる移動範囲、すなわちＰＺ＿ｍｉｎ、ＰＺ＿ｍａｘを定めなくてもよい。この場合も、上述のように２点の位置における倍率と画像規定パラメータとの対応を決定し、線形、あるいは所定の関数でつなぐことにより対応関係７０を決定する。そしてユーザが撮像装置１２に写っている範囲内であれば、奥行き方向の移動に応じて画像が適宜変化するようにしてもよい。
【００７４】
図８の例はユーザの奥行き方向の位置の変化を倍率を介して画像規定パラメータに変換する際の対応関係を示した。ユーザの横方向、縦方向の動きについても、並進量と画像規定パラメータとの対応関係を同様に設定することによって、並進量を介して画像規定パラメータへの変換を行う。ただし、ユーザの縦方向、あるいは横方向の実際の動きと、撮像装置１２からの見かけ上の移動量との関係は、撮像装置１２からユーザまでの距離に依存する。本実施の形態では、奥行き方向の基準位置からの移動量が倍率によって判明するため、それを用いて、見かけ上の移動量を表す並進量の値を補正し、ユーザの実際の移動量を推定する。
【００７５】
図９は見かけ上の移動量を表す並進量の値を補正する原理を説明するための図である。同図は横軸（Ｘ軸）が横方向、縦軸（Ｚ軸）が奥行き方向を表す。撮像装置１２はＺ軸上に設置されている。Ｘ軸とＺ軸の交点は基準位置Ｐ＿０であり、撮像装置１２から基準位置までの距離をＺ＿０とする。ユーザが基準位置Ｐ＿０より撮像装置１２に対し奥であるＰ＿Ｚにいて横方向に移動した場合、基準位置Ｐ＿０において同じだけ移動した場合と比較して、撮像装置１２からの見かけ上の動きは小さくなる。ユーザが基準位置より撮像装置１２に近ければその逆となる。縦方向も同様である。ユーザが奥行き方向のどの位置にいても、横方向、縦方向の動きから画像規定パラメータが同様に取得できるように、見かけ上の移動量、すなわち並進量の変化量を、奥行き方向の基準位置における移動量に換算する。
【００７６】
図９のようにユーザが奥行き方向Ｐ＿Ｚの位置で横方向にＸ２だけ移動した場合、換算後の移動量は並進量の変化量に
Ｘ２／Ｘ１＝（Ｚ＿０＋（Ｐ＿ＺーＰ＿０））／Ｚ＿０
を積算した値となる。奥行き方向の基準位置からの距離（Ｐ＿ＺーＰ＿０）は倍率から換算することができるため、結果として倍率をもって横方向、縦方向の移動量を補正することができる。そして補正後に図８で示したのと同様の対応関係を参照して、それらの移動に対応づけた画像規定パラメータの値を取得する。なおここで述べた補正の手法はあくまで例示であり、実際にはアプリケーションの内容などに応じて様々な補正手法を設定してよい。
【００７７】
次にこれまで述べた構成によって実現できる動作を説明する。図１０は情報処理装置１４の処理手順を示すフローチャートである。ここでは、ユーザの仮想世界での視野を表示画像として表示する態様のゲームを例に説明する。このとき、ユーザが奥行き方向に移動すると視点が奥行き方向に移動し、縦横方向に移動するとそれと連動するように縦横方向に視点が移動するようにする。従って画像規定パラメータは視点座標などとなる。
【００７８】
まずユーザが当該ゲームのソフトウェアを起動させると、初期処理部２２はキャリブレーションの処理を行う（Ｓ１２）。例えば、立ち位置についての指示を表示装置１６に表示するなどしてユーザを所定の位置に立たせたり姿勢を取らせたりしたうえで、追跡処理に用いるテンプレートとマッチングさせるなどして倍率や並進量を取得する。そして上述のとおり、各方向の動きによる倍率、並進量の変化と、画像規定パラメータとの対応づけを行い、対応関係を表す式、あるいはテーブルを変換情報記憶部２４に格納する。
【００７９】
初期処理部２２はさらに、ゲームの初期画像、すなわち仮想世界における最初の視野を表示装置１６に表示する（Ｓ１２）。次に追跡処理部２６は、撮像装置１２が撮像した画像を逐次読み込み、頭部輪郭の視覚追跡を開始する（Ｓ１４）。入力値変換部２８は追跡の結果として、現在時刻ｔにおける頭部輪郭の倍率および並進量を取得する（Ｓ１６）。このとき、履歴記憶部５６に同データを記憶させておく。そして上述のとおり、次の時刻のフレーム以後は、それまで記憶してきた履歴に応じて、得られた倍率および並進量を適宜補正する。
【００８０】
入力値変換部２８は、変換情報記憶部２４に格納された対応関係のデータを参照し、基準位置に対応する倍率からの変化量が一定値以上であるか否かを判定する（Ｓ１８）。ここで「一定値」とは図８の「ａ」のことであり、Ｓ１８で倍率の変化が不感帯以上であるかを確認する。ａの値はアプリケーションや装置などで適宜設定してよい。倍率の変化量が一定値以上であれば（Ｓ１８のＹ）、画像規定パラメータのうち奥行き方向の視点を移動させる（Ｓ２０）。移動量は変換情報記憶部２４に格納された対応関係のデータから取得する。倍率の変化量が不感帯にある場合は（Ｓ１８のＮ）、上述のとおり奥行き方向の視点を移動させない。
【００８１】
同様に、基準位置に対応する並進量からの時刻ｔの変化量が一定値以上であれば（Ｓ２２のＹ）、対応する方向に視点を移動させる（Ｓ２４）。この際、上述のように、ユーザが基準位置から奥行き方向に移動している場合（Ｓ１８のＹ）は、倍率を用いて並進量の補正を行ったうえで視点の移動量を決定する（図示せず）。並進量のいずれかの方向の変化量が不感帯にある場合は（Ｓ２２のＮ）、当該方向の視点を移動させない。出力データ生成部３０は移動後の視点からの画像データを生成し、出力制御部３２は表示装置１６に最新画像が表示されるように制御する（Ｓ２６）。
【００８２】
倍率や並進量が不感帯にある場合は画像の視点は変化しない。図１０のフローチャートは、ユーザの移動による視点の移動処理のみを示しているため、その他の処理は省略しているが、視点が移動しなくても画像内のオブジェクトが動くなど、Ｓ２６で表示する最新画像には動きがあってもよい。ゲーム自体が終了したりユーザが終了指示を出したり、といったことにより処理を終了する必要がなければ（Ｓ２８のＮ）、次のフレームの時刻ｔ＋１を現在時刻ｔとして（Ｓ３０）、Ｓ１６からＳ２６までの処理を繰り返す。処理終了の必要が生じたら（Ｓ２８のＹ）、そこで処理を終了する。
【００８３】
図１１および図１２は、図１０のフローチャートで処理対象としたゲームにおいて表示装置１６に表示する画像の、ユーザの位置に対する変化の例を示している。これらの図は、ユーザの代表的な位置とその位置で表示する画像の例を矢印で対応させて示している。画像はいくつかの立方体が浮かんで静止している状態を表している。図１１のユーザの位置座表は縦横方向（Ｘ軸およびＹ軸）を示しており、原点を基準位置とする。ユーザが基準位置にいるとき（ユーザ１８ｂ）に表示する画像８０に対し、ユーザが右に移動して背伸びをするなどして頭部輪郭が右上にあるとき（ユーザ１８ａ）は、画像８２のように立方体の景色を右上から見下ろすような画像を表示する。ユーザが左に移動して屈むなど頭部輪郭が左下にあるとき（ユーザ１８ｃ）は、画像８４のように立方体の景色を左下から見上げるような画像を表示する。
【００８４】
図１２のユーザの位置座標は奥行き方向（Ｚ軸）を示している。ユーザが基準位置にいるとき（ユーザ１８ｅ）に表示する画像８６に対し、ユーザが撮像装置１２に近づいたとき（ユーザ１８ｄ）は、画像８８のように立方体の景色に近づくような画像を表示し、撮像装置１２から遠のいたとき（ユーザ１８ｆ）は、画像９０のように立方体の景色から遠ざかるような画像を表示する。なお、上述のように、基準位置以外にいるときは実際には、継続的に画像の視点を移動させるようにしてもよい。
【００８５】
以上述べた本実施の形態によれば、撮像装置によってユーザの画像を取得し、奥行き方向を含むユーザの動きを検出して、それを入力情報として処理を行う。平面上の変化のみならず奥行き方向の変化をも捉えて利用することにより、入力値のバリエーションが増し、複雑な入力体系を有するアプリケーションにも対応させ易い。結果として、コントローラやキーボードなどの入力手段と比較し、入力できる項目数を保持しつつ、自分の体自体を利用したより直感的で容易な入力が可能となる。また体を利用するため、ゲーム性を発揮しやすく、ロールプレイング、シューティング、スポーツなど様々なカテゴリの仮想世界を形成するゲームにおいて、仮想世界をより自然に楽しむことができる。
【００８６】
ユーザの動作検出は、頭部輪郭を追跡するによって求められた倍率および並進量を利用する。これらのパラメータは、フレームごとなどの微小時間ごとに取得できるため、ゲームなどのアプリケーション処理中にユーザの周囲の環境が変化しても、高い精度で一人のユーザの頭部を特定することができる。また頭部輪郭の形状は、顔の向きや髪の毛のかかり具合などにほとんど影響されないため、顔検出などと比較しても信頼性が高い。結果として、ユーザ自身や周囲の状況の変化に強いアプリケーション生成が可能となる。
【００８７】
さらに、撮像装置に対して縦横方向の動きを、倍率によって補正する。これにより、奥行き方向のどの位置にいても、同じ縦横方向の移動では同じ画像の動きとなり、ユーザにとって違和感のない画像表現ができる。画像表現ばかりでなく、単にメニューから項目を選択するような場合であっても、撮像装置からの距離によってユーザが動きを変化させなければいけなかったり移動量検出の精度が落ちたりすることがないため、結果として多くのパラメータを体の動きのみで容易に入力することができる。
【００８８】
以上、本発明を実施の形態をもとに説明した。上記実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【００８９】
例えば本実施の形態では、視覚追跡の結果得られた倍率の変化と奥行き方向の移動量との線形性を利用することにより、倍率を画像規定パラメータに変換したが、奥行き方向の移動量を推定するために倍率を用いなくてもよい。例えば、視覚追跡の結果推定できる、頭部輪郭の形状を利用してもよい。この場合、得られた頭部輪郭のΩ形の内部の画素数を数え、その数によって見かけ上の頭の大きさを表し、奥行き方向の移動量を推定する。
【００９０】
このとき、取得される輪郭線は加重平均による推定値であるうえ限られた制御点で構成されるＢスプライン曲線であるため、ユーザの頭の輪郭に完全に合致しないことが考えられる。そのため、一度加重平均によって取得した輪郭線を、再度エッジ画像とマッチングさせ、ユーザの頭部輪郭に輪郭線をフィッティングさせてから内部の画素数を数えてもよい。このようにすることで、精度よく奥行き方向の移動が検出できる。
【００９１】
さらに、撮像装置の他に空間の熱分布を測定する温度センサを設け熱分布を取得したり、前景抽出器により背景差分を行ったりして、ユーザが存在する領域が他の手段で取得できるようにしてもよい。この場合、追跡結果として得られた輪郭線や上述のように実際の頭部輪郭とフィッティングさせた輪郭線と、別の手段で取得した頭部領域とを比較して、さらに輪郭線の補正を行うようにしてもよい。温度センサや前景抽出器による対象物の領域取得は既存の技術を適用できる。同様に、頭部輪郭の追跡とともに顔検出処理を行ってもよい。例えば推定した頭部輪郭の内部領域に対し顔検出を行うことにより輪郭線、あるいは倍率などのパラメータを補正する。いずれのこの場合も奥行き方向の移動を精度よく検出できる。
【００９２】
また本実施の形態では、主に一人のユーザの動きを検出する態様について説明したが、ユーザは複数でもよい。また、奥行き方向の移動を伴わないゲームなどでも本発明を適用することにより精度のよい動き検出が可能となる。例えば、複数のユーザが同時にプレイするゲーム、例えばテニスのダブルス、協力しながらのロールプレイング、格闘、シューティングなどのゲームにおいて、ユーザの頭部の縦横方向の動きを、画像内の仮想のユーザであるアバターの動きに連動させる。この場合、ユーザごとに頭部輪郭の追跡を行い、それぞれに対して移動量を検出する。
【００９３】
このとき、本実施の形態で説明したのと同様に、ユーザの奥行き方向の立ち位置によって実際の動きと見かけ上の移動量との関係が変化する。したがって、本実施の形態と同様、各ユーザの頭部の倍率を利用して見かけ上の移動量を補正していずれかのユーザの奥行き方向の立ち位置における移動に置き換える。これにより、複数のユーザの立ち位置が奥行き方向にばらけているような場合でも、同じ動作では同じ反応をする画像を生成することができ、自然なユーザインターフェースを実現できる。
【００９４】
またユーザごとに、形状空間ベクトルのパラメータと画像規定パラメータとの対応関係を異ならせてもよい。例えばユーザの頭の大きさの違いによって余計な補正を行わないようにすることで、さらに動きの検出精度が向上する。ここで個々のユーザを認識するために、追跡によって得られる頭部領域に顔検出処理を施し、ユーザを特定したうえで対応関係を切り替えるようにしてもよい。
【符号の説明】
【００９５】
１０  情報処理システム、  １２  撮像装置、  １４  情報処理装置、  １６  表示装置、  ２０  画像取得部、  ２２  初期処理部、  ２４  変換情報記憶部、  ２６  追跡処理部、  ２８  入力値変換部、  ３０  出力データ生成部、  ３２  出力制御部、  ４０  画像処理部、  ４２  サンプリング部、  ４６  観測部、  ５０  結果取得部、  ５２  追跡結果取得部、  ５４  補正部、  ５６  履歴記憶部。
【図１】
2010191827.tif 000006
【図２】
2010191827.tif 000007
【図３】
2010191827.tif 000008
【図４】
2010191827.tif 000009
【図５】
2010191827.tif 000010
【図６】
2010191827.tif 000011
【図７】
2010191827.tif 000012
【図８】
2010191827.tif 000013
【図９】
2010191827.tif 000014
【図１０】
2010191827.tif 000015
【図１１】
2010191827.tif 000016
【図１２】
2010191827.tif 000017