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
Erfahren Sie, wie Sie Ultralytics YOLO-Modelle, wie z. B. Ultralytics YOLO11, mithilfe der ONNX-Integration für die plattformübergreifende Bereitstellung auf verschiedener Hardware exportieren.
Als KI-Lösungen zum ersten Mal Aufmerksamkeit erregten, wurden die meisten Modelle auf leistungsstarken Servern in kontrollierten Umgebungen eingesetzt. Mit dem technologischen Fortschritt hat sich der Einsatz jedoch weit über das Rechenzentrum hinaus ausgedehnt.
Heutzutage laufen KI-Modelle auf allem, von Cloud-Servern und Desktops bis hin zu Smartphones und Edge-Geräten. Diese Verlagerung unterstützt eine schnellere Verarbeitung, Offline-Funktionalität und intelligentere Systeme, die näher an der Stelle arbeiten, an der die Daten generiert werden.
Ein Bereich, in dem dies besonders deutlich wird, ist Computer Vision - ein Zweig der KI, der es Maschinen ermöglicht, visuelle Daten zu interpretieren. Sie wird verwendet, um Anwendungen wie Gesichtserkennung, autonomes Fahren und Echtzeit-Videoanalyse voranzutreiben. Mit dem Wachstum dieser Anwendungsfälle wächst auch der Bedarf an Modellen, die reibungslos auf verschiedenen Hardware- und Plattformen laufen können.
Aber die Bereitstellung von Computer-Vision-Modellen für eine Reihe von Bereitstellungszielen ist nicht immer einfach. Die Geräte unterscheiden sich in Bezug auf Hardware, Betriebssysteme und unterstützte Frameworks, was Flexibilität und Kompatibilität unerlässlich macht.
Deshalb ist es so wichtig, die Möglichkeit zu haben, Computer Vision Modelle wie Ultralytics YOLO11 in verschiedene Formate zu exportieren. Die von Ultralytics unterstützte ONNX-Integration (Open Neural Network Exchange) bietet beispielsweise eine praktische Möglichkeit, die Lücke zwischen Training und Deployment zu schließen. ONNX ist ein offenes Format, das Modelle Framework-unabhängig und plattformübergreifend Deployment-fähig macht.
Abb. 1. ONNX hilft Ihnen, ein in einem Framework trainiertes Modell einfach in einem anderen auszuführen.
In diesem Artikel werden wir uns die von Ultralytics unterstützte ONNX-Integration genauer ansehen und untersuchen, wie Sie Ihr YOLO11-Modell für eine flexible, plattformübergreifende Bereitstellung exportieren können.
Was ist ONNX und ONNX Runtime?
Der Open Neural Network Exchange ist ein Open-Source-Projekt, das ein Standardformat für Modelle des maschinellen Lernens definiert. Ursprünglich von Microsoft und Facebook entwickelt, ermöglicht es Entwicklern, ein Modell in einem Framework wie PyTorch zu trainieren und es in einem anderen wie TensorFlow auszuführen. Dies macht die KI-Entwicklung flexibler, kollaborativer und zugänglicher, insbesondere in Bereichen wie Computer Vision.
ONNX bietet eine gemeinsame Menge von Operatoren und ein einheitliches Dateiformat, wodurch es einfacher wird, Modelle zwischen verschiedenen Tools, Frameworks, Runtimes und Compilern zu verschieben. Normalerweise ist ein in einem Framework trainiertes Modell nicht ohne weiteres mit einem anderen kompatibel – aber mit ONNX können Sie Ihr Modell einmal exportieren und es fast überall bereitstellen: auf CPUs (Central Processing Units), GPUs (Graphics Processing Units), mobilen Geräten oder Edge-Hardware.
ONNX Runtime ist eine hochleistungsfähige Inference Engine, die speziell für die Ausführung von Modellen im ONNX-Format entwickelt wurde. Sie wurde entwickelt, um ONNX-Modelle auf einer Vielzahl von Plattformen schneller und effizienter auszuführen – einschließlich Servern, Mobilgeräten und Edge-Hardware. ONNX Runtime ist mit gängigen Frameworks wie PyTorch, TensorFlow, TensorFlow Lite und scikit-learn kompatibel, wodurch die Integration in verschiedene Workflows und die Bereitstellung von Modellen überall dort, wo sie benötigt werden, vereinfacht wird.
Abb. 2. ONNX und ONNX Runtime ermöglichen eine flexible, plattformübergreifende Modellbereitstellung.
Ob Sie zwischen Tools wechseln, auf verschiedenen Geräten bereitstellen oder Systeme aktualisieren, ONNX sorgt für einen reibungslosen Ablauf. Das macht das ONNX-Modellformat einzigartig:
Ein Standardformat: ONNX verwendet eine gemeinsame Methode, um zu beschreiben, wie Modelle aufgebaut sind, wie z. B. Schichten und Operationen (man kann sie sich wie Bausteine vorstellen). Wenn ein Modell in ONNX konvertiert wird, folgt es diesem Standard, sodass jedes System, das ONNX unterstützt, es verstehen und ausführen kann.
Abwärtskompatibilität: Auch wenn sich ONNX ständig verbessert, stellt es sicher, dass ältere Modelle weiterhin mit neueren Versionen funktionieren. Das bedeutet, dass Sie Ihre Modelle nicht jedes Mal neu trainieren oder erstellen müssen, wenn ONNX ein Update erhält.
Graphenbasiertes Modelldesign: ONNX-Modelle sind als Berechnungsdiagramme strukturiert, wobei jeder Knoten eine Operation (wie z. B. ein Layer oder eine mathematische Funktion) darstellt und Kanten den Datenfluss angeben. Dieses graphenbasierte Design erleichtert die Integration mit verschiedenen Systemen, die ähnliche Berechnungsdiagrammstrukturen verwenden.
Entwicklerfreundliche Tools: Es wird mit einer breiten Palette von Tools geliefert, mit denen Sie Ihre Modelle konvertieren, validieren und optimieren können. Diese Tools vereinfachen den Prozess der Übertragung von Modellen zwischen verschiedenen Frameworks und können die Bereitstellung beschleunigen - insbesondere für Computer Vision Anwendungen.
Ein Überblick über die ONNX-Integration
Das Exportieren von Ultralytics YOLO-Modellen wie Ultralytics YOLO11 im ONNX-Format ist unkompliziert und kann in wenigen Schritten erfolgen.
Installieren Sie zunächst das Ultralytics Python-Paket mit einem Paketmanager wie ‘pip’. Dies kann geschehen, indem Sie den Befehl “pip install ultralytics” in Ihrer Eingabeaufforderung oder Ihrem Terminal ausführen, um zu beginnen.
Mit dem Ultralytics-Paket können Sie auf einfache Weise Modelle für verschiedene Computer-Vision-Aufgaben trainieren, testen, feinabstimmen, exportieren und bereitstellen - wodurch der gesamte Prozess schneller und effizienter wird. Wenn Sie bei der Installation auf Schwierigkeiten stoßen, können Sie im Leitfaden zu häufigen Problemen nach Lösungen und Tipps suchen.
Sobald das Ultralytics-Paket installiert ist, können Sie das YOLO11-Modell laden und mit dem folgenden Code in das ONNX-Format exportieren. Dieses Beispiel lädt ein vortrainiertes YOLO11-Modell (yolo11n.pt) und exportiert es als ONNX-Datei (yolo11n.onnx), wodurch es für den Einsatz auf verschiedenen Plattformen und Geräten vorbereitet wird.
Nachdem Sie Ihr Modell in das ONNX-Format konvertiert haben, können Sie es auf einer Vielzahl von Plattformen bereitstellen.
Das folgende Beispiel zeigt, wie das exportierte YOLO11-Modell (yolo11n.onnx) geladen und eine Inferenz damit ausgeführt wird. Inferencing bedeutet einfach, das trainierte Modell zu verwenden, um Vorhersagen über neue Daten zu treffen. In diesem Fall verwenden wir die URL eines Bildes von einem Bus, um das Modell zu testen.
Wenn Sie diesen Code ausführen, wird das folgende Ausgabebild im Ordner runs/detect/predict gespeichert.
Abb. 3. Ausführen einer Inferenz mit dem exportierten YOLO11-Modell auf einem Bild.
Wann sollten Sie sich für die ONNX-Integration entscheiden?
Das Ultralytics Python-Paket unterstützt das Exportieren von Modellen in verschiedene Formate, darunter TorchScript, CoreML, TensorRT und ONNX. Warum also ONNX wählen?
Was ONNX auszeichnet, ist sein framework-agnostischer Charakter. Während viele andere Exportformate an bestimmte Tools oder Umgebungen gebunden sind, verwendet ONNX ein standardisiertes Format und einen gemeinsamen Satz von Operatoren. Dies macht es hochgradig portabel, hardwarefreundlich und ideal für plattformübergreifende Bereitstellungen – egal, ob Sie mit Cloud-Servern, mobilen Apps oder Edge-Geräten arbeiten.
Hier sind einige Gründe, warum die ONNX-Integration die ideale Wahl für Ihre YOLO11-Projekte sein könnte:
Portable Bereitstellung: Nach dem Export in ONNX kann Ihr YOLO11-Modell auf verschiedenen Plattformen bereitgestellt werden, ohne dass Codeänderungen oder ein erneutes Training erforderlich sind.
Branchenweite Unterstützung: ONNX wird von großen KI-Unternehmen und Frameworks unterstützt und ist damit ein zuverlässiges, allgemein akzeptiertes Format. Es gewährleistet langfristige Kompatibilität, ähnlich wie PDFs auf verschiedenen Geräten funktionieren.
Zukunftssichere Entwicklung: Die Verwendung von ONNX trägt dazu bei, Ihre Modellinvestitionen zu schützen. Da sich die Tools weiterentwickeln, sorgt ONNX dafür, dass Ihre Modelle relevant und nutzbar bleiben, auch in neuen oder anderen Umgebungen.
Keine Vendor-Lock-in: Einige Tools zwingen Sie dazu, nur deren System zu verwenden, was die Möglichkeiten Ihres Modells einschränken kann. ONNX vermeidet dies, indem es Ihnen ermöglicht, die Plattform zu wählen, die für Ihre Bedürfnisse am besten geeignet ist, ohne an eine einzige Konfiguration gebunden zu sein.
Anwendungsbereiche von YOLO11 und dem ONNX-Modellformat
Als Nächstes wollen wir einige reale Anwendungen untersuchen, in denen YOLO11 mithilfe der ONNX-Integration eingesetzt werden kann.
Bestandsverfolgung in Lagerhäusern mit YOLO11
In stark frequentierten Lagerhäusern ist es schwierig, jedes Produkt und jede Verpackung jederzeit im Auge zu behalten. Computer Vision Systeme können Mitarbeitern helfen, Produkte in Regalen zu finden und Einblicke zu erhalten, wie z. B. die Anzahl der Produkte, die Art usw. Solche Systeme können Unternehmen dabei unterstützen, ihren riesigen Bestand automatisch zu verwalten und den Lagerarbeitern viel Zeit zu sparen.
Insbesondere in intelligenten Lagerhäusern können in ONNX exportierte YOLO11-Modelle verwendet werden, um Artikel in Echtzeit mithilfe von Kameras und Edge-Geräten zu identifizieren und zu zählen. Das exportierte Modell kann helfen, Regale oder Paletten zu scannen, um Lagerbestände, fehlende Artikel oder leere Stellen zu erkennen. Da der Export nach ONNX das Modell schlank und effizient macht, kann es direkt auf kleinen Edge-Geräten wie intelligenten Kameras ausgeführt werden, wodurch teure Server oder ein ständiger Cloud-Zugang überflüssig werden.
Abb. 4. Ein Beispiel für die Verwendung von YOLO11 zur Erkennung und Zählung von Paketen.
Krankenhaus-Abfallmanagement mit YOLO11
Krankenhäuser auf der ganzen Welt produzieren täglich große Mengen an Abfall, von gebrauchten Handschuhen und Spritzen bis hin zu Geräten, die während Operationen verwendet werden (wie Einweg- oder kontaminierte chirurgische Instrumente wie Scheren und Skalpelle). Tatsächlich zeigen Untersuchungen, dass Krankenhäuser jährlich rund 5 Millionen Tonnen Abfall produzieren, was 29 Pfund Abfall pro Bett und Tag entspricht.
Die ordnungsgemäße Sortierung solcher Abfälle ist für die Hygiene, Sicherheit und die Einhaltung von Vorschriften unerlässlich. Mit YOLO11-Modellen, die im ONNX-Format exportiert werden, können Krankenhäuser die Abfallentsorgung automatisieren und in Echtzeit überwachen.
Beispielsweise können Kameras, die in der Nähe von Abfallbehältern in Bereichen wie Operationssälen oder Fluren platziert sind, Gegenstände überwachen, während sie entsorgt werden. Ein benutzerdefiniertes YOLO11-Modell, das darauf trainiert ist, verschiedene Arten von medizinischen Abfällen zu erkennen, kann das Filmmaterial analysieren und feststellen, was weggeworfen wird. Wenn ein Gegenstand im falschen Behälter landet, z. B. eine gebrauchte Spritze im normalen Müll, kann das System so eingerichtet werden, dass es das Personal sofort mit einem Licht oder Ton alarmiert, um Kontaminationen zu vermeiden und die Einhaltung der Vorschriften sicherzustellen.
Abb. 5. Verwendung von YOLO11 zur Erkennung medizinischer Instrumente.
YOLO11-gestützte Pflanzenüberwachung
Der richtige Zeitpunkt für die Ernte kann einen großen Einfluss sowohl auf die Qualität der Produkte als auch auf die Gesamtproduktivität eines landwirtschaftlichen Betriebs haben. Traditionell verlassen sich Landwirte auf Erfahrung und manuelle Inspektionen – aber mit den jüngsten technologischen Fortschritten beginnt sich das zu ändern.
Mit Innovationen im Bereich Computer Vision wie YOLO11, das im ONNX-Format exportiert wird, können Landwirte Automatisierung und Präzision in die Landwirtschaft bringen. Durch den Einsatz von Drohnen oder Kameras, die an Traktoren oder Masten montiert sind, können Landwirte Bilder ihrer Feldfrüchte (wie Tomaten, Äpfel oder Weizen) aufnehmen. YOLO11 kann dann verwendet werden, um wichtige Indikatoren wie Farbe, Größe und die Verteilung der Feldfrüchte zu erkennen. Anhand dieser Informationen können die Landwirte feststellen, ob die Feldfrüchte erntereif sind, noch reifen oder bereits ihren Höhepunkt überschritten haben.
Abb. 6. YOLO11 kann verwendet werden, um Feldfrüchte in Luftaufnahmen von Drohnen zu erkennen.
Zu berücksichtigende ONNX-Einschränkungen
Obwohl ONNX zahlreiche Vorteile bietet, wie z. B. Portabilität, plattformübergreifende Kompatibilität und Framework-Interoperabilität, gibt es einige Einschränkungen zu beachten:
Modellgröße: Die Konvertierung von Modellen in das ONNX-Format kann manchmal zu größeren Dateigrößen führen als ihre ursprünglichen Formate. Techniken wie Quantisierung und Beschneidung können dazu beitragen, dieses Problem zu mindern, indem sie die Modellgröße reduzieren, ohne die Leistung wesentlich zu beeinträchtigen.
Laufzeitkompatibilität: Obwohl ONNX Runtime für plattformübergreifende Kompatibilität ausgelegt ist, können Leistung und Support je nach Hardware und Betriebssystem variieren.
Debugging-Herausforderungen: Das Debugging von ONNX-Modellen kann komplexer sein als in nativen Frameworks wie PyTorch oder TensorFlow. Fehlermeldungen sind möglicherweise weniger aussagekräftig, was es erschwert, Probleme zu lokalisieren. Tools wie Netron zur Modellvisualisierung und die Protokollierungsfunktionen von ONNX Runtime können jedoch bei der Fehlerbehebung helfen.
Wesentliche Erkenntnisse
Das Exportieren von Ultralytics YOLO11 nach ONNX erleichtert die Bereitstellung eines trainierten Computer-Vision-Modells nahezu überall – sei es auf einem Laptop, einem Mobilgerät oder sogar einer kompakten intelligenten Kamera. Mit der ONNX-Integration sind Sie nicht an ein einzelnes Framework oder eine einzelne Plattform gebunden, was Ihnen die Flexibilität gibt, Ihr Modell in der Umgebung auszuführen, die für Ihre Anwendung am besten geeignet ist.
Dies beschleunigt und effizienter den Übergang vom Training zum realen Einsatz. Ob Sie nun den Lagerbestand in einem Lager verfolgen oder sicherstellen, dass Krankenhausabfälle korrekt entsorgt werden, dieses Setup hilft Systemen, reibungsloser zu laufen, reduziert Fehler und spart wertvolle Zeit.