Move.aiの使い方 - iPhoneで始める高精度3Dモーションキャプチャ
初めまして。Dentsu Craft Tokyoでアルバイトをしております、石井飛鳥と申します。今回は、マーカーレスモーションキャプチャシステムのMove.aiについて紹介します。
何ができるのか?
Move.aiは、深層学習を用いたマーカーレス3Dモーションキャプチャシステムです。複数台のiPhoneを利用する方法と、様々な映像機器で同期録画したフッテージを利用する方法の2通りでキャプチャできます。基本的には(ホストとなるiOSデバイスを除いて)iPhoneの2~6台利用を想定していますが、Experimental Modeから任意の録画データも利用可能です。その際も2~6台のカメラが必要になります。例えば、複数台のiPhoneとウェブカメラを使ってMove.aiのアプリからモーションキャプチャするということはできません。iPhoneのみを利用する場合か、ユーザーが各々で同期録画したデータを用意する場合のどちらかとなります。
リアルタイムキャプチャではありません。2023年4月24日時点では、fbx, blenderファイル, MAYA HIKでエクスポート可能となっています。今後 .USD, .GLTF, .BVH, .C3Dに対応予定です。一方、先日disguiseとの提携が発表されました。今後、リアルタイムキャプチャが可能なソフトウェア”INVISIBLE”がリリース予定です。
何が他製品と比べて嬉しい?
一番のメリットは、他の光学式モーションキャプチャシステムよりも安価に導入できるという点が挙げられます。ライセンス自体は、365$/年で購入可能です。ただし本番テイクをキャプチャする際には毎月付与されるクレジットが消費される仕様で、1,800credits/月を超過すると0.04$/creditの追加料金が発生します。(1credit = 1人を1秒モーションキャプチャできる。)また、付与されたクレジットは翌月に繰り越されません。一人であれば1ヶ月あたり30分キャプチャ可能と考えれば、十分なのではないでしょうか。なお、アカウント作成時に120credits無料で付与されるので、お試し利用も可能です。
ハードウェアに関しても、8以上のiPhoneや手持ちのカメラを利用できるという点で導入コストは安価です。
Experimental Modeについて
基本的にMove.aiはiPhoneの利用が想定されたサービスですが、Experimental Modeでは録画済みのフッテージを利用できます。ただし、あくまでもexperimentalなものであり、キャプチャ精度は保証されないという点で注意が必要です。同期録画され長さが同一である、FHD60fpsの.avi, .mp4, .movが入力可能です。OBSやTouchDesignerを用いてUSBキャプチャデバイスから流れてくる映像信号を同期録画するシステムを組めると簡単にキャプチャができます。
準備- iPhoneアプリ
以下では、iPhoneアプリを利用したデモンストレーションを行っています。今回は最小構成である撮影用iPhone2台+キャプチャするホストとなるiPhone1台で一人のキャプチャを行いました。撮影用iPhoneとは別に、キャプチャをホストするiOSデバイス(iOS16以上がインストールされているiPhone, iPad等)が必須となるので注意してください。Experimental Modeを利用する場合も基本的に流れは一緒で、
キャプチャデバイスの設置、準備
キャリブレーション用テイクの録画
本番テイクの録画
フッテージをサーバーにアップロード
Webサイトからキャプチャ処理の詳細設定をして開始
データのエクスポート
となります。
初めに、アプリをインストールしアカウントを作成します。
iPhoneおよびExperimental modeにおけるカメラの配置、およびキャプチャ可能な人数はあらかじめ設定されています。手持ちの機材と撮影スペースに合わせて以下を参考に選択してください。
撮影場所、iPhoneの数、人数が決まったらiPhoneを設置していきます。iPhoneを配置する際はそれぞれのiPhoneが交互に高さが異なるように設置します。例えば、cam1 - 180cm, cam2 - 120cm, cam3 - 180cm…といった形でキャプチャ対象を囲みます。キャプチャ対象となる人物は、全てのiPhoneが全身 + 頭上で手を合わせても、手が見切れない範囲の映る場所内にいる必要があります。このキャプチャ可能な範囲(Caputure Volume)から撮影中に外に出ないようにバミっておくことをお勧めします。旧世代のiPhoneになると0.5倍率の広角レンズが付いていないため、カメラ位置をかなり後ろに持っていく必要があります。そのため、できれば広角レンズの搭載されているiPhone11以降が利用できると良いでしょう。
服装や照明に関してのベストプラクティスは以下を参照してください。
次にアプリを開き、 ホストとキャプチャデバイスの設定を行います。ここでiPhoneは必ずしもネットワークにつなげる必要はありませんが、ネットワークに接続していれば録画した素材をサーバーにアップロードする際にそれぞれのiPhoneからアップロードできるため時間が短縮できます。
キャリブレーション - iPhoneアプリ
キャリブレーション用のテイクを撮影します。Move.aiではキャリブレーション時の手順がかっちりと定められているので注意が必要です。流れとしては、
ホスト側でRecordボタンを押して、録画を開始する
Capture Volumeの中心に立つ
頭の上で3回、はっきり音が聞こえるように手を叩く。
Yの字ポーズで2秒間静止する
Yの手の形を維持して、一つのiPhoneの正面を向きながらiPhoneに近づき、向いている状態は維持して中心に戻る。
5の動作を全てのiPhoneに向けて行う。
ホスト側で録画を停止する。
という流れになります。キャリブレーション時と本番テイク時で少しでもiPhoneがずれるとキャリブレーションがずれるので、頑丈な3脚やゴリラポッドに固定しましょう。
以下は実際のキャリブレーションの様子です。
本番テイク撮影 - iPhoneアプリ
キャリブレーション用のテイクを撮影し終わったら本番用のテイクを撮影します。この時も、録画を開始したのちに
頭の上で3回はっきり手を叩く
Tの字ポーズで2秒間静止する
キャプチャしたい動きをする
という、最初の動作がありますので注意していください。一回のキャプチャでは、Tの字ポーズを行なってから最長4分となります。
サーバーにアップロード- iPhoneアプリ
撮影後は、Move.aiのサーバーに録画したフッテージをアップロードします。ホスト側からFinish recordingを押して録画を終了し、Upload allを押してサーバーにアップロードを行います。後でアップロードできるように一度全ての動画をホスト側でダウンロードすることも可能です。詳細は以下を確認してください。
Calibration - iPhoneアプリ
アップロードが完了したら、Move.aiのWebアプリにログインします。
Move.aiでは、フッテージをProjects, Sessions, Takesという3層の構造で管理します。Takesは本番テイク、SessionsはTakesとキャリブレーションのセットで撮影時の設定(カメラ台数、iPhone or Experimental Modeなど)がメタデータとして付属している親シーケンス的なもの、Projectsは複数のSessionsをまとめたもの、という認識です。
ホスト機で作成したSessionの中に入り、"+ Calibration"ボタンからキャリブレーションを行います。この時、手を叩き始めた秒数、手を叩き終わった秒数、Yポーズを始めた秒数、キャリブレーションを終了する秒数、キャプチャ対象人物の身長を入力します。
処理は概ね5分以内に終了します。キャリブレーションに成功するとStatusが緑色になります。ちなみに、私はここで失敗することもありましたが何回かやると成功することもあるので場合はまちまちです。キャリブレーションのクオリティや推定されたカメラ座標もWebから確認できます。
モーションキャプチャ - iPhoneアプリ
ようやく実際のモーキャプまで辿り着きました。Sessionsから、"+Take"ボタンでTakeを作成します。その後の手順はほとんどCalibration
と変わりません。ただし、推論の実行直前に指のモーキャプをするかどうかと、リグの設定、エクスポートするフォーマットの設定があります。こちらも動画の尺にもよりますが概ね処理は10分程度で終了します。
Run SettingsのFormatsでエクスポート時方法を指定します。この段階でチェックを入れなかったフォーマットに関しては、処理終了後にエクスポートができないので注意してください。
エクスポート- iPhoneアプリ
処理が終わったらデータの確認、エクスポートを行ないます。Web上からはプレビュー動画が確認可能となっています。
今回は、Pre-RetargetのFBXをMixamoから持ってきたリグでUnity上で動かす検証と、エクスポートされる.blendファイルを確認しました。
カメラ2台でキャプチャしていますが、精度はかなり良いのではないでしょうか。今回は全身暗めかつ手首が隠れていましたが、明るめの服装で手首が露出しているような推奨される服装で撮影するとより精度が上がります。
Experimental Mode
追加実験として、Experimental Modeを利用しました。手持ちのiPhoneやiPad4台とwebカメラ1台の計5台を利用してそれぞれ録画し、編集ソフトを利用して再生位置合わせとカットを行いました。キャリブレーション時や本番テイク時の動作も全く一緒で、異なるポイントとしてはWebアプリ上からフッテージをアップロードする点だけなので詳細は省略します。以下結果です。
指定された撮影位置とは異なる場所にカメラを置いていますが、綺麗にキャプチャができています。個人的な感想としては、画角の異なるカメラを複数台使うと、全てのカメラで全身が画角に収まるような撮影可能範囲を確認するのに結構苦労しました。今回は3m×7mというスペースで撮影しましたが結構狭く感じた(実際全身がカメラに映る範囲は1m×2mくらい)ので、できればカメラの画角を気にしなくても良いくらい広いスペースで撮影し、個体差を減らすためにカメラも種類を揃えることが望ましいと思います。そもそも本来はiPhoneの利用を想定しているソフトウェアなので、できる限りiPhoneでキャプチャするのが楽かつ精度も安定するでしょう。
まとめ
今回はMove.aiを利用したモーションキャプチャを行いました。想像以上にキャプチャ精度が高く、なおかつ処理時間も短いため実用性はあると思います。この実験ではキャプチャ対象人数が1人だったのですが、複数人を同時にキャプチャしたい場合は以下が参考になるかと思います。
また、Move.aiは公式が公開しているテキストと動画のインストラクションが豊富なため利用方法や詳細なパラメータ設定がしやすかったというのも良いポイントでした。Discordサーバーもあるのでわからないことがあればここで聞いてみる方法もあります。
最後までお読みいただき誠にありがとうございました!
主な参考資料
▼ Dentsu Craft Tokyoをもっと知りたい方はこちら!
公式Twitter :@d_crafttokyo
公式Instagram :dentsucrafttokyo
公式FaceBook :https://www.facebook.com/dentsucrafttokyo/
公式YouTube :https://www.youtube.com/@dentsucrafttokyo2547
ホームページ :https://dentsucraft.tokyo/
Dentsu Craft Tokyoでは一緒に働く仲間を募集しています。
ご興味のある方はお気軽にご連絡ください。