ControlNeXt-SVDで遊ぶメモ
このメモを読むと
・ControlNeXt-SVDを試せる
・img2videoをお手軽に試せる
検証環境
・OS : Windows11
・Mem : 64GB
・GPU : GeForce RTX™ 4090
・ローカル(pyenv+venv)
・python 3.10.11
・2024/7/B時点
ControlNeXt-SVD
一枚絵とopenposeのモーション動画を入力することで、
画像へ動きを付与することができます。
試してみましょう!
事前準備
下記モデルを用いるため、hugging faceへログインし利用認証を得ましょう。
環境構築
とても簡単です!
1. リポジトリをインストールし、ディレクトリ移動
https://github.com/dvlab-research/ControlNeXt.git
cd ControlNeXt/ControlNeXt-SVD
2. 仮想環境を作成し、環境切替
python -m venv .venv
.venv\scripts\activate
3. 追加パッケージのインストール
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
pip install pip install einops decord
pip install -r ../requirements.txt
4. 重み格納用ディレクトリを作成
mkdir pretrained
5. こちらから重みをDLし、./pretrained直下へ格納
6. プロンプト上でhugging-faceへログイン
トークンを入力
huggingface-cli login
_| _| _| _| _|_|_| _|_|_| _|_|_| _| _| _|_|_| _|_|_|_| _|_| _|_|_| _|_|_|_|
_| _| _| _| _| _| _| _|_| _| _| _| _| _| _| _|
_|_|_|_| _| _| _| _|_| _| _|_| _| _| _| _| _| _|_| _|_|_| _|_|_|_| _| _|_|_|
_| _| _| _| _| _| _| _| _| _| _|_| _| _| _| _| _| _| _|
_| _| _|_| _|_|_| _|_|_| _|_|_| _| _| _|_|_| _| _| _| _|_|_| _|_|_|_|
To login, `huggingface_hub` requires a token generated from https://huggingface.co/settings/tokens .
Token can be pasted using 'Right-Click'.
Enter your token (input will not be visible): [ ここにトークンを入力 ]
完了です!
ControlNeXt-SVDを試してみる
一枚絵を動かしてみましょう。
入力データをそろえる
./examples/pose へ モーション動画を、
./examples/ref_imgs へ 一枚絵を格納
今回、モーション動画は元から用意されているものを使い
一枚絵は以下を oji.jpg として用意しました。
実行
プロンプトから下記コマンドを実行します。
python run_controlnext.py \
--pretrained_model_name_or_path stabilityai/stable-video-diffusion-img2vid-xt-1-1 \
--validation_control_video_path examples/pose/pose.mp4 \
--output_dir outputs/dance \
--controlnext_path pretrained/controlnet.bin \
--unet_path pretrained/unet_fp16.bin \
--ref_image_path examples/ref_imgs/oji.jpg
結果
./outputs/dance へ成果物が格納されます。
おわり
img2videoで絵を動かせた。
VRAM使用量が少ないため、手軽に試しやすいのも良いですね。
どうやらLoraも利用可能なようです。
デモくらいキレイに変換できなかったで、もう少し模索してみます。
おしょうしな
参考にさせていただきました。ありがとうございました。