In der Bildverarbeitung bezeichnet Superauflösung den Prozess der Verbesserung der räumlichen Auflösung, d. h. des Detailgrads eines Bildes. Ziel dieses Artikels ist es, die auf Deep Learning basierende Superauflösung mit einigen nützlichen Anwendungen und einem einfach zu visualisierenden Beispiel vorzustellen.
Was ist Superauflösung?
Superauflösung ist eine Reihe von Algorithmen und Techniken, die zur Verbesserung, Erhöhung und Überabtastung der Auflösung eines Eingabebildes verwendet werden.
Mit anderen Worten: Es geht darum, ein Eingabebild zu nehmen und seine Größe zu erhöhen. Das heißt, seine Breite und Höhe mit einer minimalen Verschlechterung seiner Qualität. Im Idealfall wird die Qualität nicht verschlechtert, und darin liegt die ganze Herausforderung der Superauflösung. Tatsächlich hat fast jeder schon einmal versucht, ein Bild zu vergrößern, und festgestellt, dass das Bild weniger scharf oder sogar unscharf wird.
Die meisten Fotobearbeitungsprogramme (Photoshop, GIMP, ...) verwenden klassische Interpolationstechniken und -algorithmen:
- Interpolation des nächstgelegenen Nachbarn
- lineare Interpolation
- bikubische Interpolation
- ...
Warum Superauflösung verwenden?
Es gibt viele Gründe, Superresolution zu verwenden. Aber Superresolution ist kein kostenloser Prozess in Bezug auf Rechenleistung (Wahl der Verarbeitungsplattform, Energie, Platzbedarf, ...). Ihr Einsatz muss daher begründet werden! Beispielsweise ist es bei der Verwendung einer Standardkamera für sichtbares Licht, deren Preis überschaubar bleibt, besser, die Kamera auszutauschen, als eine superauflösende Verarbeitung durchzuführen. Für die folgenden Beispiele hingegen ist es unerlässlich, Superresolution durchzuführen:
- Teure Kamera: Dies ist zum Beispiel bei MWIR-Infrarotkameras (Middle Wave Infrared) der Fall. Diese Kameras sind in der Regel auf eine Auflösung von 640×480 Pixel gedeckelt, und der Preis kann mehrere zehntausend Euro betragen.
- Kamera bereits in einem industrialisierten Produkt vorhanden: Oft ist es einfacher, eine superauflösende Kamera zu implementieren, als einen Kamerawechsel in einem industrialisierten und qualifizierten Produkt vorzunehmen (Schock, Vibration, EMV, ...). Dies kann z. B. bei einigen militärischen Produkten der Fall sein.
Die Superauflösungsmodelle (kompatibel mit OpenCV)
Es ist möglich, eine Reihe von Superauflösungsmodellen zu implementieren. Erlaubt sind sie, wir können unten einige davon nennen. Die meisten von ihnen basieren aufkünstlicher Intelligenz (Deep Learning).
- EDSR - Enhanced Deep Residual Networks for Single Image Super-Resolution
- ESPRC - Real-Time Single Image and Video Super-Resolution Using an Efficient Subpixel Convolutional Neural Network
- FSRCNN - Accelerating the Super-Resolution Convolutional Neural Network (Beschleunigung des superauflösenden konvolutionalen neuronalen Netzwerks)
- LapSRN - Fast and Accurate the Super-Resolution with Deep Laplacian Pyramid Networks
Diese Modelle können so implementiert werden, dass sie in Echtzeit auf eingebetteten Plattformen wie NIVDIA TX2, Xavier, ... laufen. Es ist dann möglich, sie so zu implementieren, dass sie auf Grafikprozessoren laufen.

Beispiel für Superauflösung
Als Beispiel stellen wir das Ergebnis einer Implementierung unseres auf Deep Learning basierenden Superauflösungsmodells vor. Wir haben unser schwach aufgelöstes Imasolia-Logo genommen und es in unser Modell injiziert. Das Ergebnis ist signifikant weniger pixelig und besser anzusehen. Wir haben die Auflösung etwa um den Faktor x4 erhöht.


Ein weiteres Beispiel, diesmal aus der Literatur, wird im Folgenden vorgestellt. Es wurden verschiedene Modelle verwendet und auf dem Lenna-Bild verglichen. Die Ergebnisse werden hier nicht diskutiert, da dies nicht das Ziel des Artikels ist. Vielmehr soll gezeigt werden, dass es möglich ist, mehrere Modelle mit ihren eigenen Vor- und Nachteilen zu verwenden.

Schlussfolgerung
In diesem Artikel haben wir das Konzept der Superauflösung mit Modellen eingeführt, die auf Deep Learning basieren. Wir haben seinen Nutzen erläutert und erklärt, wie man ihn auf Grafikprozessoren und eingebetteten Plattformen für Echtzeitverarbeitung implementieren kann. Übrigens sind wir Spezialisten für die Implementierung dieser Art von Bildverarbeitung auf NVIDIAs eingebetteten Plattformen!
Imasolia bietet seine Superresolutions-Algorithmen mit Deep Learning für Ihre spezifischen Anwendungen an. Zögern Sie nicht, mit uns Kontakt aufzunehmen, um dies zu besprechen.