Optimierung der Ultralytics YOLO Modelle mit der TensorRT Integration

Abirami Vina

5 Minuten lesen

Mai 20, 2025

Erfahren Sie, wie Sie Ultralytics YOLO-Modelle mit der TensorRT-Integration exportieren können, um schnellere und effizientere KI-Leistung auf NVIDIA-GPUs für Echtzeitanwendungen zu erzielen.

Stellen Sie sich 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 in 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 bei der Interpretation visueller Daten hilft, eine Schlüsselrolle. Damit Bildverarbeitungslösungen in realen Umgebungen zuverlässig arbeiten können, müssen sie oft Informationen schnell verarbeiten, mehrere Aufgaben gleichzeitig erledigen und den Speicher effizient nutzen.

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

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

TensorRT beispielsweise ist ein Exportformat und eine Optimierungsbibliothek, die von NVIDIA entwickelt wurde, um die Leistung von High-End-Rechnern zu verbessern. Sie nutzt fortschrittliche Techniken, um die Inferenzzeit bei gleichbleibender Genauigkeit erheblich zu reduzieren.

Abbildung 1. NVIDIA TensorRT ermöglicht die optimale Ausführung von Modellen auf verschiedenen NVIDIA-Geräten.

In diesem Artikel werden wir die von Ultralytics unterstützte TensorRT-Integration erkunden und zeigen, wie Sie Ihr YOLO11-Modell für eine schnellere und effizientere Bereitstellung auf NVIDIA-Hardware exportieren können. Lassen Sie uns beginnen!

Ein Überblick über TensorRT

TensorRT ist ein von NVIDIA entwickeltes Toolkit, mit dem KI-Modelle schneller und effizienter auf NVIDIA-Grafikprozessoren 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 Fertigung und Pharmazie. 

TensorRT enthält Werkzeuge wie Compiler und Modelloptimierer, die hinter den Kulissen arbeiten können, um sicherzustellen, dass Ihre Modelle mit geringer Latenz laufen und einen höheren Durchsatz bewältigen können.

Die von Ultralytics unterstützte TensorRT-Integration funktioniert durch die Optimierung Ihres YOLO-Modells für eine effizientere Ausführung auf GPUs unter Verwendung von Methoden wie der Reduzierung der Genauigkeit. Dies bezieht sich auf die Verwendung von Formaten mit niedrigeren Bits, wie z. B. 16-Bit-Gleitkomma (FP16) oder 8-Bit-Integer (INT8), um Modelldaten darzustellen, was die Speichernutzung reduziert und die Berechnung mit minimalen Auswirkungen auf die Genauigkeit beschleunigt. 

Außerdem werden kompatible neuronale Netzwerkschichten in optimierten TensorRT-Modellen verschmolzen, um die Speichernutzung zu reduzieren, was zu einer schnelleren und effizienteren Inferenz führt.

Abbildung 2. Ein Blick auf die Schichtfusionstechnik von TensorRT.

Hauptmerkmale des TensorRT Exportformats

Bevor wir besprechen, wie Sie YOLO11 mit Hilfe der TensorRT-Integration exportieren können, lassen Sie uns einen Blick auf einige Schlüsselmerkmale des TensorRT-Modellformats werfen:

  • 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 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 steigert.
  • Flexibel über Geräte hinweg: Von kleinen Edge-Geräten bis hin zu leistungsstarken Servern arbeitet TensorRT über das gesamte NVIDIA-Ökosystem hinweg 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 Integration?

Der Export von Ultralytics YOLO Modellen wie Ultralytics YOLO11 in das TensorRT Modellformat ist einfach. Lassen Sie uns die einzelnen Schritte durchgehen.

Um loszulegen, können Sie das Ultralytics-Python-Paket mit einem Paketmanager wie "pip" installieren. Dazu führen Sie den Befehl "pip install ultralytics" in Ihrer Eingabeaufforderung oder Ihrem Terminal aus.

Nach erfolgreicher Installation des Ultralytics Python-Pakets können Sie Modelle für verschiedene Computer-Vision-Aufgaben wie Objekterkennung, Klassifizierung und Instanzsegmentierung trainieren, testen, feinabstimmen, exportieren und einsetzen. Sollten Sie bei der Installation des Pakets auf Schwierigkeiten stoßen, finden Sie im Leitfaden für allgemeine Probleme Lösungen und Tipps.

Für den nächsten Schritt benötigen Sie ein NVIDIA-Gerät. Verwenden Sie den folgenden Codeausschnitt, um YOLOv11 zu laden und in das TensorRT Modellformat zu exportieren. Er lädt eine vortrainierte Nano-Variante des YOLO11-Modells (yolo11n.pt) und exportiert es als TensorRT-Engine-Datei (yolo11n.engine), wodurch es für den Einsatz auf NVIDIA-Geräten bereit ist.

from ultralytics import YOLO

model = YOLO("yolo11n.pt")

model.export(format="engine") 

Nachdem Sie Ihr Modell in das TensorRT-Format konvertiert haben, können Sie es für verschiedene Anwendungen einsetzen. 

Das folgende Beispiel zeigt, wie man das exportierte YOLO11-Modell (yolo11n.engine) lädt und eine Inferenz damit durchführt. Beim Inferenzieren wird das trainierte Modell verwendet, um Vorhersagen für neue Daten zu treffen. In diesem Fall verwenden wir ein Eingabebild eines Hundes, 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 Sie diesen Code ausführen, wird das folgende Ausgabebild im Ordner runs/detect/predict gespeichert.

Abb. 3. Das Ergebnis einer Inferenz unter Verwendung des exportierten YOLO11-Modells im TensorRT-Format.

Wann die TensorRT-Integration genutzt werden sollte

Das Ultralytics Python-Paket unterstützt verschiedene Integrationen, die den Export von YOLO-Modellen in verschiedene Formate wie TorchScript, CoreML, ONNX und TensorRT ermöglichen. Wann sollten Sie also die TensorRT-Integration verwenden?

Hier sind ein paar Faktoren, die das TensorRT-Modellformat von anderen Export-Integrationsoptionen unterscheiden:

  • Kleinere Modellgröße: Der Export eines YOLO-Modells in das TensorRT-Format mit INT8-Präzision kann die Modellgröße erheblich reduzieren. Die Quantisierung von FP32 auf INT8 kann zu einer vierfachen Reduzierung der Modellgröße führen, was schnellere Downloadzeiten, geringere Speicheranforderungen und einen reduzierten Speicherbedarf während der Bereitstellung ermöglicht.
  • Geringerer Stromverbrauch: Die INT8-Quantisierung verringert nicht nur die Modellgröße, sondern auch den Stromverbrauch. Reduzierte Präzisionsoperationen für INT8 exportierte YOLO-Modelle können im Vergleich zu FP32-Modellen weniger Strom verbrauchen, was insbesondere für batteriebetriebene Geräte wie Drohnen, Smartphones oder Edge-Geräte 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-Modellformat

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

Intelligente Kassentische im Einzelhandel

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 die Mitarbeiter verlässt, kann dies die Abläufe verlangsamen und zu Frustration bei den Kunden führen, insbesondere an der Kasse. Lange Warteschlangen sind sowohl für die Kunden als auch für die Ladenbesitzer unangenehm. Intelligente Self-Checkout-Schalter sind eine hervorragende Lösung für dieses Problem.

Diese Zähler nutzen Computer Vision und GPUs, um den Prozess zu beschleunigen und so 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, auf GPU-Geräten viel schneller laufen.

Diese exportierten Modelle eignen sich gut für intelligente Einzelhandelseinrichtungen, die kompakte, aber leistungsstarke Hardware-Geräte 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-Format exportiert werden, um in Einrichtungen 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-Modell, das im TensorRT-Format 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 Mrd. USD anwachsen.

Abbildung 5. Einsatz von YOLO zur Fehlererkennung in der pharmazeutischen Industrie.

Überlegungen, die bei der Verwendung von TensorRT beachtet werden müssen

Während die TensorRT-Integration viele Vorteile mit sich bringt, wie z.B. schnellere Inferenzgeschwindigkeiten und geringere Latenzzeiten, gibt es einige Einschränkungen, die zu beachten sind:

  • Leichte Verschlechterung der Genauigkeit: Wenn Sie Ihr Modell im TensorRT-Format exportieren, ist Ihr exportiertes Modell möglicherweise nicht so genau wie das Original. Leistungsmetriken wie Präzision, Wiedererkennung und wie gut das Modell Objekte erkennt (mAP-Scores) können leicht sinken. Dies kann durch die Verwendung eines repräsentativen Datensatzes während der Quantisierung abgemildert werden. 
  • Erhöhte Komplexität bei der Fehlersuche: Die von TensorRT durchgeführten Optimierungen können es schwieriger machen, Fehler zu finden oder unerwartetes Verhalten zu verstehen, besonders wenn die Ergebnisse mit dem ursprünglichen Modell verglichen werden.
  • Empfindlichkeit der Chargengröße: Die Leistungssteigerung von TensorRT ist bei größeren Stapelgrößen stärker ausgeprägt. Für Anwendungen, die einzelne Bilder oder kleine Stapel verarbeiten, sind die Leistungsverbesserungen möglicherweise weniger signifikant.

Die wichtigsten Erkenntnisse

Durch den Export von Ultralytics YOLO-Modellen in das TensorRT-Format laufen sie wesentlich schneller und effizienter, was sie ideal für Echtzeitaufgaben wie die Erkennung von Defekten in Fabriken, den Betrieb intelligenter Kassensysteme oder die Überwachung belebter Stadtgebiete macht. 

Diese Optimierung hilft den Modellen, auf NVIDIA-GPUs besser zu funktionieren, indem sie die Vorhersagen beschleunigt und den Speicher- und Stromverbrauch reduziert. Obwohl es einige Einschränkungen gibt, macht die Leistungssteigerung die TensorRT-Integration zu einer guten Wahl für jeden, der Hochgeschwindigkeits-Computer-Vision-Systeme auf NVIDIA-Hardware entwickelt.

Möchten Sie mehr über KI erfahren? Erkunden Sie unser GitHub-Repository, tauschen Sie sich mit unserer Community aus, und informieren Sie sich über unsere Lizenzierungsoptionen, um Ihr Computer-Vision-Projekt zu starten. Erfahren Sie mehr über Innovationen wie KI in der Fertigung und Computer Vision in der Logistikbranche auf unseren Lösungsseiten.

Lassen Sie uns gemeinsam die Zukunft
der KI gestalten!

Beginnen Sie Ihre Reise in die Zukunft des maschinellen Lernens

Kostenloser Start
Link in die Zwischenablage kopiert