当サイトで「小説・ノベル」カテゴリに分類される一部作品のような、元々イメージ画像が用意されていない作品の記事を作成するに際し、便宜上イメージ画像が必要になったため、AI画像を生成することに。
以前、興味本位でローカルに入れて遊んだ後、そのままになっていた「Stable Diffusion」を久方ぶりに立ち上げてみたところ、うまく画像が生成されない不具合に遭遇してしまった。
幸いこの問題は速やかに解決したものの、AI画像生成に関する知見がないため、備忘録的に事の顛末を記しておくことに。
その不具合とは、下記の画像のように生成された画像にノイズが生じてしまうというもの。「極端に荒い画質 + キャラが青みがかる」そんな名状しがたいノイズが、画像全体に見られる。
具体的には、生成中プログレスバーが100%に達するまでの間は通常通り描画されており、完成した瞬間に上記のような画像に変わってしまう。また、モデルを変更してみると、正常に生成されるものとノイズが生じるものとで2パターン存在することが判明した。
問題の答えはこの中に隠れていたようで、全く記憶になかったが、過去に「Stable Diffusion」を触った際に「VAE(Variational Autoencoder)」なる項目を弄っていたらしく、使用していた「VAE」と一部のモデルの相性が悪いことが本件の原因であった。
今回、画像を生成するにあたって新しくモデルを探してダウンロードしたのだが、その中の一部が「SDXL」というモデルであり、この「SDXL」モデルに「SD1.5」の「VAE」を適用させていたことが、ノイズ発生の原因だった様子。
つまり、「SDXL」モデルを使用する場合には、「SD1.5」の「VAE」では適合しないようなのだ。
そんなわけで、「設定」タブを開いて左メニューから「VAE」を選択し、「SD VAE」の項目にあるプルダウンメニューより「None」を適用させる(VAEを使用しない)ことで、ノイズから解き放たれることができた。
なお、今回は「VAE」を外すことで問題を解決したが、「SDXL」の「VAE」であれば(同じモデル同士であれば)適用させても問題はないようだ。
次にイメージ画像を用意する際には、「SDXL」の「VAE」も試してみようと思う。
Stable DiffusionでVAEを使用する場合、生成モデルと同じバージョンのモデルを使用する必要がある。