見出し画像

モーションキャプチャーによる運動計測#1 〜特徴と計測原理〜

光学式モーションキャプチャーの概要

光学式モーションキャプチャー(optical motion capture)は,光学系の計測システムで,複数の専用カメラで反射マーカ(passive marker)やLEDマーカ(active marker)を計測し,オンラインでその3次元位置の復元とトラッキングを行うシステムを指す.身体運動や物体の3次元位置の計測などで利用されるが,バイオメカニクスの解析だけではなく,映画・アニメーション業界,建築・土木など様々な分野で利用される.略称で「モーキャップ(mocap)」と呼ばれることも多い.

ここでトラッキング(tracking)とは,複数のマーカを計測する場合,各サンプリング時に識別されていない点群の座標として各3次元座標を出力するのではなく,その位置が変化しても同一マーカーとして識別,追跡し続けることを指す.すなわち位置だけでなく,マーカーの運動を計測することを意味する.そして識別されたマーカに「肩」「1番目のマーカ」などの固有の名称を与えることをラベリング(labeling)と呼ぶ.

基本的には光学系の3次元画像解析システムであるが,このトラッキングやラベリングまでを含めた運動を計測を行うシステムをモーションキャプチャーシステムと呼び,さまざまな高精度化・自動化の工夫が盛り込まれているシステムである.

このシステムの最大の特徴は計測精度で,次章で取り上げる身体運動を計測する他のシステムと比較しても,最も高い計測精度が得られる.検証方法,計測環境などに強く依存するので,一概に精度について述べることはできないが,標準的なシステムを構成すれば,mm 以下の計測精度が得られ,2点間距離での誤差評価で0.1 mm以下の計測精度も可能である(補足1).これらはあくまでも目安と考えていただければと思う.いずれにせよ身体運動を計測する上で,ここまでの計測精度を得られる汎用な運動計測システムは他にはないであろう.一方で,最低限この程度の精度を得られなければ,運動学計算はともかく二階微分の演算を含む力学計算は困難ともいえる.

そこで,光学式モーションキャプチャーの登場によって飛躍的に身体運動の計測環境が向上した歴史から,この詳細な解説が必要と考え,ここでは一般的なシステムの概要を紹介しつつ,必要に応じてOptiTrackのモーションキャプチャーの例を取り上げていく(補足2).

なお以下に,単にモーションキャプチャーと記述している際には,「光学系」モーションキャプチャーを指している.

光学式モーションキャプチャーの計測原理

近赤外光を用いた計測

使用するカメラは高速度カメラとほぼ同等な仕様のカメラで,計測原理も後述の複数のカメラを使用する3次元画像解析とほぼ同等である.しかし,モーションキャプチャーは自動化や計測精度向上のための様々な工夫によって,高精度な位置情報を数msの遅延でオンラインで出力することを可能とする.

図1:モーションキャプチャー用カメラとLEDライト(1つのLEDを赤丸で示した.レンズの回りを複数のLEDで取り囲んでいる.回りのブルーのライトは撮影のモードなどを示している.)

カメラの特徴としてはカメラレンズの回りに装備された複数のLEDから可視光の波長に近い近赤外光(各社800nm程度の波長のLEDが採用されている)を発光する(図1).LED光が強いほど遠くに届き,30m近く届くカメラもあるので,空間的にカバーできるカメラ台数があれば,建築物全体の振動を計測することも可能である.

図2:各種反射マーカ(左4mm半球マーカ,9.5mm,12.7mmマーカ)

カメラから発せられるLED光に対するマーカからの反射をカメラが計測する.通常,近赤外線を含む光は,物体にあたることで拡散してしまうが(拡散反射,diffuse reflection),効率よく反射光を受け取るためにマーカには再帰性反射材を使用している(図3).これは,いわゆる夜間の工事現場や自転車などで使用される反射材で,それに含まれるビーズやプリズムによって,拡散反射せずに光源方向にだけ戻る再帰性反射(retro-reflection)の性質をもつ.これによりマーカのような球形でも,光源のあるカメラに向かって反射するので,効率よく反射したマーカの光だけを捉えることができ,マーカ位置だけを適切かつ簡便に抽出できる(図4).

図3:拡散反射と再帰性反射
図4:反射マーカの画像の例

さらに反射した部分のカメラの撮影画像における重心位置を算出することで,カメラの2次元座標を出力する.このため,マーカの大きさは基本的には関係なく,小さいもので3mmぐらいのものから,カメラのセンサに適切に収まるならいくらでも大きくても,また,異なる大きさのマーカが混在しても構わない.

また,同じ波長のLEDを光らせることでマーカの代わりにすることも可能である.特にLEDにパターン発光させることでマーカを自動識別するactive markerは様々な利点がある.これについては別途述べることとする.

屋内外や水中での計測

使用するLED光の波長をフィルタリングして計測することができ,通常の照明には近赤外光の波長を含まないので,一般の照明やそのフリッカーとの干渉も避けられる.なお,各カメラは同期されたシャッター開放時にLED発光し,その時間も短いため,他の計測システムと干渉することもほとんど起こらず,異なるメーカーのモーションキャプチャーシステムを同時に動かすことも可能である.

一方,太陽光には近赤外光の波長の光も含むため,屋外は決して望ましい計測環境ではないが,前述のフィルタリングなどによって屋外での計測も可能で,たとえばテニスや野球など全身運動などの計測も可能である.また,カメラの防水ハウジングによってプールでの水中計測も可能である.

キャリブレーションと3次元座標復元原理

カメラに撮影されるマーカーの重心座標から2次元情報しか取得できないので,複数台のカメラを使用することで3次元位置を復元する.このため,「3次元の座標とカメラの2次元座標間の関係」(座標変換,スケール変換,レンズ歪等のカメラ定数)を記述する必要があり,これをカメラキャリブレーションと呼ぶ.「既知」の3次元座標を利用するDLT法とは異なり(補足3),モーションキャプチャーのカメラのキャリブレーションでは,3次元位置情報が「未知」ではあるが「マーカをどのカメラから計測しても,同じ位置に見える」という条件を利用し,計測空間内にわたって多数のマーカ位置を計測することで,カメラ定数を非線形の最適化によって推定する(補足4).

図5:キャリブレーション:各カメラから見て常に同じマーカ(オレンジ色)が同じ3次元座標の方向として青線が重なるように,カメラ定数(座標変換等のカメラの配置に関係するパラメータ)を最適化で探索.

つまりカメラのキャリブレーションとは,ラフに述べると図5のように「3次元座標とカメラの2次元座標の対応関係」を「全カメラ間の方向や配置・姿勢(座標変換,スケール,レンズ歪等)」というパラメータとして決定する作業である.その対応関係は,カメラから見たマーカの方向を示す図5の青色の線Ray(光線)に象徴される.

この意味で,モーションキャプチャーにおけるキャリブレーションは,3次元空間において各カメラのRayを正確に描けるようにするために,実際の3次元空間における全カメラの配置・姿勢等のつじつま合わせをする作業といえる.

図6:3次元座標の再構築.左:Rayの集中した点をマーカの3次元位置として取得.右:さらにそのマーカ内部を拡大した図.厳密にはRayは交わらない.

キャリブレーション後,カメラ定数を利用し各カメラから撮影された反射マーカの方向が図6の緑色の線(Ray)として算出される.しかし,カメラから見るとRay上にある点はすべて同じ位置に見え,1台のカメラでは奥行方向の情報は得られない.そこで,複数台のカメラで撮影し図6の左図のように,その線が最も集中する点をリアルタイムで計算し,その点を3次元位置とする.しかし,実際には誤差が少なからず発生し,Rayが厳密に交わることはないので,最も線間の距離が最小となる(集中する)点を最小二乗法で算出し,その位置をマーカーの3次元座標とする.

図6の右図は,マーカを拡大して,さらにマーカの内部を透視して見ているが,実際には各カメラから見た緑色のRayは交わることはなく,最もRay間の距離が短いところを3次元位置として算出していることがこの拡大によってわかる.このプロセスを通してマーカの3次元座標が復元(計測)される(補足5).

各カメラの各マーカについて,この算出された3次元位置と各Ray間の距離を計算し,この平均距離をResidual(残差)と呼んでキャリブレーション結果として出力する.また,もし何らかの要因で残差が大きいRayとなったカメラの情報は使用せず,信頼できるカメラ情報だけ使用し,外れ値に対してロバストな計測を実現する.

図7:キャリブレーションと3次元座標復元と残差

図7にキャリブレーションと3次元座標復元についてまとめた.キャリブレーションとは,3次元座標とカメラの2次元座標の空間的な関係を記述するカメラ定数を算出する作業で,基準となる3次元空間に対して各カメラの2次元空間座標の配置・姿勢等を決める作業に相当する.これに対して3次元座標復元(計測)は,キャリブレーションで算出された各カメラからみたマーカを示す「各Ray(光線)間の距離が最小となる点」,すなわち図中の赤色の「Residualの和が最小となる点」を最小二乗法で計算する作業である.この二つのプロセスで,マーカの3次元座標を取得している.

なお,一般には1つのマーカーに対して最低3個以上のカメラでトラッキングできるようなカメラの台数や配置が望ましい.

光学式モーションキャプチャーの特徴

これまで述べてきたように,計測原理もコンピュータビジョンに基づいているので,モーションキャプチャーは光学系の画像計測システムの特徴がおおむね当てはまる.

長所:カメラの性能や台数に依存するが,身体運動などの位置計測が可能なシステムとして,0.1mmオーダーの精度を実現するシステムは他にはほとんどないと思われる.他のページでも取り上げる予定だが,二階微分した加速度を計算しても加速度計とほぼ同等の精度で算出することが可能で,このことは力学計算で威力を発揮する.逆に述べると二階微分演算をともなう3次元空間における関節トルク(モーメント)などの力学計算に,光学式モーションキャプチャー以下の計測精度では実現が難しいともいえる.

短所:2台や3台のカメラだけで計測を実現する廉価なシステム(OptiTrack Duo/Trio)もあるが,一般的には高価格なシステムとなる.

短所でもあり長所でもあるが,計測には反射マーカーが必要で,マーカーが小さいとはいえ完全な無拘束ではない.非光学式モーションキャプチャーであれば,空間の拘束も少なくなくなるが,光学式の場合カメラの設置が必要で,計測できる空間の拘束がある.

オクルージョン(カメラから見えない部分のデータの欠損)対策も必要である.ただし,OptiTrackの制御ソフトである新しいMotive3.0の登場により,RigidBodyやスケルトン(骨格モデル)のトラッキングが,少ないカメラでもロバストになり,オクルージョンに対してかなり頑健である.RigidBodyやスケルトンと呼ばれるマーカ群のモデル化を使用すれば,ラベリングで悩むことはかなり減るだろう.

モーションキャプチャーの性能としては精度に注目されがちだが,モーションキャプチャーを使用する際の最大の悩みは,トラッキングが途中で途切れたり,マーカーのラベリングなどのデータの修正作業である.計測環境が整わないと,ここに多大の時間を要してしまう.データの修正を不要とし,安定して自動でラベリングができるシステムの選択も重要である.

その他,最近のシステムの特徴としては,イーサネットケーブルでカメラ間の同期と電源供給を行い(PoE),ケーブルが届く範囲で広いエリアの計測も可能としている.カメラ内で2値化まで処理しその情報はPCに伝送され,3次元化はPC内で行われる.使用可能なカメラの台数の上限は恐らく試していないので不明というのが現実だが,実績としても何百台のカメラを接続することも可能である.また,一般的には精度は画像の分解能・画素数に強く依存し,それはデータ量の増大に直結するため,データ転送速度,処理速度の観点からか,すでに精度は飽和気味の傾向である.近年のモーションキャプチャーは,ハードウエアよりもシステムを動かすソフトウエアの進化の割合が高い.


補足

補足1)最も基本的なモーションキャプチャーの計測精度は,キャリブレーション時に計測しているマーカーを再構成した3次元位置と,図6,7で述べる各カメラから推定したマーカーの方向の直線(Ray)との距離の平均などで示される(図8).

図8:OptiTrackのキャリブレーション精度表示

また,ユーザレベルで行える検証方法として,モーションキャプチャーより高精度にマーカ位置を計測できる,たとえばレーザー光などを使用する計測方法との比較などによって,変化するマーカ間の2点間距離の誤差などで評価する.またこういった検証では狭い範囲を数台のカメラで取り囲み,どこの位置でも全カメラから計測できる条件下で行うのが通常である.

ところが,たとえば短距離走トラックをたくさんのカメラで計測するように,広い空間では,全空間を同じカメラでカバーすることは不可能なので,ローカルな計測空間の継ぎ足しとなり,空間全体では空間の歪みが蓄積し,絶対的な誤差は拡大する.これはモーションキャプチャーの計測原理からして避けれない.ただし,身体運動を計測する場合,広い空間を移動するような計測でも,関節角度などローカルな空間的差分,または速度や加速度は時間差分を計算するので,計測空間全体のという意味でのグローバルな計測誤差が計測精度に影響することはあまりないだろう.

補足2)光学系モーションキャプチャーシステムは基本的に,コンピュータビジョンに基づいた光学系の計測システムで,その基本的な構成や計測原理は各メーカーで大きな違いはない.違いが大きいのはどちらかというと仕様やアルゴリズムを含めたソフトウエア側で,ここで述べた内容はメーカーや,機種,ソフトウエアのバージョンによって異なることもあるので注意をされたい.

補足3DLT法(Direct linear transformation法)は3次元座標とカメラの2次元座標間の投影変換(座標変換やスケール)の関係式を線形化してキャリブレーション用パラメータを算出するキャリブレーション方法の一つである.既知の3次元座標(スポーツ科学ではコントロールポイントなどと呼ばれることが多い)と対応するカメラの2次元座標のデータから,最小二乗法を用いてキャリブレーション用パラメータを算出する点が,一般的なモーションキャプチャーのキャリブレーションの方法と異なる.このため,少ないコントロールポイントでキャリブレーションが可能となる.DLT方の詳細は今後述べていく予定であるが,known3dのページ

や「実践コンピュータビジョン(オライリー・ジャパン)」(文献1)

などを参照すると良い.古くから用いられてきた方法である.

補足4)OptiTrackのキャリブレーションでは通常,2500 ~ 5000個程度のサンプリングが推奨されている.ただし,キャリブレーションのサンプル数が多すぎても最適化計算の収束性がよくなく,残差誤差という観点からの収束結果も良い結果を得られない傾向にある.

補足5)OptiTrackで,マーカーの位置を拡大すると,マーカーの内部も拡大することができ,マーカー内の複数のRayを確認でき,そのマーカが精度良く計測できているか確認することができる.

参考文献

1)実践コンピュータビジョン,Jan Erik Solem著,相川訳,オライリー・ジャパン,2013


画像4
スポーツセンシング 公式note
スポーツセンシング 運動習慣獲得支援サービス「FitClip」
スポーツセンシング アスリートサポート事業


【解析・受託開発について】

スポーツセンシングでは,豊富な知見を持つ,研究者や各種エンジニアが研究・開発のお手伝いをしております.研究・開発でお困りの方は,ぜひスポーツセンシングにご相談ください. 
【例】
 ・データ解析の代行
 ・受託開発
  (ハードウェア、組込みソフトウェア、PC/モバイルアプリ)
 ・測定システム構築に関するコンサルティング など
その他,幅広い分野をカバーしておりますので,まずはお気軽にお問い合わせください.

株式会社スポーツセンシング
【ホームページ】sports-sensing.com
【Facebook】sports.sensing
【Twitter】Sports_Sensing
【メール】support@sports-sensing.com