Ultralytics YOLO27:
Get Started

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 abgegrenzt werden. Im Gegensatz zur semantischen Segmentierung, die Pixel lediglich einer Kategorie zuordnet, kennzeichnet und grenzt die Instanzsegmentierung jede einzelne Objektinstanz eindeutig ab. Das ist entscheidend für Anwendungen, die ein detailliertes räumliches Verständnis erfordern, etwa medizinische Bildgebung, autonomes Fahren und industrielle Automatisierung.

Ultralytics YOLO26 bietet leistungsstarke Funktionen zur Instanzsegmentierung, die eine präzise Erkennung von Objektgrenzen ermöglichen und zugleich die Geschwindigkeit und Effizienz beibehalten, für die YOLO-Modelle bekannt sind.

Im Ultralytics-Paket stehen zwei Arten des Trackings bei der Instanzsegmentierung zur Verfügung:

  • Instanzsegmentierung mit Klassenobjekten: Jedes Klassenobjekt erhält eine eindeutige Farbe, damit es visuell klar von den anderen unterscheidbar ist.

  • Instanzsegmentierung mit Objekttracks: Jeder Track wird durch eine eigene Farbe dargestellt, sodass Objekte über Videoframes hinweg leicht identifiziert und verfolgt werden können.



Ansehen: Instanzsegmentierung mit Objektverfolgung mit Ultralytics YOLO26

Beispiele#

InstanzsegmentierungInstanzsegmentierung + Objektverfolgung
Ultralytics-InstanzsegmentierungUltralytics-Instanzsegmentierung mit Objektverfolgung
Ultralytics-Instanzsegmentierung 😍Ultralytics-Instanzsegmentierung mit Objektverfolgung 🔥

Segmentieren und verfolgen mit YOLO26#

Die Lösung InstanceSegmentation führt auf jedem Frame ein YOLO26-Segmentierungsmodell aus, zeichnet Masken für die einzelnen Objekte und färbt jede Instanz separat ein, sodass 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 für deine Quelle aus.

Instanzsegmentierung mit Ultralytics YOLO
# 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 für InstanceSegmentation#

Hier ist eine Tabelle mit den Argumenten für InstanceSegmentation:

ArgumentTypStandardBeschreibung
modelstrNonePfad zu einer Ultralytics-YOLO-Modelldatei.
line_widthint2Linienstärke für die Boxen, Keypoints und Zählwerte, die von der Lösung eingezeichnet werden.
verboseboolTrueAktiviert das Protokoll der Lösung für jedes Bild, das Eingabeform, Klassenanzahlen und Verarbeitungsgeschwindigkeit enthält. Der Tracking-Aufruf selbst gibt grundsätzlich keine Meldungen aus.

Du kannst auch die Argumente track innerhalb der Lösung InstanceSegmentation verwenden:

ArgumentTypStandardBeschreibung
trackerstr'tracktrack.yaml'Legt den zu verwendenden Verfolgungsalgorithmus fest. Integrierte Optionen: botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml.
conffloat0.25Legt den Konfidenzschwellenwert für Erkennungen fest. Niedrigere Werte ermöglichen die Verfolgung weiterer Objekte, können aber auch falsch positive Ergebnisse einschließen.
ioufloat0.7Legt den Schwellenwert für die Schnittmenge über Vereinigung (IoU) fest, um überlappende Erkennungen herauszufiltern.
classeslistNoneFiltert die Ergebnisse nach Klassenindex. Beispielsweise verfolgt classes=[0, 2, 3] nur die angegebenen Klassen.
devicestrNoneLegt das Gerät für die Inferenz fest (z. B. cpu, cuda:0 oder 0). So kannst du für die Modellausführung zwischen CPU, einer bestimmten GPU oder anderen Rechengeräten wählen.
imgszint or tuple640Zielbildgröße für die Inferenz: eine Ganzzahl für ein quadratisches Bild oder ein (height, width)-Paar. Die Formen werden an den Modellschritt angepasst.
max_detint300Maximale Anzahl der Erkennungen, die pro Bild vor der Verfolgung beibehalten werden. Dadurch wird die Anzahl der Objekte begrenzt, die eine Lösung in dichten Szenen verarbeitet.
quantizeint or strNoneInferenzgenauigkeit: 16 (FP16) oder 32/nicht festgelegt (FP32) für PyTorch- und TorchScript-Modelle; andere Formate verwenden die Genauigkeit, die durch ihr Artefakt und ihre Laufzeitumgebung festgelegt wird. Ersetzt das veraltete Flag half.

Außerdem stehen die folgenden Visualisierungsargumente zur Verfügung:

ArgumentTypStandardBeschreibung
showboolFalseWenn True aktiviert ist, werden die annotierten Bilder oder Videos in einem Fenster angezeigt. Nützlich für unmittelbares visuelles Feedback während der Entwicklung oder beim Testen.
show_confboolTrueZeigt neben der Bezeichnung den Konfidenzwert jeder Erkennung an. Gibt Aufschluss darüber, wie sicher sich das Modell bei der jeweiligen Erkennung ist.
show_labelsboolTrueZeigt für jede Erkennung eine Bezeichnung in der visuellen Ausgabe an. So lassen sich erkannte Objekte sofort erkennen.
show_boxesboolTrueZeichnet Begrenzungsrahmen um erkannte Objekte. Unverzichtbar, um Objekte in Bildern oder Videobildern visuell zu identifizieren und zu lokalisieren.

Anwendungsbereiche der Instanzsegmentierung#

Die Instanzsegmentierung mit YOLO26 hat zahlreiche praktische Anwendungen in verschiedenen Branchen:

Abfallwirtschaft und Recycling#

YOLO26 kann in Abfallentsorgungsanlagen eingesetzt werden, um verschiedene Materialarten zu erkennen und zu sortieren. Das Modell kann Kunststoffabfälle, Karton, Metall und andere Wertstoffe mit hoher Präzision segmentieren. So können automatisierte Sortiersysteme Abfälle effizienter verarbeiten. Das ist besonders wichtig, da weltweit nur etwa 10 % der 7 Milliarden Tonnen Kunststoffabfälle recycelt werden.

Autonome Fahrzeuge#

In selbstfahrenden Autos hilft die Instanzsegmentierung dabei, Fußgänger, Fahrzeuge, Verkehrsschilder und andere Elemente der Straße auf Pixelebene zu erkennen und zu verfolgen. Dieses präzise Verständnis der Umgebung ist entscheidend für Navigations- und Sicherheitsentscheidungen. Dank seiner Echtzeitleistung eignet sich YOLO26 ideal für Anwendungen, bei denen es auf schnelle Reaktionen ankommt.

Medizinische Bildgebung#

Die Instanzsegmentierung kann Tumore, Organe oder Zellstrukturen in medizinischen Aufnahmen erkennen und abgrenzen. Dank der präzisen Abgrenzung von Objektgrenzen ist YOLO26 für die medizinische Diagnostik und Behandlungsplanung besonders nützlich.

Überwachung von Baustellen#

Auf Baustellen kann die Instanzsegmentierung schwere Maschinen, Arbeiter und Materialien verfolgen. So lässt sich die Sicherheit gewährleisten, indem die Position von Geräten überwacht und erkannt wird, wenn Arbeiter Gefahrenbereiche betreten. Gleichzeitig können Arbeitsabläufe und die Zuweisung von Ressourcen optimiert werden.

Häufig gestellte Fragen#

  • Um mit Ultralytics YOLO26 eine Instanzsegmentierung durchzuführen, initialisiere das YOLO-Modell mit einer Segmentierungsversion von YOLO26 und verarbeite damit die Videoframes. 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))
    
    # Instanzsegmentierung initialisieren
    isegment = solutions.InstanceSegmentation(
        show=True,  # # Ausgabe anzeigen
        model="yolo26n-seg.pt",  # model="yolo26n-seg.pt" zur Objektsegmentierung mit YOLO26.
    )
    
    # Video verarbeiten
    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 in der Ultralytics YOLO26-Anleitung.

  • Die Instanzsegmentierung erkennt und umgrenzt einzelne Objekte in einem Bild und weist jedem Objekt ein eindeutiges Label und eine Maske zu. Die Objektverfolgung erweitert diese Funktion, indem sie Objekten über Videoframes hinweg beständige IDs zuweist. So können dieselben Objekte kontinuierlich über die Zeit verfolgt werden. Bei der Kombination beider Funktionen, wie in YOLO26, kannst du Objektbewegungen und -verhalten in Videos umfassend analysieren und zugleich präzise Grenzinformationen beibehalten.

  • Ultralytics YOLO26 bietet im Vergleich zu anderen Modellen wie Mask R-CNN oder Faster R-CNN Echtzeitleistung, überlegene Genauigkeit und eine einfache Bedienung. YOLO26 verarbeitet Bilder in einem einzigen Durchlauf (einstufige Erkennung) und ist dadurch deutlich schneller, ohne an Präzision einzubüßen. Außerdem lässt sich das Modell nahtlos in die Ultralytics Platform integrieren, sodass du Modelle, Datensätze und Trainingspipelines effizient verwalten kannst. Für Anwendungen, bei denen Geschwindigkeit und Genauigkeit gleichermaßen wichtig sind, bietet YOLO26 eine optimale Balance.

  • Ja, Ultralytics bietet mehrere Datensätze an, die sich zum Trainieren von YOLO26-Modellen für die Instanzsegmentierung eignen. Dazu gehören 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 zur Verwendung findest du in der Ultralytics-Datensatzdokumentation.

Kommentare