「AnimateDiffで上手くGIFアニメを作れない・・・」
「生成するGIFのサイズを変更したい」
このような場合には、この記事の内容が参考になります。
この記事では、AnimateDiffにおけるGIFのサイズ変更について解説しています。
本記事の内容
- GIFアニメのサイズ指定方法
- AnimateDiffにおけるモデルとサイズ
それでは、上記に沿って解説していきます。
GIFアニメのサイズ指定方法
AnimateDiffでは、生成するGIFのサイズを変更できます。
デフォルトは、512 x 512のサイズでGIFアニメが生成されます。
それは、Pythonのスクリプト(animate.py)から確認できます。
もちろん、生成されるGIFのサイズからも512 x 512だとわかります。
サイズを変更するには、サイズを指定すればよいだけです。
指定方法は、ヘルプで確認できます。
> python -m scripts.animate -h usage: animate.py [-h] [--pretrained_model_path PRETRAINED_MODEL_PATH] [--inference_config INFERENCE_CONFIG] --config CONFIG [--L L] [--W W] [--H H] options: -h, --help show this help message and exit --pretrained_model_path PRETRAINED_MODEL_PATH --inference_config INFERENCE_CONFIG --config CONFIG --L L --W W --H H
次のように引数を指定することになります。
python -m scripts.animate --config configs/prompts/1-ToonYou.yaml --W 512 --H 768
このように指定すれば、次のようなGIFアニメを生成できます。
生成されるGIFアニメのサイズは、大きくなりがちです。
そのため、WebにUPする際にはMP4に変換しています。
GIFから動画への変換に関しては、次の記事で詳細を説明しています。
以上、GIFアニメのサイズ指定方法について説明しました。
次は、AnimateDiffにおけるモデルとサイズについて説明します。
AnimateDiffにおけるモデルとサイズ
上記で載せたGIFアニメは、Mistoon_Animeをモデルとして利用しています。
AnimateDiffにモデルを追加する方法については、次の記事で解説しています。
AnimateDiffにおいては、モデルの選択が非常に重要です。
モデルによっては、次のようなGIFアニメが生成されることもあり得ます。
ざっと試した感じでは、基本的にはSD 1.4のモーションだとこのように破綻します。
SD 1.5のモーションの場合は、色が出ずに動きのない地味なアニメーションになります。
しかし、Mistoon_AnimeではSD 1.4のモーションでもそれなりのGIFアニメが生成されます。
あと、512 x 512よりも512 x 768の方がマシなアニメーションが生成されるように感じます。
つまり、次のような条件であればまだ見れるGIFアニメが生成できるということです。
モデル | Mistoon_Anime |
モーション | SD 1.4 |
サイズ | 512 x 768 |
そうは言って、まだまだパターン的には検証不足です。
本当は、もっと多くのモデルやサイズの組み合わせで検証を実施したいとは思います。
如何せん、AnimateDiffは処理に時間がかかります。
GPUリソースをかなり食います。
リソースを食うだけなら良くて、季節的にも温度が気になるのです。
未使用時には、50度以下で何も気になりません。
しかし、AnimateDiffの処理を走らすと80度近くになります。
利用しているGeForce RTX 3090では、MAX 93度までは耐えることはできるようです。
でも、やっぱり温度が上がるのは怖いです。
意味があるかどうかはわかりませんが、携帯型扇風機でマシンに風を当てています。
冷ますと言うより、排出された熱風がこもらないようにしている感じです。
なお、この携帯型扇風機は通勤時の暑さ対策で購入しています。
これで一石二鳥になっているはず。
いや、一石三鳥かもしれません。
携帯型扇風機は、モバイルバッテリーにもなりますので。
以上、AnimateDiffにおけるモデルとサイズを説明しました。