アニメーションを生成できるAnimateDiffをインストール

AnimateDiffとは?

AnimateDiffとは、1枚の画像から一貫性のあるアニメーションを生成できるプログラム、今までのアニメ生成と異なり、かなり元絵を保ったままの生成が可能です。当初必要なVRAMが60GB必要ということで話題になっていましたが、改善が重ねられ、現状はVRAMが12GBでも動作するようになっています。

現状は公式版とinit画像を設定できるfork版がありますが、fork版も紹介します。

AnimateDiffのダウンロード

まずは、AnimateDiffをインストールするディレクトリを作成。日本語が混ざると予期せぬエラーを引き起こすため今回はCドライブ直下にAnimateDiffフォルダを生成してインストールします。

公式版

git clone https://github.com/guoyww/AnimateDiff.git

fork版(init画像対応版)

git clone https://github.com/talesofai/AnimateDiff.git

どちらでも以後のインストール方法は変わりません。

AnimateDiffのダウンロード

基本ファイルをダウンロードしたら、該当ディレクトリに移動してコマンドプロンプトを開きます、まずは権限の許可を実行します。この処理は権限が常に許可されている場合は必要ありません。

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process

次に、仮想環境を作成します。

python -m venv venv
venv\Scripts\activate.ps1

仮想環境を作成し起動したらトローチをインストールします。

pip install  torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

次に必要なファイルをテキストファイルで指定してダウンロードします。requirements.txtという名前のテキストファイルを作成し、以下の内容を書き込み、AnimateDiffの基本ファイルがダウンロードされたディレクトリに設置してください。

xformers
diffusers[torch]==0.11.1
transformers==4.25.1
imageio==2.27.0
gdown
einops
omegaconf
safetensors

作成したrequirements.txtを利用して必要ライブラリを一括でダウンロードします。

pip install -r requirements.txt

こちらで基本的な必要なファイルのセットアップは完了です。

AnimateDiffに必要なモデルデータをダウンロード

まずはBase T2I(txt2img)のstable-diffusion1.5の基本モデルをダウンロードします。

git lfs install
git clone https://huggingface.co/runwayml/stable-diffusion-v1-5 models/StableDiffusion/stable-diffusion-v1-5

続けて、AnimateDiffのMotion Moduleをダウンロードします。こちらについては、stable-diffusion-v1-4で学習されたもの、stable-diffusion-v1-5で微調整されたもの2つがあります。gitで指定も可能ですが、ファイルが文字化けしてしまいますので、以下のDriveからダウンロードしました。

https://drive.google.com/drive/folders/1EqLC65eR1-W-sGD0Im7fkED6c8GkiNFI

モデルデータは以下のディレクトリ内に格納します。

models/Motion_Module/

生成のモデルデータをインストール

生成に必要なモデルは別途ダウンロードします。こちらは好きなもので構いません。以下のディレクトリにダウンロードしたモデルを格納します。以下のコマンドを利用する場合はToonYouのモデルデータを利用しますので「ToonYou」からダウンロードしましょう。

models/DreamBooth_LoRA

AnimateDiffの生成方法

GUIは無いため、コマンドで生成していきます。用意しているyamlファイルを利用すればすぐに生成可能です。

python -m scripts.animate --config configs/prompts/1-ToonYou.yaml

こちらのコマンドを入力すれば生成が始まります。必要なファイルが無いとエラーが起きるので、エラーが起きた場合は表示されるエラーを見てファイルを準備しましょう。またモデルデータとyamlの内部に記載されているファイル名がズレてもエラーがでますので、モデルのファイル名を変えるかもしくはyaml側を書き換えましょう。

AnimateDiff出力結果

書き出し形式はgifとなります。初期の設定では8つのgifを同時に生成するため、かなり時間がかかります。次回はyamlのファイルを調整する方法を紹介したいと思います。

Related INSIGHTS

最新の知見をお届け

AI・クリエイティブに関する最新情報は
公式Xアカウントやnoteでも発信しています。

Follow @taziku_co note で読む