PC の Web カメラでキャプチャーする
v0.25.0-exp.1 以降が必要です。
この機能は実験段階です。iPhone を使う構成に比べて、特に表情と頭の向きの精度が落ちます。アプリのホーム画面でも iPhoneカメラ が「推奨」として既定になっています。
概要
Windows PC につないだ Web カメラだけでモーションキャプチャーする構成です。iPhone を用意しなくても、頭・体・手・表情を動かせます。
キャプチャー機能は フュージョンアプリに内蔵 されているため、キャプチャーアプリを別に起動する必要はありません。フュージョンアプリが Web カメラの映像を解析し、そのままスタジオアプリへモーションを送ります。
iPhone 構成では ARKit が顔の姿勢と表情を実測しますが、Web カメラ構成には ARKit がありません。精度が iPhone 構成に劣るのはこのためです。
必要な機材
- Windows PC
- Web カメラ(対角画角が分かるもの。設定に必要です)
- カメラを固定する台(ディスプレイ上部に固定できるものを推奨)
iPhone・スマホホルダー・WiFi の準備は不要です。すべて PC 内で完結します。
使い方
- スタジオアプリとフュージョンアプリを起動します。
- リモートアプリのホームページの 「キャプチャーカメラの選択」 で PCのWebカメラ を選びます。以降のセットアップ手順が Web カメラ構成に切り替わります。
- 「キャプチャー」 ページの キャプチャー スイッチをオンにします。オンにすると、カメラ以降の設定項目が表示されます。
- 「カメラ」 セクションで、使用するカメラデバイスとモード(解像度/FPS)を選びます。
- カメラ画角 を、実際に使う Web カメラの対角画角に合わせます。
- 映像プレビューで、顔と上半身が映っていることを確認します。
- アバターページのカメラキャリブレーションを実行します。
カメラの設定
「カメラ」セクションの項目です。
| 項目 | 既定 | 説明 |
|---|---|---|
| 映像プレビュー | — | Web カメラの映像。顔と上半身が入っているか確認します。 |
| カメラデバイス | 自動 | 使用する Web カメラ。未選択のままだと、起動に成功した最初のデバイスを使います。 |
| Webカメラモード | 640x480@30 | 解像度と FPS。選択中のデバイスが実際に対応しているモードだけが並びます。 |
| カメラ画角 | 78° | カメラの 対角 画角(20〜120°)。 |
| 鏡像 | オン | 左右反転。iPhone(ARKit)と同じ見え方になります。 |
| 上下反転 | オフ | 反転した映像を出すデバイスの補正用。 |
カメラ画角 は必ず実機に合わせてください。頭の前後の動きのスケールがこの値を基準に計算されるため、ずれていると頭の距離が正しく反映されません。
Web カメラの仕様表は、ほぼ「対角」の画角で記載されています(例: Logitech C920 は 78°)。既定値もこれに合わせてあります。
既定が 640x480@30 なのは、USB 2.0 接続の Web カメラだと非圧縮フォーマットの 720p が帯域制限で 10fps 程度まで落ちるためです。MediaPipe はモデル内部でさらに映像を縮小するので、解像度を上げてもトラッキング品質への影響は小さく、フレームレートを確保する方が有利です。
トラッキングの設定
「トラッキング」セクションの項目です。
| 項目 | 既定 | 説明 |
|---|---|---|
| 現在のプロバイダ | MediaPipeHolistic | 実際に使われているトラッキングプロバイダ。 |
| Pose モデル | Full | 胴体トラッキングのモデル(Lite / Full / Heavy)。重いモデルほど精度が高くなりますが遅くなります。MediaPipeFacePoseHands のときだけ表示されます。 |
| 頭の前後動作 | オン | 両目尻の見かけの間隔から、頭とカメラの距離を推定して反映します。 |
| 頭の距離 | 0.6m | カメラから頭までの固定距離(0.3〜2.0m)。「頭の前後動作」がオフのときと、顔を検出できていない間のフォールバックに使われます。 |
プロバイダ
Windows では次の 2 つを選べます(ARKit が無いため、iPhone 向けの MediaPipeAndARKit は選択肢に出ません)。
- MediaPipeHolistic — Holistic Landmarker の 1 タスクで顔・体・手をまとめて解析します。
Autoのときに選ばれる Windows の既定です。 - MediaPipeFacePoseHands — Face / Pose / Hand の 3 タスクを個別に動かします。こちらでは Pose モデル を Lite / Full / Heavy から選べます。
切り替えは 「プロバイダを変更して再起動」 ボタンから行います。プロバイダはアプリの起動時にしか反映されないため、変更するとアプリが再起動します。
FPS の確認
「FPS」セクションに、アプリ / 頭 / 体 / 手 / Webカメラ のフレームレートが表示されます。動きがガクガクする場合は、ここでどの処理が遅れているかを確認できます。Web カメラの FPS が出ていない場合は、モードの設定(解像度が高すぎないか)を見直してください。
iPhone 構成との違い
| iPhone(推奨) | PC の Web カメラ | |
|---|---|---|
| 表情 | ARKit が実測 | 顔ランドマークから ARKit 相当のブレンドシェイプを組み立て |
| 頭の向き | ARKit の変換行列 | 目尻・額・顎の 4 点から推定 |
| 頭の距離 | 実測 | 両目尻の間隔から推定、または固定値 |
| キャプチャーアプリ | iPhone で別途起動 | フュージョンアプリに内蔵 |
| 接続 | WiFi 経由 | PC 内で完結 |
現在の制限事項
- 実験段階の機能です。iPhone 構成に比べて、特に表情と頭の向きの精度が落ちます。
- 頭とカメラの距離は推定値のため、カメラ画角 の設定が実機とずれていると正しいスケールになりません。
- カメラの設置や撮影環境のコツは、よりよい結果を得るために の iPhone 向けの内容がそのまま当てはまります(発熱対策を除く)。