画像の再描画

ComfyUIを使った画像の再描画をマスターしましょう!このガイドでは、髪の色、服装、特徴などを正確に編集するための「segment anything」を使用した高度なテクニックを紹介します。

髪の色、ヘアスタイル、胸、腹筋、服装などの変更

ノードを構築する前に、ワークフローを確立することが役立ちます。

例えば、髪の色を変えたい場合、次の2ステップが必要です:

ステップ1: まず、髪を特定する必要があります。手動でペインティングするか、自動認識を選択できます。

ステップ2: 部分的に再ペイントし、認識された領域を修正します。

方法1: 何でもセグメント

ステップ1: 髪の特定

  1. 画像をアップロードした後、「segment anything」ノードを追加します。ノードをドラッグして、2つの対応するモデルをロードします。画像をノードに接続し、認識を希望する領域を入力します。

追加するノード:

GroundingDinoSAMSegment (segment anything):SAMLoader (Impact)、GroundingDinoModelLoader (segment anything)

パラメーター:

device_model: Prefer GPU

  1. マスクの認識精度を向上させるために、顔を特定するための別の「何でもセグメント」ノードを追加します。入力には前と同じモデルを使用できます。最後に、「mask-mask」を使用して2つのマスクを減算します: mask1 - mask2で正確な髪の部分を取得します。

追加するノード:

Bitwise(MASK - MASK)

*認識できない領域に遭遇した場合、このマスクの減算方法を使用できます。

  1. マスクを取得した後、マスクに対していくつかの処理を行うことができます。例えば、ここでは「GrowMask」と「feathered mask」を追加してマスクを拡張し、エッジをフェザリングし、最終的な再ペイント画像をより自然にしました。

追加するノード:

GrowMask

FeatheredMask

  1. 最後に、最終的なマスク効果を確認するためにマスクプレビューノードを追加できます。

追加するノード:

Convert Mask to Image

Preview Image

  1. 見やすくするために、このグループのノードをまとめて整理できます。

ステップ2:部分的な再ペイント

  1. ここでの再ペイントには、以前に述べた「Set Latent Noise Mask」を使用します。これは、再ペイントのために元の画像を参照します。マスクノードを互いに接続します。

追加するノード:

Set Latent Noise Mask

  1. 次に、モデルグループを追加します。Img2Imgに従って、モデルプロンプト、サンプラー、最後にVAEデコードを追加します。その後、マスクグループをモデルグループに接続します。

*画像は再ペイントのために潜在空間にエンコードする必要があります。

  1. すべてのラインが接続されました。必要に応じて対応するプロンプトを入力し、関連するパラメータを設定できます。最大ノイズリダクション強度は1です。

顔を再ペイントする際は、顔のディテールを強化するためにFaceDetailerノードを追加することをお勧めします。対応するノードに入力端を接続します。

追加するノード:

FaceDetailer: UltralyticsDetectorProvider、SAMLoader (Impact)

さらに、顔のみを再ペイントする必要があるため、2つのマスクを差し引く必要はありません。対応するノードを選択し、Ctrl+Bを押してノードを隠し、対応するノードを接続します。

このタイプの再ペイントは、顔全体を再描画し、本質的に別人のように見せます。同一人物の異なる表情をどのように達成するかについて、より詳細なチュートリアルが後でリリースされます。最後に、このワークフローを将来の使用のために保存できます。

この方法を使用すると、多くのワンクリック再ペイントを実現できます。

例えば、ワンクリックでバストアップ、ワンクリックで筋肉増強、ワンクリックで顔の変更、ワンクリックで衣服、髪型などの変更が可能です。

方法2: Yoloworldwodel ESAM

特定のオブジェクトを迅速に抽出できる機能を持ち、何でもセグメントと比べて認識精度はやや劣ります。一部の部位(例えば腹部)は検出できない場合があります。マスク-マスクと組み合わせて使用できます。

  1. まず、「何でもセグメント」と同じ手順に従って、Yoloworld ESAMの自動検出機能を統合し、再描画が必要なエリアを特定します。「ワンクリックで筋肉増強」という例を取り上げると、直接筋肉強化が必要なエリアを認識することができないため、マスク-マスクのアプローチを使用して強化のための領域を取得します。その後、マスクされた領域を適切に処理します。

*開始する前に、元の画像上で画像をアップスケールすることができます。

重要なパラメーター:

confidence_threshold: 認識の精度。値が小さいほど認識が正確になります。

iou_threshold: バウンディングボックスの重複度。値が小さいほど認識が正確になります。

mask_combined: マスクをオーバーレイするかどうか。"true"の場合、マスクは結合されて単一の画像に出力されます。"false"の場合、マスクは別々に出力されます。

  1. 「InpaintModelConditioning」ノードにマスクを統合してマスクを再描画します。プロンプトはマスクされたエリアにのみ有効です。Img2Imgモードに従って、モデル-プロンプト-サンプラー-デコード-プレビュー画像を追加します。

III. 関連するパラメータを調整し、「創作」をクリックします。

Last updated