Connect with us

Künstliche Intelligenz

InstructIR: Hochwertige Bildwiederherstellung unter Anleitung durch menschliche Anweisungen

mm
High-Quality Image Restoration Following Human Instructions

Ein Bild kann eine Menge vermitteln, doch es kann auch durch verschiedene Probleme wie Bewegungsunschärfe, Dunst, Rauschen und niedrigem Dynamikumfang beeinträchtigt werden. Diese Probleme, die in der Regel als Degradationen in der niedrigen Ebene der ComputerVision bezeichnet werden, können durch schwierige Umgebungsbedingungen wie Hitze oder Regen oder durch die Einschränkungen der Kamera selbst entstehen. Die Bildwiederherstellung stellt eine Kernherausforderung in der ComputerVision dar, die darauf abzielt, ein hochwertiges, sauberes Bild aus einem mit solchen Degradationen behafteten Bild wiederherzustellen. Die Bildwiederherstellung ist komplex, da es möglicherweise mehrere Lösungen für die Wiederherstellung eines bestimmten Bildes geben kann. Einige Ansätze konzentrieren sich auf bestimmte Degradationen, wie z.B. Rauschreduzierung oder Entfernung von Unschärfe oder Dunst.

Während diese Methoden gute Ergebnisse für bestimmte Probleme liefern können, haben sie oft Schwierigkeiten, sich auf verschiedene Arten von Degradationen zu verallgemeinern. Viele Frameworks verwenden ein generisches neuronales Netzwerk für eine Vielzahl von Bildwiederherstellungsaufgaben, aber diese Netze werden jeweils separat trainiert. Die Notwendigkeit, für jeden Degradationstyp separate Modelle zu verwenden, macht diesen Ansatz rechenintensiv und zeitaufwändig, was zu einer Konzentration auf All-In-One-Wiederherstellungsmodelle in jüngsten Entwicklungen geführt hat. Diese Modelle verwenden ein einzelnes, tiefes blindes Wiederherstellungsmodell, das mehrere Ebenen und Arten von Degradationen anspricht, oft mit degradationsspezifischen Prompts oder Leitvektoren, um die Leistung zu verbessern. Obwohl All-In-One-Modelle in der Regel vielversprechende Ergebnisse liefern, stehen sie noch vor Herausforderungen mit inversen Problemen.

InstructIR stellt einen bahnbrechenden Ansatz in diesem Bereich dar, da es das erste Bildwiederherstellungsframework ist, das darauf ausgelegt ist, das Wiederherstellungsmodell durch von Menschen geschriebene Anweisungen zu steuern. Es kann natürliche Sprachprompts verarbeiten, um hochwertige Bilder aus degenerierten Bildern wiederherzustellen und berücksichtigt dabei verschiedene Degradationstypen. InstructIR setzt einen neuen Standard in der Leistung für eine breite Palette von Bildwiederherstellungsaufgaben, einschließlich Entregnen, Rauschreduzierung, Entdunsten, Entschärfen und Verbesserung von Bildern mit niedrigem Licht.

Dieser Artikel zielt darauf ab, das InstructIR-Framework in der Tiefe abzudecken, und wir erkunden den Mechanismus, die Methodik, die Architektur des Frameworks sowie dessen Vergleich mit State-of-the-Art-Bild- und Videoerzeugungsframeworks. Also los geht’s.

InstructIR: Hochwertige Bildwiederherstellung

Die Bildwiederherstellung ist ein grundlegendes Problem in der ComputerVision, da sie darauf abzielt, ein hochwertiges, sauberes Bild aus einem Bild mit Degradationen wiederherzustellen. In der niedrigen Ebene der ComputerVision bezeichnet Degradation ein Term, der unangenehme Effekte in einem Bild wie Bewegungsunschärfe, Dunst, Rauschen, niedrigem Dynamikumfang und mehr darstellt. Der Grund, warum die Bildwiederherstellung eine komplexe inverse Herausforderung darstellt, liegt darin, dass es möglicherweise mehrere Lösungen für die Wiederherstellung eines Bildes geben kann. Einige Frameworks konzentrieren sich auf bestimmte Degradationen wie Rauschreduzierung oder Entfernung von Unschärfe oder Dunst.

Jüngste Deep-Learning-Methoden haben eine stärkere und konsistentere Leistung im Vergleich zu traditionellen Bildwiederherstellungsmethoden gezeigt. Diese Deep-Learning-Bildwiederherstellungsmodelle schlagen vor, neuronale Netze auf der Grundlage von Transformern und Convolutional Neural Networks zu verwenden. Diese Modelle können unabhängig für verschiedene Bildwiederherstellungsaufgaben trainiert werden und besitzen die Fähigkeit, lokale und globale Feature-Interaktionen zu erfassen und zu verbessern, was zu einer zufriedenstellenden und konsistenten Leistung führt. Obwohl einige dieser Methoden für bestimmte Arten von Degradationen gut funktionieren können, verallgemeinern sie sich in der Regel nicht gut auf verschiedene Arten von Degradationen. Darüber hinaus verwenden viele bestehende Frameworks das gleiche neuronale Netzwerk für eine Vielzahl von Bildwiederherstellungsaufgaben, aber jede neuronale Netzwerkkonfiguration wird separat trainiert. Es ist daher offensichtlich, dass die Verwendung eines separaten neuronalen Modells für jeden denkbaren Degradationstyp unpraktisch und zeitaufwändig ist, was zu einer Konzentration auf All-In-One-Wiederherstellungsmodelle geführt hat.

All-In-One- oder Multi-Degradation- oder Multi-Task-Bildwiederherstellungsmodelle gewinnen in der ComputerVision-Branche an Popularität, da sie in der Lage sind, multiple Arten und Ebenen von Degradationen in einem Bild ohne die Notwendigkeit, die Modelle unabhängig für jeden Degradationstyp zu trainieren, wiederherzustellen. All-In-One-Bildwiederherstellungsmodelle verwenden ein einzelnes, tiefes blindes Wiederherstellungsmodell, um verschiedene Arten und Ebenen von Bilddegradationen anzusprechen. Verschiedene All-In-One-Modelle implementieren unterschiedliche Ansätze, um das blinde Modell zu steuern, um das degenerierte Bild wiederherzustellen, z.B. ein Hilfsmodell, um die Degradation zu klassifizieren, oder mehrdimensionale Leitvektoren oder Prompts, um dem Modell zu helfen, verschiedene Arten von Degradationen in einem Bild wiederherzustellen.

Mit dem vorliegenden Wissen kommen wir zur textbasierten Bildmanipulation, da sie von mehreren Frameworks in den letzten Jahren für Text-zu-Bild-Generierung und textbasierte Bildbearbeitungsaufgaben implementiert wurde. Diese Modelle verwenden oft Textprompts, um Aktionen oder Bilder zu beschreiben, zusammen mit diffusionsbasierten Modellen, um die entsprechenden Bilder zu generieren. Die Hauptinspiration für das InstructIR-Framework ist das InstructPix2Pix-Framework, das es dem Modell ermöglicht, das Bild mithilfe von Benutzeranweisungen zu bearbeiten, die dem Modell sagen, welche Aktion auszuführen ist, anstatt Textetiketten, Beschreibungen oder Bildunterschriften des Eingabebildes. Als Ergebnis können Benutzer natürliche geschriebene Texte verwenden, um dem Modell Anweisungen zu geben, ohne Beispielbilder oder zusätzliche Bildbeschreibungen bereitstellen zu müssen.

Aufbauend auf diesen Grundlagen ist das InstructIR-Framework das erste ComputerVision-Modell, das menschliche Anweisungen verwendet, um Bildwiederherstellung und inverse Probleme zu lösen. Für natürliche Sprachprompts kann das InstructIR-Modell hochwertige Bilder aus ihren degenerierten Gegenstücken wiederherstellen und berücksichtigt dabei multiple Degradationstypen. Das InstructIR-Framework kann eine Spitzenleistung auf einer breiten Palette von Bildwiederherstellungsaufgaben liefern, einschließlich Entregnen, Rauschreduzierung, Entdunsten, Entschärfen und Verbesserung von Bildern mit niedrigem Licht.

InstructIR: Methode und Architektur

Im Kern besteht das InstructIR-Framework aus einem Textencoder und einem Bildmodell. Das Modell verwendet das NAFNet-Framework, ein effizientes Bildwiederherstellungsmodell, das einer U-Net-Architektur folgt, als Bildmodell. Darüber hinaus implementiert das Modell Task-Routing-Techniken, um mehrere Aufgaben mit einem einzigen Modell erfolgreich zu erlernen. Die folgende Abbildung veranschaulicht den Trainings- und Evaluierungsansatz für das InstructIR-Framework.

In Anlehnung an das InstructPix2Pix-Modell verwendet das InstructIR-Framework menschliche Anweisungen als Steuermechanismus, da es keine Notwendigkeit gibt, zusätzliche Informationen bereitzustellen. Diese Anweisungen bieten eine ausdrucksstarke und klare Möglichkeit, zu interagieren, und ermöglichen es Benutzern, den genauen Ort und die Art der Degradation im Bild anzugeben. Darüber hinaus verbessert die Verwendung von Benutzerprompts anstelle von festen Degradationsspezifischen Prompts die Benutzerfreundlichkeit und Anwendungen des Modells, da es auch von Benutzern verwendet werden kann, die nicht über die erforderliche Domänenexpertise verfügen. Um das InstructIR-Framework mit der Fähigkeit auszustatten, diverse Prompts zu verstehen, verwendet das Modell GPT-4, ein großes Sprachmodell, um diverse Anfragen zu erstellen, wobei mehrdeutige und unklare Prompts nach einem Filterprozess entfernt werden.

Textencoder

Ein Textencoder wird von Sprachmodellen verwendet, um Benutzerprompts auf eine Texteinbettung oder eine feste Vektorrepräsentation zu kartieren. Traditionell ist der Textencoder eines CLIP-Modells ein wichtiger Bestandteil für textbasierte Bildgenerierung und textbasierte Bildmanipulationsmodelle, um Benutzerprompts zu kodieren, da das CLIP-Framework in visuellen Prompts hervorragt. Allerdings enthalten Benutzerprompts für Degradationen in der Regel wenig bis kein visuellen Inhalt, was die großen CLIP-Encoder für solche Aufgaben nutzlos macht, da dies die Effizienz erheblich beeinträchtigen würde. Um dieses Problem zu lösen, wählt das InstructIR-Framework einen textbasierten Satzencoder, der trainiert wird, um Sätze in einem sinnvollen Einbettungsraum zu kodieren. Satzencoder sind auf Millionen von Beispielen vortrainiert und dennoch kompakt und effizient im Vergleich zu traditionellen CLIP-basierten Textencodern, während sie die Fähigkeit besitzen, die Semantik diverser Benutzerprompts zu kodieren.

Textsteuerung

Ein wichtiger Aspekt des InstructIR-Frameworks ist die Implementierung der kodierten Anweisung als Steuermechanismus für das Bildmodell. Aufbauend darauf und inspiriert durch Task-Routing für das Lernen vieler Aufgaben, schlägt das InstructIR-Framework einen Instruction Construction Block (ICB) vor, um Aufgaben-spezifische Transformationen innerhalb des Modells zu ermöglichen. Konventionelles Task-Routing wendet Aufgaben-spezifische binäre Masken auf Kanalfunktionen an. Allerdings wird diese Technik im InstructIR-Framework nicht direkt implementiert, da das Framework die Degradation nicht kennt. Darüber hinaus wendet das InstructIR-Framework Task-Routing auf Bildfunktionen und die kodierten Anweisungen an und erzeugt die Maske mithilfe einer linear aktivierten Sigmoid-Funktion, um eine Menge von Gewichten abhängig von den Texteinbettungen zu erhalten, was zu einer c-dimensionalen pro-Kanal-binären Maske führt. Das Modell verbessert die bedingten Funktionen mithilfe eines NAFBlocks und verwendet den NAFBlock und den Instruction Conditioned Block, um die Funktionen sowohl im Encoder-Block als auch im Decoder-Block zu bedingen.

Obwohl das InstructIR-Framework die neuronalen Netzwerkfilter nicht explizit bedingt, ermöglicht die Maske es dem Modell, die Kanäle auszuwählen, die auf der Grundlage der Bildanweisung und -information am relevantesten sind.

InstructIR: Implementierung und Ergebnisse

Das InstructIR-Modell ist end-to-end-trainierbar, und das Bildmodell benötigt keine Vortrainierung. Es müssen nur die Texteinbettungsprojektionen und der Klassifikationskopf trainiert werden. Der Textencoder wird mit einem BGE-Encoder initialisiert, einem BERT-ähnlichen Encoder, der auf einer großen Menge von überwachten und unüberwachten Daten für die allgemeine Satzkodierung vortrainiert wurde. Das InstructIR-Framework verwendet das NAFNet-Modell als Bildmodell, und die Architektur von NAFNet besteht aus einem 4-Ebenen-Encoder-Decoder mit einer variablen Anzahl von Blöcken auf jeder Ebene. Das Modell fügt außerdem 4 Mittelblöcke zwischen den Encoder und den Decoder hinzu, um die Funktionen weiter zu verbessern. Darüber hinaus implementiert der InstructIR-Decoder anstelle von Konkatenation die Addition, und das InstructIR-Modell implementiert nur den ICB oder den Instruction Conditioned Block für Task-Routing nur im Encoder und Decoder. Das InstructIR-Modell wird mithilfe des Verlusts zwischen dem wiederhergestellten Bild und dem Ground-Truth-Bild optimiert, und der Cross-Entropy-Verlust wird für den Intent-Klassifikationskopf des Textencoders verwendet. Das InstructIR-Modell verwendet den AdamW-Optimizer mit einer Batch-Größe von 32 und einer Lernrate von 5e-4 für fast 500 Epochen und implementiert außerdem den cosine-annealing-Learning-Rate-Verfall. Da das Bildmodell im InstructIR-Framework nur 16 Millionen Parameter umfasst und es nur 100.000 gelernte Textprojektionsparameter gibt, kann das InstructIR-Framework leicht auf Standard-GPUs trainiert werden, was die Rechenkosten reduziert und die Anwendbarkeit erhöht.

Mehrere Degradationsergebnisse

Für mehrere Degradationen und Multi-Task-Wiederherstellungen definiert das InstructIR-Framework zwei anfängliche Konfigurationen:

  1. 3D für drei-Degradationsmodelle, um Degradationsprobleme wie Entdunsten, Rauschreduzierung und Entregnen zu lösen.
  2. 5D für fünf-Degradationsmodelle, um Degradationsprobleme wie Bildrauschen, Low-Light-Verbesserung, Entdunsten, Rauschreduzierung und Entregnen zu lösen.

Die Leistung der 5D-Modelle wird in der folgenden Tabelle demonstriert und mit State-of-the-Art-Bildwiederherstellungs- und All-In-One-Modellen verglichen.

Wie zu sehen ist, kann das InstructIR-Framework mit einem einfachen Bildmodell und nur 16 Millionen Parametern fünf verschiedene Bildwiederherstellungsaufgaben erfolgreich lösen, dank der anweisungsgebundenen Steuerung, und liefert wettbewerbsfähige Ergebnisse. Die folgende Tabelle demonstriert die Leistung des Frameworks auf 3D-Modellen, und die Ergebnisse sind mit den oben genannten Ergebnissen vergleichbar.

Der Hauptvorteil des InstructIR-Frameworks ist die anweisungsgebundene Bildwiederherstellung, und die folgende Abbildung demonstriert die außergewöhnlichen Fähigkeiten des InstructIR-Modells, um eine breite Palette von Anweisungen für eine bestimmte Aufgabe zu verstehen. Außerdem führt das InstructIR-Modell für eine konträre Anweisung eine Identität aus, die nicht erzwungen wird.

Final Thoughts

Die Bildwiederherstellung ist ein grundlegendes Problem in der ComputerVision, da sie darauf abzielt, ein hochwertiges, sauberes Bild aus einem Bild mit Degradationen wiederherzustellen. In der niedrigen Ebene der ComputerVision bezeichnet Degradation ein Term, der unangenehme Effekte in einem Bild wie Bewegungsunschärfe, Dunst, Rauschen, niedrigem Dynamikumfang und mehr darstellt. In diesem Artikel haben wir über InstructIR gesprochen, das weltweit erste Bildwiederherstellungsframework, das darauf abzielt, das Bildwiederherstellungsmodell mithilfe menschlicher Anweisungen zu steuern. Für natürliche Sprachprompts kann das InstructIR-Modell hochwertige Bilder aus ihren degenerierten Gegenstücken wiederherstellen und berücksichtigt dabei multiple Degradationstypen. Das InstructIR-Framework kann eine Spitzenleistung auf einer breiten Palette von Bildwiederherstellungsaufgaben liefern, einschließlich Entregnen, Rauschreduzierung, Entdunsten, Entschärfen und Verbesserung von Bildern mit niedrigem Licht.

Ein Ingenieur von Beruf, ein Schriftsteller von Herzen. Kunal ist ein technischer Schriftsteller mit einer tiefen Liebe und einem tiefen Verständnis für KI und ML, der sich der Aufgabe widmet, komplexe Konzepte in diesen Bereichen durch seine ansprechenden und informativen Dokumentationen zu vereinfachen.