Instanzsegmentierung und -tracking mit Ultralytics YOLO26#
Was ist Instanzsegmentierung?#
Instanzsegmentierung ist eine Computer-Vision-Aufgabe, bei der einzelne Objekte in einem Bild auf Pixelebene erkannt und umrissen werden. Im Gegensatz zur semantischen Segmentierung, bei der Pixel nur nach Kategorien klassifiziert werden, kennzeichnet und grenzt die Instanzsegmentierung jede einzelne Objektinstanz eindeutig und präzise ab. Dadurch ist sie für Anwendungen wie medizinische Bildgebung, autonomes Fahren und industrielle Automatisierung, die ein detailliertes räumliches Verständnis erfordern, von entscheidender Bedeutung.
Ultralytics YOLO26 bietet leistungsstarke Funktionen zur Instanzsegmentierung, die eine präzise Erkennung von Objektgrenzen ermöglichen und dabei die Geschwindigkeit und Effizienz beibehalten, für die YOLO-Modelle bekannt sind.
Im Ultralytics-Paket stehen zwei Arten des Trackings mit Instanzsegmentierung zur Verfügung:
-
Instanzsegmentierung mit Klassenobjekten: Jedem Klassenobjekt wird eine eigene Farbe zugewiesen, um eine klare visuelle Unterscheidung zu ermöglichen.
-
Instanzsegmentierung mit Objekt-Tracks: Jeder Track wird durch eine eigene Farbe dargestellt, was die einfache Identifizierung und Verfolgung über mehrere Videobilder hinweg ermöglicht.
Watch: Instance Segmentation with Object Tracking using Ultralytics YOLO26
Beispiele#
| Instanzsegmentierung | Instanzsegmentierung + Objekt-Tracking |
|---|---|
![]() | ![]() |
| Ultralytics-Instanzsegmentierung 😍 | Ultralytics-Instanzsegmentierung mit Objekt-Tracking 🔥 |
Segmentieren und Tracken mit YOLO26#
Die Lösung InstanceSegmentation führt in jedem Bild ein YOLO26-Segmentierungsmodell aus, zeichnet Masken für jedes Objekt und verwendet für jede Instanz eine eigene Farbe, damit du einzelne Objekte über ein Video hinweg verfolgen kannst. Lade ein -seg-Modell und führe es anschließend mit der Python-API oder der CLI auf deiner Quelle aus.
# Instance segmentation using Ultralytics YOLO26
yolo solutions isegment show=True
# Pass a source video
yolo solutions isegment source="path/to/video.mp4"
# Monitor the specific classes
yolo solutions isegment classes="[0, 5]"Argumente von InstanceSegmentation#
Hier ist eine Tabelle mit den Argumenten von InstanceSegmentation:
| Argument | Typ | Standardwert | Beschreibung |
|---|---|---|---|
model | str | None | Pfad zu einer YOLO-Modell-Datei von Ultralytics. |
line_width | int | 2 | Linienstärke für die von der Lösung gezeichneten Boxen, Keypoints und Zählwerte. |
verbose | bool | True | Aktiviert das Protokoll der Lösung pro Frame mit Eingabeform, Klassenanzahlen und Verarbeitungsgeschwindigkeit. Der Tracking-Aufruf selbst bleibt immer ohne Ausgabe. |
Du kannst die Argumente von track auch innerhalb der Lösung InstanceSegmentation nutzen:
| Argument | Typ | Standardwert | Beschreibung |
|---|---|---|---|
tracker | str | 'botsort.yaml' | Gibt den zu verwendenden Tracking-Algorithmus an. Integrierte Optionen: botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml. |
conf | float | 0.25 | Legt den Konfidenzschwellenwert für Erkennungen fest. Niedrigere Werte ermöglichen das Verfolgen weiterer Objekte, können aber Fehlalarme einschließen. |
iou | float | 0.7 | Legt den Schwellenwert für Intersection over Union (IoU) zum Filtern überlappender Erkennungen fest. |
classes | list | None | Filtert Ergebnisse nach Klassenindex. Beispielsweise verfolgt classes=[0, 2, 3] nur die angegebenen Klassen. |
device | str | None | Gibt das Gerät für die Inferenz an (z. B. cpu, cuda:0 oder 0). Ermöglicht die Auswahl zwischen CPU, einer bestimmten GPU oder anderen Rechengeräten für die Modellausführung. |
imgsz | int or tuple | 640 | Ziel-Inferenzbildgröße: eine ganze Zahl für ein quadratisches Bild oder ein (height, width)-Paar. Die Formate werden an die Modellschrittweite angepasst. |
max_det | int | 300 | Maximale Anzahl pro Frame beibehaltener Detektionen vor dem Tracking, wodurch die Objekte begrenzt werden, die eine Solution in dichten Szenen verarbeitet. |
quantize | int or str | None | Inferenzpräzision: 16 (FP16) oder 32/nicht gesetzt (FP32) für PyTorch- und TorchScript-Modelle; andere Formate berechnen mit der Präzision, die ihr Artefakt und ihre Laufzeit auswählen. Ersetzt das veraltete half-Flag. |
Darüber hinaus stehen die folgenden Argumente für die Visualisierung zur Verfügung:
| Argument | Typ | Standardwert | Beschreibung |
|---|---|---|---|
show | bool | False | Wenn True, werden die annotierten Bilder oder Videos in einem Fenster angezeigt. Dies ist nützlich für unmittelbares visuelles Feedback während der Entwicklung oder des Testens. |
show_conf | bool | True | Zeigt neben dem Label den Konfidenzwert für jede Erkennung an. Dadurch erhältst du Einblick in die Sicherheit des Modells bei jeder Erkennung. |
show_labels | bool | True | Zeigt Labels für jede Erkennung in der visuellen Ausgabe an. Dies ermöglicht ein unmittelbares Verständnis der erkannten Objekte. |
show_boxes | bool | True | Zeichnet Begrenzungsrahmen um erkannte Objekte. Dies ist für die visuelle Identifizierung und Lokalisierung von Objekten in Bildern oder Videobildern unerlässlich. |
Anwendungen der Instanzsegmentierung#
Die Instanzsegmentierung mit YOLO26 hat zahlreiche praktische Anwendungen in verschiedenen Branchen:
Abfallwirtschaft und Recycling#
YOLO26 kann in Abfallbehandlungsanlagen eingesetzt werden, um verschiedene Materialarten zu erkennen und zu sortieren. Das Modell kann Kunststoffabfälle, Karton, Metall und andere recycelbare Materialien mit hoher Präzision segmentieren, sodass automatisierte Sortiersysteme Abfälle effizienter verarbeiten können. Dies ist besonders wertvoll, wenn man bedenkt, dass weltweit von den jährlich erzeugten 7 Milliarden Tonnen Kunststoffabfällen nur etwa 10 % recycelt werden.
Autonome Fahrzeuge#
In selbstfahrenden Autos hilft die Instanzsegmentierung dabei, Fußgänger, Fahrzeuge, Verkehrszeichen und andere Elemente der Straße auf Pixelebene zu erkennen und zu verfolgen. Dieses präzise Verständnis der Umgebung ist für Navigations- und Sicherheitsentscheidungen entscheidend. Die Echtzeitverarbeitung von YOLO26 macht das Modell ideal für diese zeitkritischen Anwendungen.
Medizinische Bildgebung#
Die Instanzsegmentierung kann Tumore, Organe oder Zellstrukturen in medizinischen Aufnahmen erkennen und umrissen darstellen. Die Fähigkeit von YOLO26, Objektgrenzen präzise abzugrenzen, macht das Modell für die medizinische Diagnostik und die Behandlungsplanung wertvoll.
Überwachung von Baustellen#
Auf Baustellen kann die Instanzsegmentierung schwere Maschinen, Arbeitskräfte und Materialien verfolgen. Dies trägt zur Sicherheit bei, indem die Positionen von Geräten überwacht und erkannt wird, wenn Arbeitskräfte gefährliche Bereiche betreten. Gleichzeitig lassen sich Arbeitsabläufe und die Ressourcenverteilung optimieren.
FAQ#
Um eine Instanzsegmentierung mit Ultralytics YOLO26 durchzuführen, initialisierst du das YOLO-Modell mit einer Segmentierungsversion von YOLO26 und verarbeitest Videobilder damit. Hier ist ein vereinfachtes Codebeispiel:
import cv2 from ultralytics import solutions cap = cv2.VideoCapture("path/to/video.mp4") assert cap.isOpened(), "Error reading video file" # Video writer w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS)) video_writer = cv2.VideoWriter("instance-segmentation.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h)) # Init InstanceSegmentation isegment = solutions.InstanceSegmentation( show=True, # display the output model="yolo26n-seg.pt", # model="yolo26n-seg.pt" for object segmentation using YOLO26. ) # Process video while cap.isOpened(): success, im0 = cap.read() if not success: print("Video frame is empty or processing is complete.") break results = isegment(im0) video_writer.write(results.plot_im) cap.release() video_writer.release() cv2.destroyAllWindows()Weitere Informationen zur Instanzsegmentierung findest du im Ultralytics YOLO26-Leitfaden.
Die Instanzsegmentierung erkennt einzelne Objekte in einem Bild und grenzt sie ab, wobei jedes Objekt eine eindeutige Bezeichnung und Maske erhält. Das Objekt-Tracking erweitert dies, indem es Objekten über mehrere Videobilder hinweg konsistente IDs zuweist und so die kontinuierliche Verfolgung derselben Objekte ermöglicht. In Kombination, wie bei der Implementierung von YOLO26, erhältst du leistungsstarke Funktionen zur Analyse der Bewegung und des Verhaltens von Objekten in Videos bei gleichzeitig präzisen Grenzinformationen.
Ultralytics YOLO26 bietet im Vergleich zu anderen Modellen wie Mask R-CNN oder Faster R-CNN Echtzeitverarbeitung, überlegene Genauigkeit und eine einfache Bedienung. YOLO26 verarbeitet Bilder in einem einzigen Durchlauf (einstufige Objekterkennung) und ist dadurch deutlich schneller, während eine hohe Präzision erhalten bleibt. Außerdem ermöglicht das Modell eine nahtlose Integration in die Ultralytics Platform, sodass du Modelle, Datensätze und Trainingspipelines effizient verwalten kannst. Für Anwendungen, die sowohl Geschwindigkeit als auch Genauigkeit erfordern, bietet YOLO26 ein optimales Gleichgewicht.
Ja, Ultralytics bietet mehrere Datensätze an, die sich für das Training von YOLO26-Modellen zur Instanzsegmentierung eignen, darunter COCO-Seg, COCO8-Seg (eine kleinere Teilmenge für schnelle Tests), Package-Seg und Crack-Seg. Diese Datensätze enthalten die für Instanzsegmentierungsaufgaben erforderlichen Annotationen auf Pixelebene. Für speziellere Anwendungen kannst du auch eigene Datensätze im Ultralytics-Format erstellen. Vollständige Informationen zu den Datensätzen und Anweisungen zu ihrer Verwendung findest du in der Ultralytics-Datensatzdokumentation.

