Die billige Interpolationsmethode funktioniert nicht schlechter als neuronale Netze


Vergleich von RAISR mit anderen fortschrittlichen Bildauflösungstechniken. Weitere Beispiele finden Sie im begleitenden wissenschaftlichen Artikel.

Das Erhöhen der Auflösung von Bildern, dh das Erstellen von hochauflösenden Fotos basierend auf einem Foto mit niedriger Auflösung, ist ein sehr gut untersuchtes wissenschaftliches Problem. Dies ist für viele Anwendungen wichtig: Zoomen von Fotos und Text, Projizieren von Videos auf einen großen Bildschirm usw. Selbst in Filmen schaffen es Detectives manchmal, die Nummer eines Autos auf einem Rahmen von einer Überwachungskamera aus zu betrachten und das Foto an seine Grenzen zu bringen. Und nicht nur die Autonummer. Alles hier ist begrenzt durch die Vorstellungskraft und das Gewissen des Regisseurs und Drehbuchautors. Sie können das Foto noch weiter bringen - und das Spiegelbild des Verbrechers im Rückspiegel oder sogar im polierten Metallkopf des Bolzens sehen, der das Nummernschild sichert. Zuschauer mögen das.

In der Praxis sind die Fähigkeiten solcher Programme viel bescheidener. Beispielsweise hat GuralHub am 29. Oktober 2016 das Programm Neural Enhance gestartet , mit dem die Auflösung von Fotos mithilfe eines neuronalen Netzwerks erhöht wird. Das Programm wurde sofort in die Liste der beliebtesten Repositories der Woche aufgenommen.


Ein Beispiel für die Arbeit von Neural Enhance


Ein weiteres Beispiel für die Arbeit des Neural Enhance-Programms, das auf GitHub

Google Research-Mitarbeitern öffentlich verfügbar ist, arbeitet ebenfalls in diese Richtung. Der offizielle Blog des Unternehmens sprach gestern über eine Methode zur Erhöhung der Auflösung, die sie RAISR (Rapid and Accurate Image Super-Resolution) nannten )

In der Vergangenheit wurden einfache Interpolatoren verwendet, um Bilder zu interpolieren, die Zwischenwerte neuer Pixel aus einem bekannten Satz von Pixelwerten des Originalbilds ermitteln. Dort wurden verschiedene Methoden verwendet, um die Durchschnittswerte zu berechnen: Interpolation nach der Methode des nächsten Nachbarn, bilennische Interpolation, kubische Methode, bikubische Methode usw. Dies sind alles ziemlich einfache mathematische Formeln. Sie wurden aufgrund ihrer Einfachheit und Unprätentiösität häufig in verschiedenen Anwendungen eingesetzt. Sie passen sich überhaupt nicht an den Bildinhalt an, was häufig zum Auftreten unangenehmer Artefakte führt - zu verschwommene Fragmente, charakteristische Verzerrungen des Aliasing.

In den letzten Jahrzehnten wurden viel fortgeschrittenere Programme und Interpolationsmethoden entwickelt, die die Eigenschaften des Originalbildes explizit berücksichtigen. Sie sind in der Lage, Fragmente des Originalbildes zu verwenden und zu skalieren, Spärlichkeit auszufüllen und Gaußsche Mischungen anzuwenden . Neue Methoden haben die Qualität der Interpolation (digitale Wiederherstellung von Originalen) erheblich verbessert, indem sie die Komplexität der Berechnungen erhöht haben.

Google-Mitarbeiter verwendeten maschinelles Lernen für externe Stichproben. Diese Methode hat in den letzten Jahren große Popularität erlangt und wird in vielen wissenschaftlichen Arbeiten beschrieben. Das Grundprinzip besteht darin, den Inhalt des Bildes in hoher Auflösung anhand seiner verkleinerten Kopie vorherzusagen. Für ein solches Training wird die Standardmethode des Unterrichts anhand von Stichproben verwendet.

Während des RAISR-Trainings wurde eine Basis von gleichzeitig erzeugten Bildpaaren in hoher und niedriger Qualität verwendet. Wir verwendeten Paare kleiner Fragmente des Bildes für die Standard-2x-Interpolation, d. H. Fragmente mit 3 × 3 und 6 × 6 Pixeln. Der RAISR-Lern- und Betriebsalgorithmus ist im Diagramm dargestellt.





Die folgende Abbildung zeigt vier globale Filter, die während der Trainingsphase verwendet werden durften. Dementsprechend wurden die Programme darauf trainiert, sie je nach Inhalt dieses bestimmten Fragments mit mehreren Pixeln am effektivsten anzuwenden.





Jeder Filtertyp arbeitet für seinen eigenen Pixeltyp: von P1 bis P4 entsprechend den Pixeltypen, die vom bilinearen Interpolationsalgorithmus verwendet werden.



In gewisser Weise ähnelt die RAISR-Methode des maschinellen Lernens dem Training neuronaler Netze. Tatsächlich handelt es sich jedoch um eine Anpassung verschiedener Standardinterpolationsfilter für jedes einzelne kleine Fragment des Originalbilds. Das heißt, dies ist dieselbe alte "lineare Interpolation", jedoch wie bei Steroiden - ohne die inhärenten Artefakte und mit Anpassung an den Bildinhalt.

Vergleichstests zeigten, dass ein solcher Algorithmus in vielen Fällen sogar besser funktioniert als moderne Methoden der fortgeschrittenen Interpolation auf der Basis neuronaler Netze (SRCNN in den Abbildungen).



Darüber hinaus ist eine solche auf Hashing basierende Methode in der Praxis viel weniger ressourcenintensiv und akzeptabler als das Training und die Verwendung eines neuronalen Netzwerks. Der Leistungsunterschied ist so groß (10-100-mal), dass dieses Programm auch auf normalen Mobilgeräten sicher ausgeführt werden kann und in Echtzeit funktioniert. Nichts hindert die Implementierung dieses Filters in modernen Bildinterpolationsanwendungen auf Smartphones, einschließlich der Kameraanwendung auf Android, die beim digitalen Zoomen eine Interpolation durchführt. Es ist möglich, dass Google genau das zuerst tut. Zumindest ist dies ein Beispiel für die am weitesten verbreitete Verwendung der Interpolation auf Millionen von Geräten.


Links: Ursprüngliche niedrige Auflösung. Mitte: Das Ergebnis eines standardmäßigen bikubischen Interpolators. Richtig: Das Ergebnis von RAISR-

Fotos wird für alle Android-Benutzer sofort besser.

Ein weiterer interessanter und wichtiger Vorteil von RAISR ist übrigens, dass dieses Programm während des Trainingsprozesses trainiert werden kann, um typische Komprimierungsartefakte, einschließlich JPEG, zu beseitigen. Auf einem mobilen Gerät können Fotos beispielsweise in komprimierter Form mit Artefakten gespeichert und ohne Artefakte auf dem Bildschirm angezeigt werden. Oder der Algorithmus kann beim Google-Fotohosting verwendet werden, um Benutzerfotos automatisch zu verbessern und JPEG-Artefakte zu eliminieren, die fast überall vorhanden sind.


Links: Original mit niedriger Auflösung und JPEG-spezifischen Aliasing-Artefakten. Rechts - RAISR Issue

Scientific ArticleDie Mitarbeiter von Google Research werden in Kürze in der Zeitschrift IEEE Transactions on Computational Imaging veröffentlicht. (Hinweis: Der Hauptautor des Papiers war zum Zeitpunkt des Schreibens ein Praktikant bei Google Research, arbeitet jetzt jedoch am Israeli Technion Research Institute.)

Source: https://habr.com/ru/post/de399119/


All Articles