マスク指定でいろいろ書き換え - Zuntan03/EasyForge GitHub Wiki
様々な手法でマスクを用意することで、Flux で柔軟に画像を書き換えます。
画像は過去に Animagine と Forge Couple で生成した画像を、マスク指定した Flux で書き換えた例です。
マスクを指定した後の書き換え部分は、自動検出でマスクを用意して書き換える『お手軽な手直し&ディティールアップ』と同様ですので、ここではマスク関連のみ説明します。。
Segment Anything Model でのマスク指定
『お手軽な手直し&ディティールアップ』で利用したワークフロー 41-自動検出書き換えで手直しやディティールアップ
の自動判別では、重なり合った複数人からひとりひとりを個別にマスクできない場合があります。
このような場合のために、マスク指定で書き換えるワークフローの 42-範囲指定書き換えで手直しやディティールアップ
があります。
このワークフローを ComfyUI で開いて、左側の 編集する画像の読み込み
に編集したい画像を Drag & Drop などで読み込みます。
画像の右クリックメニューにある Open in SAM Detector
では、Segment Anything Model でそこそこの範囲を簡単に選択できます。
SAM Detector
で高精度の範囲選択は難しいので、同じく画像の右クリックメニューにある Open in MaskEditor
で微調整します。
左ドラッグでマスク追加、右ドラッグでマスク削除 です。
このようにマスクを指定することで、一人ずつ選択して書き換えることができます。
背景削除でのマスク指定
ペイント系ツールなどで画像にアルファ値でマスクを設定できれば、マスクした部分やマスクしていない部分を書き換えることもできます。
今回は 22-背景の削除
のワークフローで、背景書き換え用のマスクを生成します。
左側の 編集する画像の読み込み
で画像を開いて Queue
で背景を削除します。
今回の背景のように、元の画像(真っ白の背景)を考慮せずに書き換える場合は 書き換え強度(Denoise)
を 1.0
に、書き換え幅(Shift)
を 4
にして書き換えます。
マスク書き換え関連のノード
マスク反転
で書き換える部分を反転できます。マスク反転前の範囲拡張
で、マスクの反転前にマスク範囲を拡張します。
結果的にはマスク範囲が縮小します。
マスク2値化のしきい値
では、0~255 のアルファ値を 2値のマスクに置き換えるしきい値を設定します。
マスク範囲の増減に合わせて、1
から254
の間で調整します。