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

posted at

updated at

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

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

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

miu200521358/VMD-3d-pose-baseline-multi

3Dの関節情報からvmd(MMDモーションファイル)を出力するライブラリの私的改変版。

1. VMD-3d-pose-baseline-multi の導入

capture001223.jpg

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

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

C:\MMD\VMD-3d-pose-baseline-multi

2. 学習データの導入

※ MMDを触ってる方の場合、Windowsでシェル環境がない方が多いと思いますので、VMD-Liftingsetup.sh から、必要なとこだけ抜き出してます

1. dataディレクトリ配下 に saved_sessions ディレクトリを作成する

2. 以下2ファイルをダウンロードする

http://visual.cs.ucl.ac.uk/pubs/liftingFromTheDeep/res/init_session.tar.gz
http://visual.cs.ucl.ac.uk/pubs/liftingFromTheDeep/res/prob_model.tar.gz

capture001224.jpg

3. ダウンロードした圧縮ファイルを解凍し、saved_sessionsディレクトリ配下に設定する

3. 必要ライブラリのインストール

capture001221.jpg

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

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

cd C:\MMD\VMD-3d-pose-baseline-multi

2. 必要ライブラリをインストール。以下コマンドを一行ずつ「Aanaconda Prompt」に入力してEnter。

pip install PyQt5

4. VMD-3d-pose-baseline-multi 実行

1. 「Aanaconda Prompt」を起動し、(tensorflow)を有効にして、「VMD-3d-pose-baseline-multi」のインストールディレクトリに移動

cd C:\MMD\VMD-3d-pose-baseline-multi

capture001222.jpg

実行方法

  1. Openpose簡易起動バッチ で データを解析する
  2. OpenposeTo3D.bat を実行する
  3. miu200521358/FCRN-DepthPrediction-vmd で生成された深度推定データ(depth.txt)を用意する
  4. miu200521358/3d-pose-baseline-vmd で生成された3D関節データ(pos.txt)、2D関節データ(smoothed.txt)を用意する
  5. miu200521358/3dpose_gan_vmd で生成された3D関節データ(pos_gan.txt)、2D関節データ(smoothed_gan.txt)を用意する
  6. 3DToVmd.bat を実行する
  7. 3D解析結果ディレクトリパス が聞かれるので、1.の結果ディレクトリパスを指定する
  8. ボーン構造CSVファイル が聞かれるので、トレース先のモデルのボーン構造CSVファイルパスを指定する
  9. 足をIKで出力するか 聞かれるので、出す場合、yes を入力する
    • 未指定 もしくは yes の場合、IKで出力する
    • no の場合、FKで出力する
  10. 踵位置補正 が聞かれるので、踵のY軸補正値を数値(小数可)を指定する
    • マイナス値を入力すると地面に近付き、プラス値を入力すると地面から遠ざかる。
    • ある程度は自動で補正するが、ヒールのある靴や厚底などで補正しきれない場合に設定
    • 未指定の場合、「0」で補正を行わない
  11. センターZ移動倍率 が聞かれるので、センターのZ移動時の移動幅を入力する
    • 値が小さいほど、Zの移動量が少なくなり、大きいほど、移動量が増える
    • 未指定の場合、デフォルトで「5」とする
    • 「0」を指定した場合、センターZ移動を行わない
  12. 円滑化度数 が聞かれるので、適当な正の整数を指定する
    • 未指定の場合、デフォルトで1回指定
  13. 移動キー間引き量 が聞かれるので、移動キー(センター・IK)間引き時の移動量(小数可)を指定する
    • 指定された移動量範囲内の移動キーフレームを間引く
    • 未指定の場合、デフォルトで「0.5」とする
    • 「0」が指定された場合、間引きを行わず、以下回転キー間引き角度はスキップする
  14. 回転キー間引き角度 が聞かれるので、回転系ボーン間引き時の回転角度(0~180度の整数のみ)を指定する
    • 回転が指定された角度範囲内であれば、キーフレームを間引く
    • 未指定の場合、デフォルトで「3」とする
  15. 詳細なログを出すか 聞かれるので、出す場合、yes を入力する
    • 未指定 もしくは no の場合、通常ログ
  16. 処理開始
  17. 処理が終了すると、1. の結果ディレクトリ以下に vmdファイルが出力される
    • output_{日付}_{時間}_u{直立フレームIDX}_h{踵位置補正}_z{センターZ移動倍率}_s{円滑化度数}_p{移動キー間引き量}_r{回転キー間引き角度}_full/reduce.vmd
      • キーフレームの間引きなしの場合、末尾は「full」。アリの場合、「reduce」。
    • upright.txt … 直立フレームのキー情報
  18. MMDを起動し、モデルを読み込んだ後、モーションを読み込む
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
4
Help us understand the problem. What are the problem?