C30: Optimierter Artikel: Automatisches Maskieren mit Segment Anything

Einleitung

Im vorherigen Artikel haben wir erfahren, dass automatisches Maskieren eine entscheidende Technik in Arbeitsabläufen der Bildbearbeitung ist, insbesondere wenn Vordergrundmotive für Aufgaben wie Inpainting oder Compositing vom Hintergrund isoliert werden. In diesem Artikel werden wir untersuchen, wie das Segment Anything Model (SAM 2) mit ComfyUI verwendet werden kann, um den Maskierungsprozess zu automatisieren. Durch die Nutzung benutzerdefinierter Knoten und Workflows können Sie Masken effizient definieren, Kanten weichzeichnen und Hintergründe ersetzen.



Schlüsselkomponenten für automatisches Maskieren

1. Erforderliche Knotenpakete und Modelle installieren

Um mit dem automatischen Maskieren zu beginnen, müssen Sie Folgendes installieren:

  • Knotenpakete:
    Verwenden Sie den ComfyUI-Manager, um diese Knotenpakete zu suchen und zu installieren. Starten Sie ComfyUI nach der Installation neu.
  • SAM 2-Modell:
    • Laden Sie das sam2.1_hiera_base_plus-fp16 Modell von Hugging Face herunter.
    • Platzieren Sie das Modell im ComfyUI/models/Sam2 Verzeichnis. Wenn das Modell nicht automatisch installiert wird, folgen Sie den manuellen Installationsschritten auf der Hugging Face-Seite.

2. Workflow einrichten

Sobald die erforderlichen Tools installiert sind, können Sie einen Workflow für automatisches Maskieren erstellen. Hier ist eine Schritt-für-Schritt-Anleitung:

Bilder laden

Beginnen Sie damit, die Vordergrund- und Hintergrundbilder mit den Load Image Knoten in ComfyUI zu laden. Stellen Sie sicher, dass die Bildauflösung bekannt ist, da sie für die Segmentierung erforderlich ist.

Bildauflösung abrufen

Verwenden Sie den Get Image Size Knoten aus dem Essentials Pack, um die Breite und Höhe der geladenen Bilder zu extrahieren. Verbinden Sie die Ausgabe des Load Image Knotens mit dem Get Image Size Knoten.

Segmentierungskoordinaten definieren

Um die Punkte für die Segmentierung festzulegen:

  1. Fügen Sie den Points Editor Knoten aus dem KJNodes-Paket hinzu.
  2. Verbinden Sie die Bild-, Breiten- und Höhenausgaben des Get Image Size Knotens mit dem Points Editor Knoten.
  3. Klicken Sie mit der rechten Maustaste auf den Points Editor Knoten und wählen Sie:
    • Widget in Eingabe umwandeln für Breite und Höhe.
    • Neue Leinwand um eine leere Leinwand zu erstellen.
SAM 2-Modell laden
  1. Fügen Sie den Download SAM 2 Model Knoten hinzu und stellen Sie sicher, dass die Modellparameter wie folgt eingestellt sind:
    • Modell: sam2_hiera_base_plus
    • Gerät: cuda
    • Präzision: floating.16
  2. Verbinden Sie die Ausgabe des Loader-Knotens mit dem SAM 2 Segmentation Knoten.
Segmentierungsmaske erstellen
  1. Fügen Sie den SAM 2 Segmentation Knoten hinzu.
  2. Verbinden Sie das Bild und die Koordinaten (positive und negative Punkte) des Points Editor Knotens mit dem Segmentierungsknoten.
  3. Zeigen Sie die Maskenausgabe mit dem Mask Preview Knoten aus dem Essentials Pack in der Vorschau an.

3. Maskenqualität verbessern

Kanten mit Weichzeichnung glätten

Um die Maske zu verfeinern, verwenden Sie den Grow Mask with Blur Knoten aus dem KJNodes-Paket:

  1. Platzieren Sie den Grow Mask with Blur Knoten zwischen dem SAM 2 Segmentation Knoten und dem Image Composite Mask Knoten.
  2. Passen Sie die folgenden Parameter an:
    • Weichzeichnungsradius: Auf 2 einstellen für weichere Kanten.
    • Erweiterungswert: Auf 2 pixels einstellen, um die Maske leicht zu vergrößern.
  3. Verwenden Sie den Mask Preview Knoten, um die Änderungen in Echtzeit zu visualisieren.
Maske zusammensetzen

Verbinden Sie die Ausgabe des Grow Mask with Blur Knotens mit dem Image Composite Mask Knoten. So können Sie den Hintergrund ersetzen, während die Integrität des Vordergrundmotivs erhalten bleibt.


4. Endgültiges Bild speichern

Sobald Sie mit der Maske und dem Hintergrundersatz zufrieden sind:

  1. Fügen Sie einen Save Image Extended Knoten hinzu, um die Ausgabe auf der Festplatte zu speichern.
  2. Stellen Sie sicher, dass der Queue Mode auf Queue eingestellt ist.
  3. Heben Sie die Umgehung des Speicherknotens mit Ctrl + B auf und reihen Sie den Workflow ein, um das Bild zu speichern.

Beispiel-Workflow

Nachfolgend sehen Sie ein Beispiel für die Workflow-Einrichtung:

1. Load Image Node → Get Image Size Node → Points Editor Node  
2. Download SAM 2 Model Node → SAM 2 Segmentation Node → Mask Preview Node  
3. Grow Mask with Blur Node → Image Composite Mask Node → Save Image Extended Node  


Maskenpräzision verbessern

Um eine optimale Maskenpräzision sicherzustellen:

  • Verwenden Sie den Points Editor Knoten, um die Vordergrund- und Hintergrundpunkte genau zu definieren.
  • Experimentieren Sie mit den Weichzeichnungs- und Erweiterungswerten im Grow Mask with Blur Knoten, um ein Gleichgewicht zwischen weichen Kanten und Maskenabdeckung zu finden.

Referenzen

Kommentar hinterlassen