StableDiffusion
環境構築
web-uiインストール
Stable Diffusion web-uiのインストール
日本語化
高速化オプションの書き込み
とっかかりになるモデルの紹介、入れ方
VAEの入れ方
enbeddingsの入れ方
WebUIの使い方
プロンプトの書き方
エンベディングの呼び出し
サンプラーの紹介
高解像度補助
Controlnetインストール
現状、ControlnetはSD:1.5前提になっているので、利用するモデル(checkpoint)もSD:1.5ベースの物を選ばないと動作しない
例えば、上で紹介しているReplicantは、SD:2.1ベースなので動作しない
Controlnet用モデルは、配布元に従う事。上の解説サイトだと、古い物をダウンロードしてしまう StableDiffusion
サンプリング方法
物によって傾向がある模様
ステップ数が低い方が良い物、高い方が良い物。
CFGスケールが低い方が良い物、高い方が良い物。
結果が安定しない(効果的な構図が得られるが線が崩れてる)タイプ(a系?)
table:サンプリング方法所感
Euler a 40以上 変わった構図になる
Euler 40以上 収束する
LMS 難 160以上 収束する
Heun 良い 20以上 収束する Step20以下でも良いかも
DPM2 良い 20以上 高StepだとHenuと同じ 僅差でHenuの方が好き
DPM2 a 20以上 変わった構図になる Step毎の変化が大きい
DPM++ 2S a ボケる 変わった構図になる
DPM++ 2M 80以上 収束する Step80以上から使い物になる
DPM++ SDE ボケる 変わった構図になる
DPM fast ダメ
DPM adaptive 良い 20以上 変わった構図になる Step毎の変化が小さい
LMS Karras 80前後 収束する Stepが高すぎるとモアレ
DPM2 Karras 40以上 収束する
DPM2 a Karras 80以上 変わった構図になる
DPM++ 2S a Karras 良い 80以上 ほぼDPM2 a Karras 僅差でこっちが好き
DPM++ 2M Karras 良い 20以上 収束する Step20以下でも良いかも
DPM++ SDE Karras ボケる
DDIM 良い 40前後 収束する 微妙に収束しきってない
PLMS 難 160以上 収束する LMSよりこっちが好き
UniPC 良い 80以上 収束する
お気に入り
低Step数
Henu
DPM adaptive
DPM++ 2M Karras
高Step数
DDIM
UniPC
モデル
SD:1.5
モン娘モデル
SD:1.5
期待している
SD:1.5
ゲーム用のアイコンを作るモデル
LoRA
みすちーLoRA
VAE
Wife-diffusionにおける推奨VAE
彩度を引き上げる効果を感じる
線がくっきりと強調される(太くなる)気がする
高解像度補助
解像度を引き上げる。生成画像の精細さにも影響する
アップスケーラー
生成速度が速いLatent (ニアレスト補間)、Latent (ニアレストエグザクト補間)などがおすすめらしい
LatentやR-ESRGAN 4x+ Anime6Bみたいな、時間かかるやつは指が破綻しない?
R-ESRGAN 4x+ Anime6Bが良い?
ノイズ除去強度
元絵からの逸脱度具合。数字が大きいほど逸脱する。
アウトペイント
その他
Embedding
ネガティブプロンプトを短縮入力してくれる
拡張機能
sd-webui-infinite-image-browsing
生成した画像履歴を取ってくれる
プロンプト
table:用語集
VAE 画像の色味を調整するファイル
モデル 画像の方向性を定義するファイル
Embedding プロンプトの予約入力。キーワードを入れると、予約したプロンプトと入れ替わる
SD:1.5, SD:2.1 Stable Diffusionのバージョン。1.5と2.1で構造が違うため、併用出来ない
Controlnet StableDiffusionの拡張機能。色々ある。
LoRA 画像生成に割り込んで、生成結果に傾向を付与するもの
Controlnet
Controlnetの機能
Canny
元画像の境界線情報のみ参照するようになる
Depth
元画像の深度情報を参照する
OpenPose
人物のポーズを指定できる
ポーズ画像を使う時は、プリプロセッサは無しにすること
基本的にはimg2imgで使う
Inpaint
特定領域だけ生成し直す
プリプロセッサには inpaint_global_harmonic を推奨している・・・?
これ使うと色味が変わるので使いづらい
Reference
text2imgで使うと、雰囲気似た画像が出てくる
Controlnet用画像
キャラデザの構図指定に良い
turn around of 1 など、いくつか必須のキーワードがある(入れないと別人が並ぶ)
PBRemTools
人物切り抜き
仕組みの話
(比較的)咀嚼しやすい形で、StableDiffusionの仕組みを紹介している
ユースケース
壁紙生成
高解像度補助を利用して、壁紙サイズの画像を作りたい
ただ、AIが得意な解像度があるようで、いきなり目標解像度で作ると色々と崩れる。具体的にはムカデ人間が出来る
一旦AIが得意な解像度で出力して、アレコレしてアスペクト比を変えていく必要がある
アプローチ
アウトペイント法
きれいに出来るにはガチャ回しが必要
Extras法
要は切り抜きなので構図に問題が出る場合がある
再作成法
元画像を作った後、i2iやrefelenceで目標解像度の画像を作る
アウトペイント法 目標解像度:2560x1080
768x512で画像生成
高解像度補助で2倍の1536x1024に(顔の修正など)
アウトペイントで左右に256書き足し。この際、プロンプトは背景に関する物だけに減らした方が良い
もう一度左右に256書き出し。これで横幅が2560に
アウトペイントで上下に28書き足し
・・・アウトペイントで書き足した所の境界線が目立つのが課題
i2iのInpaintで色のおかしい所を選択し、ノイズ除去強度を0.4前後にして生成し直すとか?
Inpaint使わずに全体を描き直させる方が良い?
表情差分と同じく、VAEを使う事で色味を合わせる事が出来る・・・かもしれない
Extras法 目標解像度:2560x1080
768x512で画像生成
高解像度補助で2倍の1536x1024に
Extrasで解像度指定
Upscalerなどの設定は何選んでもそんな変わらん気がする
カラバリ生成
要はControlNetのCannyとかDepth使うだけなんだけど
何かの元キャラ画像に対して、CannyやDepthを使うと、2Pカラーみたいな生成結果が獲られる
Canny(境界線読み取り)だと服の模様とかを踏襲するが、ノイジーになりがち
Depthは再現性が下がるが、クオリティは良い気がする
表情差分
SD標準か、ControlNetのInpaintを使って、立ち絵の表情差分作成を試みる
Inpaintした所と、そうでない所で、色味が変わる場合、VAEを指定する事で解消する可能性が高い
kl-f8-anime2.ckptとか
ControlNetのInpaintを使う場合、プリプロセッサはinpaint_only+lamaが良い(?)
inpaint_onlyでも良い。がinpaint_global_harmonioは色がおかしくなるので良くない。
参考文献
マットキャップ
TODO