人工知性を作りたい

私が日々、挑戦したことや学んだことなどを紹介していく雑記ブログです。 (新しいAI技術HTM, 専門の音声信号処理, 趣味のアニメ等も書いてます。)

VTuberになる方法、頭の動きと表情が連動します。 [VTuber Unity - Ubuntu 20.04 venv仮想環境]

 

UbuntuでVtuberになれるコードを作ってくれている方がいたのでその紹介と動かし方の説明です。

 

本記事のテーマ

「UbuntuでVTuberのように頭に連動してモデルを動かす」

 

 

動作環境

  • Ubuntu20.04
  • USBカメラ
  • Unityちゃん 

Windowsでも動くように作られています。

 

完成品

f:id:hiro-htm877:20210523072020g:plain

 

 

動画で説明

説明しながら実装していく様子を動画にしています。

 


www.youtube.com

 

 

 VTuberになる方法

1. Githubからソースコードを取得する

github.com

 

 

2. python仮想環境の作成

今回はUbuntuのPython環境を汚したくないため、仮想環境にて動かせるようにします。

※この条件が問題で完成するのに時間がかかりました。。。

 

下記の流れで構築します。

・仮想環境構築

python3 -m vevn venv_vtuber

・仮想環境に入る

source venv_vtuber/bin/activate

・必要なPackageをインストール

cd VTuber_Unity

pip install -r requirement_gpu.txt

 ※CPUを使用する場合はrequirement_cpu.txtでインストールしてください。

 

GPUを使うとき、それぞれのGPUでCUDAのVersionがことなるため使用するPytorchのVersionも違います。気をつけてインストールしてください。

※私はrequirement_gpu.txtを変更して自分の環境と異なる部分は削除しました。記事の後ろに私のrequirementを記載しておきます。

 

私はCUDA10.1だったので公式サイトのPreviousからCtrl FでCUDA10.1を検索し、一番新しいものを選択しました

Previous PyTorch Versions | PyTorch

pip install torch==1.7.1+cu101 torchvision==0.8.2+cu101 torchaudio==0.7.2 -f https://download.pytorch.org/whl/torch_stable.html

 

学習済みモデルの配置、連動するUnity binaryのダウンロード

下記から、models.zip(学習済みモデル), linux86_64.zip(Unity Binary)をダウンロードする。

modelsを解凍して、face_alignment/ckpts/2FFAN-4.pth.tarのように配置します。

linux86_64.zipは任意の場所に解凍してください。

github.com

 

Scriptの実行 - カメラで顔認識

demo.pyを実行します。

python demo.py --debug. (add --cpu if you have CPU only)

上手く動きましたでしょうか? 

 私の環境では画像が表示されず、エラーもでず、処理が終わらないという問題が発生しました。おそらくpip install pencv-pythonでインストールしたライブラリが上手く紐付けられていないのかなと思います。

※試しにmatplotlibで描画したら表示されました。

解決法は、ローカルでOpenCVをビルドして、スクリプトからBuldしたライブラリをImportすることです。

その時の記事を書いていますので同様らしい問題の方はご参照ください!

 

www.hiro877.com

 

 Scriptの実行 - Unityモデルとカメラ映像の同期

まず、linux86_64.zip内にあったunitychan.x86_64をクリックして実行します。

次に下記コマンドを実行します。

python demo.py --debug --connect

これで 完成動画のように自分の頭の動きと連動してユニティちゃんが動くようになったと思います。

 

最後に

UbuntuでVTuberになる方法は調べるといくつか出てきました。

個人的に一番楽なのはVRChatを使うだと思います。

また、動かしたいモデルの形式によっても色々あることを知りました。

例えばLive2dのモデルやUnityの3Dもでるの動かし方はことなるようなので、動かしたいモデルがある場合はそのソフトで動くかどうか確認するのは大事だと思います。

 

動かない等、なにか問題があれば気軽にコメントください!

※解決できるかはわかりませんが。。。

 

参考動画

VTuber Unity - Ubuntu 20.04 - RTX 3090

私はこの動画を見て進めたのでこちらを見たほうがわかりやすいかもしれません。


www.youtube.com

 

 requirement_gpu.txt

numpy<1.17
#opencv-python>4
#torch<=1.2.0
numba
scipy>0.16