(57)【特許請求の範囲】
【請求項１】
被写体についての少なくとも１つのデータの３次元（３Ｄ）ビデオストリームを撮像するステップと、
前記少なくとも１つのデータの３Ｄビデオストリームからスケルトンデータの時系列を抽出するステップと、
内容が突然変化する複数の点を探索し、前記内容が突然変化する複数の点の各々を時間についてのカットとして特定するステップであり、ここで、複数の時間についてのカットが、前記スケルトンデータの時系列を区分する重複のない隣接するセグメントの組を規定するものであり、
前記複数の時間についてのカットの各々を、加速度の変化率の局所的な極大値により与えられるカットのいずれかに精緻化するステップと、
前記精緻化されたカットのうち、正の加速度を有するカットを特定するステップと、
前記正の加速度を有する前記１つ若しくは複数の連続するカットの対の各々をジェスチャーバウンダリとして分類するステップとを備えることを特徴とするジェスチャーを認識する方法。
【請求項２】
前記スケルトンデータの時系列内で最大平均差異（ＭＭＤ）の推定値を算出するステップと、
前記ＭＭＤの推定値に基づいて、前記スケルトンデータの時系列のうちで時間についてのカットの推定を発生させるステップとを備えることを特徴とする請求項１に記載の方法。
【請求項３】
ある時刻（ｔ）における左手のジョイント及び右手のジョイントの上下方向位置の和の関数であるハンズアップ判定関数の値を用いて、手が上がっているならばジェスチャーとして分類するステップを備えることを特徴とする請求項１又は２に記載の方法。
【請求項４】
前記精緻化されたカットのうち正の加速度を有するカットを前記ジェスチャーの開始として分類するステップと、
前記精緻化されたカットのうち負の加速度を有するカットを前記ジェスチャーの終了として分類するステップとを備えることを特徴とする請求項１から３のいずれか一項に記載の方法。
【請求項５】
前記データの少なくとも１つの３Ｄビデオストリームからの前記スケルトンデータの時系列及び前記ジェスチャーバウンダリをジェスチャー認識モジュールに入力するステップと、
前記ジェスチャーバウンダリをジェスチャーの種類として認識するステップとを備えることを特徴とする請求項１から４のいずれか一項に記載の方法。
【請求項６】
被写体の少なくとも１つのデータの３次元（３Ｄ）ビデオストリームを撮像するためのビデオカメラと、
前記少なくとも１つのデータの３Ｄビデオストリームからスケルトンデータの時系列を抽出するためのモジュールと、
処理部とを備え、前記処理部は、
内容が突然変化する複数の点を探索し、前記内容が突然変化する複数の点の各々を時間についてのカットとして特定するステップであり、ここで、複数の時間についてのカットが、前記スケルトンデータの時系列を区分する重複のない隣接するセグメントの組を規定するものであり、
前記複数の時間についてのカットの各々を、加速度の変化率の局所的な極大値により与えられるカットのいずれかに精緻化するステップと、
前記精緻化されたカットのうち、正の加速度を有するカットを特定するステップと、
前記正の加速度を有する前記１つ若しくは複数の連続するカットの対の各々をジェスチャーバウンダリとして分類するステップとを行うように構成されていることを特徴とするジェスチャーを認識するためのシステム。
【請求項７】
前記処理部により生成された結果を表示するための表示部であって、前記スケルトンデータの時系列から１つ若しくは複数のジェスチャーバウンダリを視覚的なフォーマットで表示する表示部を備えることを特徴とする請求項６に記載のシステム。
【請求項８】
前記処理部が、
前記スケルトンデータの時系列内で最大平均差異（ＭＭＤ）の推定値を算出するステップと、
前記ＭＭＤの推定値に基づいて、前記スケルトンデータの時系列のうちで時間についてのカットの推定を発生させるステップとを行うように構成されていることを特徴とする請求項６又は７に記載のシステム。
【請求項９】
前記処理部が、
ある時刻（ｔ）における左手のジョイント及び右手のジョイントの上下方向位置の和の関数であるハンズアップ判定関数の値を用いて、手が上がっているならばジェスチャーとして分類するステップを行うように構成されていることを特徴とする請求項６から８のいずれか一項に記載のシステム。
【請求項１０】
前記処理部が、
前記精緻化されたカットのうち正の加速度を有するカットを前記ジェスチャーの開始として分類するステップと、
前記精緻化されたカットのうち負の加速度を有するカットを前記ジェスチャーの終了として分類するステップとを行うように構成されていることを特徴とする請求項６から９のいずれか一項に記載のシステム。
【請求項１１】
前記データの少なくとも１つの３Ｄビデオストリームからの前記スケルトンデータの時系列及び前記ジェスチャーバウンダリが入力され、前記ジェスチャーバウンダリをジェスチャーの種類として認識するように構成されたジェスチャー認識モジュールを備えることを特徴とする請求項６から１０のいずれか一項に記載のシステム。
【請求項１２】
前記ビデオカメラは、ＲＧＢ−Ｄカメラであり、前記ＲＧＢ−Ｄカメラは、ＲＧＢフレームと奥行きフレームの時系列を生成することを特徴とする請求項６から１１のいずれか一項に記載のシステム。
【請求項１３】
前記少なくとも１つのデータの３Ｄビデオストリームからスケルトンデータの時系列を抽出するためのモジュール及び前記処理部は、スタンドアロンのコンピュータ内にあることを特徴とする請求項６から１２のいずれか一項に記載のシステム。
【請求項１４】
ジェスチャーを認識するためのコンピュータ読取可能なコードを含むコンピュータプログラムであって、前記コンピュータプログラムは、コンピュータにより実行可能であり、前記コンピュータに、
被写体についての少なくとも１つのデータの３次元（３Ｄ）ビデオストリームを撮像するステップと、
前記少なくとも１つのデータの３Ｄビデオストリームからスケルトンデータの時系列を抽出するステップと、
内容が突然変化する複数の点を探索し、前記内容が突然変化する複数の点の各々を時間についてのカットとして特定するステップであり、ここで、複数の時間についてのカットが、前記スケルトンデータの時系列を区分する重複のない隣接するセグメントの組を規定するものであり、
前記複数の時間についてのカットの各々を、加速度の変化率の局所的な極大値により与えられるカットのいずれかに精緻化するステップと、
前記精緻化されたカットのうち、正の加速度を有するカットを特定するステップと、
前記正の加速度を有する前記１つ若しくは複数の連続するカットの対の各々をジェスチャーバウンダリとして分類するステップとを含むプロセスを実行させることを特徴とするコンピュータプログラム。
【請求項１５】
前記コンピュータに、
前記スケルトンデータの時系列内で最大平均差異（ＭＭＤ）の推定値を算出するステップと、
前記ＭＭＤの推定値に基づいて、前記スケルトンデータの時系列のうちで時間についてのカットの推定を発生させるステップとを含むプロセスを実行させることを特徴とする請求項１４に記載のコンピュータプログラム。
【請求項１６】
前記コンピュータに、
ある時刻（ｔ）における左手のジョイント及び右手のジョイントの上下方向位置の和の関数であるハンズアップ判定関数の値を用いて、手が上がっているならばジェスチャーとして分類するステップを含むプロセスを実行させることを特徴とする請求項１４又は１５に記載のコンピュータプログラム。
【請求項１７】
前記コンピュータに、
前記精緻化されたカットのうち正の加速度を有するカットを前記ジェスチャーの開始として分類するステップと、
前記精緻化されたカットのうち負の加速度を有するカットを前記ジェスチャーの終了として分類するステップとを含むプロセスを実行させることを特徴とする請求項１４から１６のいずれか一項に記載のコンピュータプログラム。
【請求項１８】
前記コンピュータに、
前記データの少なくとも１つの３Ｄビデオストリームからの前記スケルトンデータの時系列及び前記ジェスチャーバウンダリをジェスチャー認識モジュールに入力するステップと、
前記ジェスチャーバウンダリをジェスチャーの種類として認識するステップとを含むプロセスを実行させることを特徴とする請求項１４から１７のいずれか一項に記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、２０１４年８月２９日に出願された米国特許出願番号１４／４７３，６７９の利益を伴い、参照することによりその内容全体を本明細書の一部となす。
【０００２】
本発明は、ジェスチャー解析のための時間的セグメンテーションの方法及びシステムに関し、より詳細には、ジェスチャーの分類及び認識等のジェスチャー解析のための入力又は前処理モジュールとして用いることができるような人間の動作のフロー内のジェスチャーバウンダリを特定するための方法及びシステムに関する。
【背景技術】
【０００３】
ジェスチャーの認識は、効率的な時間的セグメンテーションを用いる用途の一例であり、又は処理の前段階として人間の動作のフロー内のジェスチャーを見出す作業である。通常指示を伴わないで実行されるため、時間的セグメンテーションのステップにより、続いて行われるジェスチャーの認識が容易になる。
【０００４】
ジェスチャーの認識とセグメンテーションは、同時に又は連続的に実行することができる。例えば、隠れマルコフモデル（ｈｉｄｄｅｎ  Ｍａｒｋｏｖ  ｍｏｄｅｌｓ（ＨＭＭｓ））、連続時間リカレントニューラルネットワーク（ｃｏｎｔｉｎｕｏｕｓ−ｔｉｍｅ  ｒｅｃｕｒｒｅｎｔ  ｎｅｕｒａｌ  ｎｅｔｗｏｒｋｓ（ＣＴＲＮＮｓ））、動的ベイエジアンネットワーク（ｄｙｎａｍｉｃ  Ｂａｙｅｓｉａｎ  ｎｅｔｗｏｒｋ（ＤＢＮｓ））又は条件付き確率場（ｃｏｎｄｉｔｉｏｎａｌ  ｒａｎｄｏｍ  ｆｉｅｌｄｓ（ＣＲＦｓ））等の直接的に時間側面のモデリングを行うことができる機械学習の枠組みを同時に行なわれるジェスチャーの認識及びセグメンテーションに用いることができる。時間的セグメンテーションも、認識の研究とは独立に研究されてきた。それにもかかわらず、時間的セグメンテーションが行われる際には、２つの主だったアプローチが支配的である。すなわち、時間クラスタリングと変動点検出である。
【０００５】
時間クラスタリング（ｔｅｍｐｏｒａｌ  ｃｌｕｓｔｅｒｉｎｇ（ＴＣ））は、複数の時系列をｋ個の時間クラスターに含まれる重複しないセグメントの集合に分解することを意味している。本質的にオフラインで行われるため、このアプローチでは、データの大局的な視点が利用され、クラスタリングにみられるようなクラスタラベルが与えられる。しかしながら、時間クラスタリングは、リアルタイムの用途には適していないかもしれない。
【０００６】
変動点の方法（ｃｈａｎｇｅ−ｐｏｉｎｔ  ｍｅｔｈｏｄｓ）は、信号理論と統計から得られる様々なツールに依っており、動作のフロー内のパターンの突然の変化を含むフレームを特定する。変動点の方法は、パラメータの分布についての仮定（人間の動作を解析する際には成立しない）を行った一変量の系列に限定されうるが、近年のカーネル法の使用によりこの限定の一部は取り除かれた。変動点の方法は、最近、時間的セグメンテーションの問題に応用されてきている。時間クラスタリングと異なり、変動点のアプローチは、しばしば指示を伴わないオンラインのアルゴリズムを生み出し、それらは、リアルタイムで実行可能で、時系列の局所的なパターンに基づいている。
【０００７】
時間的セグメンテーションにおける重要な進歩がなされたが、この問題は、視点の変化、部分遮蔽及び時空間変化を原因として、依然として、本質的に困難である。
【発明の概要】
【課題を解決するための手段】
【０００８】
一例としての実施形態によれば、被写体についての少なくとも１つのデータの３次元（３Ｄ）ビデオストリームを撮像するステップと、前記少なくとも１つのデータの３Ｄビデオストリームからスケルトンデータの時系列を抽出するステップと、内容が突然変化する複数の点を探索し、前記内容が突然変化する複数の点の各々を時間についてのカットとして特定するステップであり、ここで、複数の時間についてのカットが、前記スケルトンデータの時系列を区分する重複のない隣接するセグメントの組を規定するものであり、前記複数の時間についてのカットの各々を、加速度の変化率の局所的な極大値により与えられるカットのいずれかに精緻化するステップと、前記精緻化されたカットのうち、正の加速度を有するカットを特定するステップと、前記正の加速度を有する前記１つ若しくは複数の連続するカットの対の各々をジェスチャーバウンダリとして分類するステップとを備えることを特徴とするジェスチャーを認識する方法が開示されている。
【０００９】
一例としての実施形態によれば、被写体の少なくとも１つのデータの３次元（３Ｄ）ビデオストリームを撮像するためのビデオカメラと、前記少なくとも１つのデータの３Ｄビデオストリームからスケルトンデータの時系列を抽出するためのモジュールと、処理部とを備え、前記処理部は、内容が突然変化する複数の点を探索し、前記内容が突然変化する複数の点の各々を時間についてのカットとして特定するステップであり、ここで、複数の時間についてのカットが、前記スケルトンデータの時系列を区分する重複のない隣接するセグメントの組を規定するものであり、前記複数の時間についてのカットの各々を、加速度の変化率の局所的な極大値により与えられるカットのいずれかに精緻化するステップと、前記精緻化されたカットのうち、正の加速度を有するカットを特定するステップと、前記正の加速度を有する前記１つ若しくは複数の連続するカットの対の各々をジェスチャーバウンダリとして分類するステップとを行うように構成されていることを特徴とするジェスチャーを認識するためのシステムが開示されている。
【００１０】
一例としての実施形態によれば、ジェスチャーを認識するためのコンピュータ読取可能なコードを含むコンピュータプログラムであって、前記コンピュータプログラムは、コンピュータにより実行可能であり、前記コンピュータに、被写体についての少なくとも１つのデータの３次元（３Ｄ）ビデオストリームを撮像するステップと、前記少なくとも１つのデータの３Ｄビデオストリームからスケルトンデータの時系列を抽出するステップと、内容が突然変化する複数の点を探索し、前記内容が突然変化する複数の点の各々を時間についてのカットとして特定するステップであり、ここで、複数の時間についてのカットが、前記スケルトンデータの時系列を区分する重複のない隣接するセグメントの組を規定するものであり、前記複数の時間についてのカットの各々を、加速度の変化率の局所的な極大値により与えられるカットのいずれかに精緻化するステップと、前記精緻化されたカットのうち、正の加速度を有するカットを特定するステップと、前記正の加速度を有する前記１つ若しくは複数の連続するカットの対の各々をジェスチャーバウンダリとして分類するステップとを含むプロセスを実行させることを特徴とするコンピュータプログラムが開示されている。
【００１１】
上で述べた一般的な記載かつ以下で述べる詳細な記載の両者は、一例及び説明として述べられており、請求の範囲のさらなる説明となることが意図されていることが理解される。
【図面の簡単な説明】
【００１２】
添付した図面は、本発明のいっそうの理解を与えるために含まれ、本明細書の一部に組込まれ、一部を構成している。図面は、本発明の複数の実施形態を示し、詳細な説明と共に本発明の原理を説明する役割を果たす。
【００１３】
【図１】図１は、一例としての実施形態によるジェスチャー認識システムを示す。
【００１４】
【図２】図２は、ボディジョイントを示す人体のスケルトンシステムを示す。
【００１５】
【図３】図３は、一例としての実施形態によるジェスチャー認識システムを示す。
【００１６】
【図４】図４は、一例としての実施形態によるジェスチャー解析のための時間的セグメンテーションの方法を示すフローチャートである。
【００１７】
【図５】図５は、一例としての実施形態によるセグメンテーションを示す。
【発明を実施するための形態】
【００１８】
人間の動作のフローの中にジェスチャーを見出すという課題であるジェスチャーの時間的セグメンテーションを実行することを試みる際に、数多くの曖昧な点が生じうることが理解できる。例えば、いくつかのジェスチャーを間に休みをおかずに連続的に行う（そのようなジェスチャーは連続的ジェスチャーと称される）ことができる一方で、いくつかのジェスチャーは、その間に休みを含む。これは、動作のない状態から動作へあるいは動作から動作のない状態への突然の変化を単純に観察するのみによってはジェスチャーバウンダリをトリガするのを比較的不可能にしてしまいうる。
【００１９】
複数の変動点の方法のうちで、カーネル化時間切断（Ｋｅｒｎｅｌｉｚｅｄ  Ｔｅｍｐｏｒａｌ  Ｃｕｔ（ＫＴＣ））アルゴリズムは、時間的セグメンテーションの問題をサイズが変化するスライディングウィンドウ内の２標本問題の系列としてモデル化し、それを最大平均差異（Ｍａｘｉｍｕｍ  Ｍｅａｎ  Ｄｉｓｃｒｅｐａｎｃｙ（ＭＭＤ）に基づいて検定統計量を用いて解く。一例としての実施形態によれば、ジェスチャー解析のための時間的セグメンテーションの方法及びシステムが開示され、それを、本明細書では、「運動学的カーネル化時間的セグメンテーション（Ｋｉｎｅｍａｔｉｃ  Ｋｅｒｎｅｌｉｚｅｄ  Ｔｅｍｐｏｒａｌ  Ｓｅｇｍｅｎｔａｔｉｏｎ（ＫＫＴＳ））」と称する。
【００２０】
時間的セグメンテーション、すなわち人間の動作のフロー内でジェスチャーを見出すという課題は、多くのコンピュータビジョンの用途において非常に重要でありうる。例えば、ＲＧＢ−Ｄセンサ（又はカメラ）及びそれらに関連したフレームワークからは、比較的容易で信頼性のあるスケルトンモデルを人間のユーザから抽出することができ、ジェスチャー認識用途の開発の機会を得ることができる。しかしながら、ジェスチャーの時間的セグメンテーションは、依然として、オープンで挑戦のしがいのある問題である。「ジェスチャー」を定義するのが困難でありうるためである。したがって、オーバーセグメンテーションとアンダーセグメンテーションの間で妥当なトレードオフを維持しつつ、指示を伴わないオンライン形式でジェスチャーバウンダリを検出するための方法及びシステムを手にすることは望ましいであろう。
【００２１】
一例としての実施形態によれば、ジェスチャー解析のための時間的セグメンテーションの方法及びシステムが開示され、それを、本明細書では、「運動学的カーネル化時間的セグメンテーション（Ｋｉｎｅｍａｔｉｃ  Ｋｅｒｎｅｌｉｚｅｄ  Ｔｅｍｐｏｒａｌ  Ｓｅｇｍｅｎｔａｔｉｏｎ（ＫＫＴＳ））」と称する。例えば、一例としての実施形態によれば、本明細書で開示されるＫＫＴＳモジュール（又はアルゴリズム）は、リアルタイムで指示を伴わない形式で実行しつつ、ビデオストリーム又はスケルトン情報のフローからジェスチャーバウンダリを特定することができる。加えて、ＫＫＴＳモジュール（又はアルゴリズム）は、続いて行われるいかなる分類ステップ又はアルゴリズムとは独立して用いることができ、それにより、本明細書で開示するシステム及び方法が、ジェスチャー認識システムを含むジェスチャー処理システムに組込むための理想的な用途となりうる。
【００２２】
図１に、一例としての実施形態によるジェスチャー認識システム１００を示す。図１に示すように、システム１００は、ＲＧＢ−Ｄカメラ１１０を含みうる。ＲＧＢ−Ｄカメラ１１０は、例えば、奥行き又は距離の機能を伴った赤、緑、青の色空間を有し、各画像に被写体すなわちユーザ１０２のカラー画像（ＲＧＢ色空間）と奥行き又は距離を取得するために用いることができる。一例としての実施形態によれば、被写体すなわちユーザ１０２は、１つ又は複数のジェスチャーを行いうる。
【００２３】
一例としての実施形態によれば、システム１００は、セグメンテーション・認識システム１２０とセグメンテーション・認識システム１２０からの結果を表示するように構成されたグラフィカルユーザインターフェース（ＧＵＩ）を有する表示部１３０も含んでいることが好ましい。一例としての実施形態によれば、セグメンテーション・認識システム１２０及び／又は表示部１３０は、記憶部、処理部、オペレーティングシステム、開示するようなアルゴリズムを実行するための１つ又は複数のソフトウェアアプリケーション及び表示部すなわちグラフィカルユーザインターフェース（ＧＵＩ）１３０を有するコンピュータ又は処理装置を含みうる。セグメンテーション・認識システム１２０及び／又はＧＵＩすなわち表示部１３０は、スタンドアロンのコンピュータの一部でありえて、あるいは１つ又は複数のコンピュータ又は処理装置内に含まれうる。
【００２４】
図２に、ＲＧＢ−Ｄカメラ１２０に向かった一例としてのユーザについてのスケルトン表示２００を示す。スケルトン２００は、人体の頭部、肩、手足を表す１５個のジョイントと１１本の線分からなる。図２に示すように、線分２１０は、ジョイント２２０により相互に接続され、一本の線分の動きは、他の線分により制限されている。さらに、部分すなわち線分２１０のいくつかは独立して動くことができ、他の線分は、例えば、頭部の動きのように比較的静止を保ちうる。
【００２５】
一例としての実施形態によれば、３Ｄ空間内の線分２１０の位置は、２つのジョイント２２０により決定することができる。例えば、３Ｄスケルトンフレームのために、１５の身体のジョイントデータを抽出することができ、それらを人体の動きをシミュレートするために用いることができる。
【００２６】
図３に、一例としての実施形態によるジェスチャー認識システム３００を示す。図３に示すように、ジェスチャー認識システム３００は、データ取得モジュール３１０、時間的セグメンテーションモジュール３２０及びジェスチャー認識モジュール３３０を含む。
【００２７】
一例としての実施形態によれば、データ取得モジュール３１０は、１又は複数のジェスチャーを行う被写体についてのデータ３１２の少なくとも１つの３次元（３Ｄ）ビデオストリームを撮像する。データの３Ｄビデオストリームは、例えば、ＲＧＢフレーム３１２及び奥行きフレーム３１４を撮像するように構成されたＲＧＢ−Ｄカメラ１２０から得ることができる。一例としての実施形態によれば、スケルトンデータ３１８の時系列を本明細書で開示するようなポーズ推定３１６に基づいて少なくとも１つの３Ｄビデオストリームから抽出する。スケルトンデータ３１８の時系列は、例えば、複数のスケルトンジョイント２２０を含みうる。
【００２８】
一例としての実施形態によれば、スケルトンデータ３１８の時系列は、時間的セグメンテーションモジュール３２０に入力される。時間的セグメンテーションモジュール３２０は、ＫＫＴＣモジュール３２４を有するＫＫＴＳモジュール３２２を含み、ＫＫＴＣモジュール３２４は、少なくとも２つの時間についてのカット（ｔｅｍｐｏｒａｌ  ｃｕｔ）３２６を生成するように構成されている。一例としての実施形態によれば、これらの少なくとも２つの時間についてのカット３２６は、スケルトンデータ３１８の時系列を区分する重複がない隣接したセグメントを規定する。続いて、時間についてのカット３２６は、ＫＫＴＳモジュール３２２のセグメント切断（Ｃｕｔｓ  ｔｏ  Ｓｅｇｍｅｎｔ（ＣｔＳ））モジュール３２８に入力することができ、時間についてのカット３２６の各々における加速度に基づいてジェスチャーを含むセグメントを特定する。例えば、もし、ある時間についてのカットにおいて加速度が正であるならば、その時間についてのカットと次の時間についてのカットの間のジェスチャーを含むセグメントで、例えば、ジェスチャーバウンダリ３４０が認識されうる。
【００２９】
一例としての実施形態によれば、ジェスチャー認識モジュール３３０には、スケルトンデータ３１８の時系列及びジェスチャーバウンダリ３４０が入力されうる。スケルトンデータ３１８の時系列及びジェスチャーバウンダリ３４０は、認識されるジェスチャー３３４の判定のために認識アルゴリズムすなわち分類システム３３２に入力することができる。
【００３０】
図４に、ジェスチャー分析のための時間的セグメンテーションの方法及びシステムの一例を示すフローチャート４００を示す。このシステムは、運動学的カーネル化時間切断（Ｋｉｎｅｍａｔｉｃ  Ｋｅｒｎｅｌｉｚｅｄ  Ｔｅｍｐｏｒａｌ  Ｃｕｔｓ（ＫＫＴＣ））モジュール３２４、選択的ハンズアップ（ｈａｎｄｓ−ｕｐ）判定機能モジュール３７０及びセグメント切断（Ｃｕｔｓ  ｔｏ  Ｓｅｇｍｅｔｎｓ（ＣｔＳ））モジュール３２８を含む。
【００３１】
一例としての実施形態によれば、ＫＫＴＳモジュール３２２に入力されるスケルトンジョイント２２０を、２つの方法すなわちアルゴリズムに分けて処理することができる。例えば、運動学的カーネル化時間切断（Ｋｉｎｅｍａｔｉｃ  Ｋｅｒｎｅｌｉｚｅｄ  Ｔｅｍｐｏｒａｌ  Ｃｕｔｓ（ＫＫＴＣ））モジュール３２４とセグメント切断（Ｃｕｔｓ  ｔｏ  Ｓｅｇｍｅｔｎｓ（ＣｔＳ））モジュール３２８である。一例としての実施形態によれば、ＫＫＴＣモジュール３２４には、カメラ１２０の前でジェスチャーを行うユーザ１０２のスケルトンデータ３１８の時系列が入力され、本明細書で開示する時間についてのカット３２６を出力する。時間についてのカット３２６は、スケルトンデータ３１８の時系列を区分し重複のない隣接するセグメントを規定する。一例としての実施形態によれば、セグメント切断（Ｃｕｔｓ  ｔｏ  Ｓｅｇｍｅｔｎｓ（ＣｔＳ））モジュール３２８は、時間についてのカットにより規定された全てのセグメントのうちでジェスチャー３４０を含むバウンダリを発見して出力する。
【００３２】
一例としての実施形態によれば、サイズＴのデータ３１８のスケルトン情報の時系列は、
【数１】
0006532525.tif 000002
として定義することができる。一例としての実施形態によれば、Ｘの各要素は、ＫＫＴＳモジュール３２４に入力されるＮ個の３次元スケルトンジョイント２２０のベクトルである。
【００３３】
一例としての実施形態によれば、ＫＫＴＳモジュール３２４は、同一の固定されたサイズの２つの連続したスライディングウィンドウ３５０、３６０を用いて、シークエンスをスキャンする。例えば、２つの連続したスライディングウィンドウを
【数２】
0006532525.tif 000003
【数３】
0006532525.tif 000004
を用いて定義することができる。これらは、それぞれ、スライディングウィンドウのサイズ、スライディングウィンドウを動かす際のステップ長（ｓｔｅｐ  ｌｅｎｇｔｈ）と称される２つのパラメータである。
【数４】
0006532525.tif 000005
及び
【数５】
0006532525.tif 000006
が成り立つような任意のｔについて、フレームｔにおける左のスライディングウィンドウ、右のスライディングウィンドウについて、それぞれ、
【数６】
0006532525.tif 000007
【数７】
0006532525.tif 000008
が成立しているものとする。
【００３４】
一例としての実施形態によれば、Ｘ内で最大平均差異（Ｍａｘｉｍｕｍ  Ｍｅａｎ  Ｄｉｓｃｒｅｐａｎｃｙ（ＭＭＤ））３５０の推定値を計算するために２つのスライディングウィンドウを用いることができる。例えば、ＭＭＤ３５０は、身体の全体運動を定量化するためにもちいることができ、以下のように定義することができる。
【数８】
0006532525.tif 000009
ここでｋは
【数９】
0006532525.tif 000010
として定義することができるバンド幅
【数１０】
0006532525.tif 000011
のガウス核である。この量又は結果は、時間についてのカット３２６の位置を大まかに見出すためにＫＫＴＣモジュール３２４で用いることができる。
【００３５】
一例としての実施形態によれば、ＫＫＴＳモジュール３２２は、ＭＭＤにおけるガウス核ｋで定義される以下のカーネル化運動学的量を用いることができる。
・時刻ｔにおける身体の大域的カーネル化速度
【数１１】
0006532525.tif 000012
計算された速度は、アルゴリズム内で直接用いられないが、次の２つの量を記述するのに用いられる。ＴＶ＝２がよい値でありうる。
・時刻ｔにおける身体の大域的カーネル化加速度
ａ（ｔ）＝ｖ（ｔ＋Ｔａ）−ｖ（ｔ−Ｔａ）
物理的には、これは、時間についての速度の変化率を指定している。Ｔａ＝１がよい値でありうる。一例としての実施形態によれば、これは、どのセグメントがジェスチャーを含んでいるか見出すためにＣｔＳモジュール３２８により用いることができる。
・時刻ｔにおける身体の大域的カーネル化ジャーク
ｊ（ｔ）＝ｖ（ｔ−Ｔｊ）−２ｖ（ｔ）＋ｖ（ｔ＋Ｔｊ）
物理的には、身体の大域的カーネル化ジャークは、時間に関する加速度の変化率を指定している。Ｔｊ＝４がよい値でありうる。一例としての実施形態によれば、加速度の変化率（すなわち、身体の大域的カーネル化ジャーク）を時間についてのカット３２６の比較的正確な位置を見出す又は特定するためにＫＫＴＣモジュール３２４において用いることができる。
【００３６】
一例としての実施形態によれば、選択的な「ハンズアップ（ｈａｎｄｓ−ｕｐ）」判定関数（又はモジュール）３７０を時間についてのカット３２６の特定を補助するために用いることもできる。これは、もし被写体又はユーザの手が下がっておらずに上がっていれば、ユーザは、ジェスチャーの最中であるという可能性が高くなるという仮定に基づいている。例えば、Ｄで表され、以下では「ハンズアップ」決定関数と称される以下の関数は、Ｘから取得した、時刻ｔにおける、Ｌｙで表される左手の垂直位置とＲｙで表される右手の垂直位置の和として定義することができる。ハンズアップ判定３７０は、以下のように表すことができる。
Ｄ（ｔ）＝Ｌｙ（ｔ）＋Ｒｙ（ｔ）
【００３７】
一例としての実施形態によれば、ハンズアップ判定を時間についてのカットの位置を大まかな位置から正確な位置へと位置を精緻化するためにＫＫＴＣモジュール３２４内で用いることができる。
【００３８】
一例としての実施形態によれば、ＫＫＴＣモジュール３２４とＣｔＳモジュール３２８の両方をビルドするのに上で導入された量は、さらに説明され一度組合される。これらの量により、ジェスチャーバウンダリ３４０を見出すことができる。
【００３９】
一例としての実施形態によれば、まず、時間についてのカットの大まかな位置を与えるスライディングウィンドウに沿ったＭＭＤの局所的な極大値が得られる。正しい陽判定（ｐｏｓｉｔｉｖｅ）のカット及び誤った陰判定（ｎｅｇａｔｉｖｅ）のカットの量は、ともに妥当でありうるが、カットの位置は、近似的である。実際に、例えば、カットの位置は、ジェスチャーの開始では遅すぎ、ジェスチャーの終わりでは早すぎるという傾向がありうる。それと並行して、ジャークの推定値の局所的な極大をカットの正確な位置（しかし、間違った陽判定を伴う）を求めるのに用いることができる。
【００４０】
一例としての実施形態によれば、ＭＭＤの極大値により与えられた各カットを、ジャークの局所的な極大値により与えられるカットに精緻化することができる。精緻化は、時間について進行する方向あるいは後退する方向に行われ、本明細書で開示される「ハンズアップ」判定関数の値を用いる。一例としての実施形態によれば、このステップでは、ユーザの手が下がっておらずに上がっているならば、ユーザはジェスチャーの最中である可能性が高いということが仮定されている。
【００４１】
一例としての実施形態によれば、プロセスの終わりには、時間についてのカットは、妥当かつ正確であり、時間についてのカットにはほとんど誤った陽判定がない。
【００４２】
一例としての実施形態によれば、ＫＫＴＣモジュール３２４により行われるアルゴリズム又はステップは、アルゴリズム１に示されている。
【表１】
0006532525.tif 000013
【００４３】
一度、隣接する重複のないセグメントがＫＫＴＣモジュール３２４により特定されると、ＣｔＳモジュール３２８が、加速度を用いてジェスチャーを含んだセグメントを特定するように構成されている。例えば、一例としての実施形態によれば、もしカット位置で加速度のカーネル化推定値が正値であるならば、このカットと次のカットの間のセグメントは、ジェスチャーを含んでいる。
【００４４】
ＣｔＳモジュール３２８のアルゴリズム又はステップは、アルゴリズム２に示されている。
【表２】
0006532525.tif 000014
【００４５】
図５に、一例としての実施形態によるセグメンテーションを示す。図５に示すように、上から下に向かって、同期化されたＲＧＢフレーム、スケルトンフレーム、検証用（手動による）セグメンテーション、ＫＫＴＳにより生成されたセグメンテーションが示されている。ジェスチャーを含むセグメントに属するフレームは、背景が斜めにハッチングされている。ジェスチャーを含まないセグメントに属するフレームは、背景が白である。表示された２つのフレームの間にギャップがあることは、そこでカットが生じたことを意味している。図は、２つの連続的なジェスチャーを示している。それらの間に休みがない（すなわち、動きがない状態がない）ためである。一例としての実施形態によれば、ＫＫＴＳは、それらを正しくセグメント化し、生成されたセグメンテーションは、検証用のセグメンテーションと整合している。
【００４６】
一例としての実施形態によれば、ジェスチャーを認識するためのコンピュータ読取可能なコードを含むコンピュータプログラムを記録した非一時的なコンピュータ読取可能な媒体であって、前記プログラムは、コンピュータにより実行可能であり、前記コンピュータに、被写体についての少なくとも１つのデータの３次元（３Ｄ）ビデオストリームを撮像するステップと、前記少なくとも１つのデータの３Ｄビデオストリームからスケルトンデータの時系列を抽出するステップと、内容が突然変化する複数の点を探索し、前記内容が突然変化する複数の点の各々を時間についてのカットとして特定するステップであって、複数の時間についてのカットが、前記スケルトンデータの時系列を区分する重複のない隣接するセグメントの組を規定するような特定するステップと、前記複数の時間についてのカットのうち、正の加速度を有する前記スケルトンデータの時系列の時間についてのカットを特定するステップと、前記正の加速度を有する前記１つ若しくは複数の連続するカットの対の各々をジェスチャーバウンダリとして分類するステップとを含むプロセスを実行させることを特徴とするコンピュータ読取可能記録媒体が開示される。
【００４７】
コンピュータで使用可能な媒体は、もちろん、磁気記録媒体、光磁気記録媒体、又は将来開発されるであろう任意の他の記録媒体であってよく、それら全ては、本発明に全く同様に適用可能であると考えられる。１次及び２次の複製製品その他を含むそのような媒体の複製は、上で述べた媒体と全く均等であると考えられる。さらに、本発明の実施形態がソフトウェアとハードウェアの組合せであったとしても、本発明の概念からは全く逸脱しない。本発明は、ソフトウェア部分が記録媒体にあらかじめ書込まれ、動作時に必要に応じて読込まれるように実行されてもよい。
【００４８】
当業者が、本発明の範囲又は概念から逸脱することなく、本発明の構造に様々な変更と変形を行うことができることは明らかであろう。上で述べたことを考慮すると、本発明の変更と変形が以下の請求項及びそれらの均等物の範囲に入る限り、本発明が、それらの変更と変形を含むことが意図されている。
【図１】
0006532525.tif 000015
【図２】
0006532525.tif 000016
【図３】
0006532525.tif 000017
【図４】
0006532525.tif 000018
【図５】
0006532525.tif 000019