Echtzeit- und eingebettete Superauflösung

Als Vorbemerkung : Dieser Artikel ergänzt den Artikel Bildverbesserung: Superauflösung mit Deep Learning.

Wir haben bereits gezeigt, dass es in verschiedenen Industriezweigen durchaus sinnvoll ist, superauflösende Verfahren einzusetzen. Hier konzentrieren wir uns eher auf den Einsatzprozess und die Leistung als auf die eigentliche Funktionsweise der Superauflösung.

Eine funktionale Konfiguration, um Echtzeit- und eingebettete Superauflösung zu machen

Im Folgenden stellen wir die Konfiguration vor, die wir als optimal für den Einsatz auf einer bordeigenen Plattform bei Frequenzen von 25 Hz oder höher erachten.

Verwendung des NVIDIA TensorRT SDK

TensorRT ist ein von NVIDIA bereitgestelltes SDK zur Optimierung von Inferenzen auf dem Grafikprozessor. Es handelt sich dabei um eine hochleistungsfähige Inferenzplattform für Deep Learning. Sie umfasst eine Inferenzprozessoptimierung und eine Laufzeitumgebung, die einen hohen Durchsatz und eine niedrige Latenz für Inferenzanwendungen im Zusammenhang mit Deep Learning ermöglicht.

Die Verwendung von TensorRT kann in C++ oder Python erfolgen. Es ist jedoch notwendig, ein KI-Modell, das ursprünglich im ONNX-Format vorlag, in ein Modell im ENGINE-Format umzuwandeln. Es ist dann möglich, während der Konvertierung einige Änderungen am Modell vorzunehmen, insbesondere an der Eingabegröße, der Batchgröße, der Genauigkeit (FP32 bis FP16 siehe INT8) , ...

Das Modell kann auch vorab an die gewünschte Anwendung angepasst werden (Lernen, Fine-Tuning, ...).

Verwendung eines NVIDIA-Jetsons

Die NVIDIA Jetson-Plattformen sind natürlich optimal für diese Art von KI-Einsatz auf Grafikprozessoren (im Edge-Computing). Die Module sind klein, haben eine hohe GPU-Berechnungsleistung und verbrauchen sehr wenig Energie. Weitere Details zu diesen Modulen finden Sie hier.

Modul Jetsons TX2 Imasolia Optronisches Konstruktionsbüro
Beispiel für ein NVIDIA Jetson-Modul, erhältlich auf der NVIDIA-Website.

Verwendung des ESRGAN-Modells

ESRGAN (Enhanced Super-Resolution Generative Adversarial Networks) ist ein künstliches neuronales Netz, mit dem die Auflösung eines Bildes verbessert werden kann. Typischerweise ist dieses Modell in der Lage, aus einem 720p-Bild ein 1080p-Bild zu generieren.

Andere Vergrößerungsfaktoren sind auf Anfrage möglich. So lassen sich Bildauflösungen leicht um den Faktor 3 oder 4 verbessern.

Ohne auf die mathematischen Details einzugehen, finden Sie im Folgenden die Architektur des ESRGAN-Modells.

Schema der Architektur des ERSGAN-Modells, Quelle.

Bei einigen Projekten kann es erforderlich sein, dass spezielle Kameras im infraroten Wellenlängenbereich (z. B.) eine hohe Auflösung haben. Dies ist von großem Interesse, da die Sensoren in diesem Spektralbereich oft nur eine geringe Auflösung haben. Der Preis eines solchen Sensors ist direkt proportional zur Anzahl der Pixel.

Eine Software-Bildverbesserung ermöglicht es dann, die Kamera zu optimieren. Dies ist zum Beispiel bei sehr spezifischen SWIR-Kameras der Fall.

Das neuronale Modell ESRGAN muss dann mit Bildern einer Kamera nachtrainiert werden, deren Wellenlängenbereich dem der Endanwendung entspricht.

Nutzung von Docker und Ansible für den Einsatz in der Produktion

Innerhalb von Imasolia verfügen wir auch über das Fachwissen, um Ihren industriellen Einsatz zu optimieren, insbesondere mit Docker, damit Sie Ihre Jetsons in großem Maßstab flashen können, oder um Ihre Anwendungen auf verschiedenen Plattformen einzusetzen (Cross-Compiling).

Wir werden auch ein Ansible-Playbook anbieten, mit dem Sie Ihre Anwendungsumgebung konfigurieren können.

Superauflösungsmodul Imasolia
Modul für Superauflösung von Imasolia. Um mehr zu erfahren, kontaktieren Sie uns.

Schlussfolgerung

In diesem Artikel haben wir eine typische Hardware- und Softwarekonfiguration gesehen, um in Echtzeit und auf einer eingebetteten Plattform die Auflösung eines Bildes zu verbessern.

Egal, ob es sich um ein Bild im sichtbaren, infraroten oder sonstigen Spektrum handelt, es gibt enorm viele Anwendungsmöglichkeiten, ein Bild "hochskalieren" zu wollen.

Bei Imasolia entwickeln wir Standard- oder maßgeschneiderte Gehäuse, um superauflösend zu arbeiten. Wenn Sie also einen Bedarf haben, können wir Ihnen helfen, fragen Sie uns!

Einen Kommentar hinterlassen