PR

Stable Diffusion XL(SDXL)とは?Web UIでの使い方を解説

Stable Diffusion XL(SDXL)とは?Web UIでの使い方を解説
この記事は約6分で読めます。
らん
らん

ときどき聞く「SDXL」ってなに?

るん
るん

より高解像度の画像を生成できるStable Diffusionの新モデルです

2023年7月にStable Diffusionの新モデルである「SDXL(Stable Diffusion XL)」がリリースされました。

本記事ではこの「SDXL」の導入方法や使い方について解説します。

この記事のポイント
  • SDXLは高画質な画像を生成できる「Stable Diffusionの新モデル」
  • Web UI(AUTOMATIC1111)は、v1.5.0以降がSDXLに対応
  • SDXLは「Baseモデル」だけでも動く
  • アニメ系の絵を生成したいなら、CounterfeitXLなどのモデルを使うのがオススメ

SDXLとは

SDXLは、高画質な画像を生成できる「Stable Diffusionの新モデル」です。
1024×1024のような大きなサイズの画像もきれいに生成できるようになりました。

SDXLで生成した「働く猫
」の画像
SDXLで生成した画像(元画像は1024×1024だが、記事に合わせてリサイズ)

BaseモデルとRefinerモデルの二段構えで高画質な画像を生成する仕組みとなっています。

SDXLの構造
SDXLのモデル構造(https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0より画像引用)

SDXLを使うときの注意点

SDXLはモデルファイルが大きいのでモデルを読み込むだけでもメモリをかなり消費します。
また、高解像度に向いているモデルのため、低解像度の画像生成はうまくいきません。

SDXLの導入方法(AUTOMATIC1111)

「Stable Diffusion WebUI(AUTOMATIC1111)」にSDXLを導入する方法を解説します。

といっても、普通にSDXLのモデルファイル(チェックポイント)をダウンロードするだけです😊
それでは順番にみていきましょう。

バージョンの確認

AUTOMATIC1111ではv1.5.0からSDXLをサポートしています。そのため、まずは使っているWeb UIのバージョンを確認しましょう。

AUTOMATIC1111のバージョンはWeb UI画面の下の方に表示されています。

[Stable Diffusion WebUI] バージョンの確認

なお、新たにWeb UI(AUTOMATIC1111)をダウンロードする人は、こちらの記事を参考にダウンロードしてみてください。最新版がダウンロードされます。

>> Stable Diffusion Web UIのインストール方法を解説

SDXLのモデルのダウンロード

次はSDXLのモデルをダウンロードしていきます。

SDXLはBaseモデルとRefinerモデルの二段構えになっているので、モデルも「Baseモデル」と「Refinerモデル」がそれぞれ公開されています。

下の模式図を見ると、BaseとRefinerのどちらも必要に見えますが、実際にはBaseモデルだけで問題なく動作します

SDXLの構造

Refinerモデルを組み入れても生成画像に大きな変化はなく、生成時間が伸びるだけなので、基本的にはBaseモデルだけでもいいと思います。

Baseモデルは、以下のHugging Faceのリンクから入手できます。「sd_xl_base_1.0.safetensors」というファイルをダウンロードしましょう。
ファイルサイズが約7GBもあるので、ダウンロードに時間がかかるかもしれません。

stabilityai/stable-diffusion-xl-base-1.0 at main
We’re on a journey to advance and democratize artificial intelligence through open source and open science.

Hugging FaceからSDXLのBaseモデルをダウンロード

ダウンロードしたモデルファイルは、通常のモデルと同様に「models/Stable-diffusion」に格納すればOKです。

[Stable Diffusion WebUI] SDXLのモデルファイルを配置

Baseモデルと合わせてRefinerモデルも使いたい人は下記のリンクから「sd_xl_refiner_1.0.safetensors」をダウンロードしてください。ダウンロードしたファイルはBaseモデルと同様に「models/Stable-diffusion」に格納します。

stabilityai/stable-diffusion-xl-refiner-1.0 at main
We’re on a journey to advance and democratize artificial intelligence through open source and open science.

webui-user.batの編集

SDXLを使う場合、Web UIを起動するときにオプションを指定する必要があります。
そのため、Stable Diffusionを起動するときに実行する「webui-user.bat」というファイルの中身を修正します。

テキストエディタなら何でも構いませんが、たとえば「メモ帳」を開いて、そこに「webui-user.bat」をドラッグ&ドロップしてみましょう。中身を開くことができます。

この中の「set COMMANDLINE_ARGS=」の行を次のように書き換えればOKです。

set COMMANDLINE_ARGS=--no-half-vae
[Stable Diffusion] webui-user.batに--no-half-vaeオプションを追加

「ファイルを上書き保存」しましょう。

なお、パソコンのGPUが「NVIDIA社」製の場合には、以下のようにxformersに関するオプションもつけることをオススメします。

set COMMANDLINE_ARGS=--no-half-vae --xformers
[Stable Diffusion] webui-user.batに--no-half-vaeと--xformersオプションを追加
るん
るん

メモリ使用量が減って、生成時間も少し早くなるはずです

Web UIの起動&画像生成

これで準備はOKなので、webui-user.batをダブルクリックしてWeb UIを起動しましょう。

Web UIが起動したら、モデル(チェックポイント)から「sd_xl_base_1.0.safetensors」を選択します。

AUTOMATIC1111でSDXLのモデルを選択する

Refinerモデルも合わせて使いたい場合は、「Generation」タブにある「Refiner」にダウンロードした「sd_xl_refiner_1.0.safetensors」を指定します。

AUTOMATIC1111でSDXLのRefinerを指定する

あとは普通にプロンプトを入力して画像を生成すればよいのですが、画像のサイズには注意してください。SDXLは高解像度の画像で学習しているため、512×512などの低解像度だと品質が悪くなってしまいます。以下のサイズが推奨されています。

SDXLの推奨サイズ
  • 1024×1024
  • 1152×896(896×1152)
  • 1216×832(832×1216)
  • 1344×768(768×1344)
  • 1536×640(640×1536)

適切なサイズを指定したら、画像生成してみましょう。私はこのような画像を生成してみました。
猫の毛並みの感じもきれいです✨

SDXLで生成した「カフェでパソコンをする猫 」の画像

ちなみにアニメ系の絵もそこそこの出来なのですが、SDXLのアニメ系モデルがあるので、あえてこのモデルで作る必要は感じません。

SDXLで生成した「アニメ系美少女」の画像
らん
らん

これはこれで結構かわいいけどね

アニメ系のSDXLモデル

では、最後にSDXLをベースにしたアニメ系のモデルを2つだけ紹介します。高解像度で美しいイラストを生成できるので、ぜひ楽しんでみてくださいね✨

CounterfeitXL

CounterfeitXL - v2.5 | Stable Diffusion Checkpoint | Civitai
Support☕ hugging face Negative Embedding

Animagine XL V3

Animagine XL V3 - v3.0 | Stable Diffusion Checkpoint | Civitai
ANIMAGINE XL 3.0 Huggingface link: Gradio Demo :

まとめ

SDXLのポイント
  • SDXLは高画質な画像を生成できる「Stable Diffusionの新モデル」
  • Web UI(AUTOMATIC1111)は、v1.5.0以降がSDXLに対応
  • SDXLは「Baseモデル」だけでも動く
  • アニメ系の絵を生成したいなら、CounterfeitXLなどのモデルを使うのがオススメ
プロフィール
この記事を書いた人
千鳥 るん | Chidori Run

画像生成AIで思い通りのイラストを描くためのノウハウを試行錯誤で模索しています。IT企業でAI戦略に関わっていたこともあるAIエンジニアです。大学生の頃から趣味でイラストを描いていましたが、仕事が忙しくなり一旦筆を置きました。最近、NovelAIと出会ってまたお絵描きへの情熱を取り戻しています。

千鳥るんをフォローする
Stable Diffusion
スポンサーリンク
シェアする
千鳥るんをフォローする

コメント

  1. Tani より:

    はじめまして。
    SDXLを使いたいと思いこちらの記事を拝見し、無事に導入することができました。
    しかし、いざ出力してみると非常に汚いベタ塗のような絵が出力されます。
    (ponyXL,animagineXLで試しました。)
    モデルをSD1.5系のものに戻すと、問題なく出力されます。
    色々調べてみても解決の糸口が掴めず手詰まりになってしまったためコメントさせていただきました。何か解決の手掛かりはご存じないでしょうか?

    WebUIのバージョンは1.8.0、pythonは3.10.11、グラボはRTX4060Ti:16GB(最近3060から交換したばかり)、メモリは32GBです。

    よろしければ、お返事お待ちしております。

    • 千鳥 るん | Chidori Run 千鳥 るん | Chidori Run より:

      はじめまして、ご質問ありがとうございます。
      SDXLで出力が汚くなる要因として考えられるのは、出力サイズが小さすぎる場合(512×512など)です。
      他の原因は私も思いつかないです…。すみません。
      このブログをご覧の方で何か情報がお持ちの方がいらっしゃればコメントいただけると助かります!

  2. あかり より:

    絵が汚い場合→サイズを1024*1024や894*1152に
    支離滅裂な絵の場合→Emphasis modeをNo normに