HyperAI

Verwenden Sie YOLO v5+DeepSORT, Um Ein Echtzeit-Multi-Target-Tracking-Modell Zu Erstellen

vor 4 Jahren
Populärwissenschaft
Yang Bai
特色图像

Objektverfolgung ist ein wichtiges Thema im Bereich der industriellen Bildverarbeitung.Dabei kann zwischen der Verfolgung einzelner Objekte (Single Object Tracking, kurz SOT) und der Verfolgung mehrerer Objekte (Multi Object Tracking, kurz MOT) unterschieden werden.

Bei der Verfolgung mehrerer Ziele kommt es aufgrund der großen Anzahl von Verfolgungs-IDs und häufiger Verdeckungen häufig zu Zielverlusten. Mit Hilfe des Trackers DeepSORT und des Detektors YOLO v5 kann ein leistungsstarkes Echtzeit-Multi-Target-Tracking-Modell erstellt werden.

In diesem Artikel werden die Einzelzielverfolgung und die Mehrzielverfolgung vorgestellt. Am Ende des Artikels werden der Implementierungsprozess und der spezifische Code von YOLO v5+DeepSORT ausführlich erläutert.

Detaillierte Erklärung der Einzelzielverfolgung

Definition 

Single Target Tracking (SOT) bedeutet, dass das Ziel im ersten Frame des Videos angegeben wird, das Ziel in den nachfolgenden Frames anhand von Kontextinformationen lokalisiert wird und ein Tracking-Modell erstellt wird, um den Bewegungszustand des Ziels vorherzusagen.

Anwendungsszenario 

SOT wird häufig in der intelligenten Videoüberwachung, beim autonomen Fahren, in der Roboternavigation, in der Mensch-Computer-Interaktion und in anderen Bereichen eingesetzt.

Verwendung von SOT zur Vorhersage der Flugbahn von Fußballbällen bei Fußballspielen

Forschungsschwierigkeiten 

Die drei Hauptschwierigkeiten sind: Änderungen des Zielhintergrunds, Änderungen des Objekts selbst und Änderungen der Lichtintensität.

Mainstream-Algorithmen (basierend auf Deep Learning) 

Zur Lösung des SOT-Problems gibt es zwei Hauptansätze:Diskriminatives Tracking und generatives Tracking,Mit der erfolgreichen Anwendung von Deep Learning in Machine Vision-bezogenen Aufgaben wie Bildklassifizierung und Zielerkennung,Deep Learning wird mittlerweile auch in Zielverfolgungsalgorithmen häufig eingesetzt.

Dieser Artikel stellt hauptsächlich den auf Deep Learning basierenden SOT-Algorithmus vor.

Repräsentative Zielverfolgungsalgorithmen an jedem Zeitknoten,Deep-Learning-Methoden, die von AlexNet nach 2012 vertreten werden,Einführung in die Zielverfolgung

Schlüsselalgorithmus: SiamFC

Anders als die Online-Lernmethoden, die bei der herkömmlichen Objektverfolgung verwendet werden, konzentriert sich SiamFC auf das Erlernen starker Einbettungen in der Offline-Phase.

Es kombiniert einen grundlegenden Tracking-Algorithmus mit einem neuartigen, vollständig faltenden siamesischen Netzwerk, das durchgängig auf dem ILSVRC15-Datensatz trainiert wurde.Zur Objekterkennung in Videos.

Schematische Darstellung der vollständig faltenden Zwillingsnetzwerkarchitektur

Experimente haben gezeigt, dass das Twin Fully Convolutional Deep Network beim Testen und Trainieren von Modellen die vorhandenen Daten effizienter nutzt.

SiamFC war ein Pionier bei der Anwendung der Zwillingsnetzwerkstruktur im Bereich der Zielverfolgung.Die Tracking-Geschwindigkeit des Deep-Learning-Methoden-Trackers wurde deutlich verbessert, bei einfacher Struktur und hervorragender Leistung.

Zugriff auf verwandte Dokumente

Verwandte Ableitungsalgorithmen 

1. StructSiam

Es wird eine Methode zum lokalen Strukturlernen vorgeschlagen, die sowohl das lokale Muster als auch die strukturelle Beziehung des Ziels berücksichtigt.Zu diesem Zweck haben die Autoren ein lokales Mustererkennungsmodul entwickelt, um die Unterscheidungsbereiche des Zielobjekts automatisch zu identifizieren.

Das Modell kann durchgängig trainiert werden.

Zugriff auf verwandte Dokumente

2. SiamFC-tri

Der Autor schlug einen neuen Triplettverlust vor.Wird verwendet, um ausdrucksstarke Tiefenmerkmale verfolgter Objekte zu extrahieren. Ohne den Input zu erhöhen, kann diese Methode mehr Elemente für das Training nutzen und durch die Kombination von Originalbeispielen leistungsfähigere Funktionen erzielen.

Verwandte Artikel

3. DSiam

Die Autoren schlugen ein dynamisches Zwillingsnetzwerk vor,Durch ein schnelles Transferlernmodell können die Erscheinungsänderungen des Ziels und die Hintergrundunterdrückung der vorherigen Frames effektiv online erlernt werden. Gleichzeitig schlugen die Autoren auch eine mehrschichtige Fusion von Elementen vor, bei der mehrschichtige Deep Features verwendet werden, um Netzwerkausgaben adaptiv zu integrieren.

DSiam ermöglicht die Verwendung aller möglichen allgemeinen oder speziell trainierten Funktionen wie SiamFC und VGG, und das dynamische Zwillingsnetzwerk kann direkt anhand beschrifteter Videosequenzen integriert und trainiert werden, wobei die umfangreichen räumlich-zeitlichen Informationen bewegter Objekte voll ausgenutzt werden.

Verwandte Artikel

Detaillierte Erklärung der Mehrzielverfolgung

Definition 

Beim Multi-Object-Tracking (MOT) wird jedem Objekt in jedem Videobild eine ID zugewiesen und die Verhaltensbahn jeder ID gezeichnet.

Multi-Objekt-Tracking in Street-View-Videos

Anwendungsszenario 

MOT wird häufig in den Bereichen intelligente Sicherheit, autonomes Fahren, Medizin und anderen Bereichen eingesetzt.

Forschungsschwierigkeiten 

Die größte Herausforderung für MOT besteht derzeit in der Okklusion, also der Verdeckung zwischen Zielen oder der Verdeckung von Zielen durch die Umgebung.

Mainstream-Algorithmen 

1. SORT

Simple Online and Realtime Tracking (SORT) ist eine Multi-Target-Tracking-Methode, die sich auf einfache und effiziente Algorithmen konzentriert.Es ist sehr praktisch und kann Ziele für Online- und Echtzeitanwendungen effektiv verknüpfen.

Leistungsvergleich von SORT mit anderen Methoden,Die horizontale Achse stellt die Genauigkeit dar, und die vertikale Achse stellt die Geschwindigkeit dar,Je höher und rechts das Modell ist, desto besser ist die Gesamtleistung.

Aufgrund der Einfachheit der Tracking-Methode kann der Tracker mit einer Rate von 260 Hz aktualisieren, was 20-mal schneller ist als die fortschrittlichsten Tracker zu dieser Zeit.

Verwandte Artikel

2. DeepSORT

DeepSORT ist eine aktualisierte Version von SORT, die Erscheinungsinformationen integriert, um die Leistung von SORT zu verbessern.Dadurch können wir das Ziel auch bei längeren Okklusionsperioden normal verfolgen und die Anzahl der ID-Übergänge effektiv reduzieren.

DeepSORT-Leistung im MOT Challenge-Datensatz,Okklusion ist in realen Straßenszenen sehr häufig

Den größten Teil der Rechenkomplexität haben die Autoren in die Offline-Vortrainingsphase investiert, in der sie einen umfangreichen Datensatz zur Personen-Reidentifizierung verwenden, um eine tiefe Assoziationsmetrik zu erlernen.

In der Online-Anwendungsphase werden Nachbarabfragen im visuellen Erscheinungsraum verwendet, um Messungen-zu-Track-Zuordnungen herzustellen.

Experimente zeigen, dass DeepSORT die Anzahl der ID-Konvertierungen um 45% reduziert und bei hohen Bildraten eine hervorragende Gesamtleistung aufweist.

Darüber hinaus ist DeepSORT ein sehr allgemeiner Tracker, der an jeden Detektor angeschlossen werden kann.

Verwandte Artikel

3. Auf dem Weg zum Echtzeit-TÜV

Die Autoren schlugen ein MOT-System vor,Dadurch können die Objekterkennung und die Einbettung des Erscheinungsbilds in ein gemeinsames Modell erlernt werden.Das heißt, das Erscheinungs-Einbettungsmodell wird in einen Einzelschussdetektor integriert, sodass das Modell die Erkennung und die entsprechende Einbettung gleichzeitig ausgeben kann.

Die Autoren schlagen außerdem eine einfache und schnelle Assoziationsmethode vor, die zusammen mit dem gemeinsamen Modell ausgeführt werden kann.

Auf dem Weg zu Echtzeit-MOT- und SDE-Modellen,Vergleich zwischen dem Zwei-Stufen-Modell und dem JDE-Modell

Der Rechenaufwand beider Komponenten ist im Vergleich zu früheren MOT-Systemen erheblich reduziert, wodurch eine saubere und schnelle Grundlage für die nachfolgende Arbeit am Echtzeit-MOT-Algorithmus-Design geschaffen wird.

Dies ist das erste nahezu in Echtzeit arbeitende TÜV-System der Branche.Es läuft schneller, hat eine höhere Genauigkeit und sein Code ist Open Source, was es zu einer sehr lohnenden Referenz macht.

Verwandte Artikel

Multi-Objekt-Tracking mit YOLOv5 und DeepSORT

Dieses Tutorial ist in OpenBayes.com laufen. OpenBayes ist eine sofort einsatzbereite Cloud-Plattform für maschinelles Lernen, die gängige Frameworks wie PyTorch und TensorFlow sowie verschiedene Arten von Computerlösungen wie vGPU, T4 und V100 bereitstellt. Das Preismodell ist flexibel und einfach und die Gebühren richten sich nach der Nutzungszeit.

Dieses Tutorial verwendet vGPU zur Ausführung in der PyTorch 1.8.1-Umgebung.

Greifen Sie auf das vollständige Tutorial zu

Dieses Projekt besteht aus zwei Teilen. Zunächst wird der YOLO v5-Detektor verwendet, um eine Reihe von Objekten zu erkennen. dann wird DeepSORT zur Nachverfolgung verwendet.

Der erste Schritt besteht darin, die Codeumgebung vorzubereiten

%cd Yolov5_DeepSort_Pytorch
%pip install -qr requirements.txt  # 安装依赖

import torch
from IPython.display import Image, clear_output  # 显示结果

clear_output()
print(f"Setup complete. Using torch {torch.__version__} ({torch.cuda.get_device_properties(0).name if torch.cuda.is_available() else 'CPU'})")

Schritt 2 Vorverarbeiten des zu testenden Videos

!y | ffmpeg -ss 00:00:00 -i test.avi -t 00:00:03 -c copy out.avi -y

Schritt 3: Modellbegründung

!python track.py --yolo_weights /openbayes/input/input1/crowdhuman_yolov5m.pt --source out.avi --save-vid

Schritt 4: Formatkonvertierung

!ffmpeg -i /openbayes/home/Yolov5_DeepSort_Pytorch/inference/output/out.avi output.mp4 -y

Schritt 5: Ergebnisse anzeigen

from IPython.display import HTML
from base64 import b64encode
mp4 = open('output.mp4','rb').read()
data_url = "data:video/mp4;base64," + b64encode(mp4).decode()
HTML("""
<video controls>
      <source src="%s" type="video/mp4">
</video>
""" % data_url)
Ergebnisse der Mehrfachzielverfolgung ausgeben

Zugriff auf das vollständige Notizbuch


Über OpenBayes 


OpenBayes Es ist eine führende Forschungseinrichtung für maschinelle Intelligenz in China.Bietet eine Reihe grundlegender Dienste im Zusammenhang mit der KI-Entwicklung, darunter Rechenleistungscontainer, automatische Modellierung und automatische Parameteranpassung.


Gleichzeitig hat OpenBayes auch viele gängige öffentliche Ressourcen wie Datensätze, Tutorials und Modelle veröffentlicht.Damit Entwickler schnell lernen und ideale Modelle für maschinelles Lernen erstellen können.


Jetzt besuchen openbayes.com und registrieren
Jetzt genießen 
600 Minuten/Woche vGPU
Und 300 Minuten/Woche kostenlose CPU-Rechenzeit

Sie können auch ein Video eingeben und die entsprechenden Erkennungs- und Tracking-Ergebnisse erhalten.


Vollständiges Tutorial-Portal