🎨

stable diffusion web uiで神イラストを出すためには

2023/03/23に公開

昨今のtext to imageは著作権で揉めていますが、それの是非はともかくキャッチアップはしておきたい、そんな所存です。
今回はインストールから、期待するクオリティのイラストを生成できるまでにどのようなことを調べ、導入したかを簡単に整理しました。

stable diffusion web uiが凄い

https://github.com/AUTOMATIC1111/stable-diffusion-webui

最初にstable diffusionが世に出た時は頑張ってPythonのコードを書いて実行していましたが、ものの数か月でWebブラウザで便利に操作できるツールが開発されました。

純粋にツールとして凄いですが、単純に便利なだけではなく、下記のような特徴があります。

  • OSを問わず実行できるようになっている
  • バックエンドをGoogle Colab上で起動できるので、マシンスペックを問わない
  • 最新の拡張機能を簡単に導入できる

滅茶苦茶素晴らしいです。
Pythonのインストールとgit cloneができる人であれば誰でも使えるくらいまで難易度が落ちています。
特に拡張機能の導入が簡単だったことが驚きで、このツールであれば常に最新技術に追従できることが期待できます。

stable diffusion web uiのインストール

ファイルをローカル環境にgit cloneし、OSに応じたファイルを実行するだけで、インストールが終わり、ローカルホストでフロントエンドが起動します、滅茶苦茶簡単。
(事前にPythonとGitがインストールされている必要があります)

Windowsの場合は下記のような流れでコマンドを実行します。

git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
cd stable-diffusion-webui
webui.bat

初回実行時はモデルのダウンロードなどが行われるため、10分以上の時間がかかります。
数GB以上のファイルをダウンロードすることになります。

Running on local URL: http://127.0.0.1:7860 と表示されれば成功です。

素のstable diffusionの実力

インストールできたものを実行してみましょう。

試しに美少女イラストを目指してschool girl illustrationで出力してみたものがこちら

全然話にならんな...
インターネットで騒がれているクオリティの絵を出力するためには、いくつもの工夫が必要なのでした。

流行りのモデルのインストール

stable diffusionでは汎用的すぎるため、目指す絵柄でファインチューニングされたモデルを採用する方が、期待するイラストを得やすくなります。

萌えイラストの場合、anything-v4.0Counterfeit-V2.5のようなモデルを導入する必要があります。

https://huggingface.co/andite/anything-v4.0

https://huggingface.co/gsdf/Counterfeit-V2.5

インストールは簡単、ckpt、safetensorsという拡張子のファイルをダウンロードし、modelsフォルダ直下に配置し、webuiの起動スクリプトを再実行するだけです。

Counterfeit-V2.5によるschool girl illustrationはこのようになりました。

プロンプトエンジニアリング

モデルだけでなく、AIに投げるプロンプトを工夫する事の影響は大きいです。
((masterpiece,best quality)),のような文言を追加することでクオリティが上がります。

特にネガティブプロンプトの重要性は高いです。

クオリティの高い絵を出すためのネガティブプロンプトをまとめた、EasyNegativeをインストールすると、簡単にイラストのクオリティが上がります。

https://huggingface.co/datasets/gsdf/EasyNegative

Counterfeit-V2.5の説明で掲載されているプロンプトを実行してみます。

((masterpiece,best quality)),1girl, from below, solo, school uniform, serafuku, sky, cloud, black hair, skirt, sailor collar, looking at viewer, short hair, building, bangs, neckerchief, long sleeves, cloudy sky, power lines, shirt, cityscape, pleated skirt, scenery, blunt bangs, city, night, black sailor collar, closed mouth, black skirt, medium hair, school bag , holding bag  

同じseed値で下記のネガティブプロンプトを追加した結果がこちらです。

EasyNegative, extra fingers,fewer fingers, 

vaeの変更

モデルと同時にvaeが公開されている場合があります。
vaeを差し替えると鮮やかな発色になります。

Sampling methodの検討

Sampling methodを変えると出力結果が変わります、DPM++2M Kerrasが人気といわれています。

Upscalerの有効化

Hires, Fixのチェックボックスを有効化します。

これは高解像度補助と呼ばれ、解像度を2倍に上げつつイラストの情報量を挙げています。

ポーズも少々変わりましたが、ここまで来てようやくインターネット上で見た感じのイラストに仕上がってきた印象があります。

まとめ

下記の工夫を全部盛りしてようやくハイクオリティなイラストになります。

  • 流行りのモデルのインストール
  • プロンプトエンジニアリング
  • vaeの変更
  • Sampling methodの検討
  • Upscalerの有効化

AIイラストは今後も様々な工夫や最新技術のキャッチアップが求められるものであり、こういった情報をいち早く認知する能力がアウトプットに大きな差を産む分野だなと感じました。

最後にもう一回出力の違いを見てみましょう、圧倒的レベル差!

Discussion