Mit der Aufgabe „MediaPipe Interactive Image Segmenter“ können Sie ein Bild in zwei Bereiche unterteilen: ein ausgewähltes Objekt und alles andere. Bei dieser Aufgabe wird ein Ort in einem Bild ausgewählt, die Grenzen eines Objekts an diesem Ort geschätzt und Bilddaten zurückgegeben, die den Bereich des Objekts definieren. Mit dieser Aufgabe können Sie ein Objekt in einem Bild interaktiv auswählen und mit der Ausgabe Effekte auf das Bild anwenden, z. B. Farbüberlagerungen, die das Objekt hervorheben oder den Hintergrund um das Objekt herum unscharf machen. Bei dieser Aufgabe werden Bilddaten mit einem Modell für maschinelles Lernen verarbeitet. Sie können sie auf einzelne Bilder, Videodateien oder einen kontinuierlichen Videostream anwenden.
Jetzt starten
Folgen Sie einer dieser Implementierungsanleitungen für Ihre Zielplattform, um diese Aufgabe zu verwenden. In diesen plattformspezifischen Anleitungen werden Sie durch die grundlegende Implementierung dieser Aufgabe geführt. Sie finden dort auch ein empfohlenes Modell und ein Codebeispiel mit empfohlenen Konfigurationsoptionen:
- Android – Codebeispiel – Anleitung
- Python – Codebeispiel – Anleitung
- Web – Codebeispiel – Anleitung
Taskdetails
In diesem Abschnitt werden die Funktionen, Eingaben, Ausgaben und Konfigurationsoptionen dieser Aufgabe beschrieben.
Funktionen
- Eingabebildverarbeitung: Dazu gehören Bilddrehung, Größenänderung, Normalisierung und Farbraumkonvertierung.
Aufgabeneingaben | Aufgabenausgaben |
---|---|
|
Der interaktive Bildsegmentierer gibt segmentierte Bilddaten aus, die je nach den von Ihnen festgelegten Konfigurationsoptionen eine oder beide der folgenden Optionen enthalten können:
|
Konfigurationsoptionen
Für diese Aufgabe gibt es die folgenden Konfigurationsoptionen:
Option | Beschreibung | Wertebereich | Standardwert |
---|---|---|---|
output_category_mask |
Wenn dieser Wert auf True gesetzt ist, enthält die Ausgabe eine Segmentierungsmaske als uint8-Bild, bei der jeder Pixelwert angibt, ob das Pixel zum Objekt im Bereich von Interesse gehört. |
{True, False } |
False |
output_confidence_masks |
Wenn dieser Wert auf True gesetzt ist, enthält die Ausgabe eine Segmentierungsmaske als Bild mit Gleitkommawerten. Jeder Gleitkommawert gibt die Wahrscheinlichkeit an, dass das Pixel Teil des Objekts im interessierenden Bereich ist. |
{True, False } |
True |
display_names_locale |
Legt die Sprache der Labels fest, die für die Anzeigenamen verwendet werden, die in den Metadaten des Modells der Aufgabe angegeben sind, sofern verfügbar. Der Standardwert ist en für Englisch. Mit der TensorFlow Lite Metadata Writer API können Sie den Metadaten eines benutzerdefinierten Modells lokalisierte Labels hinzufügen.
| Gebietscode | de |
Modelle
Der interaktive Bildsegmenter kann mit mehreren ML-Modellen verwendet werden. Beginnen Sie mit dem standardmäßigen, empfohlenen Modell für Ihre Zielplattform, wenn Sie mit dieser Aufgabe beginnen. Bei den anderen verfügbaren Modellen müssen in der Regel Kompromisse zwischen Leistung, Genauigkeit, Auflösung und Ressourcenanforderungen eingegangen werden. In einigen Fällen sind auch zusätzliche Funktionen verfügbar.
MagicTouch-Modell (empfohlen)
Dieses Modell identifiziert Segmente anhand von Bildkoordinaten für einen bestimmten Bereich. Das Modell verwendet ein Convolutional Neural Network, ähnlich einer MobileNetV3-Architektur, mit einem benutzerdefinierten Decoder.
Modellname | Eingabeform | Quantisierungstyp | Modellkarte | Versionen |
---|---|---|---|---|
MagicTouch | 512 × 512 × 4 | Keine (float32) | info | Neueste |
Benchmarks für Aufgaben
Hier sind die Aufgaben-Benchmarks für die gesamte Pipeline, die auf den oben genannten vorab trainierten Modellen basieren. Das Latenzergebnis ist die durchschnittliche Latenz auf Pixel 6 mit CPU / GPU.
Modellname | CPU-Latenz | GPU-Latenz |
---|---|---|
MagicTouch | 130,11 ms | 67,25 ms |