Wenn Sie auf "Alle Cookies akzeptieren" klicken, stimmen Sie der Speicherung von Cookies auf Ihrem Gerät zu, um die Navigation auf der Website zu verbessern, die Nutzung der Website zu analysieren und unsere Marketingaktivitäten zu unterstützen. Mehr Infos
Cookie-Einstellungen
Wenn Sie auf "Alle Cookies akzeptieren" klicken, stimmen Sie der Speicherung von Cookies auf Ihrem Gerät zu, um die Navigation auf der Website zu verbessern, die Nutzung der Website zu analysieren und unsere Marketingaktivitäten zu unterstützen. Mehr Infos
Exportieren Sie Ultralytics YOLO11-Modelle in das NCNN-Modellformat, um effiziente KI-Inferenzen mit geringer Latenz auf Edge-Geräten mit begrenzter Leistung und Rechenressourcen auszuführen.
KI-Lösungen werden immer häufiger eingesetzt, sogar in Bereichen mit hohem Risiko wie Katastrophenmanagement, Abfallwirtschaft und Brandbekämpfung. Da die Akzeptanz weiter zunimmt, werden KI-Modelle in immer mehr verschiedenen Umgebungen eingesetzt - nicht nur auf Servern oder in der Cloud, sondern direkt auf Geräten, die vor Ort arbeiten.
So können beispielsweise Drohnen und Geräte mit Edge-Komponenten, die von kleinen Prozessoren betrieben werden, in Katastrophengebieten eine entscheidende Rolle spielen. Ausgestattet mit Wärmebildkameras können diese Geräte vor Ort Daten sammeln und analysieren, um unter Trümmern eingeschlossene Personen zu lokalisieren. Ermöglicht wird dies durch Computer Vision, einen Zweig der künstlichen Intelligenz, der visuelle Informationen aus Bildern und Videos interpretiert.
Der Einsatz von Vision AI-Modellen auf Edge-Geräten ist jedoch nicht so einfach, wie es scheinen mag. KI-Modelle müssen optimiert werden, damit sie auf Hardware mit begrenzter Rechenleistung und begrenztem Speicher effizient laufen. Aus diesem Grund sind KI-Frameworks wie NCNN so wichtig. Sie helfen bei der Konvertierung und Optimierung von Modellen für die Echtzeitleistung auf Geräten mit geringem Stromverbrauch, ohne die Genauigkeit zu beeinträchtigen.
Insbesondere können Ultralytics YOLO-Modelle wie Ultralytics YOLO11 mit Hilfe der von Ultralytics unterstützten NCNN-Integration leicht in das NCNN-Modellformat exportiert werden. Die Konvertierung von YOLO11 in das NCNN-Modellformat ermöglicht es dem Modell, schneller zu laufen, weniger Speicherplatz zu verbrauchen und reibungslos über verschiedene Geräte hinweg zu arbeiten, ohne an Genauigkeit zu verlieren.
In diesem Artikel befassen wir uns mit der von Ultralytics unterstützten NCNN-Integration und gehen durch, wie Sie Ihr YOLO11-Modell in das NCNN-Modellformat exportieren können. Legen wir los!
Ein Überblick über NCNN: Ein leichtgewichtiger Rahmen für neuronale Netze
NCNN ist ein Open-Source-Framework für neuronale Netzwerke, das von Tencent entwickelt wurde. Es wurde speziell für mobile und Edge-Umgebungen entwickelt und ermöglicht hochleistungsfähige Inferenzen bei minimalem Platzbedarf. Dies macht es ideal für den Einsatz auf Geräten mit eingeschränkten Ressourcen wie Smartphones, Drohnen und IoT-Geräten (Internet of Things).
Das NCNN-Framework hat in der KI- und Deep-Learning-Community aufgrund seiner Effizienz, Portabilität und Optimierung für mobile CPUs (Central Processing Units) an Popularität gewonnen. Es ermöglicht Entwicklern, neuronale Netzwerkmodelle auf erschwinglichen Geräten mit begrenztem Speicher und begrenzter Rechenleistung auszuführen. NCNN wurde so konzipiert, dass es einfach und flexibel ist. Es unterstützt eine breite Palette von Computer-Vision-Modellen und läuft auf mehreren Plattformen, darunter Android, Linux, iOS und macOS.
Abbildung 1. Modelle im NCNN-Format können auf vielen Plattformen eingesetzt werden.
Hauptmerkmale der NCNN-Leistungsoptimierung
Hier sind einige der wichtigsten Merkmale, die NCNN zu einem wirkungsvollen und weit verbreiteten Framework für neuronale Netzwerke machen:
Leichtgewichtige, hardware-unabhängige Laufzeit: Das NCNN-Framework ist für die Ausführung von Modellen auf Standard-CPUs optimiert und benötigt keine spezielle Hardware wie GPUs (Graphics Processing Units) oder NPUs (Neural Processing Units).
Modell-Quantisierung: Für Anwendungen, bei denen Speicherplatz und Geschwindigkeit entscheidend sind, unterstützt NCNN Quantisierungsmethoden, die die Modellgröße reduzieren und die Inferenzzeit verbessern. So können KI-Modelle reibungslos auf mobilen und eingebetteten Geräten ausgeführt werden.
Open Source und zugänglich: Als Open-Source-Framework ist NCNN frei verfügbar und kann von jedem genutzt, verändert und verbessert werden. Dies fördert die Innovation und die breite Akzeptanz in einer Vielzahl von Anwendungsfällen.
Aktive Entwicklung und Community: NCNN wird auf GitHub von Tencent und einer wachsenden Entwicklergemeinschaft aktiv gepflegt, mit regelmäßigen Updates und Verbesserungen der Modellkompatibilität.
Exportieren von YOLO11 in das NCNN-Modellformat: Eine Kurzanleitung
Nachdem wir nun besprochen haben, was NCNN ist, wollen wir uns genauer ansehen, wie man YOLO11-Modelle in das NCNN-Format exportiert.
Schritt 1: Installieren Sie das Ultralytics Python-Paket
Bevor Sie das Modell exportieren, müssen Sie zunächst das Ultralytics-Python-Paket mit dem Paketinstallationsprogramm pip installieren. Dazu führen Sie "pip install ultralytics" in Ihrem Terminal oder in der Eingabeaufforderung aus. Wenn Sie in einem Jupyter-Notebook oder Google Colab arbeiten, fügen Sie ein Ausrufezeichen vor dem Befehl ein, etwa so: "!pip install ultralytics".
Das Ultralytics-Paket bietet Werkzeuge zum Trainieren, Testen, Feinabstimmen und Exportieren von KI-Modellen für eine Vielzahl von Computer-Vision-Aufgaben. Wenn Sie bei der Installation oder beim Exportieren eines Modells auf Probleme stoßen, sind die offizielle Ultralytics-Dokumentation und der Leitfaden für häufige Probleme eine hervorragende Quelle für die Fehlerbehebung.
Schritt 2: Exportieren von Ultralytics YOLO11
Nach der Installation des Ultralytics-Pakets können Sie Ihr YOLO11-Modell laden und es in das NCNN-Format exportieren. Das nachstehende Beispiel verwendet ein vorab trainiertes Modell ("yolo11n.pt") und exportiert es im NCNN-Format, wobei die Ausgabe in einem Ordner namens "/yolo11n_ncnn_model" gespeichert wird.
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
model.export(format="ncnn")
Das exportierte YOLO11-Modell kann dann auf verschiedenen leichtgewichtigen Geräten wie Smartphones, eingebetteten Systemen oder IoT-Plattformen eingesetzt werden. Der Bereitstellungsprozess ist ebenfalls sehr schlank.
Der folgende Codeausschnitt zeigt zum Beispiel, wie das exportierte Modell geladen und die Inferenz ausgeführt wird. Inferenz bezieht sich auf den Prozess der Verwendung eines trainierten Modells, um Vorhersagen für neue, ungesehene Daten zu treffen. In diesem Beispiel wird das Modell an einem Bild eines Mannes auf einem Fahrrad getestet, das von einer öffentlich zugänglichen URL abgerufen wurde.
Nachdem Sie den Code ausgeführt haben, finden Sie das Ausgabebild im Ordner "runs/detect/predict".
Abbildung 2. Erkennung von Objekten anhand eines exportierten YOLO11-Modells im NCNN-Format. Bild vom Autor.
Warum sollten Sie sich für Echtzeit-Erkennung mit NCNN entscheiden?
Wenn Sie die verschiedenen von Ultralytics unterstützten Integrationen erkunden, werden Sie feststellen, dass mehrere Exportoptionen zur Verfügung stehen. Wann sollten Sie also das NCNN-Format wählen?
Das NCNN-Exportformat ist eine zuverlässige Wahl, wenn Sie YOLO11-Modelle auf Geräten mit begrenzten Ressourcen einsetzen müssen. Es ist besonders nützlich für Echtzeitanwendungen, die direkt auf dem Gerät laufen, wie z. B. Edge-Geräte, ohne dass eine Verbindung zur Cloud erforderlich ist. Das bedeutet, dass das Modell Aufgaben wie die Objekterkennung direkt vor Ort erledigen kann.
Hier sind einige häufige Szenarien, in denen NCNN eine gute Wahl ist:
Mobiler Einsatz: Das NCNN-Format ist für Android und iOS optimiert, was die Integration von Modellen in mobile Apps für schnelle, geräteinterne Inferenzen mit minimaler Latenz erleichtert.
Eingebettete Systeme und IoT-Geräte: Wenn Sie auf Geräten wie dem Raspberry Pi oder dem NVIDIA Jetson arbeiten, kann der Export in NCNN die Leistung und Reaktionsfähigkeit verbessern.
Desktop- und Server-Einsatz: NCNN eignet sich zwar hervorragend für Geräte mit geringem Stromverbrauch, unterstützt aber auch Linux, Windows und macOS für Desktop- und Serverumgebungen. Dies gibt Entwicklern flexible Optionen für den Einsatz.
Abb. 3. Optionen für den Einsatz des YOLO11-Modells mit NCNN. Bild vom Autor.
Anwendungsfälle für den Einsatz des YOLO11-Modells mit NCNN
Als Nächstes wollen wir uns einige praktische Anwendungsfälle ansehen, bei denen der Export von YOLO11-Modellen nach NCNN einen echten Unterschied machen kann.
Vision AI-Helme für die Brandbekämpfung
Mit Kameras und eingebetteten Mikrocomputern ausgestattete Schutzhelme können in Bereichen wie dem Bauwesen und der Brandbekämpfung eingesetzt werden, um die Sicherheit und das Bewusstsein zu verbessern. Auf diesen Geräten können Echtzeit-KI-Modelle wie YOLO11 ausgeführt werden, um verschiedene Arten von Objekten und Geräten zu erkennen. Beispielsweise können solche Helme Feuerwehrleuten helfen, Personen, Hindernisse oder Gefahren bei schlechten Sichtverhältnissen zu erkennen.
Die direkte Ausführung von Modellen in voller Größe auf tragbaren Geräten kann jedoch zu einer langsamen Leistung führen und die Batterie schnell entladen. In diesem Fall ist die Verwendung der NCNN-Integration eine gute Wahl. Sie ermöglicht eine energieeffiziente Inferenz mit geringer Latenz.
Abfalltrennung und intelligente Mülltonnen
In ähnlicher Weise können intelligente Abfallbehälter mit Kameras und kompakten KI-Prozessoren ausgestattet werden, um Materialien zu erkennen und zu sortieren, wenn sie weggeworfen werden. KI-Modelle wie YOLO11 können kundenspezifisch trainiert werden, um verschiedene Arten von Abfallmaterialien wie Papier, Plastik, Gummi usw. zu erkennen.
Sobald der Abfall identifiziert ist, kann er automatisch nach seiner Wiederverwendbarkeit in verschiedene Fächer sortiert werden. Durch den Einsatz von Edge AI zusammen mit exportierten YOLO11-Modellen im NCNN-Format können diese Behälter Daten lokal verarbeiten - ohne Internetverbindung. Dadurch können sie autonom arbeiten und Sortierentscheidungen in Echtzeit mit minimaler Verzögerung treffen.
Abb. 4. Erkennung von Kunststoffabfällen mit YOLO11.
Überwachung von Rindern mit Drohnen und Computer Vision
In abgelegenen landwirtschaftlichen Gebieten gibt es manchmal keinen Zugang zu stabilen Internetverbindungen oder sogar zu einer konstanten Stromversorgung, was die Möglichkeit einschränkt, KI-Anwendungen online auszuführen. In solchen Fällen können Edge-Geräte und Drohnen eingesetzt werden, um eine Vielzahl von Aufgaben zu erledigen.
Ein gutes Beispiel ist die Überwachung von Nutztieren wie Rindern, Schafen und Geflügel. Dies kann mithilfe von Vision-KI-Modellen wie YOLO11 erfolgen, mit denen Tierbewegungen verfolgt, Anzeichen von Verletzungen, Krankheiten oder abnormalem Verhalten erkannt und Landwirte alarmiert werden können, wenn Tiere vermisst werden. Die NCNN-Integration ermöglicht es auch, diese Daten direkt auf Edge-Geräten auszuführen und zu verarbeiten, wodurch sie sich hervorragend für die Bild- und Videoanalyse auf Bauernhöfen in abgelegenen oder netzfernen Gebieten eignet.
Abb. 5. Ein Blick auf die Verwendung von YOLO11 zur Überwachung des Viehbestands.
Die wichtigsten Erkenntnisse
Der Export von YOLO11-Modellen mit Hilfe der von Ultralytics unterstützten NCNN-Integration ist eine unkomplizierte Möglichkeit, Vision AI in Umgebungen mit geringem Stromverbrauch einzusetzen. Ob Drohnen in Katastrophengebieten, intelligente Müllsortierbehälter oder Viehüberwachung auf abgelegenen Bauernhöfen - YOLO und NCNN ermöglichen KI-Inferenzen in Echtzeit, die schnell, effizient und portabel sind. Dieser Ansatz trägt dazu bei, KI-Systeme zugänglicher und zuverlässiger zu machen, wenn es am wichtigsten ist.