title: Optimizing of Siamese Object Tracking Networks
Creators: name: Ludwig, Alexander
Publisher: name: TU Wien
Year: 2023
Subjects: subject: Machine Learning
subject: Embedded Systeme
subject: Deep Learning
subject: Neurale Netze
subject: Bilderkennung
subject: Machine Learning
subject: Embedded System
subject: Deep Learning
subject: Neural Networks
subject: Image Recognition

description: Bei Visual Object Tracking (VOT) soll die aktuelle Position eines beliebig wählbaren Objekts durchgehend über eine Sequenz von Bildern berechnet werden. Dem Tracker liegt hierfür lediglich die initiale Position dieses Objekts vor. Siamese Object Tracking Networks haben sich in den letzten Jahren im Bereich des VOT etabliert und zu signifikanten Fortschritten geführt. Jährlich stattfindende Wettbewerbe wie die VOT Challenge treiben die Leistungsfähigkeit dieser Tracker voran und präsentieren fortschrittliche Tracking-Algorithmen. In dieser Arbeit wird ein spezifischer Tracking-Algorithmus betrachtet und Optimierungsmethoden vorgestellt, um den Tracker in Echtzeit auf Geräten mit beschränkter Hardwareressourcen auszuführen. Es wird gezeigt, dass die Quantisierung und das Pruning des Tracking-Modells zu einer signifikanten Steigerung der Inferenzgeschwindigkeit führen, während die Tracking-Qualität (Genauigkeit und Robustheit) nur für Quantisierung erhalten bleibt. Zuvor wurden Siamese Object Tracking Networks auf Servern mit hoher Rechenleistung eingesetzt. Aufgrund der hohen Komplexität solcher Netzwerke war es jedoch nicht möglich, sie auf Embedded Hardware für Anwendungen mit Echtzeit-Anforderungen auszuführen. Die Ergebnisse unterstreichen die Effizienz von Quantisierungs- und Pruning-Techniken zur Optimierung von Convolutional Neural Networks (CNNs) auf Embedded Hardware. Durch das Pruning des Backbones des Siamese Object Trackers kann eine Ausführung von bis zu 94 Bildern pro Sekunde (FPS) bei einer Kompressionsrate von 0.26 erreicht werden - dies geht jedoch mit dem Verlust erheblicher Tracking-Qualität einher und macht diese Tracker für den Einsatz in der realen Welt ungeeignet. Ein mit der NVIDIA TensorRT Bibliothek optimierter Siamese Object Tracker kann jedoch mit einer Genauigkeit von 16-Bit Gleitkommazahlen (floating point) auf dem NVIDIA Xavier AGX mit 50 FPS ausgeführt werden. Im Vergleich dazu läuft der nicht optimierte Tracker mit einer Genauigkeit von 32-Bit Gleitkommazahlen auf demselben Gerät mit einer Geschwindigkeit von 11 FPS bei ähnlicher Tracking-Qualität. Zusammenfassend kann man sagen, dass die implementierten Optimierungen zu einer Steigerung der Inferenzgeschwindigkeit um den Faktor 4.5 führen.
description: Visual object tracking (VOT) is a task where the trajectory and state of an arbitrary object shall be estimated throughout an image sequence. The only information given to the tracker is the initial ground truth location of this object. Siamese object tracking networks emerged as one main paradigm in the area of VOT and led to significant improvements. Annual held tracking challenges, like the VOT challenge, push the performance of these trackers and present advanced tracking algorithms. This thesis takes a specific tracking algorithm and presents optimization methods to run the tracker in real-time on resource-constrained hardware. It is shown that quantizing and pruning the tracking model leads to a significant increase in inference speed while maintaining the tracking quality (accuracy and robustness) is only valid for quantization. Previously, siamese object trackers were deployed on servers with high computational power. Due to the complexity of such networks, executing them on embedded devices for applications with real-time constraints was not possible. The results highlight the efficiency of quantization and pruning techniques for optimizing convolutional neural networks on embedded devices. Pruning the backbone of the Siamese object tracker enables execution up to 94 Frames Per Second (FPS) at a compression factor of 0.26 - but this comes with the cost of losing significant tracking quality and makes these trackers not suitable for real-world applications. A Siamese object tracker optimized with the NVIDIA TensorRT library is able to run at 50 FPS at 16-bit floating point precision on the NVIDIA Xavier AGX. In contrast, the non-optimized tracker runs at 11 FPS at 32-bit floating point precision on the same device with similar tracking quality. To summarize, the implemented optimizations were able to gain inference speed by factor 4.5.