Indem Sie auf „Alle Cookies akzeptieren“ klicken, stimmen Sie der Speicherung von Cookies auf Ihrem Gerät zu, um die Website-Navigation zu verbessern, die Website-Nutzung zu analysieren und unsere Marketingbemühungen zu unterstützen. Mehr Infos
Cookie-Einstellungen
Indem Sie auf „Alle Cookies akzeptieren“ klicken, stimmen Sie der Speicherung von Cookies auf Ihrem Gerät zu, um die Website-Navigation zu verbessern, die Website-Nutzung zu analysieren und unsere Marketingbemühungen zu unterstützen. Mehr Infos
Entdecken Sie 8 der besten Open-Source-Tools zur Objektverfolgung für die Echtzeit-Videoanalyse. Erfahren Sie, wie jedes einzelne funktioniert und wie Sie das richtige Tool für Ihr Projekt auswählen.
Wenn ein Auto bei Rot über eine Ampel fährt und der Fahrer einen automatisierten Strafzettel erhält oder wenn ein Fußballspieler über das Spielfeld dribbelt und die Kamera das Spiel reibungslos verfolgt, arbeitet KI still im Hintergrund. Diese Systeme basieren insbesondere auf Computer Vision, einem Teilbereich der KI, der es Maschinen ermöglicht, visuelle Informationen aus der Welt zu sehen, zu interpretieren und zu verstehen.
Im Bereich der Bildverarbeitung ist eine der wichtigsten Aufgaben hinter diesen Anwendungen die Objektverfolgung. Sie wird verwendet, um Objekte in jedem Bild eines Videos zu identifizieren und diese Objekte dann zu verfolgen, wenn sie sich bewegen, sich mit anderen überlappen oder ihre Richtung ändern.
Heutzutage gibt es viele Tools und Algorithmen zur Objektverfolgung, die jeweils für unterschiedliche Anwendungsfälle, Leistungsanforderungen und Komplexitätsgrade entwickelt wurden. Einige legen den Schwerpunkt auf Geschwindigkeit und können track von Objekten in Echtzeit track , während andere bei schwierigen Bedingungen wie Verdeckung, schnellen Bewegungen oder schlechten Lichtverhältnissen Wert auf Genauigkeit oder langfristige Stabilität legen.
Insbesondere Open-Source-Projekte haben eine wichtige Rolle bei der Weiterentwicklung dieses Bereichs gespielt. Da ihr Code offen zugänglich ist, können Entwickler und Forscher ihre Funktionsweise untersuchen, bestehende Methoden verbessern und sie an neue Anwendungen anpassen. Diese Offenheit hat dazu beigetragen, dass sich die Objektverfolgung schnell weiterentwickelt hat und sich leichter in reale Systeme integrieren lässt.
In diesem Artikel stellen wir Ihnen acht beliebte Open-Source-Tools und Algorithmen zur Objektverfolgung vor. Los geht's!
Was ist Objektverfolgung?
Stellen Sie sich ein Szenario vor, in dem ein Wachmann CCTV-Aufnahmen eines Parkplatzes beobachtet. Er beschließt, ein rotes Auto im Auge zu behalten. Während das Video abgespielt wird, markiert er dieses Auto mental und verfolgt es, wohin es auch fährt, selbst wenn andere Autos vorbeifahren oder Menschen davor vorbeigehen.
Die KI-gestützte Objektverfolgung funktioniert ähnlich, läuft jedoch automatisch und in großem Maßstab ab. Mit anderen Worten: Bei der Objektverfolgung wird ein Objekt während seiner Bewegung durch die Einzelbilder eines Videos verfolgt und seine Identität von einem Bild zum nächsten konsistent beibehalten.
In vielen Systemen beginnt dies mit der Objekterkennung, die Objekte wie Personen, Fahrzeuge oder Verkehrszeichen in jedem Bild findet und kennzeichnet. Wenn sich diese Objekte dann bewegen, erscheinen, verschwinden oder überlappen, verknüpft das Verfolgungssystem die Erkennungen über die Bilder hinweg, sodass es weiß, welches Objekt welches ist und wohin sich jedes einzelne im Laufe der Zeit bewegt.
Abb. 1: Ein Blick auf die Objektverfolgung (Quelle)
Es gibt zwei gängige Arten der Objektverfolgung: die Einzelobjektverfolgung (SOT), die sich auf ein Hauptobjekt konzentriert (z. B. die Verfolgung nur des Balls in einem Sportvideo), und die Mehrfachobjektverfolgung (MOT), die viele Objekte gleichzeitig verfolgt und jedem eine eindeutige ID zuweist (z. B. die Verfolgung aller Autos an einer belebten Kreuzung).
Unabhängig von der Art der Verfolgung basieren die meisten Systeme auf drei Kernkomponenten: einem Detektor zum Auffinden von Objekten in jedem Bild, einem Bewegungsmodell zur Vorhersage der wahrscheinlichen Bewegung dieser Objekte und einem Abgleichschritt, um neue Erkennungen mit zuvor verfolgten Objekten zu verknüpfen. Diese Teile wandeln Rohvideomaterial in aussagekräftige Informationen darüber um, wie sich Objekte im Laufe der Zeit bewegen und miteinander interagieren.
Der Bedarf an Open-Source-Tools zur Objektverfolgung
Bevor wir uns mit den Details befassen, fragen Sie sich vielleicht: Was macht Open-Source-Tools und -Algorithmen zur Objektverfolgung so besonders?
Open-Source-Tools haben maßgeblich dazu beigetragen, dass die Objektverfolgung einfacher zu bedienen und breiter verfügbar ist. Da der Code offen ist, können Entwickler und Forscher genau sehen, wie ein Tracker funktioniert, daraus lernen und ihn an ihre eigenen Projekte anpassen, anstatt ihn wie eine Black Box zu behandeln.
Sie profitieren außerdem von starken Communities. Viele Open-Source-Tracking-Tools werden von aktiven Mitwirkenden gepflegt, die neue Funktionen hinzufügen, Geschwindigkeit und Genauigkeit verbessern, Fehler beheben und die Tools auf dem neuesten Stand der Forschung halten. Diese kontinuierliche Zusammenarbeit trägt dazu bei, dass sie für verschiedene Anwendungen zuverlässig und nützlich bleiben.
Die Kosten sind ein weiterer wichtiger Grund für ihre Bedeutung. Da Open-Source-Tools kostenlos sind, können Studenten, Start-ups und kleine Teams experimentieren, Prototypen entwickeln und echte Systeme aufbauen, ohne sich um Lizenzgebühren oder Abonnementkosten kümmern zu müssen.
Die 8 besten Open-Source-Tools und Algorithmen zur Objektverfolgung
Heute gibt es eine Vielzahl von Open-Source-Optionen für die Erstellung von Tracking-Systemen. Einige davon sind Tracking-Algorithmen oder -Modelle, die Sie direkt in Ihre Pipeline integrieren können, während andere Bibliotheken und Frameworks sind, die die Ausführung, Verwaltung und Integration dieser Modelle erleichtern. Zusammen decken sie alles ab, von der zentralen Tracking-Logik bis hin zu den begleitenden Tools, die Sie in einem realen Projekt benötigen.
Als Nächstes werfen wir einen Blick auf acht beliebte Open-Source-Tools und Algorithmen zur Objektverfolgung.
1. Ultralytics YOLO und das Ultralytics Python
Eine der einfachsten und praktischsten Optionen für die Objektverfolgung ist die Verwendung der Ultralytics YOLO in Kombination mit dem Python . Ultralytics YOLO wie Ultralytics YOLO11 und das in Kürze erscheinende Ultralytics sind Computer-Vision-Modelle, die eine Reihe von Bildverarbeitungsaufgaben unterstützen, darunter Objekterkennung, Instanzsegmentierung, Posenschätzung und Objektverfolgung.
Abb. 2: Ein Beispiel für die Verwendung von YOLO11 detect track . (Quelle)
Interessanterweise track die Modelle selbst keine track über mehrere Frames hinweg. Stattdessen ermöglicht das Ultralytics Python , eine Bibliothek, die die Ausführung und Bereitstellung Ultralytics YOLO vereinfacht, die Verfolgung, indem es die Frame-für-Frame-Erkennungen YOLOmit speziellen Multi-Objekt-Verfolgungsalgorithmen wie BoT-SORT und ByteTrack kombiniert.
Dank ihrer integrierten Tracking-Funktion können das Ultralytics undYOLO dazu verwendet werden, detect in jedem Bild detect und ihnen dann konsistente IDs zuzuweisen, sodass sie verfolgt werden können, wenn sie sich bewegen, überlappen, das Bild verlassen und später wieder eintreten. Dieser Ansatz wird zunehmend in Branchen wie der Fertigung und dem Einzelhandel eingesetzt und ermöglicht Anwendungen wie Fehlerprüfungs-Workflows, Bestandsflussverfolgung und Kundenverfolgung im Laden.
2. OpenCV
OpenCV ist eine umfangreiche Bibliothek für Computer Vision, die eine Sammlung von Algorithmen zur Objektverfolgung enthält. Diese Bibliothek wird seit 1999 von der OpenCV entwickelt und gepflegt.
Anstatt sich auf Deep Learning zu verlassen, verwenden die meisten dieser Tracker traditionelle Methoden der Bildverarbeitung wie Korrelationsfilter und kernbasierte Techniken (die ein Objekt verfolgen, indem sie sein visuelles Erscheinungsbild, wie Farbe und Textur, von einem Bild zum nächsten abgleichen, anstatt Merkmale mithilfe neuronaler Netze zu lernen).
Bei Verwendung dieser Algorithmen können Sie in der Regel zunächst das Objekt auswählen, das Sie track möchten, und der Tracker sucht dann kontinuierlich nach dem ähnlichsten visuellen Bereich in den nachfolgenden Bildern, während sich das Objekt bewegt.
Abb. 3: Verfolgung von Objekten mit OpenCV Quelle)
Diese Methoden sind zwar in komplexen oder überfüllten Szenen möglicherweise nicht so robust wie moderne Tracking-Systeme auf Basis von Deep Learning, werden aber dennoch häufig verwendet, da sie leichtgewichtig, schnell und einfach zu bedienen sind. Da diese Tracker effizient auf CPUs laufen und in der Regel keine GPU benötigen, eignen sie sich gut für schnelle Experimente, den Unterricht und Hobbyprojekte.
3. ByteTrack
ByteTrack ist einer der beliebtesten Open-Source-Algorithmen für die Verfolgung mehrerer Objekte. Anstatt nur die Erkennungen abzugleichen, bei denen das Modell sehr sicher ist, nutzt es auch Erkennungen mit geringerer Zuverlässigkeit, die von vielen Systemen normalerweise ignoriert werden.
Dadurch kann es Objekte track die kurzzeitig schwer zu erkennen sind, beispielsweise wenn sie teilweise verdeckt sind, sich weit entfernt befinden oder sich schnell bewegen. Aufgrund seiner Schnelligkeit und Zuverlässigkeit wird ByteTrack häufig in Anwendungen wie Verkehrsanalyse, Fußgängerverfolgung und Einzelhandelsüberwachung eingesetzt, bei denen Echtzeitleistung und konsistente IDs von Bedeutung sind.
Wie bereits erwähnt, lässt sich ByteTrack bei Verwendung vonYOLO zur Erkennung ganz einfach über dasPython aktivieren. Es kann jedoch auch unabhängig in benutzerdefinierten Pipelines verwendet werden und eignet sich somit für alle Anwendungen, von Forschungsprototypen bis hin zu in C++ geschriebenen Produktionssystemen.
4. DeepSORT
Ein weiterer weit verbreiteter Algorithmus für die Verfolgung mehrerer Objekte ist DeepSORT, kurz für Deep Simple Online and Real-Time Tracking. Es handelt sich dabei um eine Weiterentwicklung von SORT, was für Simple Online and Real-Time Tracking steht.
Ähnlich wie ByteTrack verfolgt auch SORT einen Tracking-by-Detection-Ansatz. SORT stützt sich jedoch auf einen Kalman-Filter, ein mathematisches Modell, das die zukünftige Position eines Objekts auf der Grundlage seiner bisherigen Bewegung schätzt, um vorherzusagen, wohin sich jedes Objekt wahrscheinlich als Nächstes bewegen wird.
Anschließend gleicht es neue Erkennungen mit vorhandenen Spuren ab, hauptsächlich basierend auf Position und Überschneidung der Begrenzungsrahmen. Dadurch ist SORT schnell und ressourcenschonend, kann jedoch Schwierigkeiten haben, wenn Objekte sich überschneiden, kreuzen oder kurzzeitig aus dem Blickfeld verschwinden.
DeepSORT verbessert SORT, indem es dem Tracking-Prozess Informationen zum Erscheinungsbild hinzufügt. Zusätzlich zu Bewegung und Position verwendet es ein auf Deep Learning basierendes Re-Identification- oder Re-ID-Modell, das lernt, wie Objekte aussehen. Dadurch kann der Tracker dasselbe Objekt über mehrere Frames hinweg erkennen, selbst wenn die Bewegung nicht ausreicht, um es von anderen zu unterscheiden.
Aus diesem Grund wird DeepSORT häufig in Anwendungen wie Überwachung und Menschenmengenüberwachung eingesetzt, wo sich Personen häufig überlappen oder kurzzeitig verdeckt werden. Heute gilt es jedoch als klassische Basismethode, und neuere Tracking-Verfahren erzielen in anspruchsvolleren Szenen oft eine bessere Leistung.
5. Norfair
Norfair ist eine leichtgewichtige Tracking-Bibliothek, die flexibel gestaltet ist und Sie nicht in eine feste Tracking-Pipeline zwingt. Sie kann fast jedem Detektor Tracking-Funktionen hinzufügen, solange die Detektorausgaben als eine Reihe von Punkten dargestellt werden können, z. B. als Mittelpunkte von Begrenzungsrahmen, Schlüsselpunkte oder benutzerdefinierte Koordinatendaten.
Abb. 4: Objektverfolgung in der realen Welt mit Norfair (Quelle)
Diese Flexibilität macht es besonders wirkungsvoll für Projekte mit ungewöhnlichen Eingaben oder dynamischen Bewegungsmustern, bei denen herkömmliche Tools zur Verfolgung mehrerer Objekte möglicherweise nicht ausreichen. Die Bibliothek bietet außerdem integrierte Abstands-Funktionen, um zu steuern, wie Erkennungen über Frames hinweg abgeglichen werden.
Diese Distanzfunktionen messen, wie ähnlich zwei Punkte oder Objekte sind, und geben Benutzern die volle Kontrolle über die Tracking-Logik. Norfair wird häufig in der Robotik, bei der Analyse von Sportbewegungen, bei der Navigation von Drohnen und in Anwendungen eingesetzt, die stark auf das Tracking von Positionsmarkierungen oder Schlüsselpunkten angewiesen sind.
6. MM-Tracking
MMTracking ist eine Open-Source-Tracking-Toolbox des OpenMMLab-Teams, das auch hinter weit verbreiteten Computer-Vision-Bibliotheken wie MMDetection steht. Auf MMDetection aufbauend, bietet es ein flexibles Framework für die Entwicklung und Erprobung von Tracking-Systemen.
Eine seiner größten Stärken ist sein modularer Aufbau. Anstatt Sie an eine einzige Pipeline zu binden, können Sie mit MMTracking verschiedene Komponenten wie Detektoren, Tracking-Module und in einigen Konfigurationen auch Re-Identifizierungsmodelle konfigurieren und austauschen. Aufgrund dieser Flexibilität ist es besonders beliebt in der Forschung und in fortgeschrittenen Projekten, in denen Teams Methoden benchmarken, neue Ideen testen oder Tracking-Pipelines feinabstimmen möchten.
7. FairMOT
FairMOT ist ein Framework zur Verfolgung mehrerer Objekte, das entwickelt wurde, um track Objekte gleichzeitig track . Im Gegensatz zu herkömmlichen Tracking-by-Detection-Pipelines, bei denen zuerst die Erkennung durchgeführt wird und dann Objekte über Frames hinweg in einem separaten Schritt verknüpft werden, lernt FairMOT die Erkennung und Re-Identifizierung gemeinsam in einem einzigen Netzwerk.
Abb. 5: Funktionsweise des FairMOT-Frameworks (Quelle)
Diese gemeinsame Konfiguration trägt dazu bei, dass die Identitäten konsistenter bleiben, insbesondere in überfüllten Szenen, in denen sich Personen oft überlappen oder schnell bewegen. FairMOT wird häufig in Szenarien wie der Fußgängerverfolgung und der Überwachung von Menschenmengen eingesetzt und findet auch in Bereichen wie der Einzelhandelsanalyse und der Verkehrsüberwachung Anwendung, wo es wichtig ist, viele Ziele in Echtzeit zu verfolgen.
8. SiamMask
SiamMask ist eine Methode zur Verfolgung einzelner Objekte, die einen Schritt weiter geht als viele andere Tracker, indem sie neben einem Begrenzungsrahmen auch eine Segmentierungsmaske erzeugt. Einfach ausgedrückt: Sie zeichnet nicht nur ein Rechteck um das Zielobjekt. Sie umreißt auch die Form des Objekts auf Pixelebene, was hilfreich sein kann, wenn das Zielobjekt seine Form ändert, sich dreht oder teilweise verdeckt wird.
Abb. 6: Verfolgung und Segmentierung eines Objekts mit SiamMask (Quelle)
Dieser Ansatz verwendet ein Siamese-Tracking-Design, bei dem der Tracker zunächst eine kleine Referenzansicht des Ziels aus dem ersten Frame aufnimmt, die oft als Vorlage bezeichnet wird. Dann durchsucht er in jedem neuen Frame einen größeren Bereich und findet die Stelle mit der höchsten Ähnlichkeit zu dieser Vorlage.
SiamMask baut auf dieser auf Übereinstimmungen basierenden Idee auf. Es prognostiziert auch eine Maske auf Pixelebene für das Ziel, sodass Sie während der Videowiedergabe sowohl die Position des Objekts als auch einen präziseren Umriss erhalten.
Wichtige Faktoren bei der Auswahl eines Objektverfolgungstools
Angesichts der Vielzahl an Open-Source-Tools für die Objektverfolgung, die heute im Bereich der KI verfügbar sind, hängt die beste Option für Ihr Computer-Vision-Projekt davon ab, was Ihr spezifischer Anwendungsfall erfordert. Hier sind einige Faktoren, die Sie berücksichtigen sollten:
Genauigkeit: Dies ist besonders wichtig in überfüllten oder visuell komplexen Szenen, in denen das Bildverarbeitungssystem auch bei Überlappungen, Verdeckungen oder schnellen Bewegungen stabile IDs beibehalten muss.
Geschwindigkeit: Bei Echtzeitanwendungen wie Robotik, Verkehrsüberwachung und Sportanalysen kann Reaktionsfähigkeit wichtiger sein als perfekte Präzision.
Einfache Integration: Einige Objektverfolgungstools sind einfach anzuschließen und funktionieren mit nur wenigen Zeilen Code, während andere mehr Einrichtung, Konfiguration oder benutzerdefinierte Pipeline-Arbeiten erfordern.
Einsatzbeschränkungen: Die Zielumgebung, wie z. B. GPU , Edge-Geräte oder mobile Hardware, kann darüber entscheiden, welcher Tracking-Ansatz praktikabel ist.
Skalierbarkeit: Wenn Ihr System track Objekte gleichzeitig track oder mehrere Videostreams verarbeiten muss, sollte der Tracker effizient skalierbar sein, ohne dass es zu einem starken Leistungsabfall kommt.
Jedes Objektverfolgungstool oder jeder Algorithmus dient einem anderen Zweck. Letztendlich hängt die richtige Wahl von Ihren spezifischen Anforderungen, Laufzeitbeschränkungen, Leistungskennzahlen und davon ab, wie anpassungsfähig der Tracking-Ansatz für Ihr Projekt sein muss.
Wesentliche Erkenntnisse
Die Objektverfolgung hat sich von frühen handwerklichen Techniken zu den heutigen hochmodernen Deep-Learning-Systemen entwickelt, die Bewegungen, Identitäten und Verhaltensweisen mit beeindruckender Genauigkeit interpretieren. Open-Source-Tools waren eine treibende Kraft hinter diesem Fortschritt. Sie demokratisieren den Zugang zu leistungsstarken Algorithmen, fördern Experimente und ermöglichen es Forschern, ohne restriktive Lizenzen oder aufwendige Infrastruktur komplexe Tracking-Pipelines aufzubauen.