Erfahren Sie, wie die Objektverfolgung in der Bildverarbeitung funktioniert. Entdecken Sie, wie Sie mit Ultralytics Objekte anhand eindeutiger IDs identifizieren und überwachen können, um sie in Echtzeit zu analysieren.
Objektverfolgung ist ein dynamischer Prozess in der Computervision (CV), bei dem bestimmte Objekte in einem Video identifiziert und ihre Bewegungen über eine Folge von Einzelbildern hinweg verfolgt werden. Im Gegensatz zur statischen Bildanalyse, bei der jedes Einzelbild isoliert betrachtet wird, wird bei der Verfolgung die Dimension Zeit einbezogen. Dadurch können Künstliche-Intelligenz-Systeme (KI) jedem erkannten Objekt – beispielsweise einem Auto, einer Person oder einem Tier – eine eindeutige Identifikationsnummer (ID) zuweisen und diese Identität beibehalten, wenn sich das Objekt bewegt, seine Ausrichtung ändert oder vorübergehend verdeckt wird. Diese Fähigkeit ist der Grundstein für ein fortgeschrittenes Videoverständnis, das es Maschinen ermöglicht, Verhalten zu analysieren, Bewegungsbahnen zu berechnen und aus Rohmaterial umsetzbare Erkenntnisse abzuleiten.
Moderne Tracking-Systeme verwenden im Allgemeinen ein „Tracking-by-Detection“-Paradigma. Dieser Arbeitsablauf kombiniert leistungsstarke Erkennungsmodelle mit speziellen Algorithmen, um Erkennungen über einen bestimmten Zeitraum hinweg zuzuordnen. Der Prozess umfasst in der Regel drei Hauptphasen:
Obwohl diese Begriffe eng miteinander verbunden sind, erfüllen sie unterschiedliche Funktionen innerhalb der Pipeline des maschinellen Lernens (ML).
Die Fähigkeit zur Aufrechterhaltung der Objektidentität ermöglicht komplexe Echtzeit-Inferenzanwendungen in verschiedenen Branchen.
Ultralytics es einfach, leistungsstarkes Tracking zu implementieren. Das track Modus in der Bibliothek
übernimmt automatisch die Erkennung, Bewegungsvorhersage und ID-Zuweisung. Das folgende Beispiel zeigt, wie man den
Ultralytics kompatibles YOLO26-Modell zur track in einem
Video.
from ultralytics import YOLO
# Load the official YOLO26n model (nano version for speed)
model = YOLO("yolo26n.pt")
# Track objects in a video file or webcam (source=0)
# 'show=True' displays the video with bounding boxes and unique IDs
results = model.track(source="https://ultralytics.com/images/bus.jpg", show=True)
# Access the unique tracking IDs from the results
if results[0].boxes.id is not None:
print(f"Detected Track IDs: {results[0].boxes.id.cpu().numpy()}")
Um das Ökosystem der Verfolgung vollständig zu verstehen, ist es hilfreich, sich mit der Instanzsegmentierung zu befassen, die die genauen Konturen eines Objekts auf Pixelebene und nicht nur einen Rahmen verfolgt. Darüber hinaus umfassen Multi-Object-Tracking-Herausforderungen (MOT) häufig weit verbreitete Benchmarks wie MOTChallenge, um zu bewerten, wie gut Algorithmen mit überfüllten Szenen und Verdeckungen umgehen können. Für den Einsatz in Produktionsumgebungen verwenden Entwickler häufig Tools wie NVIDIA oder OpenCV , um diese Modelle in effiziente Pipelines zu integrieren.