【Stable Diffusion】Deliberateの利用方法

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

「高画質な実写系モデルを探している」
「オールマイティに何でも表現できるモデルを利用したい」

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

本記事の内容

  • Deliberateとは?
  • Deliberateの利用方法
  • Deliberateの動作検証

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

Deliberateとは?

Deliberateとは、オールマイティなStable Diffusion用モデルです。
プロンプト次第で何でも表現可能と説明されています。

Deliberateは、次のような人に適しています。

また、Deliberateはプロンプト力の問われるモデルになります。
よって、上級者向けとも言えそうですね。

Deliberateの公式ページは、Civitai上にあります。

Deliberate | Stable Diffusion Checkpoint | Civitai
https://civitai.com/models/4823/deliberate

一応、Hugging Face上にもページは存在しています。
ただ、Civitaiの方がメインに見えます。

その公式ページ上では、次のようなサンプル画像が公開されています。

画像の質としては、高い方ですね。
これらの画像は、Deliberate の最新バージョンのサンプル画像となります。

最新版となるDeliberate 2は、2023年2月26日に公開されています。

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

Deliberateの利用方法

Deliberateは、主に以下の環境で動かすことになるでしょう。

  • Stable Diffusion web UI(AUTOMATIC1111版)
  • Diffusers

利用比率としては、web UIの方が断然高いはずです。
それぞれの場合について、以下で説明します。

Stable Diffusion web UI(AUTOMATIC1111版)

web UIのインストール方法を次の記事で説明しています。
OS依存のPythonを利用しない方法のため、安心してインストールできます。

トラブルがあった場合でも、この方法だと別にインストールも容易です。
また、複数バージョンのweb UIを管理することも容易になります。

まずは、モデルのダウンロードから行います。
モデルのダウンロードは、公式ページから可能です。
https://civitai.com/models/4823/deliberate

どちらでもよいですが、safetensors形式のファイルをダウンロードしましょう。
safetensors形式の方が、安全で読み込みが速いというメリットがあります。

ダウンロードしたファイルは、models/Stable-diffusion以下に保存。
あとは、web UIを起動すれば次のようにモデルを選択できるようになっています。

Diffusers

Diffusersを動かせることが前提になります。

Stable Diffusionを動かす過程で、自ずとDiffusersをインストールします。

Deliberateでは、Diffusers用のモデルが用意されています。
そのため、モデルの読み込みに関しては工夫する必要はありません。

XpucT/Deliberate at main
https://huggingface.co/XpucT/Deliberate/tree/main

次のコードを実行するだけです。

from diffusers import StableDiffusionPipeline, EulerAncestralDiscreteScheduler

model_id = "XpucT/Deliberate"

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

prompt = "a closeup portrait of a playful maid, undercut hair, apron, amazing body, pronounced feminine feature, busty, kitchen, [ash blonde | ginger | pink hair], freckles, flirting with camera"
negative_prompt = "(deformed, distorted, disfigured:1.3), poorly drawn, bad anatomy, wrong anatomy, extra limb, missing limb, floating limbs, (mutated hands and fingers:1.4), disconnected limbs, mutation, mutated, ugly, disgusting, blurry, amputation. tattoo"

image = pipe(
    prompt,
    num_inference_steps=20,
    guidance_scale=10,
    width=512,
    height=512,
    negative_prompt=negative_prompt
).images[0]

image.save("test.png")

初回時には、モデルを自動的にダウンロードします。
そして、処理が上手くいくと、「test.png」が作成されます。

以上、Deliberateの利用方法を説明しました。
次は、Deliberateの動作検証を説明します。

Deliberateの動作検証

Deliberateの動作検証を行います。
動作検証には、Stable Diffusion web UI(AUTOMATIC1111版)を用います。

まず、次の画像を見てください。

これらは、次のページで公開されているプロンプトを参考にしています。

Dreamlike Photoreal 2.0
https://civitai.com/models/3811/dreamlike-photoreal-20

Dreamlike Photoreal 2.0については、次の記事で説明しています。

Dreamlike Photoreal 2.0も同じような立ち位置のモデルです。
人・物・風景など何でも高画質に表現するモデルになります。

そして、同じようにプロンプト力がある程度問われます。
比較する意味でも、プロンプトを参考にしてみました。

その読み通り、同じようなプロンプトでDeliberateは高画質な画像を生成できています。
もちろん、人物に関してもある程度は綺麗に表現できます。

しかし、日本人となると一気にレベルが落ちてしまいます。
これは、明らかに日本人画像の学習不足です。

念のため、LoRAを利用して日本人要素を増やしてみました。

でも、結果は同じような顔ばかりというモノになってしまいました。

これは、ベースとなるStable Diffusion 1.5とほぼ同じ結果です。
つまり、Deliberateは日本人画像を追加ではほとんど学習していないと言えます。

これでは、個人的には人物(実写の日本人)を描く際にはDeliberateを使えません。
やはり、人物を描くなら次のモデルを利用することになります。

しかし、Deliberateには他で使い道があります。
人物以外のリアルな描画においては、Deliberateはかなり使えるでしょう。

Dreamlike Photoreal 2.0に加えて、Deliberateもその選択肢に入ります。
いや、もしかしたらDeliberateの方が使用頻度は高くなるかもしれません。

それぐらい、Deliberateの実写を描く技術は高いと言えます。

以上、Deliberateの動作検証を説明しました。

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