モーションキャプチャはマーカーレスの時代へ!? OptiTrackとCapturyを試してみた
実はココだけの話、VTuberなんです。
先日、縁あってAcuityというモーションキャプチャーを扱う会社さんを見学する機会をいただきました。
Acuityさんが扱っているOptiTrakはあまり使ったことがないんですよね。
東工大の博士時代以来…20年前かぁ。
Viconの場合
赤外線カメラとリング照明です。
左にあるのがカラーカメラです。今回の実験では両方比較していきます。
PoE (Power over Ethernet)対応ハブです。このギガビットのネットワークケーブルで電源も供給します。
カメラのキャリブレーションはこんな風にワンドを使います。
空間を泳がせて…
8台のカメラで校正を行います。長さや角度が既知のワンドを使って同一の空間を一致させていくのですね。
原点器を置いて完了です。
モーションキャプチャースーツを着ていきます。
慣れたものなのでスッと着てしまいますが、難度的には、X-Sens>Vicon>OptiTrakという順番でしょうか。密着性が小さいのがいいかも。靴はカバータイプですのでシューズをサイズ毎で揃える必要はないようです。
人体側のマーカー点数は33点だった気がする。
指まで撮るなら53点ぐらい必要なはず。
Viconの場合↓
Tポーズは一瞬で終わる。
詳しい動画はこちらをどうぞ。
Captury
今回の注目はAcuityさんが扱うマーカーレスモーションキャプチャ「Captury」です。もともとはドイツの会社。
モーションキャプチャスーツもマーカーも不要。
高速リアルタイム計測、高速キャリブレーションができる。
事前にこのキャリブレーションボードを使ってカメラのセットアップをします。
こんなふうにカバレッジを上げていきます。
最終的にエラーが1ピクセル以下になっています。
データは各カメラのカラー画像はAVIになり、カメラパラメータ、点群推定が量子化されているようなテキストデータというシンプルな構成です。GPU搭載PC(今回はGTX4090を使用)でバックグラウンドで3D化、キネマティクス推定が処理されていきます。処理の重さやディレイはほとんど感じられず70fpsが出ています。最大240fps出るそうです(GPU依存)。
なお、カメラ自体はOptiTrackのカメラも使えます。これは白黒なので背景推定などは弱いですが、高速、かつ暗闇でも撮影できる利点があります。Cマウントの産業用カラーカメラとOptiTrackの赤外線カメラを混ぜることができるのも良いところですね。
OptiTrack PrimeX 22を使って100fpsが出ているところです。
で、人体キャリブレーションは一瞬でした。
点群に向かってキネマティクスをドロップするだけ。ほんと一瞬すぎて動画にするのも難しい。
腕の長さや脚の長さを記憶するので、部屋から出て戻ってきてもプロファイルは復元されます。
なんと顔も撮れる(オプション料金)
ブレンドシェイプです。
ご対応いただいたAcuityの水谷さん、山﨑さん、ありがとうございました。
技術者視点の補足:
OptiTrackもCapturyもVRChatやCluster、Unity系で使えるような、mocopi互換・リアルタイムでのモーションキャプチャーとして使うのは難しいと思います。
OptiTrackは標準のMotiveソフトウェアを使ってSDKを使って開発できるようです。
一般的な運動計測にはAcuityが開発するSKYCOMを使って角速度や角運動量、逆運動問題を解くといった使い方をするそうです。
SKYCOMはCapturyのデータにも対応しています。
ネットワークでの連携をしているのでプロトコルがわかればどうにかなるのかもしれないですね。
Capturyのドキュメント、リソース、GitHubを紹介しておきます。