1206 文字
6 分
WebカメラでSteamVR・VRChatフルトラッキング

WebカメラでSteamVRのフルトラッキングを行える、Mediapipe-VR-Fullbody-Trackingを使ってみた時のメモです。

VRChatでフルトラを試してみました。

ゆるふわ原理説明#

姿勢ランドマーク検出ガイド  |  Google AI Edge  |  Google AI for Developers
姿勢ランドマーク検出ガイド  |  Google AI Edge  |  Google AI for Developers favicon ai.google.dev
姿勢ランドマーク検出ガイド  |  Google AI Edge  |  Google AI for Developers

内部的には、Googleが公開している機械学習ライブラリMediaPipePose Landmarkerが使われていると思います(たぶん)。

中身は多分こんな感じになっています(たぶん)。

  1. Webカメラで撮影した人の映像を、Pose Landmarkerに入力する
  2. Pose Landmarkerから姿勢の情報(脚の座標、腰の座標など)が出力される
  3. いろいろ補正して、姿勢情報をSteamVRの仮想トラッカーとして扱えるようにする
  4. 仮想トラッカーの出力をVRChatなどで利用

手順#

リポジトリのREADME.mdにも説明が書いてありますが、要約を日本語でまとめてみます。

初回セットアップ#

(ダウンロード、ドライバーインストールについては、2回目以降は必要ありません)

ダウンロードする#

ju1ce
/
Mediapipe-VR-Fullbody-Tracking
Waiting for api.github.com...
00K
0K
0K
Waiting...

リポジトリのReleasesページを開き、mediapipepose-0.7-beta-windows.zip をダウンロードします。

ダウンロードが終わったら適当なディレクトリに展開します。

ドライバーをインストールする#

<展開先のディレクトリ>/driver_files/install_driver.exe を起動し、ドライバーをインストールします。

Webカメラを設置#

WebカメラをPCに接続し、良い感じの場所に設置します。

TIP

Webカメラを準備する際の注意点です。

  • つま先から頭まで含めた全身正面から収める必要があります。
    • 映像が縦向きになるようにカメラを設置すると収まりやすいです。人体は縦長なので
    • 余りにも低い位置・高い位置にカメラを設置していると精度が落ちます。
  • カメラ解像度と精度は基本的に関係ないため、高画質なカメラを使う必要はありません。(映像は内部的に256*256の解像度で扱われます)
TIP

Android端末がある場合、IP WebcamをインストールすることでWebカメラを代用することができるようです。(私は使っていません…)

プログラムを起動し、初期設定する#

start_mediapipepose.bat を開き、プログラムを開始します。

しばらく待つと初期設定ウィンドウが開きます。カメラの設定などをしていきます。

初期設定ウィンドウ

Camera IP or ID#

USB接続の一般的なWebカメラを使っている場合、0を指定します。意図していないWebカメラが起動した場合は1, 2…を試してください。接続中のWebカメラと番号が1対1で対応しています。

IP Webcamを使っている場合はパス名(例: http://<ip_address>:8080/video)を指定します。

Camera width / Camera height#

基本的にデフォルトで大丈夫です。

Backend#

SteamVRを指定している前提で話を進めます。

その他#

チェックが外れていることを確認してください。

Save and Continueまだクリックしないでください。SteamVRが起動していない状態で先に進むと、アプリが停止します。

SteamVRを起動する#

HMDを被って、SteamVRを起動します。直接VRCを起動しないでください。

キャリブレーション#

SteamVRでデスクトップの画面を表示し、初期設定ウィンドウのSave and Continue をクリックします。キャリブレーション画面が表示されます。

キャリブレーション画面

カメラの正面に真っ直ぐ立ち、Recalibrateボタンをクリックします。

ゲームを起動する#

SteamVRのトップ画面からゲームを起動します。今回はVRChatを起動します。

VRChat側でもキャリブレーションしましょう。

結果#

おしゃしん#

しあん

脚が上がる!

しあん

体を捻れる!

こんふぃ

スクワットできる!

やりたいこと#

現状だとトラッキングがカク付いてしまうのですが、どうもWebカメラ側の調子が悪いような気がします1。 なんとかしたいね。

シアンちゃんでフルトラBeatSaberの動画も撮れないかなーーと思案しているところです。シアンだけに

使用モデル#

【オリジナル3Dモデル】シアン - Cian #Cian3D - sep-neko-ya - BOOTH
他言語版 (English) の商品説明は下に記載しております。 English product descriptions are listed below.
【オリジナル3Dモデル】シアン - Cian #Cian3D - sep-neko-ya - BOOTH favicon booth.pm
【オリジナル3Dモデル】シアン - Cian #Cian3D - sep-neko-ya - BOOTH
【BOOST版】VRChat アバター ムキムキComfy(無料版と同じです) - のりたま3工房 - BOOTH
※※※軽量化とパッケージ改善しました※※※ VRChatアバター ムキムキComfy のりたま3にコーヒーをご馳走するBOOST有り版です。 無料版と内容は同じです。 VRChatアバター ムキムキComfy かせいすきー(kasei.ski)でおなじみの :blobcatcomfy_mukimuki: が3Dモデルになって動きます! ・表情は変わりません ・口は動きません 禁止事項 ・再配布 ・センシティブ [変更履歴] 2024/01/19 シェーダーを変更しました lilToonシェーダー (旧VRM/MToon) インポート前にlilToonをインストールしてください
【BOOST版】VRChat アバター ムキムキComfy(無料版と同じです) - のりたま3工房 - BOOTH favicon booth.pm
【BOOST版】VRChat アバター ムキムキComfy(無料版と同じです) - のりたま3工房 - BOOTH

Footnotes#

  1. OBSでWebカメラの映像を映すとグリッチが発生していました

この記事を共有

コピーしました
コピーしました