(57)【要約】【課題】  モーションデータおよび映像データを用いた骨格モデル生成装置および方法を提供する。【解決手段】  骨格モデル生成装置は、映像データとモーションデータを同期化し、映像データから抽出したシルエットとモーションデータから抽出したユーザに対する関節の位置または方向を用いてユーザの全身に対する３Ｄ骨格モデルを生成する。【選択図】      図１
2010218556.tif 000002
【特許請求の範囲】
【請求項１】
ユーザに対して映像センサが収集した映像データとモーションセンサが収集したモーションデータとの同期化を実行するデータ同期化部と、
前記同期化された映像データから前記ユーザのシルエットを抽出するシルエット抽出部と、
前記同期化されたモーションデータから前記ユーザの関節に対する位置または方向を計算する関節情報計算部と、
前記シルエットと前記関節に対する位置または方向を用いて前記ユーザの全身に対する３Ｄ骨格モデルを生成する骨格モデル生成部と、
を含むことを特徴とする骨格モデル生成装置。
【請求項２】
前記データ同期化部は、
互いに異なる位置で収集された前記映像データおよび前記モーションデータを同一位置で相互参照できるようにデータの位置情報を同期化する空間同期化部と、
互いに異なる時間で収集された前記映像データおよび前記モーションデータを同一時間で相互参照できるように前記映像データと前記モーションデータとの時間情報を同期化する時間同期化部と、
を含むことを特徴とする請求項１に記載の骨格モデル生成装置。
【請求項３】
前記空間同期化部は、
前記映像データにおける前記モーションセンサの位置と前記モーションデータにおける前記モーションセンサの位置とを予め設定した基準位置に基づいて変換してデータの位置情報を同期化し、
前記時間同期化部は、
データ補間を用いて前記映像データと前記モーションデータとの時間情報を同期化することを特徴とする請求項２に記載の骨格モデル生成装置。
【請求項４】
前記映像センサは、
前記ユーザに対する深さ映像データを収集する深さ映像センサまたは前記ユーザに対するカラー映像データを収集するカラー映像センサを含み、
前記シルエット抽出部は、
前記映像センサが深さ映像センサである場合、前記深さ映像データからシルエットを抽出し、前記映像センサがカラー映像センサである場合、前記カラー映像データからシルエットを抽出することを特徴とする請求項１乃至３の何れか一項に記載の骨格モデル生成装置。
【請求項５】
前記骨格モデル生成部は、
前記シルエットに基づいて前記関節の位置または方向から前記ユーザの全身に対する３Ｄ骨格モデルを生成することを特徴とする請求項１乃至４の何れか一項に記載の骨格モデル生成装置。
【請求項６】
前記骨格モデル生成部は、
逆運動学を用いて前記モーションデータに含まれた関節の位置または方向から残りの関節のソリューションを計算し、前記ソリューションが複数である場合、前記シルエットの範囲に属する最適なソリューションを選択することを特徴とする請求項１乃至５の何れか一項に記載の骨格モデル生成装置。
【請求項７】
前記骨格モデル生成部は、
前記関節の位置または方向に基づいて前記シルエットから前記ユーザの全身に対する３Ｄ骨格モデルを生成することを特徴とする請求項１乃至６の何れか一項に記載の骨格モデル生成装置。
【請求項８】
前記骨格モデル生成部は、
前記シルエットから抽出した基準点と前記モーションデータに含まれた関節の位置または方向を用いて前記シルエットの範囲に属する残りの関節を決めることを特徴とする請求項１乃至７の何れか一項に記載の骨格モデル生成装置。
【請求項９】
前記骨格モデル生成部は、
前記シルエットから抽出した３Ｄ骨格モデルと前記関節の位置または方向から抽出した３Ｄ骨格モデルとのそれぞれの誤差範囲を用いて前記ユーザの全身に対する３Ｄ骨格モデルを生成することを特徴とする請求項１乃至８の何れか一項に記載の骨格モデル生成装置。
【請求項１０】
前記骨格モデル生成部は、
前記シルエットから抽出した３Ｄ骨格モデルと前記関節の位置または方向から抽出した３Ｄ骨格モデルとのそれぞれの誤差範囲を組み合わせて誤差が最小である位置を選択することを特徴とする請求項１乃至９の何れか一項に記載の骨格モデル生成装置。
【請求項１１】
ユーザに対して映像センサが収集した映像データとモーションセンサが収集したモーションデータとの同期化を実行するステップと、
前記同期化された映像データから前記ユーザのシルエットを抽出するステップと、
前記同期化されたモーションデータから前記ユーザの関節に対する位置または方向を計算するステップと、
前記シルエットと前記関節に対する位置または方向を用いて前記ユーザの全身に対する３Ｄ骨格モデルを生成するステップと、
を含むことを特徴とする骨格モデル生成方法。
【請求項１２】
前記同期化を実行するステップは、
互いに異なる位置で収集された前記映像データおよび前記モーションデータを同一位置で相互参照できるようにデータの位置情報を同期化するステップと、
互いに異なる時間で収集された前記映像データおよび前記モーションデータを同一時間で相互参照できるように前記映像データと前記モーションデータとの時間情報を同期化するステップと、
を含むことを特徴とする請求項１１に記載の骨格モデル生成方法。
【請求項１３】
前記位置情報を同期化するステップは、
前記映像データにおける前記モーションセンサの位置と前記モーションデータにおける前記モーションセンサの位置とを予め設定した基準位置に基づいて変換して位置情報を同期化し、
前記時間情報を同期化するステップは、
データ補間を用いて前記映像データと前記モーションデータとの時間情報を同期化することを特徴とする請求項１２に記載の骨格モデル生成方法。
【請求項１４】
前記３Ｄ骨格モデルを生成するステップは、
前記シルエットに基づいて前記関節の位置または方向から前記ユーザの全身に対する３Ｄ骨格モデルを生成することを特徴とする請求項１１乃至１３の何れか一項に記載の骨格モデル生成方法。
【請求項１５】
前記３Ｄ骨格モデルを生成するステップは、
逆運動学を用いて前記モーションデータに含まれた関節の位置または方向から残りの関節のソリューションを計算し、前記ソリューションが複数である場合、前記シルエットの範囲に属する最適なソリューションを選択することを特徴とする請求項１１乃至１４の何れか一項に記載の骨格モデル生成方法。
【請求項１６】
前記３Ｄ骨格モデルを生成するステップは、
前記関節の位置または方向に基づいて前記シルエットから前記ユーザの全身に対する３Ｄ骨格モデルを生成することを特徴とする請求項１１乃至１５の何れか一項に記載の骨格モデル生成方法。
【請求項１７】
前記３Ｄ骨格モデルを生成するステップは、
前記シルエットから抽出した基準点と前記モーションデータに含まれた関節の位置または方向を用いて前記シルエットの範囲に属する残りの関節を決めることを特徴とする請求項１１乃至１６の何れか一項に記載の骨格モデル生成方法。
【請求項１８】
前記３Ｄ骨格モデルを生成するステップは、
前記シルエットから抽出した３Ｄ骨格モデルと前記関節の位置または方向から抽出した３Ｄ骨格モデルとのそれぞれの誤差範囲を用いて前記ユーザの全身に対する３Ｄ骨格モデルを生成することを特徴とする請求項１１乃至１７の何れか一項に記載の骨格モデル生成方法。
【請求項１９】
前記３Ｄ骨格モデルを生成するステップは、
前記シルエットから抽出した３Ｄ骨格モデルと前記関節の位置または方向から抽出した３Ｄ骨格モデルとのそれぞれの誤差範囲を組み合わせて誤差が最小である位置を選択することを特徴とする請求項１乃至１８の何れか一項に記載の骨格モデル生成方法。
【請求項２０】
請求項１１〜１９のうちの何れか一項の方法を実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の一実施形態は、仮想現実でユーザをモデリングする技術に関し、映像センサとモーションセンサから収集したデータを用いてユーザの全身に対する３Ｄ骨格モデルを生成する骨格モデル生成装置、骨格モデル生成方法、およびプログラムを記録したコンピュータ読み取り可能な記録媒体に関する。
【背景技術】
【０００２】
最近、仮想現実を用いた多様な技術が登場している。特に、ユーザの動きをセンシングし、仮想現実でユーザの実際の動きを反映する技術が注目を受けている。ユーザの全身モーションの軌跡は、ゲームなどの仮想環境との相互作用（ｉｎｔｅｒａｃｔｉｏｎ）のための重要な手段である。
【０００３】
従来には、ユーザの動きをセンシングするための多様な方法が存在していた。例えば、ユーザの全身に複数のマーカー（ｍａｒｋｅｒ）を取り付けてセンシングすることによってユーザの動きをモデリングしたり、またはユーザを単純撮影してユーザの動きをモデリングするなどの方法が存在していた。
【０００４】
したがって、ユーザの全身に対してより効率的にモデリングする方法が求められている。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、マーカーを用いる方法によれば、マーカーの取り付け位置によりユーザの活動性が低下して動きを正確に測定することが困難であり、マーカーが隠れる場合には測定自体が不可能な場合も発生した。また、センサの数とは関係なく、特定のポーズを用いたキャリブレーションが必要であった。そして、ユーザを撮影する方法によれば、撮影装置の数が少ない場合には３次元位置の正確度が低下し、ユーザの身体が重なればモデリング自体が困難である状況も存在した。さらに、ユーザの関節に対する位置または方向の検出が不可能であった。
【０００６】
本発明は、上記の点に鑑みてなされたものであり、モーションセンサから収集したモーションデータと映像センサから収集した映像データを用いてユーザの全身に対する３Ｄ骨格モデルを生成することにより、３Ｄ骨格モデルの正確度を向上させることを目的とする。
【０００７】
また、本発明は、モーションセンサの数を最小化できるように映像センサで基準点を提供することを他の目的とする。
【０００８】
また、本発明は、関節の位置または方向とシルエットの基準点に基づいて逆運動学（ｉｎｖｅｒｓｅ  ｋｉｎｅｍａｔｉｃｓ）を適用して骨格モデルの複数のソリューションを求め、ソリューションのうちのシルエット情報から最適なソリューションを選択することにより、骨格モデルを生成する処理速度および正確度を向上させることを他の目的とする。
【０００９】
また、本発明は、シルエットにおける基準点と関節の位置または方向を用いることにより、正確な３Ｄ骨格モデルを生成することを他の目的とする。
【００１０】
さらに、本発明は、シルエットから決められた３Ｄ骨格モデルと関節の位置または方向から決められた３Ｄ骨格モデルとのそれぞれの誤差範囲を用いることにより、信頼度が高くて正確な３Ｄ骨格モデルを生成することをさらに他の目的とする。
【課題を解決するための手段】
【００１１】
本発明の一実施形態によれば、骨格モデル生成装置は、ユーザに対して映像センサが収集した映像データとモーションセンサが収集したモーションデータとの同期化を実行するデータ同期化部と、前記同期化された映像データから前記ユーザのシルエットを抽出するシルエット抽出部と、前記同期化されたモーションデータから前記ユーザの関節に対する位置および方向を計算する関節情報計算部と、前記シルエットと前記関節に対する位置および方向を用いて前記ユーザの全身に対する３Ｄ骨格モデルを生成する骨格モデル生成部とを含むことができる。
【００１２】
本発明の一側面によれば、前記骨格モデル生成部は、前記シルエットに基づいて前記関節の位置および方向から前記ユーザの全身に対する３Ｄ骨格モデルを生成することができる。
【００１３】
本発明の一側面によれば、前記骨格モデル生成部は、前記関節の位置および方向に基づいて前記シルエットから前記ユーザの全身に対する３Ｄ骨格モデルを生成することができる。
【００１４】
本発明の一側面によれば、前記骨格モデル生成部は、前記シルエットから抽出した３Ｄ骨格モデルと前記関節の位置および方向から抽出した３Ｄ骨格モデルとのそれぞれの誤差範囲を用いて前記ユーザの全身に対する３Ｄ骨格モデルを生成することができる。
【００１５】
本発明の一実施形態によれば、骨格モデル生成方法は、ユーザに対して映像センサが収集した映像データとモーションセンサが収集したモーションデータとの同期化を実行するステップと、前記同期化された映像データから前記ユーザのシルエットを抽出するステップと、前記同期化されたモーションデータから前記ユーザの関節に対する位置および方向を計算するステップと、前記シルエットと前記関節に対する位置および方向を用いて前記ユーザの全身に対する３Ｄ骨格モデルを生成するステップとを含むことができる。
【発明の効果】
【００１６】
本発明の一実施形態によれば、モーションセンサから収集したモーションデータと映像センサから収集した映像データを用いてユーザ全身に対する３Ｄ骨格モデルを生成することにより、３Ｄ骨格モデルの正確度を向上させることができる。
【００１７】
本発明の一実施形態によれば、モーションセンサの数を最小化できるように映像センサで基準点を提供することができる。
【００１８】
本発明の一実施形態によれば、関節の位置または方向とシルエットの基準点に基づいて逆運動学を適用して骨格モデルの複数のソリューションを求め、ソリューションのうちのシルエット情報から最適なソリューションを選択することにより、骨格モデルを生成する処理速度および正確度を向上させることができる。
【００１９】
本発明の一実施形態によれば、シルエットにおける基準点と関節の位置または方向を用いることにより、正確な３Ｄ骨格モデルを生成することができる。
【００２０】
本発明の一実施形態によれば、シルエットから決められた３Ｄ骨格モデルと関節の位置または方向から決められた３Ｄ骨格モデルとのそれぞれの誤差範囲を用いることにより、信頼度が高くて正確な３Ｄ骨格モデルを生成することができる。
【図面の簡単な説明】
【００２１】
【図１】本発明の一実施形態に係る骨格モデル生成装置の全体構成を示すブロック図である。
【図２】本発明の一実施形態によって映像センサとモーションセンサを用いてユーザの全身に対する３Ｄ骨格モデルを生成する全体過程を示す図である。
【図３】本発明の一実施形態によってユーザに対して映像データとモーションデータを収集する一例を示す図である。
【図４】本発明の一実施形態によって映像データとモーションデータの間に空間同期化を実行する過程を説明するための図である。
【図５】本発明の一実施形態によって映像データとモーションデータの間に時間同期化を実行する過程を説明するための図である。
【図６】本発明の一実施形態によってモーションデータに基づき、映像データを用いて３Ｄ骨格モデルを生成する過程を説明するための図である。
【図７】本発明の一実施形態によって映像データに基づき、モーションデータを用いて３Ｄ骨格モデルを生成する過程を説明するための図である。
【図８】本発明の一実施形態によって誤差範囲を用いて３Ｄ骨格モデルを生成する過程を説明するための図である。
【図９】本発明の一実施形態に係る骨格生成方法の全体過程を示すフローチャートである。
【発明を実施するための形態】
【００２２】
以下、添付の図面に基づき、本発明の好適な実施の形態を詳細に説明するが、本発明がこれらの実施形態によって制限または限定されることはない。図中、同じ参照符号は同じ部材を示す。
【００２３】
図１は、本発明の一実施形態に係る骨格モデル生成装置の全体構成を示すブロック図である。図１を参照すれば、骨格モデル生成装置１００は、データ同期化部１０１と、シルエット抽出部１０２と、関節情報計算部１０３と、骨格モデル生成部１０４とを含むことができる。
【００２４】
骨格モデル生成装置１００は、ユーザに対する映像データとモーションデータを用いてユーザの全身に対する３Ｄ骨格モデルを生成し、この後、生成された３Ｄ骨格モデルを通じてユーザの全身をセンシングすることによってユーザの動作軌跡を追跡することができる。
【００２５】
データ同期化部１０１は、ユーザに対して映像センサが収集した映像データとモーションセンサが収集したモーションデータの間に同期化を実行することができる。データ同期化により、骨格モデル生成装置１００は、３Ｄ骨格モデルの生成時に映像データとモーションデータを相互参照することができる。
【００２６】
一例として、映像センサは、ユーザを撮影して映像データを収集することができる装置（例えば、カメラ、カムコーダなど）を意味することができる。このとき、映像センサは、ユーザに対する深さ映像データ（３Ｄ）を収集する深さ映像センサまたはユーザに対するカラー映像データ（２Ｄ）を収集するカラー映像センサを含むことができる。本発明の一実施形態によれば、モーションセンサは、ユーザを構成する複数の関節のうちの一部の関節に備えることができる。
【００２７】
図１を参照すれば、データ同期化部１０１は、空間同期化部１０５および時間同期化部１０６を含むことができる。
【００２８】
空間同期化部１０５は、互いに異なる位置で収集された映像データおよびモーションデータを同一位置で相互参照できるようにデータの位置情報を同期化することができる。一例として、空間同期化部１０５は、映像データにおけるモーションセンサの位置とモーションデータにおけるモーションセンサの位置を予め設定した基準位置に基づいて変換して位置情報を同期化することができる。このとき、基準位置は、ワールド座標系（Ｗｏｒｌｄ  Ｃｏｏｒｄｉｎａｔｅ）上の原点とすることができる。すなわち、空間同期化部１０５は、モーションセンサの局所座標（Ｌｏｃａｌ  Ｃｏｏｒｄｉｎａｔｅ）をワールド座標系に転換し、映像センサの局所座標をワールド座標系に転換することにより、モーションセンサが収集したモーションデータと映像センサが収集した映像データを相互参照できるようにする。
【００２９】
時間同期化部１０６は、互いに異なる時間で収集された映像データおよびモーションデータを同一時間で相互参照できるように映像データとモーションデータの時間情報を同期化することができる。一例として、時間同期化部１０６は、データ補間を用いて映像データとモーションデータの時間情報を同期化することができる。すなわち、時間同期化部１０６は、モーションセンサと映像センサの間のデータ取得時点の差を調整することができる。
【００３０】
シルエット抽出部１０２は、同期化された映像データからユーザのシルエットを抽出することができる。
【００３１】
関節情報計算部１０３は、同期化されたモーションデータからユーザの関節に対する位置または方向を計算することができる。
【００３２】
骨格モデル生成部１０４は、上述したシルエットと関節に対する位置または方向とを用いてユーザの全身に対する３Ｄ骨格モデルを生成することができる。
【００３３】
本発明の一実施形態によれば、骨格モデル生成部１０４は、シルエットに基づいて関節の位置または方向からユーザの全身に対する３Ｄ骨格モデルを生成することができる。このとき、骨格モデル生成部１０４は、逆運動学を用いてモーションデータに含まれた関節の位置または方向から残りの関節のソリューションを計算し、ソリューションが複数である場合、シルエットの範囲に属する最適なソリューションを選択することができる。
【００３４】
本発明の他の一実施形態によれば、骨格モデル生成部１０４は、関節の位置または方向に基づいてシルエットからユーザの全身に対する３Ｄ骨格モデルを生成することができる。このとき、骨格モデル生成部１０４は、シルエットから抽出した基準点とモーションデータに含まれた関節の位置または方向を用いてシルエットの範囲に属する残りの関節を決めることができる。
【００３５】
本発明のさらに他の一実施形態によれば、骨格モデル生成部１０４は、シルエットから抽出した３Ｄ骨格モデルと関節の位置または方向から抽出した３Ｄ骨格モデルとのそれぞれの誤差範囲を用いてユーザの全身に対する３Ｄ骨格モデルを生成することができる。このとき、骨格モデル生成部１０４は、シルエットから抽出した３Ｄ骨格モデルと関節の位置または方向から抽出した３Ｄ骨格モデルとのそれぞれの誤差範囲を組み合わせて誤差が最小である位置を選択することができる。
【００３６】
図２は、本発明の一実施形態によって映像センサとモーションセンサを用いてユーザの全身に対する３Ｄ骨格モデルを生成する全体過程を示す図である。
【００３７】
図２の（Ａ）を参照すれば、少なくとも１つの映像センサがユーザに対する映像データを収集することができる。換言すれば、映像センサがユーザを撮影してユーザに対する映像を取得することができる。一例として、映像センサは、深さ映像センサまたはカラー映像センサとすることができる。このとき、映像センサは、一定の間隔で配置されて多視点映像データを取得することができる。
【００３８】
図２の（Ｂ）を参照すれば、少なくとも１つのモーションセンサがユーザに対するモーションデータを収集することができる。本発明の一実施形態によれば、モーションセンサは、ユーザに取り付けることができる。このとき、モーションセンサは、ユーザの関節に取り付けることができる。ただし、すべての関節に取り付ける場合には、ユーザの全身のセンシングに処理時間が長く要されるようになるため、モーションセンサは一部の関節に取り付けるようにしてもよい。
【００３９】
図２の（Ｃ）を参照すれば、映像センサが収集した映像データとモーションセンサが収集したモーションデータの間に、互いに参照できるように、骨格モデル生成装置１００は、映像データとモーションデータに対して空間（ｓｐａｔｉａｌ）同期化および時間（ｔｅｍｐｏｒａｌ）同期化を実行することができる。空間同期化は図４においてより具体的に説明し、時間同期化は図５においてより具体的に説明する。
【００４０】
図２の（Ｄ）を参照すれば、骨格モデル生成装置１００は、映像データからユーザの輪郭を示すシルエットを抽出することができる。もし、映像センサが多視点映像データを取得した場合、各視点ごとにシルエットが抽出されることもできる。
【００４１】
図２の（Ｅ）を参照すれば、骨格モデル生成装置１００は、モーションデータからユーザの関節の位置または方向を計算することができる。このとき、骨格モデル生成装置１００は、モーションセンサが取り付けられた関節の位置または方向を計算することができる。
【００４２】
図２の（Ｆ）を参照すれば、骨格モデル生成装置１００は、抽出されたシルエットと関節に対する位置または方向を用いてユーザの全身に対する３Ｄ骨格モデルを生成することができる。このとき、骨格モデル生成装置１００は、図２の（Ｅ）で計算されなかった残りの関節の情報（位置または方向）を決めることにより、ユーザの全身に対する関節を含む３Ｄ骨格モデルを生成することができる。
【００４３】
図２の（Ｇ）を参照すれば、骨格モデル生成装置１００は、生成された３Ｄ骨格モデルを用いて、毎時間３Ｄ骨格モデルの全身モーションに対する軌跡を出力することができる。すなわち、骨格モデル生成装置１００は、リアルタイムで動作するユーザの全身の動きを仮想の３Ｄ骨格モデルに適用することができる。
【００４４】
図３は、本発明の一実施形態によってユーザに対して映像データとモーションデータを収集する一例を示す図である。
【００４５】
図３を参照すれば、映像データを収集する映像センサ３０１−１〜３０１−３がユーザ３００の全身を撮影するために配置されていることが分かる。そして、モーションデータを収集するモーションセンサ３０２がユーザ３００の特定部位３０３−１〜３０３−５に取り付けられていることが分かる。
【００４６】
このとき、映像センサ３０１−１〜３０１−３は、ユーザ３００に対するカラー映像データを収集するカラー映像センサであってもよいし、ユーザ３００に対する深さ映像データを収集する深さ映像センサであってもよい。映像センサは、少なくとも１つとすることができる。
【００４７】
一例として、モーションセンサ３０２は、ユーザ３００の頭部分３０３−１、手部分３０３−２および３０３−３、足部分３０３−４および３０３−５など、ユーザ３００全身の端（ｅｄｇｅ）に取り付けることができる。なお、上述した部分は一例に過ぎず、モーションセンサ３０２は、ユーザ３００の多様な身体部位に取り付けることができる。
【００４８】
図４は、本発明の一実施形態によって映像データとモーションデータの間に空間同期化を実行する過程を説明するための図である。
【００４９】
骨格モデル生成装置１００は、ユーザに対して映像センサが収集した映像データとモーションセンサが収集したモーションデータの間に同期化を実行することができる。一例として、骨格モデル生成装置１００は、互いに異なる位置で収集された映像データおよびモーションデータを同一位置で相互参照できるようにデータの位置情報を同期化することができる。このとき、骨格モデル生成装置１００は、映像データにおけるモーションセンサの位置とモーションデータにおけるモーションセンサの位置を予め設定した基準位置に基づいて変換してデータの位置情報を同期化することができる。
【００５０】
図４を参照すれば、映像センサ４０１は、ユーザ４０４の全身を撮影することができる。このとき、映像センサ４０１が収集した映像データは、モーションセンサ４０２の位置情報を含むことができる。図４に示すように、映像データにおけるモーションセンサ４０２の位置は、（５，−１２，３）であることが分かる。そして、モーションセンサ４０２が収集したモーションデータは、モーションセンサ４０２の位置情報を含むことができる。図４に示すように、モーションデータにおけるモーションセンサ４０２の位置は、（６，０，−１０）である。すなわち、同じ位置に対して映像データとモーションデータは異なる位置値を示すことを確認することができる。
【００５１】
本発明の一実施形態によれば、ユーザの全身に対する３Ｄ骨格モデルを生成するために、骨格モデル生成装置１００は、映像データとモーションデータを相互参照できるように、同じ基準点を中心として座標変換を実行することができる。映像データは映像センサの局所座標で構成され、モーションデータはモーションセンサの局所座標で構成されることができる。結局、骨格モデル生成装置１００は、映像センサ４０１およびモーションセンサ４０２のそれぞれの局所座標で構成されたデータをワールド座標系で一致させることができる。このとき、ワールド座標系は、基準点（０，０，０）４０３を中心とした座標係を意味することができる。
【００５２】
図４を参照すれば、モーションセンサの位置に対する映像データ（５，−１２，３）は、基準点４０３に対して（３，４，５）に変換し、モーションセンサの位置に対するモーションデータ（６，０，−１０）は、基準点４０３に対して（３，４，５）に変換することができる。このような変換関係は継続して、入力された映像データおよびモーションデータに同じように適用されることができる。
【００５３】
図５は、本発明の一実施形態によって映像データとモーションデータの間に時間同期化を実行する過程を説明するための図である。
【００５４】
図５を参照すれば、時間によるモーションデータの収集時点と時間による映像データの収集時点が示されている。モーションセンサと映像センサがデータを収集する比率に差を有するために収集時点が異なることが分かる。骨格モデル生成装置１００は、３Ｄ骨格モデルを生成するために映像データとモーションデータを相互参照することができる。
【００５５】
モーションデータ５０１から３Ｄ骨格モデルを生成するときに映像データを参考する場合、骨格モデル生成装置１００は、例えば０．１秒と０．２秒のそれぞれで収集した映像データを用いてモーションデータ５０１の収集時点に対応する映像データ５０２を生成することができる。これにより、骨格モデル生成装置１００は、生成された映像データ５０２に基づいてユーザの全身に対する骨格モデルを生成することができる。
【００５６】
反対に、映像データ５０３から３Ｄ骨格モデルを生成するときにモーションデータを参考する場合、骨格モデル生成装置１００は、例えば０．１８秒と０．２１秒のそれぞれで収集したモーションデータを用いて映像データ５０３の収集時点に対応するモーションデータ５０４を生成することができる。これにより、骨格モデル生成装置１００は、生成されたモーションデータ５０４に基づいてユーザの全身に対する骨格モデルを生成することができる。
【００５７】
一例として、骨格モデル生成装置１００は、データ補間を用いて映像データとモーションデータの時間情報を同期化することができる。図５を参照すれば、骨格モデル生成装置１００は、０．１秒と０．２秒のそれぞれで収集した映像データを補間してモーションデータ５０１の収集時点に対応する映像データ５０２を生成することができる。また、骨格モデル生成装置１００は、０．１８秒と０．２１秒のそれぞれで収集したモーションデータを補間して映像データ５０３の収集時点に対応するモーションデータ５０４を生成することができる。
【００５８】
図６〜８は、モーションデータと映像データを用いて３Ｄ骨格モデルを生成する過程を示している。
【００５９】
図６は、本発明の一実施形態によってモーションデータに基づき、映像データを用いて３Ｄ骨格モデルを生成する過程を説明するための図である。すなわち、図６は、モーションデータを中心として３Ｄ骨格モデルを生成するときに映像データを参考する過程を説明している。
【００６０】
一例として、骨格モデル生成装置１００は、シルエットに基づいて関節の位置または方向からユーザの全身に対する３Ｄ骨格モデルを生成することができる。このとき、骨格モデル生成装置１００は、逆運動学を用いてモーションデータに含まれた関節の位置または方向から残りの関節のソリューションを計算することができる。このとき、ソリューションが複数である場合、骨格モデル生成装置１００は、シルエットの範囲に属する最適なソリューションを選択することができる。
【００６１】
図６の（Ａ）を参照すれば、モーションセンサの位置に対応する関節６０２が示されている。ここで、モーションデータは、関節６０２に対して６軸情報（位置、方向）または３軸情報（方向または位置）を含むことができる。このとき、骨格モデル生成装置１００が特定位置を基準点６０１として設定して逆運動学（Ｉｎｖｅｒｓｅ  Ｋｉｎｅｍａｔｉｃｓ）を適用すれば、残りの関節に対する複数のソリューション６０３−１〜６０３−３が発生することが分かる。
【００６２】
図６の（Ｂ）を参照すれば、モーションセンサの位置に対応する関節６０２が示されている。このとき、骨格モデル生成装置１００は、映像データから抽出したシルエットを用いて基準点６０４を抽出することができる。基準点６０４を中心として関節６０２の位置または方向から逆運動学を適用すれば、残りの関節に対する複数のソリューションが発生することができる。一例として、骨格モデル生成装置１００は、複数のソリューションのうちでシルエットの範囲に属するソリューション６０３−３に対応する関節の位置または方向を計算することができる。
【００６３】
もし、１つの映像センサで収集したシルエットを用いる場合、骨格モデル生成装置１００は、モーションセンサの位置（関節６０２の位置）とソリューション６０３−３の間に２次元距離を計算することができる。また、複数の映像センサで収集したシルエットを用いる場合、骨格モデル生成装置１００は、モーションセンサの位置（関節６０２の位置）とソリューション６０３−３の間に３次元距離を計算することができる。
【００６４】
本発明の一実施形態によれば、骨格モデル生成装置１００は、複数のソリューションのうちでシルエットに範囲に属するソリューションを通じて３Ｄ骨格モデルを生成することにより、誤差が小さい最適なソリューションによってモデルの正確度を向上することができる。
【００６５】
図７は、本発明の一実施形態によって映像データに基づき、モーションデータを用いて３Ｄ骨格モデルを生成する過程を説明するための図である。すなわち、図７は、モーションデータを中心として３Ｄ骨格モデルを生成するときに映像データを参考する過程を説明している。
【００６６】
一例として、骨格モデル生成装置１００は、関節の位置または方向に基づいてシルエットからユーザの全身に対する３Ｄ骨格モデルを生成することができる。このとき、骨格モデル生成装置１００は、シルエットから抽出した基準点とモーションデータに含まれた関節の位置および方向を用いてシルエットの範囲に属する残りの関節を決めることができる。
【００６７】
図７の（Ａ）を参照すれば、骨格モデル生成装置１００は、映像データから抽出したシルエットから基準点７０１を抽出することができる。そして、モーションデータに含まれた関節７０２の位置または方向を用いて３Ｄ骨格モデルを初期化することができる。すなわち、関節７０２によって基準点７０１と関節７０２が連結することにより、３Ｄ骨格モデルを初期化することができる。
【００６８】
図７の（Ｂ）を参照すれば、骨格モデル生成装置１００は、基準点７０１と関節７０２の位置を設定した後、残りの関節７０３で整合誤差を最小化する３Ｄ骨格モデルを生成することができる。図７の（Ａ）において、残りの関節７０３は、図７の（Ｂ）においてシルエットの範囲に属する残りの関節７０３の位置で整合誤差を最小とすることができる。
【００６９】
本発明の一実施形態によれば、骨格モデル生成装置１００は、モーションデータに含まれた関節７０２の位置または方向を用いることにより、基準点７０１で生成可能なすべての位置または方向で残りの関節７０３を先に決め、残りの関節７０３から再生成が可能なすべての位置または方向で関節７０２を決めるという複雑な過程が簡素化され、処理速度を向上することができる。さらに、骨格モデル生成装置１００は、映像データとモーションデータを相互利用することにより、関節のドリフティング（Ｄｒｉｆｔｉｎｇ）を防ぎ、３Ｄ骨格モデルの正確度を向上することができる。
【００７０】
図８は、本発明の一実施形態によって誤差範囲を用いて３Ｄ骨格モデルを生成する過程を説明するための図である。
【００７１】
一例として、骨格モデル生成装置１００は、シルエットから抽出した３Ｄ骨格モデルと関節の位置または方向から抽出した３Ｄ骨格モデルとのそれぞれの誤差範囲を用いてユーザの全身に対する３Ｄ骨格モデルを生成することができる。このとき、骨格モデル生成装置１００は、シルエットから抽出した３Ｄ骨格モデルと関節の位置または方向から抽出した３Ｄ骨格モデルとのそれぞれの誤差範囲を組み合わせて誤差が最小である位置を選択することができる。
【００７２】
図８の（Ａ）は、関節の位置または方向から抽出した３Ｄ骨格モデルのそれぞれの誤差範囲を示す。そして、図８の（Ｂ）は、シルエットから抽出した３Ｄ骨格モデルのそれぞれの誤差範囲を示す。このとき、誤差範囲は、ユーザの関節が実際に示される確率を意味することができる。一例として、誤差範囲は、ユーザの関節が実際に示される確率に対するガウス関数の分布を示すことができる。
【００７３】
図８の（Ａ）は、モーションデータに含まれた関節の位置または方向から抽出した３Ｄ骨格モデルにおいて、関節８０１の誤差範囲８０９および関節８０２の誤差範囲８０８を示している。このとき、誤差範囲８０８および誤差範囲８０９は、モーションセンサの追跡品質に応じて変化することがある。図８の（Ａ）において、関節８０１の位置がユーザの関節が実際に示される確率が高いということを意味し、関節８０２の位置がユーザの関節が実際に示される確率が高いということを意味することができる。
【００７４】
図８の（Ｂ）は、映像データから抽出したシルエット８１２を用いて生成された３Ｄ骨格モデルにおいて、関節８０３の誤差範囲８１０および関節８０４の誤差範囲８１１を示している。このとき、誤差範囲８１０および誤差範囲８１１は、関節の誤差範囲およびオクルージョン（ｏｃｃｌｕｓｉｏｎ）時の推定値の誤差範囲を含むことができる。関節８０３および関節８０２、関節８０１および関節８０４はそれぞれ、ユーザの全身において類似した位置に存在することができる。
【００７５】
図８の（Ｃ）は、誤差範囲８１０および誤差範囲８０８を組み合わせ、誤差範囲８０９および誤差範囲８１１を組み合わせた結果を示している。図８の（Ｃ）において、誤差範囲８１０および誤差範囲８０８を組み合わせたとき、誤差が最小となる関節８０７が選択され、誤差範囲８０９および誤差範囲８１１を組み合わせたとき、誤差が最小となる関節８０６が選択されたことが分かる。すなわち、信頼度が高い関節８０７および関節８０６の位置を最終的な３Ｄ骨格モデルの関節として決めることができる。
【００７６】
本発明の一実施形態によれば、映像データとモーションデータとのそれぞれから生成された３Ｄ骨格モデルの誤差範囲を融合して信頼度が高い情報を選択することにより、ユーザの全身に対する３Ｄ骨格モデルの正確度を向上することができる。
【００７７】
図２の（Ｇ）において既に詳察したように、図６〜８のそれぞれで説明されたユーザの全身に対する３Ｄ骨格モデルは、毎時間ごとにユーザの全身に対する軌跡を出力するために用いることができる。
【００７８】
図９は、本発明の一実施形態に係る骨格生成方法の全体過程を示すフローチャートである。
【００７９】
ステップＳ９０１において、映像センサは映像データを収集し、モーションセンサはモーションデータを収集することができる。この後、収集された映像データとモーションデータは、骨格モデル生成装置１００に入力される。
【００８０】
ステップＳ９０２において、骨格モデル生成装置１００は、映像センサが収集した映像データとモーションセンサが収集したモーションデータとを収集し、収集された２つのデータの同期化を実行することができる。このとき、骨格モデル生成装置１００は、互いに異なる位置で収集された映像データおよびモーションデータを同一位置で相互参照できるようにデータの位置情報を同期化（空間同期化）することができる。また、骨格モデル生成装置１００は、互いに異なる時間で収集された映像データおよびモーションデータを同一時間で相互参照できるように映像データとモーションデータの時間情報を同期化（時間同期化）することができる。
【００８１】
例えば、骨格モデル生成装置１００は、映像データにおけるモーションセンサの位置とモーションデータにおけるモーションセンサの位置を予め設定した基準位置に基づいて変換して位置情報を同期化することができる。そして、骨格モデル生成装置１００は、データ補間を用いて映像データとモーションデータの時間情報を同期化することができる。
【００８２】
ステップＳ９０３において、骨格モデル生成装置１００は、同期化された映像データからユーザのシルエットを抽出することができる。なお、映像データの数に応じて抽出されたシルエットの数が異なることもある。
【００８３】
ステップＳ９０４において、骨格モデル生成装置１００は、同期化されたモーションデータからユーザの関節に対する位置または方向を計算することができる。このとき、モーションセンサは、ユーザの全身に含まれた一部の関節に対して取り付けることができるため、ユーザの関節に対する位置または方向も一部の関節に対して計算することができる。残りの関節は、３Ｄ骨格モデルを生成するときに計算することができる。
【００８４】
ステップＳ９０５において、骨格モデル生成装置１００は、シルエットと関節に対する位置または方向を用いてユーザ全身に対する３Ｄ骨格モデルを生成することができる。
【００８５】
本発明の一実施形態によれば、骨格モデル生成装置１００は、シルエットに基づいて関節の位置または方向からユーザの全身に対する３Ｄ骨格モデルを生成することができる。このとき、骨格モデル生成装置１００は、逆運動学を用いてモーションデータに含まれた関節の位置または方向から残りの関節のソリューションを計算することができる。このとき、ソリューションが複数である場合、骨格モデル生成装置１００は、シルエットの範囲に属する最適なソリューションを選択することができる。
【００８６】
本発明の他の実施形態によれば、骨格モデル生成装置１００は、関節の位置または方向に基づいてシルエットからユーザの全身に対する３Ｄ骨格モデルを生成することができる。このとき、骨格モデル生成装置１００は、シルエットから抽出した基準点とモーションデータに含まれた関節の位置および方向を用いてシルエットの範囲に属する残りの関節を決めることができる。
【００８７】
本発明のさらに他の実施形態によれば、骨格モデル生成装置１００は、シルエットから抽出した３Ｄ骨格モデルと関節の位置または方向から抽出した３Ｄ骨格モデルとのそれぞれの誤差範囲を用いてユーザの全身に対する３Ｄ骨格モデルを生成することができる。このとき、骨格モデル生成装置１００は、シルエットから抽出した３Ｄ骨格モデルと関節の位置または方向から抽出した３Ｄ骨格モデルとのそれぞれの誤差範囲を組み合わせて誤差が最小である位置を選択することができる。
【００８８】
なお、ステップＳ９０１〜Ｓ９０５によってユーザの全身に対する３Ｄ骨格モデルが生成されれば、骨格モデル生成装置１００は、ステップＳ９０６において、毎時間３Ｄ骨格モデルの軌跡を取得することができる。
【００８９】
図９で説明されなかった部分は、図１〜８の説明を参照することができる。
【００９０】
なお、本発明の一実施形態に係る骨格生成方法は、コンピュータにより実現される多様な動作を実行するためのプログラム命令を含むコンピュータ読取可能な記録媒体を含む。当該記録媒体は、プログラム命令、データファイル、データ構造などを単独または組み合わせて含むこともでき、記録媒体およびプログラム命令は、本発明の目的のために特別に設計されて構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知であり使用可能なものであってもよい。コンピュータ読取可能な記録媒体の例としては、ハードディスク、フロッピー（登録商標）ディスク及び磁気テープのような磁気媒体、ＣＤ−ＲＯＭ、ＤＶＤのような光記録媒体、フロプティカルディスクのような磁気−光媒体、およびＲＯＭ、ＲＡＭ、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置が含まれる。また、記録媒体は、プログラム命令、データ構造などを保存する信号を送信する搬送波を含む光または金属線、導波管などの送信媒体でもある。プログラム命令の例としては、コンパイラによって生成されるような機械語コードだけでなく、インタプリタなどを用いてコンピュータによって実行され得る高級言語コードを含む。
【００９１】
上述したように、本発明の好ましい実施形態を参照して説明したが、該当の技術分野において熟練した当業者にとっては、特許請求の範囲に記載された本発明の思想および領域から逸脱しない範囲内で、本発明を多様に修正および変更させることができることを理解することができるであろう。すなわち、本発明の技術的範囲は、特許請求の範囲に基づいて定められ、発明を実施するための最良の形態により制限されるものではない。
【符号の説明】
【００９２】
１００：骨格モデル生成装置
１０１：データ同期化部
１０２：シルエット抽出部
１０３：関節情報計算部
１０４：骨格モデル生成部
１０５：空間同期化部
１０６：時間同期化部
３００，４０４：ユーザ
３０１，４０１：映像センサ
３０２，４０２：モーションセンサ
３０３：特定部位
４０３，６０１，６０４，７０１：基準点
５０１，５０４：モーションデータ
５０２，５０３：映像データ
６０２，７０２，７０３，８０１，８０２，８０３，８０４，８０６，８０７：関節
６０３：ソリューション
８０８，８０９，８１０，８１１：誤差範囲
８１２：シルエット
【図１】
2010218556.tif 000003
【図２】
2010218556.tif 000004
【図３】
2010218556.tif 000005
【図４】
2010218556.tif 000006
【図５】
2010218556.tif 000007
【図６】
2010218556.tif 000008
【図７】
2010218556.tif 000009
【図８】
2010218556.tif 000010
【図９】
2010218556.tif 000011