https://github.com/benkyoujouzu/stable-diffusion-w...
入力プロンプトに基づいて、送信された入力画像の強調表示されたセクターを生成します。トークナイザー拡張機能で使用します。
画像
- 画像(高さ、幅は256の倍数)をWebUIの左側にドロップします。
プロンプト
- プロンプトボックスに、可視化したいプロンプトを入力します(例:hat, neck)
通常、1つの単純な単語は1つのトークンにエンコードされます。
- また、カンマも1つのトークンにエンコードされることに注意してください。
Indices of token
- 「トークンのインデックス」 ボックスには、視覚化したい特定のトークンのインデックスを入力します。
- 例えば、1, 3は、1番目と3番目のトークンを意味する。
- 上記の例では、帽子と首に相当します。プロンプトのコンマ「,」が2番目のトークンであるため、首のプロンプトは3番目に表示されます。
Time embedding
時間の埋め込みは結果にほとんど影響を与えないと思われるので、デフォルトのままでよい。
Cross-attention layer
安定拡散モデルにはいくつかのクロスアテンションレイヤーがあり、Cross-attention layerのボックスで可視化したいレイヤーを選択することができます。
安定拡散では、まず512×512の実像が64×64の潜像に符号化されます。
次のレイヤーでは、潜像がさらに32×32、16×16にダウンサンプリングされ、64×64の潜像にアップサンプリングされます。
つまり、クロスアテンションレイヤーの違いによって、結果に与える解像度が異なることがわかります。
私は、真ん中のレイヤー(最も低解像度なレイヤーでもある)が最も見やすい結果になることがわかったので、これをデフォルトに設定しました。
異なるレイヤーと異なるトークンの関係を研究することは、興味深いトピックでしょう。
Output mode
出力モードの選択で、可視化のためのマスク画像やグレースケールイメージを出力するかどうかを選択します。