「Stable Diffusionではコントラストをイマイチ上手く表現できない・・・」
「Midjourneyのような全体的に暗い高画質の画像を生成したい」
このような場合には、Illuminati Diffusion v1.1がオススメです。
この記事では、Illuminati Diffusion v1.1について解説しています。
本記事の内容
- Illuminati Diffusion v1.1とは?
- Illuminati Diffusion v1.1の利用方法
- Illuminati Diffusion v1.1の動作検証
それでは、上記に沿って解説していきます。
Illuminati Diffusion v1.1とは?
Illuminati Diffusion v1.1とは、高画質な画像を生成できるStable Diffusion用モデルです。
Stable Diffusion v2-1(768)をベースに生成されています。

だから、このような高画質な画像を生成可能です。
それに加えて、Illuminati Diffusion v1.1にはオフセットノイズで学習したモデルという特徴があります。
オフセットノイズについては、次の記事で説明されています。
https://www.crosslabs.org/blog/diffusion-with-offset-noise
正直、上記記事の内容は難しいです。
簡単に言うと、オフセットノイズを用いると暗い(黒い)画像を綺麗に表現できます。
コントラストの描画が上手くできるということですね。
オフセットノイズを用いない場合、Stable Diffusionでは平均的(0.5)な明るさになります。
つまり、コントラストの表現が下手ということです。
(黒い画像が0、白い画像が1と表現されています)
暗くなるようにプロンプトで指定しても、平均になってしまう制限があるということです。
このことを的確に表現しているのが次の画像になります。

Illuminati Diffusion v1.0は、オフセットノイズに未対応です。
オフセットノイズ対応のIlluminati Diffusion v1.1は、Midjourneyと同等だと言いたいのでしょう。
また、Illuminati Diffusion v1.1からは次の変更があります。

Hugging FaceからCivitaiに移動したということのようです。
Civitaiの勢いについては、次の記事で触れています。
あとは、embeddingの利用がほぼ必須となっています。
これらについては、後ほど説明します。
以上、Illuminati Diffusion v1.1について説明しました。
次は、Illuminati Diffusion v1.1の利用方法を説明します。
Illuminati Diffusion v1.1の利用方法
Illuminati Diffusion v1.1では、次のembeddingが利用することが必須です。
- nfixer for Illuminati Diffusion v1.1
- nartfixer for Illuminati Diffusion v1.1
- nrealfixer for Illuminati Diffusion v1.1
Diffusersでも頑張れば、embeddingは利用できるでしょう。
でも、3つのembeddingの利用はDiffusersで可能かどうかは不明です。
そんなことで苦労するぐらいなら、Stable Diffusion web UI(AUTOMATIC1111版)を利用しましょう。
web UIのインストールは、実はとても簡単にできます。
ということで、ここではStable Diffusion web UI(AUTOMATIC1111版)の利用を前提とします。
まずは、モデルのダウンロードから行います。
モデルのダウンロードは、公式ページから可能です。
https://civitai.com/models/11193/illuminati-diffusion-v11

ボタンをクリックして、ファイル(illuminatiDiffusionV1_v11.safetensors)をダウンロードします。
ダウンロードしたファイルは、models/Stable-diffusion以下に保存。
また、3つのembeddingも次のページからダウンロードします。
https://civitai.com/models/13515/nfixer-for-illuminati-diffusion-v11 https://civitai.com/models/13518/nartfixer-for-illuminati-diffusion-v11 https://civitai.com/models/13519/nrealfixer-for-illuminati-diffusion-v11
ダウンロードしたファイルは、embeddings以下に保存。

ここで、web UIを起動(再起動)します。
そうすると、Illuminati Diffusion v1.1をモデルとして選択可能となっています。

これでIlluminati Diffusion v1.1を利用できるようになりました。
以上、Illuminati Diffusion v1.1の利用方法を説明しました。
次は、Illuminati Diffusion v1.1の動作検証を説明します。
Illuminati Diffusion v1.1の動作検証
公式ページから、参考となるプロンプトを取得しましょう。
次のアイコンのある画像を探します。

このアイコンをクリックすると、次のような情報が表示されます。

これを参考(そのまま流用)にして生成した画像は、以下。

生成された画像情報には、次のような表記があります。

2つのembeddingsが適用されていることを確認できます。
なお、embeddingsはすべてネガティブプロンプトとして利用します。
もしこれらのembeddingsを利用しないと、どうなってしまうのでしょうか?
それを検証した結果が次の画像です。

左の画像は、ネガティブプロンプトから「nrealfixer, nfixer」を取り除いています。
右の画像は、同じSEEDで「nrealfixer, nfixer」を含めて生成した画像です。
embeddingsの効果は、明らかですね。
ここで気になるのが、もう一つのembeddingsである「nartfixer」の存在です。
公式に掲載されている画像を見た結果、「nartfixer」は利用されていません。
とりあえず、現状では「nrealfixer, nfixer」だけの利用で問題ないでしょう。
そもそも、現状では「nartfixer」はバグっているみたいです。
あと、黒系以外の画像も検証しておきましょう。

黒色の反対である白色も問題なく出力できています。
むしろ、明るい(白い)色を出力できているのかもしれません。
以上、Illuminati Diffusion v1.1の動作検証を説明しました。