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 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:
- Android – Codebeispiel – Anleitung
- Python – Codebeispiel – Anleitung
- Web – Codebeispiel – Leitfaden
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 |
---|---|
|
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:
|
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.
MagicTouch-Modell (empfohlen)
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 |