VAEについて

SD関連

VAEとは

詳しいことはググったほうが詳細記事がいっぱいあるので、専門家でない私は解説は省きますが、画像生成においてはVAEが無いと彩度や明度が淡くなるモデルがあります。
(わかりやすいのは彩度・明度ですがディティールの入り方などにも影響します)
Twitterとかで流れてくる絵を見ていても適用してないなーって思う画像が結構あるので、記事を書くことにしました。(表現としてその淡さを意図的に選んでいるなら何も問題はないです)

逆に淡くならないモデルもあるのですが、それはモデル内にVAEが埋め込まれているタイプなのでVAEを使っていないわけではありません。
何か絵が地味なんだけど? って思ったらVAEを設定してない可能性が大です。
※VAEをNoneにするとVAEが同梱されていないモデルはStablediffusion1.4の初期VAE(kl-f8 autoencoder?)が適用されているらしい?です。元々リアルよりの物に最適化されているので絵だと地味っぽく見えるのかもですね。

またVAEは生成の最初と最後に処理が入ります。大きい画像を作っていて生成の最後で失敗する場合はVAEの適用が入ることでVRAMが足りなくなっていると思われます。


VAEを適用するには

VAEを持っていない場合はまずDL

個人的に4つ持っておけばいいと思うVAEを紹介します。(理由は後述)
マージが出てくる前の主流だった元祖VAEたちを紹介します。
VAEマージが出来るようになった事によって新たなVAEがそこそこ増えてきているので、お好みで試して決めるのがおすすめです。
(2023/3/5自作のマージVAEを追加しました。)

  • anything-v4.0.vae.pt
    彩度淡め、パッキリ感弱め。グラデーションが得意。
  • kl-f8-anime.ckpt , kl-f8-anime2.ckpt
    彩度高め。少しピンク紫系の色味に変化する。塗りもパキッとした感じでグラデーションが弱まる。
    2の方は無印と違いピンク紫系の色味に寄らない。他は大体同じようなタッチ。
  • autoencoder_fix_kl-f8-trinart_characters.ckpt
    上のkl-f8-animeの2つの中間くらいのタッチ。気持ちグラデが多めに入るかな?
  • vae-ft-mse-840000-ema-pruned.safetensors
    anyV4とtrinartの中間くらいのタッチ。 グラデ感も同じくらい。 基本的にはリアル系に使う(らしいけど普通にイラスト系でも使える)
  • 自作のVAEマージ品
    kl-f8-animeとmse-840000の中間くらいを狙ってマージ。美少女系ゲーム、ラノベっぽいタッチが好きな人は好きかも?

DLが終わったらstable-diffusion-webui\models\VAEにファイルを入れます。
昔は.vae.ptなどに拡張子を変更しないと読み込めないなどありましたが、最新では関係ありません。

VAEの切り替え

設定画面に行きVAEを切り替えるのですが、よく変更する項目なので下記を参考に上部にUIを表示することをオススメします。

こんな感じで上部にSD VAEが出てくるのでプルダウンから選んでください。


VAEの検証(リネームしただけのものリスト)

さて、なぜ先程VAEは4つ持っていけば良いという話をしたかということを書いていきます。
結論から言うと、色々派生しているように見えるVAEですが、実は名前を変えているだけで中身は全く同じという物がいくつもあるからです。モデルの解説ページを見ると○○のVAEのリネームですって書いている作者様も居ますが、書かずに置いている方もいます。
そのVAEを使ったときの見た目で調整しているので、それをDLして使うのが最も作者様の想定通りの絵が出るわけですが、ローカルにいくつも同じのがあるのはVAEを適用するのに名前を合わせる必要が無くなった今となっては容量の無駄でしかありません。

とりあえず下記の検証結果のページを見てもらえれば大まかに分るかと思います。

ハッシュ値比較を行い同じモデルかどうかの判断を記入しています。
見つけ次第追加していきます。

元VAEハッシュが同じVAEハッシュ値(sha256)
SD1.4vaenai.vae
anythingV3.vae,anythingV4.vae
AnythingGape-fp16.vae.pt
orangemix.vae
Counterfeit-V2.5.vae
RefSlave-vae
ThisIsVAE.pt
f921fb3f29891d2a77a6571e56b8b5052420d2884129517a333c60b1b4816cdf
kl-f8-anime2f11c4a99ddc28d0ad8bce0acc38bed310b45d38a3fe4bb367dc30f3ef1a4868
kl-f8-anime2Pastel-Waifu-Diffusion.vaedf3c506e51b7ee1d7b5a6a2bb7142d47d488743c96aa778afb0f53a2cdc2d38d
autoencoder_fix_kl-f8-trinart_characters2453b80bc1716bc3f94496d4e56be891e267051dc43c5144f384b66a73ac8295
vae-ft-mse-840000-ema-pruned.vaec6a580b13a5bc05a5e16e4dbb80608ff2ec251a162311590c1f34c013d7f3dab
mse840000_klf8anime53cfd845736459e78f208786f8d56109093f37dc427e366769416f6ca9ea6fc9
mse840000_klf8anime_klf8anime2a9a44822203eaa05104d37a242ec5af405d0fcfb98a81fb89f0c2e8bb71ae962
clearvae_main600345c503784cd77536d714f0e4c43f9e1fa4379007e730d54c454c66ee36db
ACertainThing-0064.safetensors319adc806290ec775f361bac6c68a878a96c9982e1dd77c9545240cc811c4e58
flat_paint_b_v2.safetensors2da3f767874561a7e0e52ef2c24c8a0ea2997fd267727cfd2981fd9594e8bbd4
flat_paint_b_v3.safetensors0b4ff3b7be8c164b2a80d3a3a7c5eebc41a11994420a8633abf8190cff9cfc9c
SD15NewVAEpruned.vae.pt27a4ac756c5c4fb25bfb7bd32a700a89fe77a66926338b1d78b97e25e1e85f75

検証のやりかた

自分で調べたい方はコマンドラインでsha256出力してみてください。
どこでもいいのでPowerShellかcmdを開いて下記を入れます。

構文:CertUtil -hashfile VAEファイルフルパス sha256
実例:CertUtil -hashfile H:\AI\stable-diffusion-webui\models\VAE\mse840000emapKlf8anime.vae.pt sha256

以上、VAEについての解説でした。


タイトルとURLをコピーしました