アニメーション生成AnimateDiffでアニメを生成
AnimateDiffとは?
AnimateDiffとは、1枚の画像から一貫性のあるアニメーションを生成できるプログラム、今までのアニメ生成と異なり、元絵を保ったままの生成が可能です。
インストールについては「アニメーションを生成できるAnimateDiffをインストール」をご覧ください。今回はAnimateDiffがインストールされている前提で、自分自身で設定したプロンプトや任意のモデルデータでアニメーション生成を行う方法を解説します。
yamlファイルをカスタマイズ
yamlファイルを読み込んで生成しているため、プロンプトや各種設定はyamlファイルをカスタマイズすることで調整することが可能です。記述の構成を見ながら、書き換えながら調整していきます。
yamlファイルの構成
冒頭はどのモデルデータを利用して生成するのかとなっており今回は特に触りません。
触っていくのはseedからで、どのシード値で生成するかを指定しています。現状4つのシードが指定されていますが、1枚ずつ生成したいため、一つのシード値とします。
step数は一枚の生成になるのでもう少しstep数を上げ今回は50とします。guidance_scale(どのくらいプロンプトに忠実に描画するのかの値) についてはディフォルトのままとします。
最後にプロンプトが4つならんでいますが、1枚ずつ生成するため1つにします。promptの下部のn_promptはネガティブプロンプトとなりますので2つ目を残して全て削除します。
調整したyamlは以下の通りとなります。
ToonYou:
base: ""
path: "models/DreamBooth_LoRA/toonyou_beta5Unstable.safetensors"
motion_module:
- "models/Motion_Module/mm_sd_v14.ckpt"
- "models/Motion_Module/mm_sd_v15.ckpt"
seed: [10788741199826055526]
steps: 50
guidance_scale: 7.5
prompt:
- "masterpiece, best quality, 1girl, collarbone, wavy hair, looking at viewer, blurry, upper body, necklace, suspenders, floral print, ponytail, freckles, red hair, sunlight,"
n_prompt:
- "badhandv4,easynegative,ng_deepnegative_v1_75t,verybadimagenegative_v1.3, bad-artist, bad_prompt_version2-neg, teeth"
今回はファイル名を「1-ToonYou-mod.yaml」としたので以下のコマンドで生成していきます。
python -m scripts.animate --config configs/prompts/1-ToonYou-mod.yaml
ステップ数を上げたので、1つのgifですが、複数枚生成しているのでかなり時間がかかりましたがきれいになっている気がします。今回はToonYouのモデルダウンロードページのプロンプトを拝借してAnimateDiffで生成してみました。
ToonYouのアウトプット
生成モデルを変更する
次にモデル自体をガラリと入れ替えてみます。サンプルに無いものを使ってみたいと思います。今回はリアル系のモデルを使ってみます。国内でも有名な美女を生成できるBRAV6のモデルで試してみました。
まずモデルデータをダウンロードし以下のディレクトリにモデルデータを格納します。その後yamlを作成していきます。作成したファイルをbarv.yamlとした場合コマンドは以下となります。
python -m scripts.animate --config configs/prompts/barv.yaml
BARV6のアウトプット
プロンプトというよりはモデルによってかなりクオリティの差があります。リアル系はまだ相性が良くなさそうです。まだリリースされたばかりなので今後の発展に期待したい技術です。