UbuntuでVtuberになれるコードを作ってくれている方がいたのでその紹介と動かし方の説明です。
- 本記事のテーマ
- 完成品
- 動画で説明
- VTuberになる方法
- 学習済みモデルの配置、連動するUnity binaryのダウンロード
- Scriptの実行 - カメラで顔認識
- Scriptの実行 - Unityモデルとカメラ映像の同期
- 最後に
- 参考動画
- requirement_gpu.txt
本記事のテーマ
「UbuntuでVTuberのように頭に連動してモデルを動かす」
動作環境
- Ubuntu20.04
- USBカメラ
- Unityちゃん
Windowsでも動くように作られています。
完成品
動画で説明
説明しながら実装していく様子を動画にしています。
VTuberになる方法
1. Githubからソースコードを取得する
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は任意の場所に解凍してください。
Scriptの実行 - カメラで顔認識
demo.pyを実行します。
python demo.py --debug. (add --cpu if you have CPU only)
上手く動きましたでしょうか?
私の環境では画像が表示されず、エラーもでず、処理が終わらないという問題が発生しました。おそらくpip install pencv-pythonでインストールしたライブラリが上手く紐付けられていないのかなと思います。
※試しにmatplotlibで描画したら表示されました。
解決法は、ローカルでOpenCVをビルドして、スクリプトからBuldしたライブラリをImportすることです。
その時の記事を書いていますので同様らしい問題の方はご参照ください!
Scriptの実行 - Unityモデルとカメラ映像の同期
まず、linux86_64.zip内にあったunitychan.x86_64をクリックして実行します。
次に下記コマンドを実行します。
python demo.py --debug --connect
これで 完成動画のように自分の頭の動きと連動してユニティちゃんが動くようになったと思います。
最後に
UbuntuでVTuberになる方法は調べるといくつか出てきました。
個人的に一番楽なのはVRChatを使うだと思います。
また、動かしたいモデルの形式によっても色々あることを知りました。
例えばLive2dのモデルやUnityの3Dもでるの動かし方はことなるようなので、動かしたいモデルがある場合はそのソフトで動くかどうか確認するのは大事だと思います。
動かない等、なにか問題があれば気軽にコメントください!
※解決できるかはわかりませんが。。。
参考動画
・
私はこの動画を見て進めたのでこちらを見たほうがわかりやすいかもしれません。
requirement_gpu.txt
numpy<1.17 #opencv-python>4 #torch<=1.2.0 numba scipy>0.16