Stable Diffusionを始めたばかりの方は、
- 生成した画像が他の方の画像に比べてモヤモヤしている
- 輪郭がはっきりしていない
と感じたことはないでしょうか?
これらの原因はほとんどVAEによるもので、VAEを導入すれば簡単に解決します。
この記事ではVAEの効果、導入方法について、詳しく解説します。
・Stable Diffusion Web UIのインストールはこちら
Stable DiffusionのVAEとは?
Stable DiffusionのVAEは、「Variational Autoencoder(変分オートエンコーダ)」のことです。
VAEは画像を潜在空間に圧縮し、その潜在空間から画像を再構成するモデルで、モデルごとに効果が異なります。
このVAEを使用して得られる効果は、「画像の生成品質の向上」「画像の生成速度の向上」の2つです。
VAEを導入することによって、より品質の高い画像を高速で生成できます。
VAEの有無による生成結果の違い
実際に見た方がわかりやすいので、ここではVAEあり・なしで生成した画像結果をご紹介します。
左がVAEなし、右がVAEを使用して生成した画像です。
左の方は白いモヤモヤしたものが掛かっており、線の境界線がよくわかりません。
VAEありで生成した方はモヤモヤが消え、線の輪郭がハッキリしています。
このようにVAEを使用することで、画像にかかるモヤモヤを除去し、輪郭などをハッキリさせることができます。
Stable Diffusion Web UIにVAEを導入&表示する方法
まずはVAEのモデルが必要です。
ここでは公式のstabilityaiが提供している「vae-ft-mse-840000-ema-pruned」を例に、導入方法を解説します。
以下のリンクにあるDownloadボタンからVAEをダウンロードします。
vae-ft-mse-840000-ema-pruned.safetensors · stabilityai/sd-vae-ft-mse-original at main
ダウンロードしたVAEを以下のパスに移動します。
stable-diffusion-webui\models\VAE
次にStable Diffusion Web UIを起動します。
settingタブのVAEに行き、SD VAEを「vae-ft-mse-840000-ema-pruned」にします。
これで生成時に「vae-ft-mse-840000-ema-pruned」が使われるようになります。
なお、生成ごとに自分で切り替えたい場合は、User interfaceの項目で表示設定が必要です。
Quicksettings listという項目があるので、そこにvaeと入力し、sd_vaeを選択します。
そうするとWeb UIの上部にVAEのメニューが追加され、切り替えが可能です。
おすすめのVAEは?
VAEにはさまざまなものがありますが、いろいろ試した結果、上記で紹介した「vae-ft-mse-840000-ema-pruned」が一番オールマイティです。
変に特徴的な結果が出ることもなく、デメリットに感じるような違和感もありません。
VAEによっては被写体が綺麗に映っても背景がぼやけてしまったり、逆のパターンがありえるため、個人的には「vae-ft-mse-840000-ema-pruned」が一番おすすめです。
人によって好みが分かれるため、気になるものがあれば実際に試してみてください。
・二次元画像比較(hires.fix使用)
・三次元画像比較(hires.fix使用)
vae-ft-mse-840000-ema-pruned.safetensors · stabilityai/sd-vae-ft-mse-original at main
なお、SDXLの場合はSDXL専用のVAEがあります。
使用するSDのバージョンを確認してからVAEも使用してください。
VAEの導入方法と効果まとめ
この記事ではStable Diffusionで使用するVAEの導入方法と効果について、解説しました。
- Stable DiffusionのVAEとは?
- VAEの有無による生成結果の違い
- Stable Diffusion Web UIにVAEを導入&表示する方法
- おすすめのVAEは?
導入自体は簡単ですが、生成結果に大きな違いがでます。
いろいろなVAEを試して、自分に合うものを探してみてください。