(57)【要約】【課題】  本発明は、ジェスチャー認識のための方法及びシステムを提供することを課題とする。【解決手段】  関心のあるジェスチャーを認識する方法は、関心のあるジェスチャーをするように対象者に指示し、動きをする前記対象者の複数の画像をセンサから取得し、前記複数の画像が各々取得されると、該複数の画像の各々と前記関心のあるジェスチャーとを比較し、前記比較に基づき追跡得点を決定し、該追跡得点が所与の閾値内にあるとき、前記対象者が関心のあるジェスチャーを行っていると決定することを含む。【選択図】図１
2012518236.tif 000002
【特許請求の範囲】
【請求項１】
関心のあるジェスチャーを行うように対象者に指示し、動きをする前記対象者の複数の画像をセンサから取得し、前記複数の画像が各々取得されると、該複数の画像の各々と前記関心のあるジェスチャーとを比較し、前記比較に基づき追跡得点を決定し、該追跡得点が所与の閾値内にあるとき、前記対象者が関心のあるジェスチャーを行っていると決定することを含む関心のあるジェスチャーを認識する方法。
【請求項２】
前記比較の間に、逆運動学解法を用いて前記複数の画像の各々をモデルに制限することを更に含む請求項１記載の方法。
【請求項３】
前記関心のあるジェスチャーをジェスチャーライブラリから選択することを更に含む請求項１記載の方法。
【請求項４】
前記比較は、類似性測度を計算することを更に含む請求項１記載の方法。
【請求項５】
前記センサは、奥行カメラである請求項１記載の方法。
【請求項６】
動きをする対象者の画像をセンサから取得し、前記画像から関心のある複数の特徴を選択し、該関心のある複数の特徴に対応する複数の奥行き値を抽出し、該複数の奥行き値を用いてモデル上に前記関心のある複数の特徴を投影し、制限システムを用いて前記モデル上への前記関心のある複数の特徴の投影を制限することを含む画像取得及びデータ前処理の方法。
【請求項７】
制限システムは、逆運動学解法を含む請求項６記載の方法。
【請求項８】
前記センサは、奥行カメラである請求項６記載の方法。
【請求項９】
標準モデルに前記モデルを拡大縮小するためのアニメーション・リターゲッティングをすることを更に含む請求項６記載の方法。
【請求項１０】
画像の奥行きデータの複数フレームを取得するカメラと、前記カメラから前記画像の奥行きデータの複数フレームを受け取り、対象者の特徴位置を決定すべく画像の奥行きデータを処理するように構成される画像取得モジュールと、前記画像取得モジュールから対象者の特徴位置を受け取り、該特徴位置を事前決定されるジェスチャーと関連付けるように構成されるジェスチャー・トレーニングモジュールと、前記画像取得モジュールから対象者の特徴位置を受け取り、該特徴位置が特定のジェスチャーと適合するか否かを決定するように構成されるバイナリ・ジェスチャー認識モジュールと、前記画像取得モジュールから対象者の特徴位置を受け取り、画像の奥行きデータの一フレーム以上で特定のジェスチャーがなされているか否かを決定するように構成されるリアルタイム・ジェスチャー認識モジュールと、を含むジェスチャーを認識するためのシステム。
【請求項１１】
前記特定のジェスチャーを選択し、前記対象者に前記特定のジェスチャーを行うように指示するように構成されるゲーム・エンジンモジュールを更に含む請求項１０記載のシステム。
【請求項１２】
前記事前決定されるジェスチャーを有するジェスチャーデータベースを更に含む請求項１０記載のシステム。
【請求項１３】
前記対象者が行うジェスチャーに関して、対象者に反応を提供するためのディスプレイを更に含む請求項１０記載のシステム。
【請求項１４】
前記カメラは、カラー画像データを更に取得する請求項１０記載のシステム。
【請求項１５】
前記リアルタイム・ジェスチャー認識モジュールは、類似性測度及び累積追跡得点を計算するように更に構成され、前記類似性測度及び累積追跡得点は、フレーム毎に更新され、特定のジェスチャーがなされているか否かの前記決定は、前記累積追跡得点をフレーム毎の特定のジェスチャーの閾値と比較することに基づいてなされる請求項１０記載のシステム。
【請求項１６】
前記画像取得モジュールは、前記画像の奥行きデータをモデル上に位置付ける請求項１０記載のシステム。
【請求項１７】
前記画像取得モジュールは、前記複数フレームのうちの少なくとも一つで視認できない特徴位置についての前記モデルの動きを制限すべく逆運動学解法を用いる請求項１６記載のシステム。
【請求項１８】
前記画像取得モジュールは、前記特徴位置を標準モデルに拡大縮小する請求項１０記載のシステム。
【請求項１９】
前記ジェスチャー・トレーニングモジュールは、前記特徴位置が特定のジェスチャーに適合するか否かを決定すべく機械学習法を用いる請求項１０記載のシステム。
【請求項２０】
画像の奥行きデータの複数フレームを取得する手段と、前記カメラから前記画像の奥行きデータの複数フレームを受け取り、対象者の特徴位置を決定すべく画像の奥行きデータを処理する手段と、画像取得モジュールから対象者の特徴位置を受け取り、該特徴位置を事前決定されるジェスチャーと関連付ける手段と、前記画像取得モジュールから対象者の特徴位置を受け取り、該特徴位置が特定のジェスチャーと適合するか否かを決定する手段と、前記画像取得モジュールから対象者の特徴位置を受け取り、画像の奥行きデータの一フレーム以上で特定のジェスチャーがなされているか否かを決定する手段と、前記対象者が行うジェスチャーに関して対象者に反応を提供する手段と、を含むジェスチャーを認識するためのシステム。
【請求項２１】
前記追跡得点の決定は、関心のあるジェスチャーに対してサポート・ベクター・マシンを用いることを含む請求項１記載の方法。
【請求項２２】
前記追跡得点の決定は、類似性測度を用いることを含む請求項１記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
奥行カメラの前でプレーヤが行うジェスチャー及び動きを認識することに関する。
【背景技術】
【０００２】
本願は、発明の名称が「ジェスチャー認識のための方法及びシステム」である米国仮出願（出願番号６１／１５３，２２９、出願日２００９年２月１７日）の利益を主張するもので、本願はその全てを参照して含んでいる。
【０００３】
プレーヤやユーザが自然的かつ直感的なインターフェイスを介してコンピュータシステムと通信できるように、コンピュータシステムのプレーヤやユーザの動作を解析する多くの技術がある。近年、ホームエンターテインメントやゲームの市場に対して、これらのインターフェイスを適用することに関心が高まっている。これらの中で注目されているのは、例えば、任天堂Ｗｉｉ（登録商標）のコントローラやＷｉｉ  Ｆｉｔ（登録商標）のバランスボードである。前記任天堂のコントローラは、加速度計に依存し、また、当該コントローラの位置を三角測量によって計算する。また、多くのヒューマン・マシン・インターフェース技術は、異なるカメラの種類に依存する。カメラを基礎にしたインターフェイスシステムの初期の例は、ソニーのアイトーイ（登録商標）システムであり、これは、大まかな動作を検出して、それらをユーザが行ったジェスチャーとして分類するために従来のカラーカメラを用いている。
【０００４】
コンピュータビデオゲームとの関係において、ジェスチャー認識システムを設計する際に考慮されるべき幾つかの重要な条件があり、それらの相対的重要性は、ジェスチャー認識システムがゲーム内でどのように用いられるかに依存する。ジェスチャー認識システムの一利用は、一旦特定のジェスチャーが認識されると、システムが認識したユーザのジェスチャー内容をユーザに見せるために、事前記録されたアニメーションが流されるので、ユーザの反応を考慮できる。ジェスチャー認識システムの第二の利用は、ゲームプレイ・メカニズムのように、例えば得点を追加し、プレーヤが異なるレベルに進めるように採点することである。従って、ゲームで用いられるジェスチャー認識システムの態様は、異なる制限をシステム設計に課す。一例として、システムは、ユーザが行う動きに関してユーザに反応を提供するように用いられる場合、ユーザのジェスチャーの動きと同じジェスチャーのシステムの認識との間の遅延を最小化することが重要である。ジェスチャー認識システムがプレーヤの得点を計算するために用いられるものなら、システム遅延への検出感度は、それほど重要なものではない。
【０００５】
米国特許番号７，３４０，０７７では、ジェスチャー認識システムは、人間の体部における複数の個々の領域の奥行きを示す位置情報を取得し、当該情報を用いてジェスチャーを分類することが開示されている。本特許によれば、個々の領域をいつ記憶し始めるかを指定する明確な開始時間と、また、ユーザがジェスチャーを終えたことを示す明確な終了時間とがある。開始並びに終了時間を明確に指定した後、ジェスチャーライブラリとの比較がなされる。その結果、この方法では、固有の遅延がもたらされる。さらに、データ収集は、奥行きデータ上で直接的に行われる。即ち、データ点は、バイナリ・マスクで「１」の値に対応する奥行きデータから抽出されるのみである。奥行きデータからのデータ点抽出に起因する幾つかの制限がある。第一に、奥行きデータそのものが本来ノイズを含み、これは、抽出される値の質に悪影響を及ぼし得る。第二に、奥行きデータからデータ点を抽出する当該方法は、必然的にカメラ視野に制限される。
【発明の概要】
【課題を解決するための手段】
【０００６】
本発明は、奥行カメラの前でプレーヤが行うジェスチャー及び動きを認識することに関し、一実施形態では、コンピュータビデオゲームのゲームプレイをするために、これらのジェスチャーを利用するものである。本願の以下の要約に際し、まず幾つかの用語定義の説明をする。
【０００７】
（ジェスチャー認識システムについて）ジェスチャー認識システムとは、例えば入力装置の前でユーザが行う事前決定された動きを認識し特定するシステムである。例として、ユーザが手を閉じることを認識するためにカメラからデータ解析したり、前方に突き出した左手を認識するためにデータ解析をすることを含む。
【０００８】
（奥行カメラについて）本願は、奥行カメラからのデータを用いてジェスチャー認識を行い、前記奥行カメラは、３Ｄデータを生成するカメラである。幾つかの異なるタイプの奥行カメラがある。これらの奥行カメラの中には、立体カメラと同様に飛行時間の原則又は構築された光技術に依存するものがある。これらのカメラは、画素の固定解像度を有する画像を生成し、各画素は、整数値を有し、これらの値は、カメラによって画像領域に投影される対象物の距離に対応する。この奥行きデータに加えて、奥行カメラは、従来のカラーカメラと同じ態様によって、カラーデータを更に生成し、このデータは、処理に用いられるべく奥行きデータと結合され得る。
【０００９】
（バイナリ・マスクについて）奥行きデータを用いると、原画像と同じ解像度の画像であるバイナリ・マスクを作成することは容易なことである。しかし、全画素は、０か１に対応する整数値を有する。一般的に全画素は閾値を有し、画素値が閾値以下ならバイナリ・マスクで０の値をとり、画素値が閾値以上なら１の値をとる。例えば、奥行カメラの前に立っているプレーヤの場合、プレーヤの体に対応する画素が１となり、それ以外の全ての画素が０となるように、バイナリ・マスクが生成（即ち閾値が計算）される。つまり、バイナリ・マスクは、カメラに撮影されるユーザのシルエット（全体の形）である。
【００１０】
（多関節形状について）多関節形状は、ある固定態様で互いに接続される間節（結合部）の集合であり、例えば人間の骨格のように特定方向への動きを制限する。
【００１１】
（逆運動学解法について）逆運動学（ＩＫ）解法は、本願で用いられうる。多関節形状（例えば特定の関節の位置）の所望の構成が与えられると、ＩＫ解法は、選択される関節の所与の位置を算出する角度であって、画像内で所与の関節と他の関節との間の角度を計算する。例えば、手首及び肩の位置が与えられると、ＩＫ解法は、これらの手首及び肩の位置を算出する角度であって、肩と肘との関節の角度を計算し、その結果、効果的に肘の関節の位置を計算する。
【００１２】
発明名称が「ジェスチャー分類のための方法及びシステム」と題される米国特許出願番号１１／８６６，２８０は、ゲームにおけるゲームプレイを行うジェスチャー認識を用いる方法及びシステムについて記載しており、本願は、その全てを参照して含んでいる。そのような方法及びシステムは、以下に記載するように本願に用いられることが可能である。一実施形態では、米国特許出願番号１１／８６６，２８０に記載の方法は、ＩＫ解法モデルから生成されるデータに適用される。
【００１３】
体の一部は、誤差の特定の限界内において、奥行カメラによって生成されるデータから特定される。体の様々な部分の位置が奥行き画像上で特定された後、奥行き値が画像から抽出される結果、体の各部分の３次元（３Ｄ）位置が得られる（この工程は、トラッキングモジュールと呼ばれる。）。ジェスチャー認識システムは、ユーザの体のポイントに対応する前記３Ｄ位置上で訓練され実施されうる。
【００１４】
本願では、体の一部に対応する前記３Ｄ位置は、モデル上に位置付けられる（描かれる）。一実施形態では、逆運動学（ＩＫ）解法は、奥行き画像から得られるデータポイントを人間の関節が取り得る可能な構成上に投影するために用いられる。ＩＫ解法は基本的に制限として作用し、データは、人間の自然な動きのモデルの枠組み内で適合するようにフィルターにかけられる。
【００１５】
トラッキングモジュールからのデータにフィルターをかけるためにＩＫ解法を用いるとき、幾つかの重要な利点がある。第一に、ＩＫ解法モデルは、効果的にデータを平滑化し、従ってカメラノイズの効果を最小化する。第二に、トラッキングモジュールから得られるデータポイントは、バイナリ・マスク上で「１」の画素値（即ち、ユーザのシルエット）に必ず対応する。ＩＫ解法により得られるデータに関して、そのような制限はない。プレーヤがカメラ視野の端近傍に立っているような特定の例を考えてみる。この場合、プレーヤが横に動くと、腕の端がカメラの視野外に出る。にもかかわらず、ＩＫ解法モジュールは、プレーヤの腕が視野外に達していることを計算し、手の位置を戻す（計算する）。明らかに、トラッキングモジュールからのデータのみを用いれば、このようなことはできない。ＩＫ解法モデルを用いる第三の利点は、オクルージョンに対処することである。例えば、プレーヤの手は、肘に対するカメラ視野をしばしば遮る。その結果、肘に対応するデータは、（その位置が不明なので）奥行き画像から抽出されない。一方、手及び肩の位置を与えると、ＩＫ解法モデルは、肘の大まかな位置をも計算することができる。
【００１６】
本願の更なる構成は、ジェスチャー分類方法である。米国特許出願番号１１／８６６，２８０に記載の方法は、ジェスチャーが行われるか否かに関するバイナリ分類子である。即ち、当該方法は、ジェスチャーが行われたか否かに関して、「Ｙｅｓ」又は「Ｎｏ」の識別であるバイナリを算出する。米国特許出願番号１１／８６６，２８０に記載の方法の特徴は、ジェスチャーライブラリの如何なるジェスチャーが行われたか決定する前に、ジェスチャーが完成されるまで待たなければならないことである。ジェスチャーを分類する別の態様は本願に含まれる。ジェスチャーが行われ或いは行われなかった場合に、バイナリ（「Ｙｅｓ」又は「Ｎｏ」）を決定するというよりもむしろ、本願に記載の方法は、フレーム毎に行われているジェスチャーを追跡し、行われているジェスチャーがジェスチャーライブラリの所与のジェスチャーに如何に近いかを各フレーム後に特定する。
【図面の簡単な説明】
【００１７】
【図１】図１は、ジェスチャー認識システムの一実施形態における全体構成を示すブロック図１００Ａである。
【図２】図２は、開示の実施形態に関する図で、特徴位置を得るために、カメラからデータを取得して該データを処理する具体的な工程２００Ａを示すフロー図である。
【図３Ａ】図３Ａは、開示の実施形態に関する図で、ジェスチャーライブラリを構築する具体的な工程３００Ａを示すフロー図である。
【図３Ｂ】図３Ｂは、開示の実施形態に関する図で、モーションキャプチャ装置を用いたジェスチャーのライブラリを作成する具体的な工程３００Ｂを示すフロー図である。
【図３Ｃ】図３Ｃは、開示の実施形態に関する図で、カラーと奥行きの画像を用いたジェスチャーのライブラリを作成する具体的な工程３００Ｃを示すフロー図である。
【図４Ａ】図４Ａは、開示の実施形態に関する図で、検索が行われているジェスチャーが行われたか否かを決定するバイナリ・ジェスチャー認識技術を用いる具体的な工程４００Ａを示すフロー図である。
【図４Ｂ】図４Ｂは、開示の実施形態に関する図で、一連の画像に捕らえられた動きからジェスチャーを特定する方法を示す具体的な工程４００Ｂを示すフロー図である。
【図５】図５は、開示の実施形態に関する図で、プレーヤが特定時間（例えば一連のフレーム）に亘って特定のジェスチャーを行っているか否かを確認し、如何に正確にプレーヤが指示された動作を行っているかを決定する具体的な工程５００Ａを示すフロー図である。
【図６】図６は、開示の実施形態に関する図で、双方向プログラムに組み込まれるジェスチャー分類システムの一実施形態に係るブロック図６００である。
【図７】図７は、開示の実施形態に関する図で、ネットワーク間の複数のプレーヤにアクセスされる双方向プログラムに組み込まれるジェスチャー分類システムの一実施形態に係るブロック図７００である。
【発明を実施するための形態】
【００１８】
ジェスチャー認識システム及び方法の実施例は、図面を参照しつつ説明される。実施例と図とは、限定的というよりもむしろ実例的なものである。
【００１９】
図１は、ジェスチャー認識システムの一実施形態の全体構成を示すブロック図１００Ａである。画像取得及びデータ前処理モジュール２００は、他の三つのモジュールであるジェスチャー・トレーニングモジュール３００、バイナリ・ジェスチャー認識モジュール４００、リアルタイム・ジェスチャー認識モジュール５００に処理されるデータを供給する前に、カメラからデータを取得して処理する。一実施形態では、ジェスチャー・トレーニングモジュール３００は、当該モジュールに供給されたデータから特定のジェスチャーを特徴付けるための最も効率的な方法を計算することで、ジェスチャー認識アルゴリズムを訓練する。一実施形態では、ジェスチャー・トレーニングモジュール３００は、オフラインタスクとして動かされる。ジェスチャー・トレーニングモジュール３００によって生成されるデータによるジェスチャーの特徴は、バイナリ・ジェスチャー認識モジュール４００とリアルタイム・ジェスチャー認識モジュール５００とに送られる。更に、画像取得及びデータ前処理モジュール２００からのデータもまた、バイナリ・ジェスチャー認識モジュール４００とリアルタイム・ジェスチャー認識モジュール５００とに送られる。
【００２０】
図２は、開示の実施形態に関する図で、特徴位置を得るためにカメラから画像データを取得して処理するための具体的な工程２００Ａを示すフロー図である。システムの画像取得及びデータ前処理モジュール２００は、工程２００Ａを実行する。一実施形態では、特徴位置は関節位置である。取得される特徴位置は、モジュール３００，４００，５００に送られる。
【００２１】
ブロック２１０では、モジュール２００がカメラから２次元画像データを取得する。このデータは、奥行きデータのみ或いは奥行きデータ及びカラーデータである。
【００２２】
ブロック２２０では、モジュール２００はカメラからのデータを処理する。これは、奥行き画像だけ或いはカラー画像と共に奥行き画像を処理し得る。画像処理アルゴリズムは、追跡される対象物の様々な特徴に対応して、カメラから取得される２次元（２Ｄ）画像上のポイントをできるだけ正確に特定するために用いられる。プレーヤの体が追跡される場合には、これらの特徴はプレーヤの頭、左右の肩の関節、左右の肘の関節、左右の手、胴、骨盤、左右の膝の関節を含むことが可能である。関心のある特徴位置が２Ｄ画像上で特定された後、各々の特徴の３Ｄ位置を取得するために、奥行き値は奥行き画像から抽出される。一実施形態では、これは、関心のある各々の関節の３Ｄ位置（奥行き画像からの奥行きを含む）を取得することに対応する。
【００２３】
ブロック２３０では、ブロック２２０で取得される関節の３Ｄ位置は、追跡される対象物のモデルに投影される。データが位置付けされるモデルには、幾つかの異なる種類がある。一実施形態では、モデルは幾何学的な形状をなす。例えばモデルは、掌と５本の指とを備える人間の手による簡単な幾何学的な表示である。一実施形態では、モデルは、人間の骨格の表示であって、ＩＫ解法或いは他の制限システムを用いて人間の自然な動きと一致する構成のみを明示するように制限されている。一実施形態では、ＩＫ解法は、人間の骨格の関節の可能な構成をモデル化（具現化）する連立方程式を解き、各々の関節の動きの自由度を制限するように効果的に作用する。
【００２４】
ブロック２２０で取得される関節位置をブロック２３０のモデルで制限することは、幾つかの重要な機能を与える。第一に、カメラからのノイズをフィルターにかけて、効果的に結果物を平滑化する。第二に、特定のプレーヤの手足がカメラの視野外にあるかもしれない。この場合、ブロック２３０のモデルは、カメラの視野にない関節の大よその位置を計算できる。第三に、カメラデータから取得されない関節の位置の代わりをする。ＩＫ解法は、これらの他の「近傍の」関節を所与として幾つかの関節の位置を計算できる。例えば、もしプレーヤの手がカメラに向かって直接外方向に伸ばされていれば、プレーヤの肘や或いは肩が視野から遮られうる。この場合、ブロック２２０でこれらの関節の３Ｄ位置を取得することは不可能である。しかしながら、ブロック２３０では、これらの関節の３Ｄ位置は、他の関節の位置を所与として幾つかの関節の位置を計算できる人間の骨格のモデルから取得される。
【００２５】
幾つかの実施形態では、選択的にブロック２４０を含み、特徴（或いは関節）位置データは、標準骨格或いは標準モデルに縮小拡大される。これは、一般的に「アニメーション・リターゲッティング（ａｎｉｍａｔｉｏｎ  ｒｅｔａｒｇｅｔｉｎｇ）」と呼ばれる。このブロックは、たとえ試験データが収集される人体比率と異なる人体比率でトレーニングデータがユーザから収集されたとしても、トレーニングデータ及び試験データは同じ座標系を参照しなければならないため、必須ではないが有用である。トレーニングデータに含まれないユーザの体に、訓練されるジェスチャーを上手く適用するために、追跡データは適切に拡大縮小されうる。
【００２６】
ブロック２５０では、データは、アニメーション・リターゲッティングのために用いられる標準モデルから収集される。一実施形態では、これは骨格モデルからの関節の３Ｄ位置を取得することに対応する。ブロック２６０では、モデルから検索されたデータは、ジェスチャー認識モジュール４００及び５００と同様に、ジェスチャー分類アルゴリズムを訓練するためにジェスチャー・トレーニングモジュール３００に送られる。
【００２７】
図３Ａは、ジェスチャーライブラリを構築する具体的な工程３００Ａを示すフロー図である。システムのジェスチャー・トレーニングモジュール３００は、工程３００Ａを実行する。ブロック３１０では、モジュール３００は、画像取得及びデータ前処理モジュール２００によって生成される特徴データを受け取る。そして、ブロック３２０では、モジュール３００は、特徴データからジェスチャーを特徴付けする。また、ブロック３３０では、モジュール３００は、開示の一実施形態に従って、前記ジェスチャーを特定の事前決定されるジェスチャーに関係付ける。ブロック３３０では、工程３００Ａの結果としてジェスチャーライブラリが構築される。ここで、各々のジェスチャーは、画像取得及びデータ前処理モジュール２００によって生成されるデータに関して、特定の特徴を有する。
【００２８】
図３Ａのブロック３２０及びブロック３３０は、以下で詳細に述べられかつ米国特許出願番号１１／８６６，２８０の図１に見られる図３Ｂのブロックを含むことが可能である。また、図３Ａのブロック３１０は、以下に詳細に述べられかつ米国特許出願番号１１／８６６，２８０の図２に見られる図３Ｃのブロックを含むことが可能である。一実施形態では、ブロック３２０及びブロック３３０は、オフラインタスクとして実行される。
【００２９】
特定のジェスチャーとしてユーザの動きを分類するために、ユーザの動きは、分類された既知の一連のジェスチャーと比較され、ジェスチャーライブラリに保存される。ライブラリにおける各々のジェスチャーに対して、基準値又は「グランドトゥルース（ｇｒｏｕｎｄ  ｔｒｕｔｈ）」データが、各々のジェスチャーの前処理ステップで最初に生成される。「グランドトゥルース」データは、特定のジェスチャーとして前記動きを分類するために、比較されるユーザの動きに対して基準値として用いられる。一連の幾つかの画像において関心のある特徴点の相対位置を特徴づけるデータは、前記比較のために用いられる。図３Ｂは、ジェスチャーライブラリのために「グランドトゥルース」データが取得される一の方法３００Ｂを示す。
【００３０】
ステップ１１０Ａでは、関心のあるジェスチャーを何度も行うことで、少なくとも一の対象者が記録される。センサは、対象者の体の関心のある各々の特徴点に配置され、モーションキャプチャ装置は、対象者の動きを一連の画像に記録するために用いられる。関心のある特徴点は、例えば対象者の左手、左肘、左肩、頭に対応する関節及び位置を含みうる。当業者にとって、対象者の体における多くの他の位置が関心のある特徴点でありうることは明らかである。ステップ１１０Ａの結果は、一連の各画像における一の特徴点に対応する各ポイントを備える３次元ポイントのセットである。
【００３１】
ステップ１２０Ａでは、モーションキャプチャ・セッションからのデータは、モーションキャプチャデータを処理するための標準技術を用いてデータを手動で除去及び平滑化することで、後処理される。当業者にとって、他の後処理ステップが実施されうることは明らかである。データは、バイアスを最小化すべくジェスチャーが実施される度にステップ１２５Ａで平均化される。好ましい実施形態では、ジェスチャーをする多くの異なる対象者が記録され、一の人間へのグランドトゥルースデータの過剰適合（ｏｖｅｒｆｉｔｔｉｎｇ）を防止するために、異なる対象者のジェスチャーが平均化される。
【００３２】
類似性測度は、二つのジェスチャーセットの類似性を互いに量的に比較する機能である。類似性測度値が高ければ高いほど、人間の動きは、当該動きが比較される既知のジェスチャーとより良く類似する。ステップ１３０Ａでは、ジェスチャーを人間の動きと比較する類似性測度が特定のジェスチャーの閾値より高い場合に、前記人間の動きがジェスチャーとして特定され得るように、閾値はジェスチャーのために計算される。
【００３３】
ステップ１４０Ａでは、他のジェスチャーがジェスチャーライブラリに追加されるべきか否かを問う。もし追加されるべきなら、上記ステップは、新しいジェスチャーをする少なくとも一の対象者の記録をするステップ１１０Ａから繰り返される。もし更なるジェスチャーがライブラリに追加されるべきでないなら、ジェスチャーライブラリは完成となる。
【００３４】
図３Ｃは、ジェスチャーの「グランドトゥルース」データとそれに対応するジェスチャーの閾値とがジェスチャーライブラリで取得される別の方法３００Ｃを示す。ステップ２１０Ａでは、カラー画像及び奥行き画像を記録可能なビデオカメラは、関心のあるジェスチャーを数回行う少なくとも一の対象者を記録するために用いられる。ステップ２２０Ａでは、関心のある特徴点の位置は、手動で一連のカラー画像及び奥行き画像に記される。他の実施形態では、関心のある前記点の記し付け（マーキング）は、自動化又は半自動化することが可能である。例えば、自動的な追跡は、関心のある前記点を決定するために、ビデオカメラからの奥行き画像上で実行され、また、他の実施形態では、自動的に特定される関心のある前記点は、手動で補正される。ステージ２３０Ａでは、ジェスチャーを捕らえている一連の画像におけるカラー画像と奥行き画像との各組に対して、関心のある各々の特徴点の３次元座標が計算される。データの後処理は、２４０Ａで実行される。実行されうる後処理ステップは、時間的に及び空間的にデータの平滑化を含む。当業者にとって、他の後処理ステップもまた実行可能であることは明らかである。
【００３５】
ステップ２５０Ａでは、データは、バイアスを最小化すべくジェスチャーが実行される度に平均化される。好ましい実施形態では、ジェスチャーをする多くの異なる対象者が記録され、一の人間へのグランドトゥルースデータの過剰適合（ｏｖｅｒｆｉｔｔｉｎｇ）を防止するために、異なる対象者のジェスチャーが平均化される。
【００３６】
ステップ２６０Ａでは、ジェスチャーを人間の動きと比較する類似性測度が特定のジェスチャーの閾値よりも高い場合に、人間の動きがジェスチャーとして特定されるように、閾値がジェスチャーに対して計算される。
【００３７】
ステップ２７０Ａでは、他のジェスチャーがジェスチャーライブラリに追加されるべきか否かを問う。もし追加されるべきなら、上記ステップは、新しいジェスチャーをする少なくとも一の対象者の記録をするステップ２１０Ａから繰り返される。もし更なるジェスチャーがライブラリに追加されるべきでないなら、ジェスチャーライブラリは完成となる。
【００３８】
監視下にない機械学習法だけでなく監視下にある機械学習法を含んで、データの自動分類のために用いられる如何なる技術も用いられることが可能である。データ分類技術は、ＳＶＭ（サポート・ベクター・マシン）、隠れマルコフモデル（ＨＭＭｓ）、ｋ−平均クラスタリング（ｋ−ｍｅａｎｓ  ｃｌｕｓｔｅｒｉｎｇ）を含むが、これらに限定されることはない。例えば、ＳＶＭは、データポイントの二つのクラス（「所望のジェスチャー」と「所望でないジェスチャー」）間の「最適分離」を探すために用いられ、また、得られる決定関数は、候補のジェスチャーがどのクラスに分類されるかを決定するために候補のジェスチャーに適用される。
【００３９】
図４Ａは、開示の実施形態に関する図で、検索されているジェスチャーが行われたか否かを決定するバイナリ・ジェスチャー認識技術を用いる具体的な工程４００Ａを示すフロー図である。一実施形態では、バイナリ・ジェスチャー認識技術は、ジェスチャーライブラリからのジェスチャーが行われたか否かを計算する前に、画像取得及びデータ前処理モジュール２００から完全な時間依存シーケンスを受信するまで待機することによって、ゲームの遅延を発生させる。
【００４０】
ブロック４１０では、バイナリ・ジェスチャー認識モジュール４００は、特徴を表現する画像取得及びデータ前処理モジュール２００から特徴データを受け取る。そして、ブロック４２０では、ジェスチャーライブラリのジェスチャーに対応するプレーヤのジェスチャーは、モジュール４００によって検出される。ブロック４２０からの結果は、検出されたジェスチャーである。一実施形態では、図４Ｂに示すように、ブロック４２０が米国特許出願番号１１／８６６，２８０の図３のブロックを含むことが可能である。
【００４１】
ブロック４３０では、システムのゲーム・エンジンモジュールは、ブロック４２０で検出されたジェスチャーに基づいて、プレーヤに対する反応を生成する。ゲーム・エンジンモジュールは、基本的に、プレーヤが相互作用するゲームアプリケーションを制御する。ブロック４４０では、システムは、生成した反応をプレーヤのディスプレイ上に表示し、例えばプレーヤの実行によるプレーヤの得点を調整する。
【００４２】
図５は、開示の実施形態に関する図で、プレーヤが特定時間（例えば一連のフレーム）に亘って特定のジェスチャーを行っているか否かを確認し、如何に正確にプレーヤが指示された動作を実施しているかを決定する具体的な工程５００Ａを示すフロー図である。
【００４３】
ブロック５１０では、リアルタイム・ジェスチャー認識モジュール５００は、画像取得及びデータ前処理モジュール２００から特徴データを受け取る。リアルタイム・ジェスチャー認識モジュールは、ジェスチャーをしているプレーヤの進行を、例えば各フレーム毎にリアルタイムで更新する。ブロック５２０では、システムのゲーム・エンジンモジュールは、関心のあるジェスチャーを選択し、前記ジェスチャーを行うようにユーザに指示する。
【００４４】
ブロック５３０では、累積追跡得点（ＣＴＳ）は、０（ゼロ）に設定される。一実施形態では、ＣＴＳは各フレーム毎に更新される。しかしながら、ＣＴＳは、他の間隔、例えば一フレームおきに更新される。次に、ブロック５１０で受け取られた特徴データは、ブロック５２０で選択された関心のあるジェスチャーと比較され、プレーヤの動きが関心のあるジェスチャーと如何に近く適合しているのか否かに対応する数値が計算される。ブロック５１０からのデータをブロック５２０からの関心のあるジェスチャーのデータと比較する一方法は、類似性測度を用いることである。
【００４５】
一つの典型的な類似性測度は、以下の通りである。例えば、ｘ（ｉ，ｊ）は、関心のあるジェスチャーに基づく、時間ｊで関節ｉの事前決定される位置であり、ｙ（ｉ，ｊ）は、時間ｊで関節ｉに対してブロック５１０から得られる値であり、即ち関心のあるジェスチャーに対する時間ｊにおける関節ｉの位置である。ｗ（ｉ）を関節毎の重みとし、ｕ（ｊ）を時間毎の重みとすると、類似性測度は、例えば以下となる。
【数１】
2012518236.tif 000003
一実施形態では、重みｕ（ｊ）とｗ（ｉ）とは、任意に割り当てることが可能である。ブロック５４０では、類似性測度（上記例のＳｕ，ｗ（ｘ，ｙ））はフレーム毎に計算され、ブロック５４５では、累積追跡得点はＳｕ，ｗ（ｘ，ｙ）の値によって増加される。
【００４６】
決定ブロック５５０では、システムは、累積追跡得点が所与の閾値内か否かを決定する。ＣＴＳは、所与の閾値内であるなら（ブロック５５０でＹｅｓ）、これは、プレーヤの動きが関心のあるジェスチャーに特徴付けられる動きに十分に近いことを示し、工程はブロック５５５に続き、関心のあるジェスチャーをプレーヤが行っているという情報がゲーム・エンジンモジュールに送られる。ブロック５７０では、ゲーム・エンジンモジュールは、前記送られた情報に基づいてディスプレイを介してプレーヤに反応を提供する。
【００４７】
決定ブロック５７５では、システムは、ブロック５１０でモジュール２００から受け取られる特徴データを分析すべく、他のフレームがあるか否かを決定する。他のフレームがあるなら（ブロック５７５でＹｅｓ）、工程は次のフレームのために類似性測度を計算すべくブロック５４０に戻る。他のフレームがないなら（ブロック５７５でＮｏ）、工程はモジュール２００から更に特徴データを受け取るためにブロック５１０に戻る。
【００４８】
ＣＴＳが所与の閾値内にないなら（ブロック５５０でＮｏ）、ブロック５６０でＣＴＳは０（ゼロ）に設定される。そして、ブロック５６５で、プレーヤが関心のあるジェスチャーを行っていないという情報がゲーム・エンジンモジュールに送られ、工程は上記ブロック５７０まで続く。
【００４９】
図６は、双方向プログラムに組み込まれるジェスチャー分類システムの一実施形態に係るブロック図６００である。ビデオカメラ装置６１０は、ユーザの動きを捕らえる。ビデオカメラ装置６１０は、同時に生じるユーザのカラー画像及び奥行き画像を取得し、画像は処理のためにプロセッサ６２０に送られる。
【００５０】
プロセッサ６２０は、カラー画像及び奥行き画像に関心のある特徴点を探し、共に得られるカラー画像及び奥行き画像における各々の特徴点に対する３次元座標を計算し、処理のためのメモリ６３０に前記座標を保存し、最小数の画像が得られることを保証し、データベース６４０の各ジェスチャーと前記ユーザの動きを比較することで類似性測度を計算し、前記ユーザの動きと比較されるデータベースのジェスチャーの閾値より高い類似性測度を有するジェスチャーを特定し、得られる最大の類似性測度を測定し、他の画像を取得するようにビデオカメラ装置６１０に指示し、処理される画像を消去するためにメモリ６３０を制御し、特定されるジェスチャーをディスプレイ６５０に出力し、即ちユーザに反応を提供する。プロセッサ６２０は、ユーザがディスプレイ６５０を介して仮想上で経験する双方向プログラムを動かす。
【００５１】
ディスプレイ６５０は、プロセッサ６２０によって特定されるジェスチャーを行うユーザの画像を表示する。ユーザの画像は、ディスプレイ６５０によって表示される双方向プログラムの仮想環境に組み込まれる。
【００５２】
図７は、ネットワーク間の複数のプレーヤにアクセスされる双方向プログラムに組み込まれるジェスチャー分類システムの一実施形態に係るブロック図７００である。
【００５３】
複数のプレーヤは、異なる場所から同じ双方向プログラムにアクセスすることが可能である。図７は、ユーザが同じ仮想環境にアクセスする三つの離れた場所７４０，７５０，７６０を示すが、如何なる数の場所から如何なる数のユーザが双方向プログラムに参加することが可能である。各場所７４０，７５０，７６０は、当該場所で同時に生じるユーザのカラー画像及び奥行き画像を取得するビデオカメラ装置７４２，７５２，７６２を有しており、画像は処理のためにプロセッサ７２０に送られる。もし一以上のユーザが同じ場所にいるなら、当該場所の各ユーザのために設けられるビデオカメラ装置が利用可能である。同じ場所の全ユーザは、ディスプレイを共有し、或いは、各々に個々のディスプレイ７４４，７５４，７６４を有することが可能である。また、全ディスプレイは、同じ仮想環境に参加する異なる場所の全ユーザの画像を示すことができる。
【００５４】
異なる場所７４０，７５０，７６０からビデオカメラ装置７４２，７５２，７６２によって取得される画像は、ネットワーク７７０を介してプロセッサ７２０に送られる。プロセッサ７２０、メモリ７３０、ジェスチャーデータベース７１０は、図６の上記説明のように同じ態様で機能する。また一方、複数のユーザが同じ双方向プログラムに参加した状態で、プロセッサ７２０は、各ユーザをとらえている画像を処理することを要する。また、プロセッサ７２０は、個々のユーザのために設けられる予備プロセッサを有することが可能であり、各予備プロセッサは、メモリ７３０内で独立したメモリにアクセスすることが可能である。当業者にとっては、異なるハードウェア構造は、反応時間を最適化するために、プロセッサ７２０及びメモリ７３０の機能を実行することが可能であることは明らかである。
【００５５】
また、プロセッサ７２０は、ユーザがディスプレイ７４４，７５４，７６４を介して仮想上で経験する双方向プログラムを動かす。全ユーザの画像は、各ディスプレイ７４４，７５４，７６４によって表示される双方向プログラムの仮想環境に組み込まれる。信号は、プロセッサ７２０によってネットワーク７７０に沿うディスプレイ７４４，７５４，７６４に送られる。
【符号の説明】
【００５６】
２００…データ前処理モジュール、３００…ジェスチャー・トレーニングモジュール、４００…バイナリ・ジェスチャー認識モジュール、５００…リアルタイム・ジェスチャー認識モジュール、６１０，７４２，７５２，７６２…ビデオカメラ装置、６２０，７２０…プロセッサ、６３０，７３０…メモリ、６４０，７１０…ジェスチャーデータベース、６５０，７４４，７５４，７６４…ディスプレイ、７４０，７５０，７６０…場所
【図１】
2012518236.tif 000004
【図２】
2012518236.tif 000005
【図３Ａ】
2012518236.tif 000006
【図３Ｂ】
2012518236.tif 000007
【図３Ｃ】
2012518236.tif 000008
【図４Ａ】
2012518236.tif 000009
【図４Ｂ】
2012518236.tif 000010
【図５】
2012518236.tif 000011
【図６】
2012518236.tif 000012
【図７】
2012518236.tif 000013
【手続補正書】
【提出日】平成23年10月19日(2011.10.19)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
関心のあるジェスチャーを行うように対象者に指示し、
動きをする前記対象者の複数の画像をセンサから取得し、
前記複数の画像が各々取得されると、該複数の画像の各々と前記関心のあるジェスチャーとを比較し、
前記比較に基づき追跡得点を決定し、
該追跡得点が所与の閾値内にあるとき、前記対象者が関心のあるジェスチャーを行っていると決定することを含む関心のあるジェスチャーを認識する方法。
【請求項２】
前記比較の間に、逆運動学解法を用いて前記複数の画像の各々をモデルに制限することを更に含む請求項１記載の方法。
【請求項３】
前記関心のあるジェスチャーをジェスチャーライブラリから選択することを更に含む請求項１又は２記載の方法。
【請求項４】
前記比較は、類似性測度を計算することを更に含む請求項１乃至３記載の方法。
【請求項５】
前記センサは、奥行カメラである請求項１乃至４記載の方法。
【請求項６】
動きをする対象者の画像を奥行カメラから取得し、
前記画像から関心のある複数の特徴を選択し、
該関心のある複数の特徴に対応する複数の奥行き値を抽出し、
該複数の奥行き値を用いてモデル上に前記関心のある複数の特徴を投影し、
制限システムを用いて前記モデル上への前記関心のある複数の特徴の投影を制限することを含む画像取得及びデータ前処理の方法。
【請求項７】
制限システムは、逆運動学解法を含む請求項６記載の方法。
【請求項８】
標準モデル上に前記モデルを拡大縮小するためのアニメーション・リターゲッティングをすることを更に含む請求項６又は７記載の方法。
【請求項９】
画像の奥行きデータの複数フレームを取得するカメラと、
前記カメラから前記画像の奥行きデータの複数フレームを受け取り、対象者の特徴位置を決定すべく画像の奥行きデータを処理するように構成される画像取得モジュールと、
前記画像取得モジュールから対象者の特徴位置を受け取り、該特徴位置を事前決定されるジェスチャーと関連付けるように構成されるジェスチャー・トレーニングモジュールと、
前記画像取得モジュールから対象者の特徴位置を受け取り、該特徴位置が特定のジェスチャーと適合するか否かを決定するように構成されるバイナリ・ジェスチャー認識モジュールと、
前記画像取得モジュールから対象者の特徴位置を受け取り、画像の奥行きデータの一フレーム以上で特定のジェスチャーがなされているか否かを決定するように構成されるリアルタイム・ジェスチャー認識モジュールと、を含むジェスチャーを認識するためのシステム。
【請求項１０】
前記特定のジェスチャーを選択し、前記対象者に当該特定のジェスチャーを行うように指示するように構成されるゲーム・エンジンモジュールを更に含む請求項９記載のシステム。
【請求項１１】
前記カメラは、カラー画像データを更に取得する請求項９又は１０記載のシステム。
【請求項１２】
前記リアルタイム・ジェスチャー認識モジュールは、類似性測度及び累積追跡得点を計算するように更に構成され、前記類似性測度及び累積追跡得点は、フレーム毎に更新され、特定のジェスチャーがなされているか否かの前記決定は、前記累積追跡得点をフレーム毎の特定のジェスチャーの閾値と比較することに基づいてなされる請求項９記載のシステム。
【請求項１３】
前記画像取得モジュールは、画像の奥行きデータをモデル上に位置付ける請求項９記載のシステム。
【請求項１４】
前記画像取得モジュールは、前記複数フレームのうちの少なくとも一つで視認できない特徴位置についての前記モデルの動きを制限すべく逆運動学解法を用いる請求項１３記載のシステム。
【請求項１５】
前記画像取得モジュールは、前記特徴位置を標準モデルに拡大縮小する請求項９記載のシステム。
【国際調査報告】
2012518236.tif 000014
2012518236.tif 000015