「私はプロンプトの初心者ではない!」
「マニアックな画像コンテンツを作成したい」
このような場合には、aErosがオススメです。
この記事では、NSFWコンテンツ生成に強いaErosについて解説しています。
本記事の内容
- aErosとは?
- aErosの利用方法
それでは、上記に沿って解説していきます。
aErosとは?
aErosとは、Art & Erosの略称になるようです。
サブタイトル的なものが、「美への賛辞」となっています。
Art & Eros (aEros) – A tribute to beauty | Stable Diffusion Checkpoint | Civitai
https://civitai.com/models/3950/art-and-eros-aeros-a-tribute-to-beauty
aErosは、Civitai上にのみ公式ページが存在しています。
ページ自体は、通常コンテンツ扱いであり、閲覧しても問題ありません。
ただし、ユーザー投稿などにはNSFWコンテンツが存在しています。
閲覧の際には、注意しましょう。
aErosには、かなり長い説明が記載されています。
それをまとめると、以下となります。
- aErosは完結した(バージョンアップはない)
- 初心向きのモデルではない
- NSFWコンテンツを生成するためのモデルである
- VAE(vae-ft-mse-840000-ema-pruned)の利用必須
- マージしたモデルには感謝!!
簡単なキーワードの羅列ではなく、自然な表現が推奨されています。
その意味において、初心者向きではないということなのでしょう。
プロンプトを考える際には、以下の文章が参考になるとのことです。
https://docs.google.com/document/d/1-DDIHVbsYfynTp_rsKLu4b2tSQgxtO5F6pNsNla12k0/edit
また、aErosは以下のモデルを結合して作成されています。
- Postapocalypse
- Analog Diffusion
- SXD
- Knollingcase
- Hassan’s 1.4 and CandyBerry
- PurePornPlus
- SimpMaker 3K1
- Modelshoot style
- SynthPunk Search
- MoistMix
- Dreamlike Diffusion
- Cyborg Diffusion
ここまでの数のモデルをマージしているのは、見たことがありません。
モデル製作者の執念を感じますね。
このほかにも、Hypernetworkも利用しているようです。
このaErosでは、どのような画像を生成できるのでしょうか?
詳細は、公式ページで確認してください。
ただ、やはり日本人を描画したサンプルがありません。
日本人からすると、日本人をいかに描けるかが重要なポイントになります。
ということで、試行錯誤して出力したのが以下です。
![](https://self-development.info/wp-content/uploads/2023/01/output-22.jpg)
まだまだ、検証中ですがここまでは生成することができました。
コツさえつかめば、綺麗な女性を多くのパターンで描けそうな感じはします。
あと、aErosは動作・表情指定が上手くできるモデルだと思います。
このことは、あまりアピールされていません。
実際に触ってみて、その特徴がわかりました。
例えば、次のような画像が簡単に作成できます。
![](https://self-development.info/wp-content/uploads/2023/01/output-23.jpg)
これらの画像生成時には、「目を閉じる」「口を開く」という文言をプロンプトに含めています。
あと、手が綺麗に出る確率はかなり高いです。
NSFW要素の強い画像は、ここから確認できます。
上記のページを見れば、aErosのヤバさがわかると思います。
以上、aErosについて説明しました。
次は、aErosの利用方法を説明します。
aErosの利用方法
aErosは、以下で動かすことが可能です。
- Stable Diffusion web UI(AUTOMATIC1111版)
- Diffusers
AUTOMATIC1111の場合は、公式ページからcheckpointをダウンロードして設置して終わりです。
ただし、指定のVAEは利用するようにしましょう。
以下は、それぞれVAEを含んでいないので注意です。
![](https://self-development.info/wp-content/uploads/2023/01/image-52.png)
Diffusersの場合は、少し工夫が必要となります。
まずは、Stable Diffusionを動かせることが前提となります。
上記記事に従えば、自ずとDiffusersをインストールします。
環境が整っていれば、chkeckpointをダウンロードしましょう。
ただし、「aEros – Pruned safetensors」版をダウンロードする必要があります。
![](https://self-development.info/wp-content/uploads/2023/01/a95560b28f3a2af6fa1661a4d015cac6.png)
Safetensors形式をダウンロードしましょう。
このバージョンには、VAEが含まれています。
ただし、VAEと言っても指定された「vae-ft-mse-840000-ema-pruned」ではありません。
ダウンロードしたcheckpointは、Diffusersで読み込める形式に変換します。
変換する方法は、次の記事で解説しています。
上記を参考にして、用いたコマンドは以下。
python convert_diffusers20_original_sd.py ..\..\ckpt\artErosAerosATribute_aerosPruned.safetensors ..\..\model\aEros --v1 --reference_model runwayml/stable-diffusion-v1-5
変換できたモデルを利用してみましょう。
コードは、以下を利用します。
from diffusers import StableDiffusionPipeline, EulerAncestralDiscreteScheduler from diffusers.models import AutoencoderKL model_id = "./model/aEros" device = "cuda" vae = AutoencoderKL.from_pretrained("stabilityai/sd-vae-ft-mse") pipe = StableDiffusionPipeline.from_pretrained(model_id, vae=vae, custom_pipeline="lpw_stable_diffusion") pipe.scheduler = EulerAncestralDiscreteScheduler.from_config(pipe.scheduler.config) pipe = pipe.to(device) prompt = "masterpiece, 4k, beautiful goth woman playing chess, best quality, highres, purple and black hair, looking at viewer, black turtle neck, realistic painting, intricate, smile, (realistic eye:0.9), (realistic painting:0.9), beautiful mint eyes, small earring" negative_prompt = "disfigured, deformed, malformed, extra limbs, poorly drawn, lowres, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, artist name, ugly, duplicate, morbid, mutilated, out of frame, extra fingers, mutated hands, poorly drawn hands, poorly drawn face, mutation, blurry, bad anatomy, bad proportions, extra limbs, cloned face, malformed limbs, missing arms, missing legs, extra arms, extra legs, fused fingers, too many fingers" image = pipe( prompt, num_inference_steps=32, guidance_scale=12, width=512, height=704, negative_prompt=negative_prompt, max_embeddings_multiples=2 ).images[0] image.save("test.png")
上記を実行すると、次のような画像が生成されます。
![](https://self-development.info/wp-content/uploads/2023/01/output1.jpg)
ここで利用したプロンプトは、公式ページにあるユーザー投稿を参考にしています。
Civitai上の画像には、「i」と付いているモノがあります。
![](https://self-development.info/wp-content/uploads/2023/01/image-53.png)
これをクリックすると、次のような情報が表示されます。
![](https://self-development.info/wp-content/uploads/2023/01/image-54.png)
これを参考にすることができます。
ユーザー投稿を参考にして、プロンプトの癖を掴んでいきましょう。
また、上記コードではプロンプトが長いため「lpw_stable_diffusion」を利用しています。
長いプロンプトに対応する方法は、次の記事で解説しています。
さらに、VAEの利用方法については次の記事で説明しています。
以上、aErosの利用方法を説明しました。