【Stable Diffusion】実写に強いAnalog Diffusion

【Stable Diffusion】Analog Diffusion 機械学習

「リアルな実写画像をStable Diffusionで作成したい」
「Analog Diffusionの良さがイマイチわからない・・・」

このような場合には、この記事の内容が参考になります。
この記事では、Analog Diffusionについて解説しています。

本記事の内容

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

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

Analog Diffusionとは?

Analog Diffusionとは、ファインチューニングされたStable Diffusionの学習済みモデルになります。
ベースとなるモデルは、Stable Diffusion v1.5です。

ファインチューニングには、DreamBoothが利用されています。
学習画像には、アナログ写真が利用されているということです。

DreamBoothについては、次の記事で解説しています。

そして、Analog Diffusionを利用すると次のような画像を生成できます。

確かに、アナログ写真のようだと言われればそのように見えます。
しかし、「だから、どうしたの?」となるかもしれません。

いや、私自身が実際にそうなりました。
そんな中、Redditで次の画像を目にすることがありました。

これは、Analog Diffusionで作成したということでした。
他にもAnalog Diffusionで作成された画像を探してみました。

どうやら、Analog Diffusionは人物の描画に長けているようです。
写真は、人物を対象にすることが多いです。
そのことが、影響しているのかもしれません。

また、我々の感覚に訴えかけるようなモノがある可能性も感じます。
上手い下手というのではなく、感覚・印象によるモノです。

アナログには、デジタルにはないリアル感があります。
まあ、この辺は主観的なことなので正解はありませんけどね。

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

Analog Diffusionの利用方法

Stable Diffusionを動かせる環境が、必要です。
Google Colabではなくローカル環境で動かす場合は、次の記事が参考になります。

Stable Diffusionが動くなら、公式に載っているコードでAnalog Diffusionを利用できます。

from diffusers import StableDiffusionPipeline
import torch

model_id = "wavymulder/Analog-Diffusion"
pipe = StableDiffusionPipeline.from_pretrained(model_id, torch_dtype=torch.float16)
pipe = pipe.to("cuda")

prompt = "analog style, a girl"
image = pipe(prompt).images[0]

image.save("./test.png")

ポイントは、「analog style」をプロンプトに含むことです。

初めてAnalog Diffusionを利用する場合は、モデルのダウンロードが始まります。
そのファイル容量は、全部で5.1GBほどです。

上記コードを実行すると、test.pngが作成されます。

test.png

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

Analog Diffusionの動作検証

Analog Diffusionでは、プロンプトが公開されています。
https://huggingface.co/wavymulder/Analog-Diffusion/resolve/main/parameters_used_examples.txt

それらを利用して、画像を生成してみましょう。

全体的には、近距離の画像は精度が良いです。
画像生成の苦手な「手」に関しても、そこそこ上手く描画できています。

ただし、少し距離があると顔が崩れてしまいます。
人物の全体を表現しようとすると、ダメになりがちです。

あと、Redditで見た女性の画像を作成してみましょう。
次のようなプロンプトを用いたようです。

beauty girl, on starship, future, hyper detailed, insane details, intricate, elite, elegant, luxury, by Jeremy Lipking and Ismail Inceoglu and Aykut Aydogdu and Liam Wong and Wadim Kashin and Greg Rutkowski and Maciej Kuciara, perfect face, fine details, realistic shaded, meha armor

「analog style,」を先頭に追加して、画像を生成した結果が以下。
50枚の中から、近距離の画像を選んでいます。

こうやって見ると、光の表現が上手い学習済みモデルなのでしょうか。
折角なので、日本人の画像も作成します。

クールビューティーという言葉が、頭に浮かびました。
アナログ写真が学習元であるため、昭和という感じが強いです。
これはこれで全然良いと思います。

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

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