【Stable Diffusion】ReV Animatedの利用方法

【Stable Diffusion】ReV Animatedの利用方法 機械学習

「ポートレートや全身のアニメ画像と得意とするモデルを探している」
「ファンタジーな風景の画像を生成したい」

このような場合には、ReV Animatedがオススメです。
この記事では、ReV Animatedについて解説しています。

本記事の内容

  • ReV Animatedとは?
  • ReV Animatedの利用方法
  • ReV Animatedの動作確認

それでは、上記に沿って解説していきます。

ReV Animatedとは?

ReV Animatedとは、アニメというよりファンタジー的な画像を生成するモデルです。
タイプとしては、Stable Diffusion 1.5をベースにした結合モデルになります。

結合には、主に以下のモデルが用いられています。

  • [Umi AI] Mythology and Babes by DutchAlex
  • Basil_mix_fixed

Basil_mixは、ChilloutMixでも結合する際に用いられています。
ChilloutMixと言えば、もはや最も人気のあるモデルと言えるかもしれません。

実際、ChilloutMixはCivitai上でダウンロード・いいね・レビュー数ですべてトップです。
そして、ReV Animatedは勢いのあるモデルと言えます。

その意味では、Basil_mixはその人気や勢いを支えているのでしょう。
Basil_mixは、知る人ぞ知るモデルなのかもしれませんね。

以上、ReV Animatedについて説明しました。
次は、ReV Animatedの利用方法を説明します。

ReV Animatedの利用方法

ReV Animated - v1.2.2-EOL | Stable Diffusion Checkpoint | Civitai
Update 3: Disclaimer/Permissions updated Update 2: I am no longer maintaining/updating this model Quick Update: I've been a bit burnt out on SD mod...

まずは、上記公式ページからモデルをダウンロードします。

ここでは、「Model SafeTensor」を選択します。
SafeTensor形式のファイルの方が、安全かつ高速に読み込みが可能です。

今回ダウンロードできたファイルは、「revAnimated_v11.safetensors」です。
利用方法については、それぞれの環境で異なります。

  • Stable Diffusion web UI(AUTOMATIC1111版)
  • Diffusers

それぞれの場合を以下で説明します。

Stable Diffusion web UI(AUTOMATIC1111版)

web UIのインストールは、次の記事で説明しています。

web UIの場合は、特に面倒なことはありません。
ダウンロードしたファイルを指定のディレクトリ(models/Stable-diffusion)に設置するだけです。

web UIの起動後、以下のようにcheckpointを選択できるようになっています。

Diffusers

Diffusersの場合は、少し工夫が必要です。
まずは、Stable Diffusionを動かす環境を用意します。

上記記事に従えば、自ずとDiffusersをインストールすることになります。

Diffusersの場合、そのままではダウンロードしたモデルを読み込めません。
そのため、Diffusersで利用できるように変換処理を行う必要があります。

Safetensors形式ファイルの変換処理は、次の記事で解説しています。

今回変換に用いたのは、以下のコマンドです。

python convert_diffusers20_original_sd.py ..\..\ckpt\revAnimated_v11.safetensors ..\..\model\revAnimated_v11 --v1 --reference_model runwayml/stable-diffusion-v1-5

変換に成功すると、指定した場所に次のようなディレクトリ・ファイルが作成されます。

ここまで準備できたら、あとは次のコードで画像生成が可能です。

from diffusers import StableDiffusionPipeline, EulerAncestralDiscreteScheduler

model_id = "./model/revAnimated_v11"

pipe = StableDiffusionPipeline.from_pretrained(model_id)
pipe.scheduler = EulerAncestralDiscreteScheduler.from_config(pipe.scheduler.config)
pipe = pipe.to("cuda")
# pipe.enable_attention_slicing()

prompt = "((best quality)), ((masterpiece)), ((realistic)), (detailed),leica_style, hilly terrain, old flimsy shabby steampunk townhouse, overgrown, highly detailed, extremely sharp focus, closeup, bokeh background, art nouveau"
negative_prompt = "(low quality, worst quality:1.3)"

image = pipe(
    prompt,
    num_inference_steps=25,
    guidance_scale=7,
    width=512,
    height=768,
    negative_prompt=negative_prompt
).images[0]

image.save("test.png")

以上、ReV Animatedの利用方法を説明しました。
次は、ReV Animatedの動作確認を説明します。

ReV Animatedの動作確認

ユーザー投稿のページを参考にして、画像を生成してみます
https://civitai.com/gallery/373515?reviewId=64112

コピペが面倒な場合は、PNG Infoを利用しましょう。

PNG Infoの使い方は、次の記事で解説しています。

画像を生成したら、ぼやけた感じの画像が生成されていませんか?
次の画像で言うと、1番左にある画像ですね。

ReV Animated(v1.1)では、VAEがモデルにはマージされていないようです。
そのため、自分でVAEを利用する必要があります。

公式では、次の二つがオススメされています。

  • orangemix.vae.pt
  • kl-f8-anime2.ckpt

それぞれ、次のページからダウンロード可能です。

orangemix.vae.pt
https://huggingface.co/WarriorMama777/OrangeMixs/blob/main/VAEs/orangemix.vae.pt

kl-f8-anime2.ckpt
https://huggingface.co/hakurei/waifu-diffusion-v1-4/blob/main/vae/kl-f8-anime2.ckpt

VAEの適用に関しては、次の二つの方法があります。

  • 「〇〇〇.vae.pt」としてモデルと同じ場所に保存する
  • モデルにマージする(焼き込む)

最初の方法であれば、ダウンロードしたVAEを「revAnimated_v11.vae.pt」というファイル名に変更します。
そして、そのファイルを「models/Stable-diffusion」に設置することになります。

もう一つは、モデルである「revAnimated_v11.safetensors」にVAEをマージする方法です。
この方法は、次の記事で解説しています。

最近は、モデルにマージする方法を採用しています。
こちらの方が、モデルの読み込み速度が速いと言われています。

以上、ReV Animatedの動作確認を説明しました。

タイトルとURLをコピーしました