Grüner Scheck
Link in die Zwischenablage kopiert

Optimierung der Ultralytics YOLO mit der TensorRT

Lerne, wie du Ultralytics YOLO mit der TensorRT exportierst, um schnellere und effizientere KI-Leistung auf NVIDIA für Echtzeitanwendungen zu erzielen.

Stell dir vor, ein selbstfahrendes Auto fährt durch eine belebte Straße und hat nur Millisekunden Zeit, um einen Fußgänger zu erkennen, der über den Bordstein tritt. Gleichzeitig muss es vielleicht ein Stoppschild erkennen, das teilweise von einem Baum verdeckt wird, oder schnell auf ein Fahrzeug in der Nähe reagieren, das auf seine Fahrspur ausweicht. In solchen Situationen sind Geschwindigkeit und Echtzeitreaktionen entscheidend.

Hier spielt künstliche Intelligenz (KI), insbesondere Computer Vision, ein Zweig der KI, der Maschinen hilft, visuelle Daten zu interpretieren, eine Schlüsselrolle. Damit Bildverarbeitungslösungen in realen Umgebungen zuverlässig funktionieren, müssen sie oft Informationen schnell verarbeiten, mehrere Aufgaben auf einmal erledigen und den Speicher effizient nutzen.

Eine Möglichkeit, dies zu erreichen, ist die Hardwarebeschleunigung, bei der spezielle Geräte wie Grafikprozessoren (GPUs) eingesetzt werden, um Modelle schneller auszuführen. NVIDIA sind für solche Aufgaben besonders gut geeignet, da sie niedrige Latenzzeiten und einen hohen Durchsatz bieten.

Die Ausführung eines Modells auf einem GPU ist jedoch nicht immer eine Garantie für eine optimale Leistung. KI-Modelle müssen in der Regel optimiert werden, um die Fähigkeiten der Hardware voll auszuschöpfen. Um die volle Leistung mit einer bestimmten Hardware zu erreichen, müssen wir das Modell so kompilieren, dass es die spezifischen Anweisungen für die Hardware verwendet.

TensorRT zum Beispiel ist ein Exportformat und eine Optimierungsbibliothek, die von NVIDIA entwickelt wurde, um die Leistung auf High-End-Maschinen zu verbessern. Sie nutzt fortschrittliche Techniken, um die Inferenzzeit deutlich zu reduzieren und gleichzeitig die Genauigkeit zu erhalten.

Abb. 1. Mit NVIDIA TensorRT können Modelle optimal auf verschiedenen NVIDIA laufen.

In diesem Artikel stellen wir dir die von Ultralytics unterstützte TensorRT vor und zeigen dir, wie du dein YOLO11 für einen schnelleren und effizienteren Einsatz auf NVIDIA exportieren kannst. Los geht's!

Ein Überblick über TensorRT

TensorRT ist ein von NVIDIA entwickeltes Toolkit, mit dem KI-Modelle schneller und effizienter auf NVIDIA laufen. Es wurde für reale Anwendungen entwickelt, bei denen es auf Geschwindigkeit und Leistung ankommt, wie z. B. selbstfahrende Autos und Qualitätskontrolle in der Produktion und Pharmazie. 

TensorRT enthält Werkzeuge wie Compiler und Modelloptimierer, die hinter den Kulissen dafür sorgen, dass deine Modelle mit geringer Latenz laufen und einen höheren Durchsatz bewältigen können.

Die von Ultralytics unterstützte TensorRT optimiert dein YOLO so, dass es auf GPUs effizienter läuft, indem Methoden wie die Reduzierung der Genauigkeit eingesetzt werden. Dabei werden Modelldaten in niedrigeren Bitformaten wie 16-Bit-Gleitkommazahlen (FP16) oder 8-Bit-Ganzzahlen (INT8) dargestellt, was die Speichernutzung reduziert und die Berechnungen bei minimalen Auswirkungen auf die Genauigkeit beschleunigt. 

Außerdem werden kompatible neuronale Netzschichten in optimierten TensorRT verschmolzen, um die Speichernutzung zu reduzieren und so schnellere und effizientere Schlussfolgerungen zu ermöglichen.

Abb. 2. Ein Blick auf die Schichtfusionstechnik von TensorRT.

Hauptmerkmale des TensorRT

Bevor wir besprechen, wie du YOLO11 mit der TensorRT exportieren kannst, werfen wir einen Blick auf einige wichtige Merkmale des TensorRT :

  • Einfache Framework-Integration: TensorRT unterstützt die direkte Integration mit beliebten KI-Frameworks wie PyTorch, Hugging Face und ONNX und bietet eine bis zu 6-fach höhere Leistung. Es unterstützt auch MATLAB und ermöglicht so die Entwicklung von Hochgeschwindigkeits-KI-Engines auf Plattformen wie Jetson, NVIDIA DRIVE und Rechenzentren.
  • Skalierbarer Einsatz mit Triton: Modelle, die im TensorRT Format optimiert wurden, können mit dem NVIDIA Triton Inference Server skaliert werden, der die Effizienz durch Funktionen wie Input-Batching, gleichzeitige Modellausführung, Unterstützung von Modell-Ensembles und Audio-/Video-Streaming in Echtzeit erhöht.
  • Flexibel über Geräte hinweg: Von kleinen Edge-Geräten bis hin zu leistungsstarken Servern funktioniert TensorRT über das gesamte NVIDIA und unterstützt Tools wie DeepStream für Video, Riva für Sprach-KI und andere für Cybersicherheit, Empfehlungen und mehr.

Wie funktioniert die TensorRT ?

Das Exportieren von Ultralytics YOLO wie Ultralytics YOLO11 in das TensorRT ist einfach. Lass uns die einzelnen Schritte durchgehen.

Um loszulegen, kannst du das Ultralytics Python mit einem Paketmanager wie "pip" installieren. Dazu führst du den Befehl "pip install ultralytics" in deiner Eingabeaufforderung oder deinem Terminal aus.

Nach der erfolgreichen Installation des Ultralytics Python kannst du Modelle für verschiedene Computer Vision-Aufgaben wie Objekterkennung, Klassifizierung und Instanzsegmentierung trainieren, testen, feinabstimmen, exportieren und einsetzen. Wenn du bei der Installation des Pakets auf Schwierigkeiten stößt, kannst du im Leitfaden für häufige Probleme nachsehen, um Lösungen und Tipps zu finden.

Für den nächsten Schritt brauchst du ein NVIDIA . Verwende den folgenden Codeausschnitt, um YOLOv11 in das TensorRT zu laden und zu exportieren. Er lädt eine vortrainierte Nano-Variante des YOLO11 (yolo11n.pt) und exportiert sie als TensorRT (yolo11n.engine), sodass sie für den Einsatz auf NVIDIA bereit ist.

from ultralytics import YOLO

model = YOLO("yolo11n.pt")

model.export(format="engine")

Nachdem du dein Modell in das TensorRT konvertiert hast, kannst du es für verschiedene Anwendungen einsetzen. 

Das folgende Beispiel zeigt, wie du das exportierte YOLO11 (yolo11n.engine) lädst und eine Inferenz damit durchführst. Beim Inferencing wird das trainierte Modell verwendet, um Vorhersagen für neue Daten zu treffen. In diesem Fall verwenden wir ein Bild von einem Hund, um das Modell zu testen. 

tensorrt_model = YOLO("yolo11n.engine")

results = tensorrt_model("https://images.pexels.com/photos/1254140/pexels-photo-1254140.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2.jpg", save=True)

Wenn du diesen Code ausführst, wird das folgende Ausgabebild im Ordner runs/detect/predict gespeichert.

Abb. 3. Das Ergebnis einer Inferenz mit dem exportierten YOLO11 im TensorRT .

Wann die TensorRT Integration genutzt werden sollte

Das Ultralytics Python unterstützt verschiedene Integrationen, die den Export von YOLO in verschiedene Formate wie TorchScript, CoreML, ONNX und TensorRT ermöglichen. Wann solltest du also die TensorRT nutzen?

Hier sind ein paar Faktoren, die das TensorRT von anderen Exportintegrationsoptionen unterscheiden:

  • Kleinere Modellgröße: Der Export eines YOLO in das TensorRT mit INT8-Präzision kann die Modellgröße erheblich reduzieren. Die Quantisierung von FP32 auf INT8 kann zu einer 4-fachen Verringerung der Modellgröße führen, was schnellere Downloadzeiten, geringere Speicheranforderungen und einen reduzierten Speicherbedarf beim Einsatz ermöglicht.
  • Geringerer Stromverbrauch: Die INT8-Quantisierung verringert nicht nur die Modellgröße, sondern auch den Stromverbrauch. YOLO , die mit reduzierter Genauigkeit in INT8 exportiert werden, verbrauchen weniger Strom als FP32-Modelle, was besonders für batteriebetriebene Geräte wie Drohnen, Smartphones oder Edge Devices von Vorteil ist.
  • Schnellere Leistung: Die Kombination der effizienten Architektur von YOLO mit der INT8-Optimierung von TensorRT kann die Inferenzgeschwindigkeit verbessern.

Anwendungen von YOLO11 und dem TensorRT

Ultralytics YOLO , die in das TensorRT exportiert werden, können in einer Vielzahl von realen Szenarien eingesetzt werden. Diese optimierten Modelle sind besonders nützlich, wenn es auf schnelle, effiziente KI-Leistung ankommt. Sehen wir uns einige interessante Beispiele an, wie sie eingesetzt werden können.

Intelligente Kassentische in Einzelhandelsgeschäften

Viele Aufgaben in Einzelhandelsgeschäften, wie das Scannen von Barcodes, das Wiegen von Produkten oder das Verpacken von Artikeln, werden immer noch manuell von Mitarbeitern erledigt. Wenn man sich jedoch ausschließlich auf das Personal verlässt, kann das den Betrieb verlangsamen und zu Frustration bei den Kunden führen, besonders an der Kasse. Lange Warteschlangen sind sowohl für die Kunden als auch für die Ladenbesitzer lästig. Intelligente Self-Checkout-Schalter sind eine gute Lösung für dieses Problem.

Diese Zähler nutzen Computer Vision und GPUs, um den Prozess zu beschleunigen und die Wartezeiten zu verkürzen. Computer Vision ermöglicht es diesen Systemen, ihre Umgebung durch Aufgaben wie die Objekterkennung zu sehen und zu verstehen. Fortschrittliche Modelle wie YOLO11 können, wenn sie mit Tools wie TensorRT optimiert werden, viel schneller auf GPU laufen.

Diese exportierten Modelle eignen sich gut für intelligente Einzelhandelseinrichtungen, die kompakte, aber leistungsstarke Hardware wie den NVIDIA Jetson Nano verwenden, der speziell für Edge-KI-Anwendungen entwickelt wurde.

Abb. 4. Ein Beispiel für einen intelligenten Kassenschalter.

Automatisierte Fehlererkennung in der Fertigung

Ein Computer-Vision-Modell wie YOLO11 kann individuell trainiert werden, um fehlerhafte Produkte in der Fertigungsindustrie zu erkennen. Sobald das Modell trainiert ist, kann es in das TensorRT exportiert werden, um in Anlagen mit leistungsstarken KI-Systemen eingesetzt zu werden. 

Während sich die Produkte über die Förderbänder bewegen, nehmen Kameras Bilder auf und das YOLO11 , das im TensorRT läuft, analysiert sie in Echtzeit, um Fehler zu erkennen. Auf diese Weise können Unternehmen Probleme schnell und genau erkennen, Fehler reduzieren und die Effizienz steigern.

Auch Branchen wie die Pharmaindustrie nutzen diese Art von Systemen, um Fehler in medizinischen Verpackungen zu erkennen. Der Weltmarkt für intelligente Fehlererkennungssysteme wird bis 2026 auf 5 Milliarden US-Dollar anwachsen.

Abb. 5. Einsatz von YOLO zur Fehlererkennung in der Pharmaindustrie.

Bei der Verwendung von TensorRT sind folgende Punkte zu beachten

Die TensorRT bringt zwar viele Vorteile mit sich, wie schnellere Inferenzen und geringere Latenzzeiten, aber es gibt auch einige Einschränkungen, die du beachten solltest:

  • Leichte Verschlechterung der Genauigkeit: Wenn du dein Modell im TensorRT exportierst, ist dein exportiertes Modell möglicherweise nicht so genau wie das Original. Leistungskennzahlen wie Präzision, Recall und die Erkennung von Objekten durch das Modell (mAP-Scores) können leicht sinken. Dies kann durch die Verwendung eines repräsentativen Datensatzes während der Quantisierung gemildert werden. 
  • Erhöhte Komplexität bei der Fehlersuche: Die von TensorRT vorgenommenen Optimierungen können es schwieriger machen, Fehler zu finden oder unerwartetes Verhalten zu verstehen, vor allem wenn die Ergebnisse mit dem ursprünglichen Modell verglichen werden.
  • Empfindlichkeit der Batchgröße: Die Leistungssteigerung vonTensorRT ist bei größeren Stapelgrößen stärker ausgeprägt. Bei Anwendungen, die einzelne Bilder oder kleine Stapel verarbeiten, sind die Leistungsverbesserungen möglicherweise weniger signifikant.

Die wichtigsten Erkenntnisse

Wenn du Ultralytics YOLO in das TensorRT exportierst, laufen sie deutlich schneller und effizienter und sind damit ideal für Echtzeitaufgaben wie die Erkennung von Defekten in Fabriken, den Betrieb intelligenter Kassensysteme oder die Überwachung belebter Stadtgebiete. 

Diese Optimierung trägt dazu bei, dass die Modelle auf NVIDIA besser funktionieren, indem sie die Vorhersagen beschleunigt und den Speicher- und Stromverbrauch reduziert. Es gibt zwar ein paar Einschränkungen, aber die Leistungssteigerung macht die TensorRT zu einer guten Wahl für alle, die schnelle Computer-Vision-Systeme auf NVIDIA entwickeln.

Willst du mehr über KI erfahren? Erkunde unser GitHub Repository, tausche dich mit unserer Community aus und schau dir unsere Lizenzierungsoptionen an, um dein Computer Vision Projekt zu starten. Erfahre mehr über Innovationen wie KI in der Fertigung und Computer Vision in der Logistikbranche auf unseren Lösungsseiten.

LinkedIn-LogoTwitter-LogoFacebook-LogoKopier-Link-Symbol

Lies mehr in dieser Kategorie

Lass uns gemeinsam die Zukunft
der KI gestalten!

Beginne deine Reise in die Zukunft des maschinellen Lernens