generated at
🦊Differential Diffusion
👉 |️ 🦊ControlNet

🦊inpaintingはマスクされた部分だけimage2imageする手法でした
さて、そのマスクですがことStable Diffusionの世界では、基本的に"白"か"黒"かの二択でしか判断しません
つまり、上の画像のようにグラデーションになっているマスクを使った場合、ちょっとでもグレーになった部分はマスクとしては無視されてしまうので、左下の真っ白な場所のみのinpaintingとなります
では上の画像はどうやって作ったのでしょう🤔

マスクの濃度によって無段階でdenoiseの強度を変えられるようにした技術です
使い方は無限大!


グラデーションしたマスクで滑らかに変化させる
イラストソフトで白から黒へグラデーションするマスクを作ってLoadImageMaskノードで読み込みます
🟩Differential Diffusionノードを追加するだけでグレーのマスクに対応します
Stable Diffusion 1.5限らず、SDXL、Fluxでも使用可


部位ごとに変化量を変える
マスクはグラデーションである必要はありません
一つの画像内の場所ごとに違う濃さマスクを描けば、一回のサンプリングで別々の変化をつけられます


マスクの境界をぼかす
inpaintingの問題点として、inpaintingした場所とそうでない場所の境目がはっきり見えてしまうというのがありますが、Differential Difffsionで解決することができます
ノーマル | マスクブラー + Differential Diffusion
マスクのぼかし、際に行くにつれ変化量を減らすことで、境界が分からない滑らかな画像にすることができます
🟪ComfyUI-Impact-Packに入っているGaussian Blur Maskノードでマスクをぼかします