2023年7月26日、ついにStability AI は 次期画像生成モデルSDXL(Stable Diffusion XL)Ver 1.0を公開しました。
さっそくAUTOMATIC1111 で検証してみようと思ったのですが、同様の機能を持つ web ui アプリとして SD.NEXT を見つけましたので、こちらを使ってSDXL 1.0 を動かしてみようと思います。
SD.NEXTとは
SD.NEXT(Stable Diffusion Next) は、AUTOMATIC1111 のソースコードに独自の改良を加えて派生させた、いわゆるフォーク版と呼ばれるソフトウェアです。
フォーク版であることから、画面レイアウトや操作性、機能はほぼ AUTOMATIC1111 と同じなのですが、インストールがより簡単になっています。
本家のAUTOMATIC1111 は Ver1.5 から SDXL Ver 1.0 に対応しましたが、SD.NEXT はそれよりも少し前から、既に対応済みでした。
SD.NEXTは、本家AUTOMATIC1111 と異なる方向で進化を遂げていくと思われるので、今後とも目が離せません。
インストール方法
SD.NEXTのインストールとSDXL1.0のダウンロード、及び SD.NEXT でモデルを使えるようにするまでの手順は以下の様になります。
SD.NEXTをインストール
SD.NEXTをインストールするには git clone コマンドを使います。私はOドライブ直下に SD_NEXTというフォルダを作り、その下に SDNEXT というサブフォルダを作って、ここに SD.NEXT をインストールしました。
この理由は、SD_NEXTフォルダの中にPythonとGitのポータブル環境を入れており、ここに SD.NEXT をインストールしたかったからです。
この辺は皆さんの環境に合わせて読み替えてください。
さて、git clone コマンドを実行するにあたり、あらかじめコマンドプロンプトを開いて、SD_NEXT\SDNETフォルダに移動してから、次のコマンドを実行して下さい。
git clone https://github.com/vladmandic/automatic
インストールが始まるとコマンドプロンプトにダウンロードの途中経過が表示されます。
インストールが成功するとSDNEXTフォルダ直下に以下のフォルダ階層が出来上がるはずです。
次に、automatic フォルダに移動して、webui.bat を実行します。コマンドプロンプトから以下のコマンドを実行して下さい。
cd automatic
webui.bat
SD.NEXTが色々なモジュールをダウンロードするため少々時間が掛かりますが、やがてデフォルトのモデルをダウンロードするかを聞かれます。
デフォルトのモデルを使わない場合は n を入力して下さい。私はとりあえず y を入力しました。
しばらくすると 画面の表示が止まり、SD.NEXTのweb ui が使える状態になります。
お使いのブラウザのアドレスバーに次のアドレスを入力し、エンターキーを押してください。
http://127.0.0.1:7860/
次の画面が表示されたらインストールは完了です。
起動の確認が終わったら、ブラウザを閉じ、コマンドプロンプトも終了させて下さい。
SDXL1.0のダウンロード
huggin face から base と refiner の2つのモデルをダウンロードします。まず最初に、sd_xl_base_1.0.safetensors をダウンロードします。
https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/tree/main
続けて sd_xl_refiner_1.0.safetensors をダウンロードします。
https://huggingface.co/stabilityai/stable-diffusion-xl-refiner-1.0/tree/main
SD.NEXTにSDXL1.0を認識させる
ダウンロードした2つのファイルを、下記のフォルダにコピーすれば完了です。
SD.NEXTの起動
起動方法は、コマンドプロンプト上で automatic フォルダに移動し、webui.bat を実行するだけです。その先 --backend diffusers オプションを指定します。
webui.bat --backend diffusers
さて、SD.NEXTを起動した状態では Checkpoint は選択できますが、 refinerはドロップダウンリストが表示されず選択できません。そこで、User Interfaceの設定を設定しておきましょう。
本家 AUTOMATIC1111 と同様に ①「Setting」タブを選択し、続けて左側の ②「User Interface」を選択します。
そして、下図の通り ③でref を入力すると ④で sd_model_refiner が表示されるので、これを選択します。
最後に ⑤「Apply settings」をクリックすると設定は完了です。画面上部に Stable Diffusion refiner の選択欄が表示されているはずです。
SDXL1.0を試してみる
では、下記の設定で軽く試してみましょう。
checkpoint | sd_xl_base_1.0.safetensors |
refiner | sd_xl_refiner_1.0.safetensors |
prompt | 1 dog,8k,masterpiece,best quality,raw photo quality,real,space ship |
negative prompt | paintings,sketches,(badhandv4:1.2),(worst quality:2), (normal quality:2),(low quality:2),monochrome,grayscale |
sampling method | DPM 2M |
Width | 1024 |
Height | 2024 |
結果は以下の通りです。かなりリアルな画像が生成されました。
プロンプトを変えて何枚か生成させてみましたが、いずれも美しい写真が生成できました。ただ、真ん中の写真の女性の顔は少し崩れています。
顔の面積が小さいと画像が崩れるのは、今までと同じ傾向のようです。
今度は、Restore faces と tiling にチェックを入れてみました。
かなりクオリティの高い画像が生成されました。ただ、今までの3倍以上の時間が掛かります。
まとめ
今回は stable diffusion web ui AUTOMATIC1111 の派生版である SD.NEXT のインストール方法と、7月26日に公開された SDXL 1.0 モデルのダウンロード方法、画像生成について解説しました。
AUTOMATIC1111も Ver1.5 からは SDXL 1.0に対応しているため、これについては別途記事を書きたいと思いますが、まずは派生型のSD.NEXT の存在と、どういったものか分かっていただけたかと思います。
SDXL 1.0 はこれまでと異なるテイストの画像が生成できますが、フォトリアルなポートレートというジャンルでは、現時点で bra_v5 や Brav6、chilloutmix などに軍配があがります。
しかし、SDXL 1.0 をベースにした新しいモデルも登場していますので、もはや時間の問題かとは思います。
品質の高い画像が生成できることはうれしい限りですが、相応のハイスペックなGPUが必要になるので、懐が辛いです。生成系AIに特化した安価で高性能なプロセッサが登場することを祈るばかりです。
コメント