Edited at

クラウド(colab)でMMD自動トレース(Unityもいけるよ)【4/1更新】

Chromeブラウザさえあれば、GPUのないパソコン、ノートパソコンでも、後は全部クラウド(colab)上で、MMD自動トレースを実行することができます!

ソースコード等、実行に必要なデータはすべてクラウド上に保存されます。

実行結果のMMDモーションデータ等は、Googleドライブに保存されるので、ご自分のローカル環境にダウンロードする事ができます。

所要時間は、導入編に30分、実行編準備に約60分、実行編実行に約60分です。大体3時間くらい見込んでおいてください。

English version has been added. Because I relied on Google translation, there may be a part where expression is strange. 【4/1】

途中生成データ(pos.txt)をUnityに読み込むことで、Unityでも自動トレース結果を動かすことが可能です。

参考: 動画を自動トレース⇒Unityでキャラクターに踊ってもらう - Qiita @kenkra

【目次】MMDモーショントレース自動化への挑戦


解説動画


colabとは


Google Colaboratory(略称:colab (コラボ)) は、完全にクラウドで実行される Jupyter ノートブック環境です。設定不要で、無料でご利用になれます。

こんにちはColaboratory - Colaboratory より

Jupyter Notebook (ジュピター・ノートブック) とは、ノートブックと呼ばれる形式で作成したプログラムを実行し、実行結果を記録しながら、データの分析作業を進めるためのツールです。

https://techacademy.jp/magazine/17430 より



colab版MMD自動トレース


作業の流れ


  1. Chromeブラウザを用意します。

  2. Googleアカウントを用意します。

  3. Googleドライブにアクセスします。

  4. Googleドライブに autotrace というフォルダを作成します。


    • colab版MMD自動トレースでは、autotrace フォルダを参照・操作します。

    • トレース元動画を、このフォルダにアップロードします。

    • トレース結果は、このフォルダに実行年月日(米時間?)で作成します

    • 1回のトレースにつき、大体1GBのデータが生成されます。

    • 何回も試しているとすぐ容量がパンクしてしまうので、適宜ゴミ箱にいれて、ゴミ箱を空にしてください。

    • トレース元動画の注意点


      • ファイル名は 半角英数字のみ にしてください。

      • Googleドライブの autotrace フォルダ 直下に置いてください。

      • FPSは、30fps もしくは 60fps にしてください。

      • 大きさは、1280x720 にしてください。

      • 横幅が1280以外、もしくはFPSが30/60以外の場合、再エンコードを自動で行います。


      • マウント後のGooleドライブ上のファイルの上書きや更新は正しく認識されません。 新しいファイルは新規の名前でアップロードしてから処理して下さい。

      • 複数人数のトレースの場合、画面上から人物が消えると、並び順が取得できなくなるので、できるだけ取得したい人数分全員が映っているようにしてください。






  5. autotrace フォルダに、半角英数字のファイル名で、トレースしたい動画をアップロードします。

  6. 導入編を開き、上から順番に実行していきます。使い方を了解していただいた方はスキップしていただいてOKです


    • セル(プログラム)の実行

    • Googleドライブとの連携(読み込み)


      • ミソジサラリーマン様(@keriwaza) より、トレース用素材動画を提供していただきました。ご自由にDLしてお使いください。



    • Googleドライブとの連携(出力)

    • ランタイムの変更



  7. 実行編を開き、上から順番に実行していきます。


    • ランタイムの確認

    • 準備セクションのセルをすべて実行します


      • この処理で、MMD自動トレースに必要なプログラムやデータがすべてcolab上に作成されます。

      • 大体40~60分くらいかかります。



    • 実行セクションのセルを上から順番に1つずつ実行します


      • トレース元動画の指定


        • 動画ファイル名が指定可能なので、mp4でもaviでもいけますが、aviはアップロードに時間がかかります。



      • トレースパラメーターの設定

      • トレース処理実行

      • 人数にもよりますが、6000Fで大体50~60分くらいかかります。





  8. トレース結果をGoogleドライブからダウンロードします。


    • Googleドライブには、必要最低限のファイルのみコピーしています。

    • それ以外のデータが必要な場合、colabの /content/output/ディレクトリ以下を適宜ダウンロードしてください。



  9. MMDの場合、背景AVIとモーションデータを読み込んでください。

  10. Unityの場合、pos.txtからモーションデータを作成してください。詳細

以上です。

詳しくは、各ノートブックを確認してください。


トレース結果のフォルダ内容

自動トレースを実行すると、Googleドライブの autotrace フォルダに以下ファイルが作成されます。

MMDに必要なのは、MMD背景用AVIと、MMDモーションデータです。(太字)

Unityの場合は、INDEX別のpos.txtです。(斜字)



  • {実行日時} ディレクトリ


    • FCRN-DepthPrediction-vmdの結果



      • output_XXXX.avi … Openposeの推定結果に、人物INDEXを判定した情報を載せた動画ファイル。そのままMMDに読み込めます。


        • output_XXXX.aviでは、推定された順番に人物に色が割り当てられています。体の右半分は赤、左半分は以下の色になります。
          0:緑, 1:青, 2:白, 3:黄, 4:桃, 5:水色, 6:濃緑, 7:濃青, 8:灰色, 9:濃黄, 10:濃桃, 11:濃水色



      • message.log … 出力順番等、パラメーター指定情報の出力ログ

      • reverse_frames.txt … 「反転フレームリスト」で指定したパラメーター

      • order_specific.txt … 「順番指定リスト」で指定したパラメーター




    • index{0X} ディレクトリ


      • 人物INDEX別情報。Openposeの0F目で推定した人物順にINDEXが割り振られます。(左からとは限りません)

      • 3d-pose-baseline-vmdの結果



        • pos.txt … 全フレームの関節データ。Unityに読み込むのはこのデータ。詳細:Output



      • VMD-3d-pose-baseline-multiの結果



        • output_{日付}{時間}u{直立フレームIDX}_h{踵位置補正}_z{センターZ移動倍率}s{円滑化度数}p{移動キー間引き量}r{回転キー間引き角度}full/reduce.vmd


          • 自動トレースを行ったMMDモーションデータ

          • キーフレームの間引きなしの場合、末尾は「full」。アリの場合、「reduce」。

          • モデルやパラメーターはcolab上で指定したパラメーターで出力されます。










ノートブック


導入編(Preparation)

colabの使い方とかに慣れていただくために、導入編をご用意しました。

まずはこちらのリンクを開いてみて下さい。

AutoTraceIntroduction.ipynb

AutoTraceIntroduction_en.ipynb (English version)

colabで開くと、中でノートブックのテキストとコードが読めます。

※編集はできません。

後は、ノートブックに従って操作方法を試してみて下さい。


実行編(Execution)

操作方法が理解できたら、次はキットの準備と実際に実行を行います。

AutoTrace.ipynb

AutoTrace_en.ipynb (English version)

こちらも詳しいことはノートブックに従って操作して下さい。


分からない事、困った事があった場合

colabのノートブックが開ける状態でしたら、導入編の手順に従ってノートブックのコピーを私に共有してください。

開けない状態でしたら、この記事に直接ご連絡下さい。


ライセンス

MMD自動トレースの結果を公開・配布する場合は、必ずライセンスのご確認をお願い致します。ライセンスを記載いただけたらとても有難いです。Unityの場合も同様です。

MMDモーショントレース自動化キットライセンス


注意点

colabは使い捨ての環境です。

一度作成した環境は、12時間後には破棄されます。

また、90分無操作の状態が続いても破棄されるようです。

実行編の「インストール完了確認」セクションのセルを実行した結果で、データがなくなっている(No such file or directory)場合、実行編の頭からやり直してください。

Googleドライブとの連携も再設定が必要です。

ただし、Googleドライブに保存したデータは消えません。

Googleのプロジェクトは進捗がとても早いです。

そのため、状況がころころ変わって、処理が失敗するようになる、といった事が予想されます。

その際は、お手数ですが、ノートブックのコピーを共有してご連絡下さい。