「Stable Diffusionで多人数が綺麗に映る画像を生成したい」
「NSFW上等のヤバい画像を作りたい」
このような場合には、PFGがオススメです。
この記事では、Stable Diffusionでヤバい画像が生成できるPFGを解説しています。
本記事の内容
- PFGとは?
- PFGの利用方法
それでは、上記に沿って解説していきます。
PFGとは?
PFGを利用すると、次のような画像を生成できます。
そして、NSFWコンテンツの生成についても得意なモデルになります。
つまり、ヤバい画像が生成できるということです。
そんなヤバい画像を生成できるPFGは、出所不明のStable Diffusion用のモデルと言われています。
有志によって、Civitaiで公開されています。
Civitaiのdescriptionは、翻訳すると以下となります。
Civitaiは、Stable Diffusion AI Artモデルのためのプラットフォームです。 私たちは50人以上のクリエイターから1000以上のモデルを集めています。 また、コミュニティからの145以上のレビューと、あなたが始めるためのプロンプトを含む100以上の画像もあります。
モデルと言えば、Hugging Faceがよく利用されています。
でも、Hugging Faceは開発者向けのページになります。
もっと一般利用者向けにシフトしたのが、Civitaiという感じでしょうか。
ユーザーがコメントや画像も投稿できるようですからね。
そのCivitai上におけるPFGのページは、以下。
PFG | Civitai
https://civitai.com/models/1227/pfg
上記ページは、NSFWコンテンツが豊富なページとなります。
一応フィルターはあるので、いきなり開いても大丈夫なはずです。
ただ、ログインしていないと次のように表示されてしまいます。
モデルのダウンロードに必要であるため、アカウントを作成しましょう。
さて、ページにアクセスできたでしょうか?
こんな感じでフィルターがあるので、フィルターを外すも外さないもあなた次第。
以上、PFGについて説明しました。
次は、PFGの利用方法を説明します。
PFGの利用方法
Stable Diffusionを動かせる環境が、大前提となります。
Google Colabではなくローカル環境で動かす場合は、次の記事が参考になります。
上記記事に従えば、自ずとDiffusersをインストールすることになります。
この記事では、Diffusersでの利用を対象としています。
Stable Diffusion web UI(AUTOMATIC1111版)だと、あえて説明する必要がありません。
利用する前に、まずはモデルのダウンロードが必要となります。
checkpointが、次の二つの形式で配布されています。
- Safetensor形式
- Pickle形式
ダウンロード数に圧倒的な差がついています。
Safetensor形式
Pickle形式
Safetensor形式の方が、安全と記載されています。
まあ、普通は安全な方をダウンロードすることになるでしょう。
よって、ここでもSafetensor形式のダウンロードを推奨しておきます。
Safetensor形式のcheckpointをDiffusersで利用するためには、工夫が必要です。
その工夫については、次の記事で解説しています。
変換には、次のコマンドを用いました。
python convert_diffusers20_original_sd.py ..\..\ckpt\pfg_111Safetensors.safetensors ..\..\model\pfg --v1 --reference_model runwayml/stable-diffusion-v1-5
変換したモデルを利用するには、モデルのパスを指定します。
from diffusers import StableDiffusionPipeline, DPMSolverMultistepScheduler model_id = "./model/pfg" device = "cuda" pipe = StableDiffusionPipeline.from_pretrained(model_id) pipe.scheduler = DPMSolverMultistepScheduler.from_config(pipe.scheduler.config) pipe = pipe.to(device) prompt = "drunken beautiful woman 1girl as delirium from sandman, (hallucinating colorful soap bubbles), abs, fit, thin, wearing a black crop top jean jacket and jean shorts, punk rock, tank girl, high detailed, 8k" negative_prompt = "cartoon, 3d, obese, fat, ((disfigured)), ((bad art)), ((deformed)), ((poorly drawn)), ((extra limbs)), ((close up)), ((b&w)), weird colors, blurry" image = pipe( prompt, num_inference_steps=25, guidance_scale=7.5, width=512, height=768, negative_prompt=negative_prompt, ).images[0] image.save("test.png")
上記を実行すると、次のような画像が生成されます。
なお、プロンプトはユーザーの投稿を参考にしています。
投稿された画像には、「i」と付いているモノがあります。
これをクリックすると、次のような情報が表示されます。
以上、PFGの利用方法を説明しました。