画像の再描画
ComfyUIを使った画像の再描画をマスターしましょう!このガイドでは、髪の色、服装、特徴などを正確に編集するための「segment anything」を使用した高度なテクニックを紹介します。
Last updated
ComfyUIを使った画像の再描画をマスターしましょう!このガイドでは、髪の色、服装、特徴などを正確に編集するための「segment anything」を使用した高度なテクニックを紹介します。
Last updated
髪の色、ヘアスタイル、胸、腹筋、服装などの変更
ノードを構築する前に、ワークフローを確立することが役立ちます。
例えば、髪の色を変えたい場合、次の2ステップが必要です:
ステップ1: まず、髪を特定する必要があります。手動でペインティングするか、自動認識を選択できます。
ステップ2: 部分的に再ペイントし、認識された領域を修正します。
ステップ1: 髪の特定
画像をアップロードした後、「segment anything」ノードを追加します。ノードをドラッグして、2つの対応するモデルをロードします。画像をノードに接続し、認識を希望する領域を入力します。
追加するノード:
GroundingDinoSAMSegment (segment anything):SAMLoader (Impact)、GroundingDinoModelLoader (segment anything)
パラメーター:
device_model: Prefer GPU
マスクの認識精度を向上させるために、顔を特定するための別の「何でもセグメント」ノードを追加します。入力には前と同じモデルを使用できます。最後に、「mask-mask」を使用して2つのマスクを減算します: mask1 - mask2で正確な髪の部分を取得します。
追加するノード:
Bitwise(MASK - MASK)
*認識できない領域に遭遇した場合、このマスクの減算方法を使用できます。
マスクを取得した後、マスクに対していくつかの処理を行うことができます。例えば、ここでは「GrowMask」と「feathered mask」を追加してマスクを拡張し、エッジをフェザリングし、最終的な再ペイント画像をより自然にしました。
追加するノード:
GrowMask
FeatheredMask
最後に、最終的なマスク効果を確認するためにマスクプレビューノードを追加できます。
追加するノード:
Convert Mask to Image
Preview Image
見やすくするために、このグループのノードをまとめて整理できます。
ステップ2:部分的な再ペイント
ここでの再ペイントには、以前に述べた「Set Latent Noise Mask」を使用します。これは、再ペイントのために元の画像を参照します。マスクノードを互いに接続します。
追加するノード:
Set Latent Noise Mask
次に、モデルグループを追加します。Img2Imgに従って、モデルプロンプト、サンプラー、最後にVAEデコードを追加します。その後、マスクグループをモデルグループに接続します。
*画像は再ペイントのために潜在空間にエンコードする必要があります。
すべてのラインが接続されました。必要に応じて対応するプロンプトを入力し、関連するパラメータを設定できます。最大ノイズリダクション強度は1です。
顔を再ペイントする際は、顔のディテールを強化するためにFaceDetailerノードを追加することをお勧めします。対応するノードに入力端を接続します。
追加するノード:
FaceDetailer: UltralyticsDetectorProvider、SAMLoader (Impact)
さらに、顔のみを再ペイントする必要があるため、2つのマスクを差し引く必要はありません。対応するノードを選択し、Ctrl+Bを押してノードを隠し、対応するノードを接続します。
このタイプの再ペイントは、顔全体を再描画し、本質的に別人のように見せます。同一人物の異なる表情をどのように達成するかについて、より詳細なチュートリアルが後でリリースされます。最後に、このワークフローを将来の使用のために保存できます。
この方法を使用すると、多くのワンクリック再ペイントを実現できます。
例えば、ワンクリックでバストアップ、ワンクリックで筋肉増強、ワンクリックで顔の変更、ワンクリックで衣服、髪型などの変更が可能です。
特定のオブジェクトを迅速に抽出できる機能を持ち、何でもセグメントと比べて認識精度はやや劣ります。一部の部位(例えば腹部)は検出できない場合があります。マスク-マスクと組み合わせて使用できます。
まず、「何でもセグメント」と同じ手順に従って、Yoloworld ESAMの自動検出機能を統合し、再描画が必要なエリアを特定します。「ワンクリックで筋肉増強」という例を取り上げると、直接筋肉強化が必要なエリアを認識することができないため、マスク-マスクのアプローチを使用して強化のための領域を取得します。その後、マスクされた領域を適切に処理します。
*開始する前に、元の画像上で画像をアップスケールすることができます。
重要なパラメーター:
confidence_threshold: 認識の精度。値が小さいほど認識が正確になります。
iou_threshold: バウンディングボックスの重複度。値が小さいほど認識が正確になります。
mask_combined: マスクをオーバーレイするかどうか。"true"の場合、マスクは結合されて単一の画像に出力されます。"false"の場合、マスクは別々に出力されます。
「InpaintModelConditioning」ノードにマスクを統合してマスクを再描画します。プロンプトはマスクされたエリアにのみ有効です。Img2Imgモードに従って、モデル-プロンプト-サンプラー-デコード-プレビュー画像を追加します。
III. 関連するパラメータを調整し、「創作」をクリックします。