16
Help us understand the problem. What are the problem?

posted at

updated at

Windows への 3d-pose-baseline-vmd の導入手順【2/17更新】

この記事は【目次】MMDモーショントレース自動化への挑戦の為の導入手順になります。

v2リリースに伴い、こちらの導入は廃止となりました。クラウド版をご利用ください
クラウド(colab)でMMD自動トレース

miu200521358/3d-pose-baseline-vmd

2Dの骨格位置情報から3Dの関節情報に変換するライブラリの私的改変版。

1. h5py のインストール

h5py

capture001191.jpg

1. 「Aanaconda Prompt」で、1.で作成したディレクトリに移動

※新しくプロンプトを立ち上げた場合には、「activate tensorflow」で、必ず自分が作成した環境に移動すること
 コマンド入力行の先頭に (tensorflow) と、環境名が出ていればOK。

cd C:\MMD\3d-pose-baseline-vmd

2. h5py をインストール

conda install h5py

capture001192.jpg

3. Proceed は 「y」で実行継続

capture001193.jpg

4. しばし待つ

capture001194.jpg

5. 完了

2. 3d-pose-baseline-vmd の導入

capture001218.jpg

1. miu200521358/3d-pose-baseline-vmd
のトップページから「Clone or Download」>「Download ZIP」を順に押下

2. ダウンロードした圧縮ファイルを、空白のないパス以下に解凍。私は以下に配置しました。

C:\MMD\3d-pose-baseline-vmd

3. H36Mデータ の導入

1. 上記ディレクトリに「data」ディレクトリを作成する

capture001197.jpg

2. H36Mデータzip を直接ダウンロードする

capture001219.jpg

3. ダウンロードした圧縮ファイルを解凍して、1. の「data」ディレクトリ以下に配置する

C:\MMD\3d-pose-baseline-vmd\data\h36m

4. 学習データ の導入

※オリジナルの学習データは、Windowsの260文字パス制限にひっかかるため、パスを簡略化して再生成しました。

1. 「data」ディレクトリと同じ階層に「experiments」ディレクトリを作成する

2. 学習データzip (GoogleDrive) を直接ダウンロードする

capture001220.jpg

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

capture001222.jpg

実行方法

  1. Openpose簡易起動バッチ で データを解析する
  2. 深度推定で 深度推定と人物インデックス別のデータを生成する
  3. OpenposeTo3D.bat を実行する
  4. INDEX別ディレクトリパス が聞かれるので、2.の人物インデックス別パスのフルパスを指定する
    • {動画ファイル名}_json_{実行日時}_index{0F目の左からの順番}
    • 複数人数のトレースの場合、別々に実行が必要
  5. 詳細なログを出すか 聞かれるので、出す場合、yes を入力する
    • 未指定 もしくは no の場合、通常ログ(各パラメータファイルと3D化アニメーションGIF)
    • warn の場合、3D化アニメーションGIFも生成しない(その分早い)
    • yesの場合、詳細ログを出力し、ログメッセージの他、デバッグ用画像も出力される(その分遅い)
  6. 処理開始
  7. 処理が終了すると、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様、ありがとうございます!

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
16
Help us understand the problem. What are the problem?