この記事は【目次】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様、ありがとうございます!