Interaktiver Leitfaden zur Bildsegmentierung

Mit der MediaPipe Interactive Image Segmenter-Aufgabe können Sie ein Bild in zwei Regionen unterteilen: ein ausgewähltes Objekt und alles andere. Die Aufgabe nimmt eine Position in einem Bild an, schätzt die Grenzen eines Objekts an diesem Ort und gibt Bilddaten zurück, die den Bereich des Objekts definieren. Bei dieser Aufgabe können Sie ein Objekt in einem Bild interaktiv auswählen und mithilfe der Ausgabe Effekte auf das Bild anwenden, z. B. Farb-Overlays, die das Objekt hervorheben oder den Hintergrund weichzeichnen. Bei dieser Aufgabe werden Bilddaten mit einem ML-Modell (maschinelles Lernen) verarbeitet. Sie können es für einzelne Bilder, Videodateien oder einen kontinuierlichen Videostream verwenden.

Jetzt ausprobieren

Jetzt starten

Beginnen Sie mit dieser Aufgabe, indem Sie einem dieser Implementierungsleitfäden für Ihre Zielplattform folgen. Diese plattformspezifischen Leitfäden führen Sie durch eine grundlegende Implementierung dieser Aufgabe, einschließlich eines empfohlenen Modells und eines Codebeispiels mit empfohlenen Konfigurationsoptionen:

Taskdetails

In diesem Abschnitt werden die Funktionen, Eingaben, Ausgaben und Konfigurationsoptionen dieser Aufgabe beschrieben.

Funktionen

  • Eingabebildverarbeitung: Die Verarbeitung umfasst Bilddrehung, Größenanpassung, Normalisierung und Farbraumkonvertierung.
Aufgabeneingaben Aufgabenausgaben
  • POI-Koordinaten für ein Objekt in einem Bild
  • Zu verarbeitende Bilddatei
Der Interactive Image Segmenter gibt segmentierte Bilddaten aus, die je nach den von Ihnen festgelegten Konfigurationsoptionen eine oder beide der folgenden Optionen enthalten können:
  • CATEGORY_MASK: eine Liste mit einer segmentierten Maske als Bild im Uint8-Format. Jeder Pixelwert gibt an, ob er Teil des Objekts ist, der sich im betreffenden Bereich befindet.
  • CONFIDENCE_MASK: eine Liste von Kanälen, die eine segmentierte Maske mit Pixelwerten im Gleitkommazahl32-Format enthalten. Jeder Pixelwert gibt an, wie wahrscheinlich es ist, dass er Teil des Objekts ist, das sich im betreffenden Bereich befindet.

Konfigurationsoptionen

Diese Aufgabe hat die folgenden Konfigurationsoptionen:

Option Beschreibung Wertebereich Standardwert
output_category_mask Wenn True festgelegt ist, enthält die Ausgabe eine Segmentierungsmaske als uint8-Bild, wobei jeder Pixelwert angibt, ob das Pixel Teil des Objekts ist, das sich im betreffenden Bereich befindet. {True, False} False
output_confidence_masks Wenn True festgelegt ist, enthält die Ausgabe eine Segmentierungsmaske als Gleitkommazahlbild, wobei jeder Gleitkommawert die Konfidenz darstellt, dass das Pixel Teil des Objekts ist, das sich im relevanten Bereich befindet. {True, False} True
display_names_locale Legt die Sprache von Labels fest, die für Anzeigenamen bereitgestellt werden, die in den Metadaten des Aufgabenmodells angegeben sind, sofern verfügbar. Der Standardwert für Englisch ist en. Mit der TensorFlow Lite Metadata Writer API können Sie den Metadaten eines benutzerdefinierten Modells lokalisierte Labels hinzufügen. Sprachcode en

Modelle

Der Interactive Image Segmenter kann mit mehr als einem ML-Modell verwendet werden. Beginnen Sie mit dem standardmäßigen, empfohlenen Modell für Ihre Zielplattform, wenn Sie mit dieser Aufgabe beginnen. Die anderen verfügbaren Modelle machen in der Regel Kompromisse zwischen Leistung, Genauigkeit, Auflösung und Ressourcenanforderungen und beinhalten in einigen Fällen zusätzliche Funktionen.

Dieses Modell identifiziert Segmente anhand von Bildkoordinaten für einen interessierenden Bereich. Das Modell verwendet ein Convolutional Neural Network, ähnlich einer MobileNetV3-Architektur, mit einem benutzerdefinierten Decoder.

Modellname Form eingeben Quantisierungstyp Modellkarte Versionen
MagicTouch 512 x 512 x 4 Keine (float32) Informationen Neueste

Aufgaben-Benchmarks

Im Folgenden sind die Aufgaben-Benchmarks für die gesamte Pipeline basierend auf den oben vortrainierten Modellen aufgeführt. Das Latenzergebnis ist die durchschnittliche Latenz auf Pixel 6 mit CPU / GPU.

Modellname CPU-Latenz GPU-Latenz
MagicTouch 130,11 ms 67,25 ms