見出し画像

SDで生成した画像が白っぽくなる原因

Stable Diffusion webuiで画像生成した際に
画像が白っぽく(黒くなる)原因について説明します。

拡張機能の「inpaint」やControlNetの「tiled」を使っていた際に
このようなことが起こりました。


画像生成すると、
inpaintで塗った箇所が白っぽくなったり…

inpaint


ControlNetのTiledでは、全体が白っぽくなったり…

ControlNetのTiled


こんな症状が急に発生してしまい解決するのに
半日費やしてしまいました…。

結論

Checkpoint(モデル)の読み込み不良が原因でした。

SD webui画面左上のモデルを選択するアレです。

このCheckpointから別のモデルに変更することで
問題は解消されました。


検証
・OS:Windows11
・GPU:NVIDIA GeForce 4070Ti
・Stable Diffusion:version: v1.4.1
・Python:3.10.6
・torch:2.0.1+cu118


以下は、今回のトラブルが発生した際の
対処方法についてです。

パラメータを調整する

最初に発生したのがControlNetの「inpaint」でしたので
パラメータを調整することから始めました。


Control Weightを下げてみたり…

CFGスケールやストレングス(i2i)を下げてみたり…

パラメータでは変化が見られませんでした。

プロンプトを変更する

プロンプトの中にLoRAをたくさん入れていると、何かしら影響しているのでは?と思いそのあたりを削除してみましたが効果なし…。

例えば、easynegativeやらSilicon-landscape-isolationやらadd_detailやら…

SDを再起動

トラブルが発生したら、再起動すれば直るでしょっと、試してみましたがこれもダメ。

ControlNetのモデルを再ダウンロード

ControlNetの「inpaint」がうまくいかないので、モデル自体を再ダウンロードして置き換えてみました。

モデル


control_v11p_sd15_inpaint.pth
control_v11p_sd15_inpaint_fp16.safetensors
control_v11p_sd15_inpaint.yaml


モデルの置き場所


stable-diffusion-webui\extensions\sd-webui-controlnet\models


ChatGPTまたはGoogle先生に聞く


質問文
Stable diffusion webuiの拡張機能で「inpaint」があり、それを使用すると塗った場所が白くなってしまう不具合があります。この現象についてWebpilotで原因と解決方法を調べてください。また、先ほどのGPUのメモリ使用率が減らない原因と関連する情報があれば、それも提示してください。

ChatGPTの回答(WebPilot使用)

ふむ…。

Google先生で検索しても、それらしい情報が見つかりませんでした。


以下の操作は、他の不具合が発生する可能性がありますので
あくまで自己責任でお願いします。


ControlNetのバージョンを変更

バージョンが更新されているかチェックします。

Extension → Installed → Check for updates

更新があれば「Apply and quit」で更新します。


Stable Diffusion Web UIのバージョン変更

まずは、Stable Diffusion Web UIのバージョンを確認
stable-diffusion-webuiのフォルダでコマンドプロンプトを開きます。

git describe --tags

現在、私が使用しているバージョンはv1.4.0でした。

7月22日時点で最新のバージョンは
v1.4.1

以下のコマンドでアップデートします。

git pull


SDを起動して一番下の画面でもバージョンが更新されていることを確認。


だが、直らない。

かくなる上は…。

NVIDIA(GPU)のバージョンを変更

あまり触りたくないですが…

一応、ChatGPTに聞いてみる。

【質問文】
NVIDIAのドライバの更新ですが、現在のバージョンは以下になります。 Driver Version: 531.61
GPU:NVIDIA GeForce RTX 4070Ti
最新のバージョンを調べて問題が解決されるか確認してください。また、最新のバージョンにした場合、RTX 4070Tiで報告されている不具合を提示してください。



ふぁい。

ということで、

ドライバアップデートしました。



が…。


直らない…orz


ここで、ふと思い出す。


なんか以前も同じようなことがあってネットで調べたような。

確か、モデルがどーたらこーたら書いていた気がする。
調べたURL(確か英語)が覚えてなくて紹介できずすみません。

とりあえず、CheckPointのモデルを違うもの変更してトライ。


キターーーーーー!(inpaintではなくTiledを使用していますが)



考察

チェックポイントのモデルが多すぎて読み込み不具合を起こしている?

数えたら20以上のモデルがありました…。(そろそろ使わないモデルの整理が必要かも)

注意点


この不具合で厄介なのは、リロードボタン(青いやつ)を押しても直らないことです。

右にあるグルグルしてるやつ

ですので、この症状が発生したら他のモデルに切り替えてから画像生成した方がいいですよ。


完成したイラスト

今回、inpaintで半日かかったイラストの完成品がこちら



ちちぷいにもアップしていますので、見に来ていただけると嬉しいです。
2023/7/22 から 2023/7/25 まで、ちちぷいで「AI手コンテスト」が開催されています。


少しでも皆さんの参考になれば幸いです。
ありがとうございました。



補足

NVIDIAのドライバですが、
536.40以降のバージョンで不具合が起きているようです。
後日、535.98にダウングレードしました。

https://www.pc-koubou.jp/magazine/39211


バージョン変更の方法

https://www.pc-koubou.jp/magazine/39211


この記事が気に入ったらサポートをしてみませんか?