zeroconditioningというのを使ってプロンプトの効きを試してみた話:SDXL x ComfyUI
sd3のワークフローを触ったことがある方は見たことがあるとある思いますが、ネガティブプロンプトの所が通常と違い2段階になっています。そこに配置されているのが、zeroconditioningノードというものになります。
どうも、テキストエンコーダーにプロンプトを入れていない状態でも、送られる情報はゼロではないようです。これは、ポジティブ、ネガティブプロンプトに何も入力しなくても色々な画像顔出てくる要因みたいです。
ネガティブプロンプトに関しては、最近のポニー系は入れなくてもいいやつが増えてきてますね。
SD3に関しては、「短めにしたらよかった」的な記載があるようです。
今回はSDXLではどうなのかなと気になったので、試してみました。
一応、記載をしておきますが、今回の記事では、「今回の内容を踏まえて実際に使用する方法」は分かりません。「へ~」的な内容なのでご了承ください。
<実験内容>
プロンプト
1girl, kawaii, young female child, breasts, with an elated expression, floating in a bubble filled with rainbow colors, holding a sign that reads 'Thank You', surrounded by sparkling fairy lights, indicating magical appreciation.
上の画像はこんな感じのプロンプトで作成してみました。
ネガティブプロントを空白にしたというものです。
これをシード値を固定して、zeroconditioningにします。
「Conditioning Zero Out」のノードをつなげるだけ。
ということで、変わることが分かります。
<zeroconditioningを時間によって分ける>
こんな感じですね。
実験の効果が分かりにくいので、ネガティブプロントに「short hair」を淹れました。
通常パターンはこちら。「zeroconditioning」は先ほどの画像。
以下のようにすると、最初の0.1分はネガティブプロントが効くという感じになります。
①0.1だけネガティブプロンプトが効いている状態
②0.2だけネガティブプロンプトが効いている状態
③0.3だけネガティブプロンプトが効いている状態
④0.4だけネガティブプロンプトが効いている状態
⑤0.5だけネガティブプロンプトが効いている状態
⑥0.6だけネガティブプロンプトが効いている状態
ということで、伸ばしていくと変化が少なくなりました。
それでは最初の部分もzeroconditioningを使用してみる形にしてみます
⑦0.1-0.6だけネガティブプロンプトが効いている状態
さらも複雑にしたもの
0.1までネガティブプロンプトが効いている状態
0.1-0.3までzeroconditioning
0.3-0.6までネガティブプロンプトが効いている状態
ということで、このモデルにおいては、人物のネガティブプロントの効果は前半主体に見られるということが分かります。特に0.3までがメインの様です。
背景について調べて見ます。
「((detailed background))」を入れます。効果があるとぼやけるはず。
0.1
0.2
0.3
という感じでした。
ということで、SDXLに関してはネガティブプロンプトが0.3ぐらいまでで大きく変わるということが分かりました。
ただ、0.3以降も若干ですが、画像の質の向上に寄与している感じでしたので、あえてzeroconditioningでそれを消すことに意義がない感じにも見えます。
この記事が気に入ったらサポートをしてみませんか?