生成AIでエッチな画像を作る探求
ComfyUIでImage to Image(i2i)を行う方法は記事にしていましたが、Inpaintする方法は記事にしていなかったので簡単ですが記事として残しておきます。

ワークフローを用意する
まずはワークフローを用意します。ComfyUIを起動したらまず作成される標準的なワークフローです。

次にInpaintをするためにノードを追加します。
Load Image、InpaintModelConditioningを追加します。
ノードを接続します。青色マーカーは既存のノードです。
| From | To | ||
|---|---|---|---|
| Load Image | IMAGE | InpaintModelConditioning | pixels |
| Load Image | MASK | InpaintModelConditioning | mask |
| Load Checkpoint | VAE | InpaintModelConditioning | vae |
| CLIP Text Encorde (Prompt) | CONDITIONING | InpaintModelConditioning | positive |
| CLIP Text Encorde (Prompt) | CONDITIONING | InpaintModelConditioning | negative |
| InpaintModelConditioning | positive | KSampler | positive |
| InpaintModelConditioning | negative | KSampler | negative |
| InpaintModelConditioning | latent | KSampler | latent_image |
Empty Latent Imageは不要になります。削除しましょう。
スポンサーリンク
このようになります。

Inpaint元の画像を用意する
今回はInpaintする元画像も生成します。使用したモデルはberet mix Realです。
masterpiece, best quality, highres, photorealistic, 1girl, standing, street
worst quality, normal quality, ugly, bad_anatomy, watermark, text, logo

Maskを設定して、Inpaintを実行する
Load Imageに画像を設定し、Maskを設定します。
Opacityを1にしていますが、数値を強めると書き換えが強くなる半面、元画像とズレたりします。値は調整してみてください。
noise_maskをonにした場合
nsfw, bottomless, no_pants, pussy

マスク部分が書き換えられ、下半身が裸になりました。
noise_maskをoffにした場合
InpaintModelConditionのnoise_maskをoffにした場合は全体が書き換わり、異なる結果となります。
全体が書き換わるのでプロンプトを変更します。
nsfw, masterpiece, best quality, highres, photorealistic, 1girl, standing, bottomless, no_panties, pussy, street

やってることとしてはImage to Imageに近いですね。
まとめ
今回はComfyUIでInpaintを行う手順を動画メインで説明しました。
このほかにもマスク個所を書き換える方法はあるのですが、ひとまず簡単にできるやり方にしました。
また、本来はInpaint前にサイズを変更したほうが良いのですが、この点はちょっとサボりました。
Inpaintを行うノードは他にもあるので、別途違いを見る記事を作ってみようかと思います。
スポンサーリンク
追記
簡単ではありますが、InpaintModelConditioningとVAE Encoding (for Inpaintig)、Set Latent Noise Maskの違いを見てみました。
マスク範囲はパンツの真ん中あたりをマスクしています。
InpaintModelConditioning

元画像を勘案した書き換えをするようで、Maskした範囲のパンツが残りがちです。
VAE Encoding (for Inpaintig)

こちらはMask範囲を強く書き換えるため、指示通りになりやすいですが、一方でマスク境界が目立つことがあります。
同一モデルであればそこまで気になりませんが、違うモデルを使うと結構気になるかと思います。
Set Latent Noise Mask

傾向的にはVAE Encode (for Inapinting)と同じです。ただし、こちらの方が、方向性が定まりにくい感じがあります。(マスク範囲にカバンが出現したり)
比較してみたところ、通常であればInpaintModelConditioningが好ましいかなと思います。








コメント