この記事は【目次】MMDモーショントレース自動化への挑戦の為の導入手順になります。
v2リリースに伴い、こちらの導入は廃止となりました。クラウド版をご利用ください
クラウド(colab)でMMD自動トレース
miu200521358/3d-pose-baseline-vmd
2Dの骨格位置情報から3Dの関節情報に変換するライブラリの私的改変版。
1. h5py のインストール
1. 「Aanaconda Prompt」で、1.で作成したディレクトリに移動
※新しくプロンプトを立ち上げた場合には、「activate tensorflow」で、必ず自分が作成した環境に移動すること
コマンド入力行の先頭に (tensorflow) と、環境名が出ていればOK。
「cd C:\MMD\3d-pose-baseline-vmd」
2. h5py をインストール
「conda install h5py」
3. Proceed は 「y」で実行継続
4. しばし待つ
5. 完了
2. 3d-pose-baseline-vmd の導入
1. miu200521358/3d-pose-baseline-vmd
のトップページから「Clone or Download」>「Download ZIP」を順に押下
2. ダウンロードした圧縮ファイルを、空白のないパス以下に解凍。私は以下に配置しました。
「C:\MMD\3d-pose-baseline-vmd」
3. H36Mデータ の導入
1. 上記ディレクトリに「data」ディレクトリを作成する
2. H36Mデータzip を直接ダウンロードする
3. ダウンロードした圧縮ファイルを解凍して、1. の「data」ディレクトリ以下に配置する
「C:\MMD\3d-pose-baseline-vmd\data\h36m」
4. 学習データ の導入
※オリジナルの学習データは、Windowsの260文字パス制限にひっかかるため、パスを簡略化して再生成しました。
1. 「data」ディレクトリと同じ階層に「experiments」ディレクトリを作成する
2. 学習データzip (GoogleDrive) を直接ダウンロードする
3. ダウンロードした圧縮ファイルを解凍して、1. の「experiments」ディレクトリ以下に配置する
「C:\MMD\3d-pose-baseline-vmd\experiments\All\dropout_0.5(略)」
5. 3d-pose-baseline-vmd 実行
1. 「Aanaconda Prompt」を起動し、(tensorflow)を有効にして、「3d-pose-baseline-vmd」のインストールディレクトリに移動
「cd C:\MMD\3d-pose-baseline-vmd」
実行方法
- Openpose簡易起動バッチ で データを解析する
- 深度推定で 深度推定と人物インデックス別のデータを生成する
-
OpenposeTo3D.bat を実行する
- OpenposeTo3D_en.bat is in English. !! The logs remain in Japanese.
-
INDEX別ディレクトリパスが聞かれるので、2.の人物インデックス別パスのフルパスを指定する{動画ファイル名}_json_{実行日時}_index{0F目の左からの順番}- 複数人数のトレースの場合、別々に実行が必要
-
詳細なログを出すか聞かれるので、出す場合、yesを入力する- 未指定 もしくは
noの場合、通常ログ(各パラメータファイルと3D化アニメーションGIF) -
warnの場合、3D化アニメーションGIFも生成しない(その分早い) -
yesの場合、詳細ログを出力し、ログメッセージの他、デバッグ用画像も出力される(その分遅い)
- 未指定 もしくは
- 処理開始
- 処理が終了すると、3. の
人物インデックス別パス内に、以下の結果が出力される。- pos.txt … 全フレームの関節データ(VMD-3d-pose-baseline-multi に必要) 詳細:Output
- start_frame.txt … 開始フレームインデックス(VMD-3d-pose-baseline-multi に必要)
- smoothed.txt … 全フレームの2D位置データ(VMD-3d-pose-baseline-multi に必要) 詳細:Output
- movie_smoothing.gif … フレームごとの姿勢を結合したアニメーションGIF
- smooth_plot.png … 移動量をなめらかにしたグラフ
- frame3d/tmp_0000000000xx.png … 各フレームの3D姿勢
- frame3d/tmp_0000000000xx_xxx.png … 各フレームの角度別3D姿勢(詳細ログyes時のみ)
注意点
- Openpose のjson任意ファイル名に12桁の数字列は使わないで下さい。
-
short02_000000000000_keypoints.jsonのように、{任意ファイル名}_{フレーム番号}_keypoints.jsonというファイル名のうち、12桁の数字をフレーム番号として抽出するため
-
便利ツール【1/20追記】
kenkra様が、3d-pose-baseline-vmdの結果(pos.txt)をブラウザで可視化できるツールを作ってくださいました!
上記ディレクトリをご自分のPCにダウンロードして、利用方法等をご確認下さい。
kenkra様、ありがとうございます!








