
daamはもう3年くらい前にリリースされた技術なのですが、最近ComfyUI版のカスタムノードがリリースされたという情報がありました。
元々WebUI版の拡張機能もComfyUIのノードもあったようなのですが、今は使えない?ようです。
新しい奴は使えたのと私自身使ったことがないものだったので、勉強がてらdaamとは何か、どんな効果があるのか、実際の使い方などを紹介します。
DAAMとは?
DAAM(Discriminative Attention Attribution Mapping)は、画像生成AIが「プロンプトのどの部分を、画像のどこに反映しているのか」を視覚的に示してくれるツールです。
たとえば以下のようにそれぞれのプロンプトが画像のどこに反映されているか視覚的に分かります。
プロンプトごとに出力できるので、一つずつ確認が可能です。

DAAMは何の役立つの?
使い方はいろいろあると思いますが、1つは無駄なプロンプトを減らせます。
私自身DAAM使ってから気づいたのですが、WAI-NSFW-illustriousだとabsurdresがほぼ効いていませんでした。
absurdresはdanbooruにもある非常に高解像度の画像を指すタグで「absurd resolution(超高解像度)」の略称です。

効いてないプロンプトを知ることで余計な指示やノイズを減らすことができます。
DAAMが絶対というわけではないので最終的にどのプロンプトを使うかは人それぞれですが、主に無駄なプロンプトの削減、試行錯誤の効率化、プロンプトの改善などに役立つと思われます。
DAAMってSDWebUIじゃ使えないの?
一応拡張機能はあり、24年1月に更新されています。
なのでA1111なら動くかもしれませんが、今A1111を使ってないので試せませんでした。
forgeはforge用のブランチがあるのでforge・reforgeどちらも試してみたのですが、UIに反映されないようでした。
※追記:reforgeは使えました。

comfyui-daamを使う方法
まずComfyUIのインストールが必要です。
インストールについては以下の記事を参考にしてください。

comfyui-daamのインストール
Managerから検索してインストール、または直接クローンしてください。

cd \ComfyUI\custom_nodes
git clone https://github.com/nisaruj/comfyui-daam.git次にManagerからアップデートするか、コマンドプロンプトで依存関係をインストールします。
※パスは自身のものに置き換えてください。
cd ComfyUI_windows_portable\python_embeded
python.exe -m pip install -r "ComfyUI\custom_nodes\comfyui-daam\requirements.txt"これでインストールは完了です。
ワークフローの設定&実行
サンプルのワークフローもカスタムノードにあるのでそれをD&Dします。
ComfyUI\custom_nodes\comfyui-daam\workflowsあとはそれぞれのノードを設定していきます。
Load Checkpointで使用モデルを指定。

Empty Latent Imageで画像サイズ指定。

CLIP Text Encode (With Tokens)で生成するプロンプト。

CLIP Text Encode (Prompt)はネガティブプロンプト

DAAMAnalyzerに解析したいプロンプト。
そのままカンマ区切りで入力すればそれが反映されます。
ただ最後にカンマがあるとエラーになるので注意が必要です。
※新しいVerで修正されたそうです。

あとは実行すればそれぞれのプロンプトがどのように効いているかヒートマップで出力されます。

解析結果について
一応赤が強い反応を示す領域で、青は弱い反応を示す領域だそうです。
上記の画像で解析したのは以下9つ。
- masterpiece,
- best quality,
- absurdres,
- very aesthetic,
- realistic,
- 1girl,
- solo,
- fighting,
- punching
実際に確認してみると最初に書いたabsurdresとsoloがほぼ青となっていました。
soloが結構意外で、確かにsoloなしでも基本1人で生成されることは多いものの、個人的には入れた方が安定する印象でした。
こんな感じでタグによっては自分の感覚とDAAMの結果にズレがあります。
ただ別にDAAMの結果がすべてという訳でもないので、1つの指標として見つつ、自分が良いと思うプロンプトを組んでみてください。
以上comfyui-daamの使い方をご紹介しました。

