見出し画像

Stable DiffusionでText Encoderの出力を短く切ってみる(補足)

先日、Stable DiffusionでText Encoderの出力を短く切って画像生成する実験をしましたが、その中に、設定を微調整してやり直す方がよいものがあったため、再実験した結果を補足します。

先日の記事はこちら。

他のStable Diffusionの関連記事

前回の実験の問題点と修正方法

前回の実験で「マスクをなしで、後ろから50トークン目以降を使用」という方法で画像生成したところ、ノイズのみの画像が生成されましたが、最初のトークン(SOSトークン)位置の状態を消してしまうと生成画像が大きく変化してしまうことを忘れていました。

参考資料として上の記事を挙げておきます。この記事では、ネガティブプロンプト中のSOSトークン(記事中では「開始トークン」と表記)の位置の状態を大きく変化させて、生成画像にどのような影響があるかを調べています。

このことを考え、「後ろから50トークン目以降を使用」という実験をする場合は、SOSトークンだけは残して、「SOSトークンと後ろから50トークン目以降を使用」という条件で実験するべきでした。

新しい実験結果

改めて、前回と同じ実験を、SOSトークンを含めて行いました。以下に、実験に使った設定を挙げます。

  1. 全トークンを使用

  2. マスクをありで、前からEOSトークンまでを使用

  3. マスクをなしで、後ろから50トークン目以降を使用

  4. マスクをなしで、SOSトークンと、後ろから50トークン目以降を使用

  5. マスクをなしで、SOSトークンと、後ろから70トークン目以降を使用

最後の2つが新しい設定です。

使用したプロンプトは、次のものになります。

  1. 1girl

  2. cat maid

  3. 1girl red hair blue eye black skirt

  4. 1boy 1girl in class room

生成画像は次のようになりました。

SOSトークンを含んだ生成画像

以上から、SOSトークンを残すと、EOSトークン以降の情報のみを使っても、プロンプトを反映した画像が生成されることが分かりました。

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