「かわいいアニメの女の子の画像を生成したい」
「短いプロンプトで高画質な画像を生成したい」
このような場合には、CarDos Animeがオススメです。
この記事では、CarDos Animeについて解説しています。
本記事の内容
- CarDos Animeとは?
- CarDos Animeの利用方法
- CarDos Animeの動作確認
それでは、上記に沿って解説していきます。
CarDos Animeとは?
CarDos Anime | Stable Diffusion Checkpoint | Civitai
https://civitai.com/models/25399/cardos-anime
CarDos Animeとは、アニメ画像の生成が得意なStable Diffusion用モデルです。
多人数の表示を上手く表現できます。
また、ちびキャラも簡単に生成可能です。
このモデルの開発者は、他にCarDos Animatedというモデルを公開しています。
CarDos Animated | Stable Diffusion Checkpoint | Civitai
https://civitai.com/models/22220/cardos-animated
CarDos Animatedは、汎用的に何でも描画できるようです。
そして、CarDos Animatedは次のモデルを結合して開発されています。
- cartoonish
- DosMix
- ReV Animated
- Level4
同じように、CarDos Animeも結合モデルです。
ただ、結合に利用したモデルは公式ページにも記載されていません。
記載されているのは、次の内容です。
Anime style version of my other mix, CarDos Animated.
この記載より、おそらく同じようなモデルをベースにしていると思われます。
そして、プラスアルファでアニメ系モデルを加えたという感じでしょうか。
もしくは、追加でアニメ画像を学習させたか。
以上、CarDos Animeについて説明しました。
次は、CarDos Animeの利用方法を説明します。
CarDos Animeの利用方法
まずは、公式ページからモデルをダウンロードします。
次のボタンをクリックすれば、「cardosAnime_v10.safetensors」をダウンロードできます。
VAEは、vae-ft-ema-560000-ema-prunedを利用してデモ画像を生成しているようです。
VAEを利用する場合は、事前にモデルとマージすることをオススメします。
読み込み速度が速くなり、管理もしやすくなります。
VAEと結合したファイル名を「cardosAnime_v10_plus_vae.safetensors」とします。
利用方法については、それぞれの環境で異なります。
- Stable Diffusion web UI(AUTOMATIC1111版)
- Diffusers
それぞれの場合を以下で説明します。
Stable Diffusion web UI(AUTOMATIC1111版)
web UIのインストールは、次の記事で説明しています。
ダウンロードしたファイルを指定のディレクトリ(models/Stable-diffusion)に設置するだけです。
すでに、VAEと結合済みかもしれませんけどね。
web UIの起動後、以下のようにcheckpointを選択できるようになっています。
Diffusers
Diffusersの場合は、少し工夫が必要となります。
まずは、Stable Diffusionを動かす環境を用意します。
上記記事に従えば、自ずとDiffusersをインストールすることになります。
Diffusersの場合、そのままではダウンロード(もしくは、VAEをマージ)したモデルを読み込めません。
そのため、Diffusersで利用できるように変換処理を行う必要があります。
Safetensors形式ファイルの変換処理は、次の記事で解説しています。
今回変換に用いたのは、以下のコマンドになります。
python convert_diffusers20_original_sd.py ..\..\ckpt\cardosAnime_v10_plus_vae.safetensors ..\..\model\cardosAnime_v10_plus_vae --v1 --reference_model runwayml/stable-diffusion-v1-5
変換に成功すると、次のようなディレクトリ・ファイルが作成されます。
ここまで準備できたら、あとは次のコードで画像生成が可能です。
from diffusers import StableDiffusionPipeline, EulerAncestralDiscreteScheduler model_id = "./model/cardosAnime_v10_plus_vae" 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, little witch" 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")
以上、CarDos Animeの利用方法を説明しました。
次は、CarDos Animeの動作確認を説明します。
CarDos Animeの動作確認
画像を生成する際には、デモ画像を参考にします。
デモ画像のネガティブプロンプトは、基本的には以下が用いられています。
easynegative, bad-hands-5, (low quality, worst quality:1.3)
「easynegative」(EasyNegativeが一般的)と「bad-hands-5」は、ネガティブプロンプト用のEmbeddingです。
Embeddingの詳細には、次の記事で説明しています。
「bad-hands-5」は、以下のページからダウンロードできます。
利用方法は、EasyNegativeと同じです。
デモ画像をクリックすると、次のような画面が表示されます。
赤い下線の部分が、画像を生成するに用いられた設定情報です。
プロンプトには、以下を入力します。
この設定をもとに画像生成を行うと、次のような画像が生成されます。
ほぼ同じですね。
あと、VAEの効果を確認しておきましょう。
左から、次のVAEを用いています。
- VAEなし
- vae-ft-ema-560000-ema-pruned.ckpt
- kl-f8-anime2.ckpt
- Pruned Anime VAE(Anime-fp16-vae.pt)
kl-f8-anime2.ckptは、Waifu Diffusionで主に利用されています。
Pruned Anime VAEは、比較的新しいVAEです。
他のVAEと比べて、彩度が控え目になっています。
Pruned Anime VAE
https://civitai.com/models/21773/pruned-anime-vae
こうやって比較すると、VAEが必須だと感じます。
あと、個人的には、Pruned Anime VAEが好みですね。
以上、CarDos Animeの動作確認を説明しました。