(57)【要約】光学式モーションキャプチャシステムにおいて、高精度カメラと高速度カメラの２種類のカメラを用い、高精度かつ高速度のデータを得る。フレームレート及び解像度において異なるカメラから構成される異種カメラ群によってマーカが付された被験体を撮影して画像を取得するステップと、画像からマーカの二次元位置情報を検出するマーカ検出ステップと、検出されたマーカの二次元位置情報を用いて、マーカの三次元位置情報を取得する三次元再構成ステップと、各カメラ群で取得されたマーカの三次元位置情報を統合する統合ステップとを有する。統合ステップは、マーカの三次元位置情報を時系列に探索して、同一と判定されるマーカの三次元位置情報に同一のＩＤを付与するトラッキングステップと、各カメラ群で取得された同一のＩＤが付与されたマーカの三次元位置情報を補間するステップとを有する。【特許請求の範囲】
【請求項１】
各カメラによって取得された画像からマーカの二次元位置情報を検出するマーカ検出ステップと、
各カメラによって検出されたマーカの二次元位置情報を用いて、マーカの三次元位置情報を取得する三次元再構成ステップと、
マーカの三次元位置情報を時系列に探索して、同一と判定されるマーカの三次元位置情報に同一のＩＤを付与するトラッキングステップとを有し、
前記マーカ検出ステップおよび／あるいは前記三次元再構成ステップは、ＩＤを備えた参照マーカ位置と、検出されたマーカの二次元位置情報あるいは／および三次元位置情報との同一性を判定し、参照マーカ位置と同一と判定された二次元位置情報あるいは／および三次元位置情報に参照マーカ位置と同一のＩＤを付与するステップを含むことを特徴とする光学式モーションキャプチャシステムにおけるマーカトラッキング方法。
【請求項２】
前記マーカ検出ステップは、ＩＤが付された参照マーカ位置の二次元座標値と検出されたマーカの二次元位置情報との同一性を判定することでＩＤを付与することを特徴とする請求項１に記載のマーカトラッキング方法。
【請求項３】
前記三次元再構成ステップは、同一のＩＤが付与された二次元位置情報に基づいてマーカの三次元位置情報を取得することを特徴とする請求項２に記載のマーカトラッキング方法。
【請求項４】
前記三次元再構成ステップは、ＩＤが付された参照マーカ位置と再構成されたマーカの三次元位置情報との同一性を判定することでＩＤを付与することを特徴とする請求項１乃至３に記載のマーカトラッキング方法。
【請求項５】
マーカが同一か否の判定は検出マーカの位置情報あるいは三次元再構成されたマーカの位置情報と、参照マーカ位置との間の距離によって行うことを特徴とする請求項１乃至４いずれかに記載のマーカトラッキング方法。
【請求項６】
前記参照マーカ位置は、前記トラッキングステップで得られたＩＤ付き計測マーカ位置に基づいて計算された同じＩＤを備えたマーカ予測位置であることを特徴とする請求項１乃至５いずれかに記載のマーカトラッキング方法。
【請求項７】
前記参照マーカ位置は、前記トラッキングステップで得られた最新のＩＤ付き計測マーカ位置であることを特徴とする請求項１乃至５いずれかに記載のマーカトラッキング方法。
【請求項８】
前記三次元再構成ステップは、
前記マーカ検出ステップで同一のＩＤが付与された複数のマーカ推定ベクトル間の距離を計算するステップと、
予め設定された本数以上のベクトルが閾値以下の距離で交差するか否かを判定するステップと、
を含むことを特徴とする請求項１乃至７いずれかに記載のマーカトラッキング方法。
【請求項９】
判定が是の場合には、マーカの三次元位置を計算することを特徴とする請求項８に記載のマーカトラッキング方法。
【請求項１０】
判定が否の場合には、マーカの三次元位置の計算に使用されなかったマーカ推定ベクトルに対して、閾値以下の距離で交差する組を探索し、新しく見つかったマーカ推定ベクトルから構成されるマーカの三次元位置に新しいＩＤを付与することを特徴とする請求項８に記載のマーカトラッキング方法。
【請求項１１】
請求項１乃至１０いずれかに記載の方法において、該方法は、
フレームレート及び解像度において異なるカメラから構成される異種カメラ群によってマーカが付された被験体を撮影して画像を取得するものであり、
該マーカ検出ステップ、該三次元再構成ステップは各カメラ群において行われ、
該トラッキングステップは、
各カメラ群で取得された同一のＩＤが付与されたマーカの三次元位置情報を時系列に統合する統合ステップが含まれる、
ことを特徴とするマーカトラッキング方法。
【請求項１２】
異種カメラ群は、高精度カメラ群と高速度カメラ群を含むことを特徴とする請求項１１に記載のマーカトラッキング方法。
【請求項１３】
前記統合ステップは、各カメラ群で計測された複数フレームにわたって同一のＩＤが付与されたマーカの時系列三次元位置情報からなるマーカ軌跡を補間する補間多項式を求めるステップを含むことを特徴とする請求項１１，１２いずれかに記載のマーカトラッキング方法。
【請求項１４】
補間は、以下の多項式によって行われることを特徴とする請求項１０に記載のマーカトラッキング方法。
【数１】
2005124687.tif 000018
ここに、ｆｍ（ｔ）は、時刻ｔｍ〜ｔｍ＋１の間の補間式、ａ０…ａｒは多項式の係数である。
【請求項１５】
多項式の係数の算出において、三次元再構成時のマーカ推定ベクトル間の平均距離に基づく重み付けを行うことを特徴とする請求項１４に記載のマーカトラッキング方法。
【請求項１６】
補間多項式を用いて、次フレームにおけるマーカ位置を予測し、マーカ予測位置を参照マーカ位置とすることを特徴とする請求項１３乃至１５いずれかに記載のマーカトラッキング方法。
【請求項１７】
フレームレート及び解像度において異なるカメラから構成される異種カメラ群によってマーカが付された被験体を撮影して画像を取得するステップと、
各カメラ群において取得した画像からマーカの二次元位置情報を検出するマーカ検出ステップと、
各カメラ群において検出されたマーカの二次元位置情報を用いて、マーカの三次元位置情報を取得する三次元再構成ステップと、
各カメラ群で取得されたマーカの三次元位置情報を統合する統合ステップと、
を有し、該統合ステップは、
マーカの三次元位置情報を時系列に探索して、同一と判定されるマーカの三次元位置情報に同一のＩＤを付与するトラッキングステップと、
各カメラ群で取得された同一のＩＤが付与されたマーカの三次元位置情報を補間するステップと、
を有することを特徴とする光学式モーションキャプチャ方法。
【請求項１８】
異種カメラ群は、高精度カメラ群と高速度カメラ群を含むことを特徴とする請求項１７に記載のモーションキャプチャ方法。
【請求項１９】
前記補間ステップは、各カメラ群で計測された複数フレームにわたって同一のＩＤが付与されたマーカの時系列三次元位置情報からなるマーカ軌跡を補間する補間多項式を求めるものであることを特徴とする請求項１７，１８いずれかに記載のモーションキャプチャ方法。
【請求項２０】
補間は、以下の多項式によって行われることを特徴とする請求項１８に記載のモーションキャプチャ方法。
【数２】
2005124687.tif 000019
ここに、ｆｍ（ｔ）は、時刻ｔｍ〜ｔｍ＋１の間の補間式、ａ０…ａｒは多項式の係数である。
【請求項２１】
多項式の係数の算出において、三次元再構成時のマーカ推定ベクトル間の平均距離に基づく重み付けを行うことを特徴とする請求項２０に記載のモーションキャプチャ方法。
【請求項２２】
前記補間に基づいて、各カメラ群のカメラの次フレームにおけるマーカ位置を予測するステップを含む請求項１７乃至２１いずれかに記載のモーションキャプチャ方法。
【請求項２３】
前記マーカ予測位置にはＩＤが付与されており、前記マーカ検出ステップおよび／あるいは前記三次元再構成ステップは、ＩＤを備えたマーカ予測位置と、検出されたマーカの二次元位置情報あるいは／および三次元位置情報との同一性を判定し、マーカ予測位置と同一と判定された二次元位置情報あるいは／および三次元位置情報にマーカ予測位置と同一のＩＤを付与するステップを含むことを特徴とする請求項２２に記載のモーションキャプチャ方法。
【請求項２４】
前記マーカ検出ステップは、ＩＤが付されたマーカ予測位置の二次元座標値と検出されたマーカの二次元位置情報との同一性を判定することでＩＤを付与することを特徴とする請求項２３に記載のモーションキャプチャ方法。
【請求項２５】
前記三次元再構成ステップは、同一のＩＤが付与された二次元位置情報に基づいてマーカの三次元位置情報を取得することを特徴とする請求項２４に記載のモーションキャプチャ方法。
【請求項２６】
前記三次元再構成ステップは、ＩＤが付されたマーカ予測位置と再構成されたマーカの三次元位置情報との同一性を判定することでＩＤを付与することを特徴とする請求項２３乃至２５に記載のモーションキャプチャ方法。
【請求項２７】
マーカが同一か否の判定は検出マーカあるいは再構成されたマーカと、マーカ予測位置との間の距離によって行うことを特徴とする請求項２３乃至２６いずれかに記載のモーションキャプチャ方法。
【請求項２８】
前記三次元再構成ステップは、
マーカ検出ステップにおいて同一のＩＤが付与された複数のマーカ推定ベクトル間の距離を計算するステップと、
予め設定された本数以上のベクトルが閾値以下の距離で交差するか否かを判定するステップと、
を含むことを特徴とする請求項２３乃至２７いずれかに記載のモーションキャプチャ方法。
【請求項２９】
判定が是の場合には、マーカの三次元位置を計算することを特徴とする請求項２８に記載のモーションキャプチャ方法。
【請求項３０】
判定が否の場合には、マーカの三次元位置の計算に使用されなかったマーカ推定ベクトルに対して、閾値以下の距離で交差する組を探索し、新しく見つかったマーカ推定ベクトルから構成されるマーカの三次元位置に新しいＩＤを付与することを特徴とする請求項２８に記載のモーションキャプチャ方法。
【請求項３１】
トラッキングステップでマーカに付与されるＩＤは、予め被験体の所定部位と対応させてあり、リアルタイムのラベリングを行うステップを含むことを特徴とする請求項１７乃至３０いずれかに記載のモーションキャプチャ方法。
【請求項３２】
リアルタイムラベリングに基づいて関節角計算をリアルタイムで行うことを特徴とする請求項３１に記載のモーションキャプチャ方法。
【請求項３３】
フレームレート及び解像度において異なるカメラから構成される異種カメラ群によってマーカが付された被験体を撮影して画像を取得する撮影手段と、
各カメラ群において取得した画像からマーカの二次元位置情報を検出するマーカ検出手段と、
各カメラ群において検出されたマーカの二次元位置情報を用いて、マーカの三次元位置情報を取得する三次元再構成手段と、
各カメラ群で取得されたマーカの三次元位置情報を統合する統合手段と、
を有し、該統合手段は、
マーカの三次元位置情報を時系列に探索して、同一と判定されるマーカの三次元位置情報に同一のＩＤを付与するトラッキング手段と、
各カメラ群で取得された同一のＩＤが付与されたマーカの三次元位置情報を補間する手段と、
を有することを特徴とする光学式モーションキャプチャシステム。
【請求項３４】
異種カメラ群は、高精度カメラ群と高速度カメラ群を含むことを特徴とする請求項３３に記載のモーションキャプチャシステム。
【請求項３５】
前記補間手段は、各カメラ群で計測された複数フレームにわたって同一のＩＤが付与されたマーカの時系列三次元位置情報からなるマーカ軌跡を補間する補間多項式を求めるものであることを特徴とする請求項３３，３４いずれかに記載のモーションキャプチャシステム。
【請求項３６】
補間は、以下の多項式によって行われることを特徴とする請求項３５に記載のモーションキャプチャシステム。
【数３】
2005124687.tif 000020
ここに、ｆｍ（ｔ）は、時刻ｔｍ〜ｔｍ＋１の間の補間式、ａ０…ａｒは多項式の係数である。
【請求項３７】
多項式の係数の算出において、三次元再構成時のマーカ推定ベクトル間の平均距離に基づく重み付けを行うことを特徴とする請求項３６に記載のモーションキャプチャ方法。
【請求項３８】
前記補間に基づいて、各カメラ群のカメラの次フレームにおけるマーカ位置を予測する手段を含む請求項３３乃至３７いずれかに記載のモーションキャプチャシステム。
【請求項３９】
前記マーカ予測位置にはＩＤが付与されており、前記マーカ検出手段および／あるいは前記三次元再構成手段は、ＩＤを備えたマーカ予測位置と、検出されたマーカの二次元位置情報あるいは／および三次元位置情報との同一性を判定し、マーカ予測位置と同一と判定された二次元位置情報あるいは／および三次元位置情報にマーカ予測位置と同一のＩＤを付与するように構成されていることを特徴とする請求項３８に記載のモーションキャプチャシステム。
【請求項４０】
前記マーカ検出手段は、ＩＤが付されたマーカ予測位置の二次元座標値と検出されたマーカの二次元位置情報との同一性を判定することでＩＤを付与することを特徴とする請求項３９に記載のモーションキャプチャシステム。
【請求項４１】
前記三次元再構成手段は、同一のＩＤが付与された二次元位置情報に基づいてマーカの三次元位置情報を取得することを特徴とする請求項４０に記載のモーションキャプチャシステム。
【請求項４２】
前記三次元再構成手段は、ＩＤが付されたマーカ予測位置と再構成されたマーカの三次元位置情報との同一性を判定することでＩＤを付与することを特徴とする請求項３９乃至４１に記載のモーションキャプチャシステム。
【請求項４３】
マーカが同一か否の判定は検出マーカあるいは再構成されたマーカと、マーカ予測位置との間の距離によって行うことを特徴とする請求項３９乃至４２いずれかに記載のモーションキャプチャシステム。
【請求項４４】
前記三次元再構成手段は、
マーカ検出手段において同一のＩＤが付与された複数のマーカ推定ベクトル間の距離を計算する手段と、
予め設定された本数以上のベクトルが閾値以下の距離で交差するか否かを判定する手段と、
を含むことを特徴とする請求項３９乃至４３いずれかに記載のモーションキャプチャシステム。
【請求項４５】
判定が是の場合には、マーカの三次元位置を計算することを特徴とする請求項４４に記載のモーションキャプチャシステム。
【請求項４６】
判定が否の場合には、マーカの三次元位置の計算に使用されなかったマーカ推定ベクトルに対して、閾値以下の距離で交差する組を探索し、新しく見つかったマーカ推定ベクトルから構成されるマーカの三次元位置に新しいＩＤを付与することを特徴とする請求項４４に記載のモーションキャプチャシステム。
【請求項４７】
トラッキング手段でマーカに付与されるＩＤは、予め被験体の所定部位と対応させてあり、リアルタイムのラベリングを行う手段を含むことを特徴とする請求項３９乃至４６いずれかに記載のモーションキャプチャシステム。
【請求項４８】
リアルタイムラベリングに基づいて関節角計算をリアルタイムで行うことを特徴とする請求項４７に記載のモーションキャプチャシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、光学式モーションキャプチャシステムにおけるマーカのトラッキング方法および光学式モーションキャプチャシステムに関するものである。
【背景技術】
【０００２】
モーションキャプチャは、人間や動物の動作を数値的なデータとして計測する手法であり、それによって得られたデータはバイオメカニクス、ヒューマノイドの動作生成、ＣＧアニメーションの生成など幅広い分野で用いられている。モーションキャプチャには様々な方式があり、例えば、被験者にデータ取得のためのデバイスを装着して有線でデータを転送して座標データを記録するワイヤ式のものや、被験者の頭、首、肩、肘、手首等に光を反射するマーカを付け、マーカからの反射光を撮影して座標データを記録する光学式のものがある。運動時における被験者の低拘束性という観点からは、ワイヤ式のものに比べて、いわゆるパッシブ光学式のモーションキャプチャが有利である。【０００３】
しかしながら、パッシブ光学式のモーションキャプチャでは、複数のカメラで取得した画像から、マーカの三次元位置を求める(三次元再構成)ための計算量が大きい、 各マーカと体の部位との対応を取る作業 (ラベリング) のための計算量が大きい、といった欠点がある。また、カメラからコンピュータへのデータ転送速度に限界があるため単一のカメラで高精度かつ高速度のデータを得ることはできない。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明の目的は、光学式モーションキャプチャシステムにおいて、マーカ検出、マーカ位置の三次元再構成の段階でマーカのローカルトラッキングを行うことで、リアルタイムのマーカトラッキングを実現することにある。【０００５】
本発明のもう一つの目的は、光学式モーションキャプチャシステムにおいて、高精度カメラと高速度カメラの２種類のカメラを用い、互いの欠点を補い合うことで高精度かつ高速度のデータを得ることを目的とするものである。
【課題を解決するための手段】
【０００６】
本発明が採用した第１の技術手段は、各カメラによって取得された画像からマーカの二次元位置情報を検出するマーカ検出ステップと、各カメラによって検出されたマーカの二次元位置情報（マーカ推定ベクトル）を用いて、マーカの三次元位置情報を取得する三次元再構成ステップと、マーカの三次元位置情報を時系列に探索して、同一と判定されるマーカの三次元位置情報に同一のＩＤを付与するトラッキングステップとを有し、前記マーカ検出ステップおよび／あるいは前記三次元再構成ステップは、ＩＤを備えた参照マーカ位置と、検出されたマーカの二次元位置情報（マーカ推定ベクトル）あるいは／および三次元位置情報との同一性を判定し、参照マーカ位置と同一と判定された二次元位置情報（マーカ推定ベクトル）あるいは／および三次元位置情報に参照マーカ位置と同一のＩＤを付与するステップを含むことを特徴とする光学式モーションキャプチャシステムにおけるマーカトラッキング方法である。【０００７】
本発明が採用した第２の技術手段は、フレームレート及び解像度において異なるカメラから構成される異種カメラ群によってマーカが付された被験体を撮影して画像を取得するステップと、各カメラ群において取得した画像からマーカの二次元位置情報を検出するマーカ検出ステップと、各カメラ群において検出されたマーカの二次元位置情報を用いて、マーカの三次元位置情報を取得する三次元再構成ステップと、各カメラ群で取得されたマーカの三次元位置情報を統合する統合ステップとを有し、該統合ステップは、マーカの三次元位置情報を時系列に探索して、同一と判定されるマーカの三次元位置情報に同一のＩＤを付与するトラッキングステップと、各カメラ群で取得された同一のＩＤが付与されたマーカの三次元位置情報を補間するステップとを有することを特徴とする光学式モーションキャプチャ方法である。【０００８】
本発明が採用した第３の技術手段は、フレームレート及び解像度において異なるカメラから構成される異種カメラ群によってマーカが付された被験体を撮影して画像を取得する撮影手段と、各カメラ群において取得した画像からマーカの二次元位置情報を検出するマーカ検出手段と、各カメラ群において検出されたマーカの二次元位置情報を用いて、マーカの三次元位置情報を取得する三次元再構成手段と、各カメラ群で取得されたマーカの三次元位置情報を統合する統合手段とを有し、該統合手段は、マーカの三次元位置情報を時系列に探索して、同一と判定されるマーカの三次元位置情報に同一のＩＤを付与するトラッキング手段と、各カメラ群で取得された同一のＩＤが付与されたマーカの三次元位置情報を補間する手段とを有することを特徴とする光学式モーションキャプチャシステムである。【０００９】
本発明において、一つの好ましい態様では、前記マーカ検出ステップは、ＩＤが付された参照マーカ位置の二次元座標値と検出されたマーカの二次元位置情報との同一性を判定することでＩＤを付与するものである。さらに、好ましくは、前記三次元再構成ステップは、同一のＩＤが付与された二次元位置情報に基づいてマーカの三次元位置情報を取得するものである。他の好ましい態様では、前記三次元再構成ステップは、ＩＤが付された参照マーカ位置と再構成されたマーカの三次元位置情報との同一性を判定することでＩＤを付与するものである。【００１０】
マーカが同一か否の判定は検出マーカの位置情報あるいは三次元再構成されたマーカの位置情報と、参照マーカ位置との間の距離によって行う。前記参照マーカ位置は、一つの好ましい態様では、前記トラッキングステップで得られたＩＤ付き計測マーカ位置に基づいて計算された同じＩＤを備えたマーカ予測位置である。前記参照マーカ位置として、前記トラッキングステップで得られた最新のＩＤ付き計測マーカ位置を用いることもできる。【００１１】
一つの好ましい態様では、前記三次元再構成ステップは、前記マーカ検出ステップで同一のＩＤが付与された複数のマーカ推定ベクトル間の距離を計算するステップと、予め設定された本数以上のベクトルが閾値以下の距離で交差するか否かを判定するステップとを含むものである。判定が是の場合には、マーカの三次元位置を計算する。判定が否の場合には、マーカの三次元位置の計算に使用されなかったマーカ推定ベクトルに対して、閾値以下の距離で交差する組を探索し、新しく見つかったマーカ推定ベクトルから構成されるマーカの三次元位置に新しいＩＤを付与する。【００１２】
一つの好ましい態様では、フレームレート及び解像度において異なるカメラから構成される異種カメラ群によってマーカが付された被験体を撮影して画像を取得するモーションキャプチャであって、各カメラ群で取得された同一のＩＤが付与されたマーカの三次元位置情報を補間するようにした。前記補間は、各カメラ群で計測された複数フレームにわたって同一のＩＤが付与されたマーカの時系列三次元位置情報からなるマーカ軌跡を補間する補間多項式を求めるものである。好ましくは、多項式の係数の算出において、三次元再構成時のマーカ推定ベクトル間の平均距離に基づく重み付けを行う。【００１３】
さらに好ましい態様では、前記補間に基づいて、各カメラ群のカメラの次フレームにおけるマーカ位置を予測する。マーカ予測位置にはＩＤが付与されており、マーカ予測位置情報をＩＤと共に、マーカ検出ステップ、三次元再構成ステップに与えることで、マーカ検出ステップ、三次元再構成ステップにおいてもマーカのトラッキング（ＩＤ付与）を行うことができる。
【発明の効果】
【００１４】
本発明では、マーカ検出、マーカ位置の三次元再構成の段階でマーカのローカルトラッキングが可能となる。マーカ検出におけるトラッキング結果を利用することで、三次元再構成に必要な計算量を低減することができ、リアルタイムでの処理が可能となる。さらに、マーカトラッキング機能を利用して、リアルタイムでのラベリング・関節角計算が可能となる。【００１５】
異種カメラを統合することで、次のような効果がある。一つは、高精度カメラだけでは1フレーム間のマーカの移動距離が大きいためルタイムのトラッキングが難しいが、高速度カメラからのデータを併用することでトラッキングが容易になるということである。これにより低速度データだけを使うときよりも予測の精度が上がるため、トラッキングの精度 (マーカの対応が正しく取れる確率)
が向上する。もう一つは、高速度カメラのみでは空間分解能が低いが、高精度カメラからのデータを併用することで精度を向上させることができる。低精度データの修正に関しては、ベクトル間の距離を精度の指標として、それに基づいて補間のパラメータを決定することで行う。このとき低解像度のカメラでは1ピクセルの誤差でベクトルが大きくずれるので、一般にベクトル間の距離が大きくなる。
【発明を実施するための最良の形態】
【００１６】
［Ａ］モーションキャプチャシステムの全体構成
本発明は、異種カメラの相互補完による高精度・高速度モーションキャプチャシステムに関するものである。モーションキャプチャシステムは、被験者の複数の所定部位（頭、首、肩、肘、手首等）に付された複数のマーカと、該被験者を撮影するための撮影手段と、該撮影手段に電気的に接続された（データ転送可能な状態で）１台以上のコンピュータとを有し、撮影手段によって取得されたマーカの画像情報がコンピュータに送信され、コンピュータで画像情報を処理することでマーカの三次元位置を取得するように構成されている。撮影手段に接続されたコンピュータは、撮影手段によって取得された画像情報および画像処理部で計算された情報を記憶する記憶部、該画像情報を表示する表示部、該画像情報に対して画像処理を施すための画像処理部を構成している。【００１７】
モーションキャプチャにおける撮影手段は、複数台のビデオカメラから構成されており、複数台のビデオカメラを被験者を取り囲むように夫々異なる位置に配置することで、複数角度から被験者の動画像を同時に取得する。取得される動画像は、例えば、１秒あたり数十フレームから数百フレームの静止画像情報の時系列の画像群である。本発明では、撮影手段は、異種のカメラ群から構成されており、異種のカメラ群は一つの好ましい態様では、高精度カメラ群と高速度カメラ群から構成される。【００１８】
高精度カメラ、高速度カメラとは、異種カメラにおいて、一方が他方に比べて高解像度・低フレームレート、他方が一方に比べて低解像度・高フレームレートである場合に、高解像度・低フレームレートのカメラを高精度カメラ、低解像度・高フレームレートのカメラを高速度カメラという。後述の実験例では、グループＡを構成するカメラが解像度1004×1004、最大フレームレート50fps、グループＢを構成するカメラが解像度512×512、最大フレームレート262fpsであり、グループＡを構成するカメラが高精度カメラ、グループＢを構成するカメラが高速度カメラである。【００１９】
図１は、２種類のカメラ群（Ｇ１，Ｇ２）を用いたモーションキャプチャシステムの構成を示す図である。本発明に係るモーションキャプチャシステムは、マーカ検出処理、三次元再構成処理、統合処理の３つのブロックからなる。それぞれのブロックは以下の処理を行う。マーカ検出ステップ（Ｃ）では、
カメラ画像からマーカを検出する。三次元再構成ステップ（Ｒ）では、同じ種類のカメラ群で検出されたマーカの二次元位置情報を用いて、マーカの三次元位置を計算する。統合ステップ（Ｉ）では、複数の三次元再構成ブロックからのデータを統合する。尚、図１では、２つのカメラ群を示したが、３つ以上のカメラ群を用いても良い。【００２０】
マーカ検出処理では、各カメラで取り込まれた２次元画像からマーカを検出する。マーカの検出は、各カメラで取得された画像を画像処理することで行われ、マーカは２次元画像におけるある座標として検出される。各群を構成する各カメラの位置は予め決定されており、検出されたマーカは、カメラの絶対位置を始点とするベクトル (マーカ推定ベクトル) 上に位置する。マーカ検出処理は、各カメラ毎で独立に行う。【００２１】
三次元再構成処理では、同時刻における同じ群に属する複数のカメラから得られたマーカ推定ベクトルの交点を求め、その交点をマーカの三次元位置とする。しかし、実際にはカメラのピクセル誤差やキャリブレーション誤差の影響で厳密にはマーカ推定ベクトルは交差しないため、距離が小さいベクトルの組を探索し、それらの共通垂線の中点を交点とみなす。三次元再構成処理は各カメラ群(Ｇ)で独立に行う。【００２２】
統合処理について説明する。高精度データは、高精度カメラを用いることにより得られる。しかし、高精度カメラは通常フレームレートが低いので、データの時間間隔は大きくなる。これを解決するため、高速度カメラを使って高フレームレートのデータを得る。しかし、高速度カメラのデータは精度が低いので、そのままでは精度が落ちてしまう。そこで、両者のデータを統合した上で、補間方法を使って低精度データを修正することで、高速度かつ高精度なデータを得ることができる。高速度カメラは、補間のもととなるデータを高フレームレートで提供することにより統合を容易にするとともに、システムの出力として最終的に得られるデータのフレームレートを上げるという役割を果たしている。異種カメラから取得した三次元位置情報を統合するには、カメラ群1で検出されたマーカとカメラ群2で検出されたマーカがどう対応しているか
(どれとどれが同じマーカのデータであるか) を調べる、つまり個々のマーカをトラッキングする必要がある。統合とは、各カメラ群で計測されたマーカ位置を補間し、1つの連続したデータを得る。これによって、精度の低いデータを精度の高いデータで修正する、将来のマーカ位置を予測することが可能となる。【００２３】
統合処理では、複数のカメラ群から送られてくるマーカ三次元位置データを受け取り、以前観測されたマーカとの対応を調べて一意なＩＤを付け(トラッキング)を行う。既に計測されたフレームのマーカ位置データはＩＤごとに分けられ、補間式と共に記憶されている。統合の時には、この補間式を用いて現在の予測位置を計算し、対応関係を調べて対応するＩＤを付ける。トラッキングできたマーカについては三次元再構成時の誤差を考慮して補間多項式を計算する。ここで言う誤差とは、後述する式（７）のベクトル間距離であり、これが大きいということは各ベクトルの誤差が大きく、得られた三次元位置の信頼性が低いことを意味し、小さい重みを与える。これにより、全体的に精度の高いデータに近づくような補間式が計算される。この補間式を用いて、あるカメラ群が次の計測（次フレーム）を行うときのマーカ位置を予測し、その情報をマーカ検出・三次元再構成処理に送ると、マーカ検出や三次元再構成の段階でもトラッキングを行うことができる。これにより、後に述べるようにリアルタイムでの三次元再構成やトラッキングが実現される。【００２４】
［Ｂ］マーカ軌跡の補間
異種カメラからのデータの統合を行う補間処理及び位置予測処理について述べる。
マーカの位置予測、および計測終了後一定時間幅のデータを得るために、各マーカ（同じＩＤが付与されているマーカ）の軌跡を多項式により補間する。具体的には、時刻ｔにおいて計測されたデータが送られてきたとき、時刻ｔ−τ以降のデータを用いて多項式補間関数の係数を決定する。ここで
τは補間に用いるデータの時間幅を決める定数である。【００２５】
補間の方法を図３に示す。時刻 ｔｍ＋ｉ(ｉ＝０，１，．．．，ｎ；ｔ−τ＜ｔｍ＜ｔｍ＋１＜．．．＜ｔｍ＋ｎ＝ｔ)に計測された位置をｐｉと表し、このとき時刻ｔｍから時刻ｔｍ＋１の区間多項式
ｆｍ（ｔ−ｔｍ）を求める。マーカ軌跡が時刻ｔｍにおいて1階微分可能でなければならないとすると、
【数１】
2005124687.tif 000002
また、時刻ｔｍ＋ｉにおいて多項式はそれぞれ ｐｍ＋ｉを通るから、
△ｔｉ＝ｔｍ＋ｉ−ｔｍとおくと、
【数２】
2005124687.tif 000003
を満たす必要がある。ここで、多項式の次数が補間に使う点数より少ない場合や、異常なデータが計測された場合に対応するため、式（２）は必ずしも厳密に満たす必要はないものとする。【００２６】
ｆｍ（ｔ）をｒ次の多項式とすると
【数３】
2005124687.tif 000004
と書ける。
式（１）より明らかに、
【数４】
2005124687.tif 000005
なので、式（２）は次のようにまとめられる。
【数５】
2005124687.tif 000006
これはさらに
【数６】
2005124687.tif 000007
とまとめられ，これを解くと
【数７】
2005124687.tif 000008
と多項式の係数が計算できる。ここでＴ＃(ベクトル)はＴ（ベクトル）の重み付き擬似逆行列である。各時刻のデータに対応する重みｗｍ＋ｉは、三次元再構成時のマーカ推定ベクトル間の平均距離ｄｍ＋ｉを用いて
【数８】
2005124687.tif 000009
によって計算する。ここでａｃはカメラのフレームレートの違いを補正するための係数、Cは任意定数である。これにより、平均距離の大きいマーカ、すなわち誤差の大きいマーカの重みが小さくなる。また、一般にフレームレートの高いカメラに対してはａｃを小さくして、個々のデータの影響を小さくする。尚、補間方法は、ここで述べたものに限定されない。また、重みの決定方法についても、ここで述べたものに限定されず、距離に対して単調減少する関数であれば他の決め方でもよい。【００２７】
［Ｃ］マーカのトラッキング
マーカのトラッキングについて述べる。本システムでは、複数のフレームにわたって同一と判断できるマーカをトラッキングし、同じＩＤを付けることで前述の補間を可能にしている。マーカトラッキングをリアルタイムで行うため、統合処理だけでなくマーカ検出・再構成処理においてもローカルトラッキングを行う。マーカのトラッキングについて異種カメラを用いたものに基づいて説明するが、本発明に係るマーカトラッキング方法は、1種類のカメラだけを用いるシステムでも有効である。また、ここでは、一つの好ましい態様として、マーカ予測位置をＩＤを備えた参照マーカ位置として採用する場合について説明するが、本発明で採用され得る参照マーカ位置はマーカ予測位置には限定されず、例えば、トラッキングステップで得られた最新のＩＤ付き計測マーカ位置を参照マーカ位置として採用してもよい。【００２８】
マーカ推定位置（マーカ予測位置）を用いたトラッキングの概念図を図２に示す。図２に示すように、統合処理によって得られたマーカ推定位置（白丸１，２，３であって、ＩＤが付与されている）をカメラ画像に投影して二次元座標値を取得する。そして、実際に検出されたマーカとの対応を取ることで検出されたマーカのローカルトラッキングを行う。予想されるマーカ推定位置と実際に検出されたマーカとの対応が確認されると、検出されたマーカにＩＤが付される。検出されたマーカ（ＩＤが付されている）を三次元再構成してマーカ位置を取得する。マーカ推定位置と三次元再構成されたマーカ位置との対応を取る。これらの処理は、検出されたマーカの集合Ｄ、
推定マーカの集合Ｅが与えられたときに、最適な割り当て、
【数９】
2005124687.tif 000010
を探す問題となる。ここでＥｉ＝φは対応する推定マーカがない、すなわち新しいマーカであることを表し、このようなマーカが現れた場合は新たなＩＤが付けられる。【００２９】
本実施例では、組(Ｄｉ,Ｅｊ)のスコアを以下のように与える。
【数１０】
2005124687.tif 000011
ただし、Ｃは任意定数、ｄ(Ｄｉ,Ｅｊ)は検出されたマーカＤｉと推定マーカＥｊとの距離である。なお、Ｅｊ＝φ、すなわち対応する推定マーカがなかった場合はｄ(Ｄｉ,Ｅｊ)を対応する可能性のある最大距離ｄｍａｘとする。そして、最適化のための評価関数として式（８）の和を用いる。これにより、いずれかのマーカが検出されなかったとしても大域的に最適な割り当てを探索することができる。【００３０】
統合処理におけるトラッキングでは、検出されたマーカにも三次元再構成処理によりＩＤが付けられている。そこで、ＤｉとＥｊが同じＩＤを持つとき組(Ｄｉ,Ｅｊ) に一定のスコアを追加することで、その組が優先的に探索されるようにする。【００３１】
［Ｄ］三次元再構成
三次元再構成について説明する。通常のモーションキャプチャにおける三次元再構成では、多数のマーカ推定ベクトルの組から距離の近いものを探索するため、計算量が大きくなる。これに対し本発明では、前述のように各カメラで検出されたマーカにも既にＩＤが付けられているので、すべてのＩＤが正しい場合にはマーカ推定ベクトルの組み合わせは既知であり、探索の必要がない。実際には間違ったＩＤが付けられている可能性があるため、距離の計算を併用してマーカ推定ベクトルの組を決定し、マーカの三次元位置を計算する。【００３２】
三次元再構成は、ｎｃ個のカメラを持つシステムにおいて、カメラｋで検出されたマーカの集合Ｄと推定マーカの集合Ｅが与えられたとき、
【数１１】
2005124687.tif 000012
を複数見つける問題となる。それぞれの組み合わせ1つに対しマーカ1個が対応する。探索は以下のようにして行う。【００３３】
ステップ１：各推定マーカについて同じＩＤを持つマーカ推定ベクトル間の距離を調べる。ｎｍｉｎ本以上のベクトルが閾値ｄｍａｘ以下の距離で交差すればマーカが存在するとしてマーカ位置を計算する。【００３４】
ステップ２：ステップ1で使われなかったマーカ推定ベクトルに対し、通常のモーションキャプチャと同様に閾値以下の距離で交差する組を探索する。この結果見つかったマーカには新しいＩＤが付けられる。【００３５】
［Ｅ］実験
本システムの精度と速度を評価するための実験とその結果について述べる。実験装置及び条件について説明する。テーブル１に示す２種類のカメラを用いて、計19台のカメラからなるモーションキャプチャシステムを構築した。グループＡに属するカメラ群が高精度カメラ群であり、解像度が１００４×１００４ピクセル、最大フレーム速度が５０ｆｐｓであり、高精度カメラ群は１０台の高精度カメラより構成される。グループＢに属するカメラ群が高速度カメラ群であり、解像度が５３２×５１２ピクセル、最大フレーム速度が２６２ｆｐｓであり、高精度カメラ群は９台の高速度カメラより構成される。マーカ検出用のＰＣを各カメラに1台ずつ割り当て、各カメラ群のＰＣの中の1台のＰＣで三次元再構成を行う。また別にPentiumIV2GHzマシンを統合処理に使った。被験者に10個、20個、30個、40個のマーカを取り付けた場合それぞれについてスクワット、歩行、キックの動作を計測し、速度とトラッキング性能を評価した。以下の評価実験では、補間のパラメータとしてτ=0.1s，r=4を用いた。また、三次元再構成における最小ベクトル数をｎｍｉｎ＝３、閾値をグループＡ,Ｂに対してそれぞれｄｍａｘ＝0.005m、 ｄｍａｘ＝0.008mとした。
【表１】
2005124687.tif 000013
【００３６】
速度評価について述べる。カメラグループ、統合処理における各ステップの処理時間をそれぞれテーブル２、テーブル３に示す。また、1フレームを取得するのにかかった平均時間をテーブル４に示す。１０〜３０マーカではグループＢのみを使ったものが最も高速なのに対し、４０マーカでは統合システムが最も高速である。これは、マーカ数が増加すると統合処理の負荷が再構成と比べて相対的に小さくなるためと考えられる。
【表２】
2005124687.tif 000014
【表３】
2005124687.tif 000015
【表４】
2005124687.tif 000016
【００３７】
トラッキング性能評価について説明する。各運動において最後までトラッキングできたマーカの割合をテーブル５に示す。ほとんどのケースで統合システムが最も多くのマーカをトラッキングできていることがわかる。
【表５】
2005124687.tif 000017
【００３８】
リアルタイム関節角計算について述べる。本システムではマーカをリアルタイムでトラッキングしているため、初めにマーカＩＤとラベルの対応が取れていればリアルタイムのラベリング・関節角計算が可能となる。初期フレームのラベリングを行うためのGUIを開発し、柔軟な逆運動学計算アルゴリズムUTPoser（山根，中村：”ヒューマンフィギュアの全身運動生成のための協応構造化インターフェース、”日本ロボット学会誌，vol.20, no. 3,pp.113-121,2002）を用いて任意のマーカ配置に対してリアルタイムの関節角計算を実現した。尚、逆運動学計算に70--80msかかるため、画面中のヒューマンフィギュアは時間遅れを持って動くことが観察された。【００３９】
２種類のカメラを用いた実験により、高速度のデータが得られること、高い確率でマーカがトラッキングできることが確認された。またマーカトラッキング機能を利用して、リアルタイムでのラベリング・関節角計算が実現された。
【産業上の利用可能性】
【００４０】
本発明によって、人間や動物の動作を数値的なデータとして計測することができ、それによって得られたデータはバイオメカニクス、ヒューマノイドの動作生成、ＣＧアニメーションの生成など幅広い分野で用いられ得る。
【図面の簡単な説明】
【００４１】
【図１】２種類のカメラ群を用いたモーションキャプチャシステムの概略図である。
【図２】マーカ検出処理及び再構成処理におけるローカルトラッキングを示す図である。
【図３】多項式による補間を示す図である。
【図１】
2005124687.tif 000021
【図２】
2005124687.tif 000022
【図３】
2005124687.tif 000023
【国際調査報告】
2005124687.tif 000024
2005124687.tif 000025