Optronische Projekte erfordern sehr oft Rechenressourcen für analytische Bildverarbeitung oder mit eingebetteter KI. Für diese Zwecke sind die Jetson-Module ideal und ermöglichen es, mit der Edge-Computing-Methode eine gewisse Rechenleistung einzubetten. Indem wir diese Plattformen mit der Verwendung von Docker-Software koppeln, machen wir die Entwicklungsprozesse und den industriellen Einsatz zuverlässiger, um eine möglichst sinnvolle Lösung zu haben. NVIDIA Jetsons Module mit Docker-Containern sind also von großem Interesse für die Optronik!
Warum sollten Sie eine NVIDIA Jetson Plattform in Ihre Projekte einbinden?
Die Jetson-Module von NVIDIA, sind ideale Plattformen für eingebettete Bildverarbeitung und KI-Modelle. Es handelt sich um kleine Module, die in der Regel kleiner als 150x100mm sind. Sie haben den Vorteil, dass sie dank ihrer integrierten Grafikprozessoren eine hohe Leistung erbringen und gleichzeitig wenig Energie verbrauchen. Auf den ersten Blick ist das alles, was man braucht, um Rechenleistung in ein ehrgeiziges optronisches Projekt einzubinden! Was die KI-Leistung angeht, so bietet sie einige TFlops (1,33 TFlops bei der Jetson TX2).
Die verschiedenen Jetsons Module
Je nach den Anforderungen eines Projekts (Rechenleistung, Energieeffizienz, Platzbedarf, ...) haben wir die Wahl zwischen verschiedenen Jetson-Modulen (die individuellen Fähigkeiten der verschiedenen Module werden sicherlich in einem anderen Artikel ausführlich beschrieben):
GPU-Beschleunigung
Alle Module haben eine Linux-Umgebung an Bord und sie basieren alle auf dem NVIDIA Software-Stack. Die NVIDIA JetPack™ Technologie ermöglicht eine schnelle Umsetzung von Projekten, zum Beispiel mit einem schnellen und effizienten KI-System. So kann man sich auf das Wesentliche konzentrieren, nämlich die Entwicklung der eigenen optronischen Anwendung. Die NVIDIA CUDA-X Tools sind ebenfalls nativ installiert: Bibliotheken und Frameworks werden vom Grafikprozessor beschleunigt. Dies ist zum Beispiel bei der bekannten Grafikbibliothek OpenCV der Fall.
Mit all diesen Elementen sind die Jetsons-Module ideale Lösungen für eine Vielzahl von Produkten und Konfigurationen, während sie gleichzeitig eine hervorragende Energieeffizienz aufweisen.
Weitere Informationen finden Sie auf der speziellen Seite auf der NVIDIA-Website.
Was ist Docker?
Docker ist eine freie Software, die es ermöglicht, Anwendungen in Software-Containern zu starten. Es ermöglicht das effiziente Erstellen, Bereitstellen und Ausführen von Containern im Produktions-/Industrialisierungsmodus.
Was ist ein Docker-Container?
Ein Container kann als eine ausführbare, unabhängige Einheit gesehen werden, in der eine Anwendung und ihre Ausführungsabhängigkeiten alle zu einer Einheit zusammengefasst werden können. Anders ausgedrückt: Er kapselt die Anwendung in einer unsichtbaren Box mit allem, was sie zum Ausführen braucht. Das Ganze ist unabhängig von dem Host, auf dem sie läuft.
Der Container besteht also aus dem Betriebssystem, den Runtimes/Frameworks, den Systemwerkzeugen, den Bibliotheken und natürlich der Anwendung. Der Vorteil eines Docker-Containers ist, dass er einen gewissen Grad an Isolation von seinem Host bietet. Dadurch wird die Bereitstellung und Installation der Anwendung und ihrer Umgebung erheblich vereinfacht. Man muss sich nicht mehr um die Umgebung und die Abhängigkeiten der Anwendung kümmern.
Halten wir also fest: Ein Container ermöglicht es, dass eine Anwendung einfach gepackt und verschoben werden kann, wodurch die Einfachheit einer Infrastruktur erhöht wird.
Leichtigkeit und Schnelligkeit als Schlüsselwörter
Docker-Container werden aus Docker-Images aufgebaut. Sie sind leicht, tragbar und ermöglichen es Ingenieuren und Forschern, verteilte Anwendungen effizient zu erstellen, einzusetzen und auszuführen. Docker bietet außerdem kürzere Startzeiten, was die Ressourcennutzung verbessert.
Docker Compose für die Verwaltung mehrerer Dienste
Für den Fall, dass mehrere Dienste gleichzeitig genutzt werden müssen, ist es möglich, sie in einzelnen Containern zu entwickeln. Mithilfe des Docker-Tools Compose können wir diese Container ganz einfach als eine Reihe miteinander verbundener Dienste orchestrieren.
NVIDIA Jetsons Module mit Docker-Containern, die Gewinner-Kombo in Computer Vision
Wie Sie sehen, sind NVIDIAs Jetsons-Plattformen (fast) unverzichtbar geworden, wenn es um Computer Vision-Projekte mit eingebetteter Verarbeitung geht. Zusammen mit der Verwendung von Docker ergibt sich ein effizientes Rezept, das die Entwicklung (ob kollaborativ oder nicht) und vor allem den Einsatz in der Produktion erheblich vereinfacht. Ob es sich um kleine oder große Serien handelt, es ist immer sinnvoll, schon bei der Erstellung des Lastenhefts daran zu denken.
Alle Projekte, die Bildverarbeitung (oder Entwicklung im Allgemeinen) erfordern, sind mit Docker kompatibel und die Verwendung auf der NVIDIA-Jetson-Plattform macht das Endprodukt robust und zuverlässig.
Wie können wir zusammenarbeiten?
Als Ingenieurbüro für Optronik helfen wir Ihnen dabei, den besten Ansatz für Ihr Projekt zu finden.
Je nach Ihrem Bedarf werden wir Ihnen die beste Wahl der eingebetteten Verarbeitungsplattform vorschlagen. Wir können Ihnen dabei helfen, Ihre Lösung unter Docker zu implementieren. Ob in Python und/oder C/C++ mit OpenCV, Tensorflow, PyTorch, Keras, Scikit Learn, ... wir werden garantiert das beste Rezept für Ihr Projekt finden!
Nachdem wir Ihren Bedarf ermittelt haben, können wir Ihnen verschiedene Möglichkeiten der Zusammenarbeit vorschlagen:
- Spotdienstleistung: Bedarf an einer einmaligen, genau definierten Dienstleistung
- Projekt von A bis Z: von der Erstellung des Lastenhefts bis zur Industrialisierung des Produkts
- Maßgeschneiderte und spezifische Entwicklung: für ein One-Shot-Produkt
Sie brauchen Optronik, wir können Ihnen helfen, fragen Sie Imasolia!