AI-modellen en platforms
InstructIR: Hoge-kwaliteit beeldherstel volgens menselijke instructies
Een afbeelding kan veel informatie overbrengen, maar kan ook worden aangetast door verschillende problemen zoals bewegingsonscherpte, nevel, ruis en een laag dynamisch bereik. Deze problemen, die in de computerzichtbaarheid worden aangeduid als degradaties op laag niveau, kunnen ontstaan door moeilijke omgevingsomstandigheden zoals hitte of regen, of door beperkingen van de camera zelf. Beeldherstel is een fundamentele uitdaging in de computerzichtbaarheid, waarbij men probeert een hoge-kwaliteit, schoon beeld te herstellen uit een beeld met dergelijke degradaties. Beeldherstel is complex omdat er mogelijk meerdere oplossingen zijn voor het herstellen van een bepaald beeld. Sommige benaderingen richten zich op specifieke degradaties, zoals het verminderen van ruis of het verwijderen van onscherpte of nevel.
Hoewel deze methoden goede resultaten kunnen opleveren voor specifieke problemen, hebben ze vaak moeite om te generaliseren naar verschillende soorten degradaties. Veel kaders gebruiken een generieke neurale netwerk voor een breed scala aan beeldhersteltaak, maar deze netwerken worden elk afzonderlijk getraind. De behoefte aan verschillende modellen voor elke soort degradatie maakt deze benadering computationeel duur en tijdrovend, waardoor de focus is verlegd naar All-In-One-herstelmodellen in recente ontwikkelingen. Deze modellen gebruiken een enkel, diep blind herstelmodel om meerdere niveaus en soorten degradaties aan te pakken, vaak met behulp van degradatie-specifieke prompts of guidingsvectoren om de prestaties te verbeteren. Hoewel All-In-One-modellen over het algemeen veelbelovende resultaten laten zien, hebben ze nog steeds moeite met inverse problemen.
InstructIR vertegenwoordigt een baanbrekende benadering in het veld, als eerste beeldherstelkader dat is ontworpen om de herstelmodel te laten leiden door menselijke instructies. Het kan natuurlijke taalprompts verwerken om hoge-kwaliteit beelden te herstellen uit gedegradeerde beelden, waarbij verschillende soorten degradaties in aanmerking worden genomen. InstructIR stelt een nieuwe standaard voor prestaties voor een breed scala aan beeldhersteltaak, waaronder het verwijderen van regen, ruis, nevel, onscherpte en het verbeteren van laaglichtbeelden.
Dit artikel heeft als doel het InstructIR-kader in detail te behandelen, en we onderzoeken de mechanismen, de methodologie, de architectuur van het kader, evenals de vergelijking met state-of-the-art-beeld- en videogeneratiekaders. Laten we dus beginnen.
InstructIR: Hoge-kwaliteit beeldherstel
Beeldherstel is een fundamentele uitdaging in de computerzichtbaarheid, omdat het probeert een hoge-kwaliteit, schoon beeld te herstellen uit een beeld dat degradaties vertoont. In de computerzichtbaarheid op laag niveau wordt de term degradaties gebruikt om ongewenste effecten aan te duiden die in een beeld worden waargenomen, zoals bewegingsonscherpte, nevel, ruis, laag dynamisch bereik en meer. De reden waarom beeldherstel een complexe inverse uitdaging is, is dat er mogelijk meerdere oplossingen zijn voor het herstellen van een beeld. Sommige kaders richten zich op specifieke degradaties, zoals het verminderen van ruis of het verwijderen van onscherpte of nevel, terwijl anderen zich meer richten op het verwijderen van nevel of het verbeteren van laaglichtbeelden.
Recente diepe leermethoden hebben een sterkere en consistentere prestatie getoond in vergelijking met traditionele beeldherstelmethoden. Deze diepe leerbeeldherstelmodellen stellen voor om neurale netwerken op basis van Transformers en Convolutional Neural Networks te gebruiken. Deze modellen kunnen onafhankelijk worden getraind voor diverse beeldhersteltaak en hebben ook de mogelijkheid om lokale en globale functie-interacties te vangen en te verbeteren, waardoor een bevredigende en consistente prestatie ontstaat. Hoewel sommige van deze methoden voldoende kunnen werken voor specifieke soorten degradaties, generaliseren ze over het algemeen niet goed naar verschillende soorten degradaties. Bovendien gebruiken veel bestaande kaders hetzelfde neurale netwerk voor een breed scala aan beeldhersteltaak, maar elk neurale netwerkformulier wordt afzonderlijk getraind. Het is dus duidelijk dat het gebruik van een afzonderlijk neurale model voor elke denkbare degradatie onpraktisch en tijdrovend is, waardoor recente beeldherstelkaders zich hebben gericht op All-In-One-herstelproxies.
All-In-One- of multi-degradatie- of multitaskbeeldherstelmodellen winnen aan populariteit in het veld van de computerzichtbaarheid, omdat ze in staat zijn om meerdere soorten en niveaus van degradaties in een beeld te herstellen zonder dat de modellen onafhankelijk voor elke degradatie hoeven te worden getraind. All-In-One-beeldherstelmodellen gebruiken een enkel, diep blind beeldherstelmodel om verschillende soorten en niveaus van beelddegradaties aan te pakken. Verschillende All-In-One-modellen implementeren verschillende benaderingen om het blinde model te laten herstellen van het gedegradeerde beeld, zoals een hulpmodel om de degradatie te classificeren of multidimensionale guidingsvectoren of prompts om de prestaties te verbeteren.
Met dat gezegd hebbend, komen we bij tekstgebaseerde beeldmanipulatie, omdat het in de afgelopen jaren door verschillende kaders is geïmplementeerd voor tekst-naar-beeldgeneratie en tekstgebaseerde beeldbewerkings taken. Deze modellen gebruiken tekstprompts om acties of beelden te beschrijven, evenals diffusiegebaseerde modellen om de corresponderende beelden te genereren. De belangrijkste inspiratie voor het InstructIR-kader is het InstructPix2Pix-kader, dat het model in staat stelt om het beeld te bewerken met behulp van gebruikersinstructies die het model instrueren over de actie die moet worden uitgevoerd, in plaats van tekstlabels, beschrijvingen of onderschriften van het invoerbeeld. Als gevolg hiervan kunnen gebruikers natuurlijke geschreven teksten gebruiken om het model te instrueren over de actie die moet worden uitgevoerd, zonder dat ze voorbeeldbeelden of aanvullende beeldbeschrijvingen hoeven te bieden.
Op basis van deze basisbeginselen is het InstructIR-kader het eerste computerzichtbaarheidsmodel dat menselijke instructies gebruikt om beeldherstel te bereiken en inverse problemen op te lossen. Voor natuurlijke taalprompts kan het InstructIR-model hoge-kwaliteit beelden herstellen uit hun gedegradeerde tegenhangers en houdt het ook rekening met meerdere degradatietypes. Het InstructIR-kader is in staat om state-of-the-artprestaties te leveren op een breed scala aan beeldhersteltaak, waaronder het verwijderen van regen, ruis, nevel, onscherpte en het verbeteren van laaglichtbeelden. In tegenstelling tot bestaande werken die beeldherstel bereiken met behulp van geleerde guidingsvectoren of prompt-embeddings, gebruikt het InstructIR-kader ruwe gebruikersprompts in tekstvorm.
Het InstructIR-kader is in staat om te generaliseren naar het herstellen van beelden met behulp van menselijke instructies, en het enkele All-In-One-model dat door InstructIR wordt geïmplementeerd, dekt meer hersteltaak dan eerdere modellen. De volgende figuur toont de diverse herstelvoorbeelden van het InstructIR-kader.

InstructIR: Methode en architectuur
In zijn kern bestaat het InstructIR-kader uit een tekstencoder en een beeldmodel. Het model gebruikt het NAFNet-kader, een efficiënt beeldherstelmodel dat een U-Net-architectuur volgt als beeldmodel. Bovendien implementeert het model taakrouteringsTechnieken om meerdere taken te leren met behulp van een enkel model. De volgende figuur illustreert de trainings- en evaluatieaanpak voor het InstructIR-kader.

Geïnspireerd door het InstructPix2Pix-model, adopteert het InstructIR-kader menselijke instructies als controlemechanisme, omdat er geen behoefte is aan aanvullende informatie van de gebruiker. Deze instructies bieden een expressieve en duidelijke manier om te communiceren, waardoor gebruikers de exacte locatie en het type degradatie in het beeld kunnen aangeven. Bovendien verbetert het gebruik van gebruikersprompts in plaats van vaste degradatie-specifieke prompts de bruikbaarheid en toepassingen van het model, omdat het ook kan worden gebruikt door gebruikers die niet over de vereiste domeinkennis beschikken. Om het InstructIR-kader uit te rusten met de mogelijkheid om diverse prompts te begrijpen, gebruikt het model GPT-4, een groot taalmodel om diverse verzoeken te creëren, met onduidelijke en onduidelijke prompts verwijderd na een filterproces.
Tekstencoder
Een tekstencoder wordt gebruikt door taalmodellen om gebruikersprompts te koppelen aan een tekstembedding of een vaste grootte vectorrepresentatie. Traditioneel is de tekstencoder van een CLIP-model een essentieel onderdeel voor tekstgebaseerde beeldgeneratie en tekstgebaseerde beeldmanipulatiemodellen om gebruikersprompts te encoderen, omdat het CLIP-kader uitblinkt in visuele prompts. Echter, meestal bevatten gebruikersprompts voor degradatie weinig tot geen visuele inhoud, waardoor de grote CLIP-encoders onbruikbaar zijn voor dergelijke taken, omdat het de efficiëntie aanzienlijk zou belemmeren. Om dit probleem aan te pakken, kiest het InstructIR-kader voor een tekstgebaseerde zinencoder die is getraind om zinnen in een betekenisvolle embeddingruimte te encoderen. Zinencoders zijn getraind op miljoenen voorbeelden en zijn compact en efficiënt in vergelijking met traditionele CLIP-gebaseerde tekstencoders, terwijl ze de mogelijkheid hebben om de semantiek van diverse gebruikersprompts te encoderen.
Tekstgeleiding
Een belangrijk aspect van het InstructIR-kader is de implementatie van de geëncodeerde instructie als controlemechanisme voor het beeldmodel. Op basis hiervan, en geïnspireerd door taakroutering voor meerdere taken, stelt het InstructIR-kader een InstructieConstructieblok of ICB voor om taakspecifieke transformaties binnen het model mogelijk te maken. Conventionele taakroutering past taakspecifieke binaire maskers toe op kanaalfuncties. Echter, omdat het InstructIR-kader de degradatie niet kent, wordt deze techniek niet direct geïmplementeerd. Bovendien past het InstructIR-kader taakroutering toe op beeldfuncties en de geëncodeerde instructies, en produceert het een masker met behulp van een lineaire laag geactiveerd met de Sigmoid-functie om een set gewichten te produceren op basis van de tekstembeddings, waardoor een c-dimensionaal per kanaal binair masker wordt verkregen. Het model versterkt de voorwaardelijke functies met behulp van een NAFBlock, en gebruikt de NAFBlock en de InstructieConditionedBlock om de functies te voorwaardelijk maken in zowel de encoder- als de decoderblok.

Hoewel het InstructIR-kader de neurale netwerkfilters niet expliciet voorwaardelijk maakt, faciliteert het masker het model om de kanalen te selecteren die het meest relevant zijn op basis van de beeldinstructie en -informatie.
InstructIR: Implementatie en resultaten
Het InstructIR-model is eind-tot-eind trainbaar, en het beeldmodel hoeft niet te worden voorgetraind. Alleen de tekstembeddingprojecties en de classificatiekop hoeven te worden getraind. De tekstencoder wordt geïnitialiseerd met een BGE-encoder, een BERT-achtige encoder die is voorgetraind op een enorme hoeveelheid gesuperviseerde en ongesuperviseerde data voor generieke zinencoding. Het InstructIR-kader gebruikt het NAFNet-model als beeldmodel, en de architectuur van NAFNet bestaat uit een 4-niveaus encoder-decoder met een variabel aantal blokken op elk niveau. Het model voegt ook 4 middelste blokken toe tussen de encoder en de decoder om de functies verder te verbeteren. Bovendien implementeert de decoder additionele skip-verbindingen in plaats van concatenatie, en het InstructIR-model implementeert alleen de ICB of InstructieConditionedBlock voor taakroutering in zowel de encoder als de decoder. Verder wordt het InstructIR-model geoptimaliseerd met de verliesfunctie tussen het herstelde beeld en het grondwaarheidsbeeld, en wordt de cross-entropieverliesfunctie gebruikt voor de intentieclassificatiekop van de tekstencoder. Het InstructIR-model gebruikt de AdamW-optimizer met een batchgrootte van 32 en een leersnelheid van 5e-4 voor ongeveer 500 epochs, en implementeert ook de cosine annealing-leersnelheidsafname. Aangezien het beeldmodel in het InstructIR-kader slechts 16 miljoen parameters bevat, en er slechts 100.000 geleerde tekstprojectieparameters zijn, kan het InstructIR-kader gemakkelijk worden getraind op standaard GPUs, waardoor de computationele kosten worden verlaagd en de toepasbaarheid wordt verhoogd.
Meerdere degradatieresultaten
Voor meerdere degradaties en multitaskherstel definieert het InstructIR-kader twee initiële instellingen:
- 3D voor driedegradatiemodellen om degradatieproblemen aan te pakken zoals nevel, ruis en regen.
- 5D voor vijfdegradatiemodellen om degradatieproblemen aan te pakken zoals beeldruis, laaglichtverbetering, nevel, ruis en regen.
De prestaties van de 5D-modellen worden gedemonstreerd in de volgende tabel, en worden vergeleken met state-of-the-art-beeldherstel- en All-In-One-modellen.

Zoals te zien is, kan het InstructIR-kader met een eenvoudig beeldmodel en slechts 16 miljoen parameters vijf verschillende beeldhersteltaak succesvol aanpakken dankzij de instructiegebaseerde geleiding, en levert concurrerende resultaten. De volgende tabel toont de prestaties van het kader op 3D-modellen, en de resultaten zijn vergelijkbaar met de bovenstaande resultaten.

Het belangrijkste kenmerk van het InstructIR-kader is instructiegebaseerd beeldherstel, en de volgende figuur toont de indrukwekkende mogelijkheden van het InstructIR-model om een breed scala aan instructies voor een bepaalde taak te begrijpen. Bovendien voert het InstructIR-model een identiteit uit die niet wordt afgedwongen voor een tegenstrijdige instructie.

Slotgedachten
Beeldherstel is een fundamentele uitdaging in de computerzichtbaarheid, omdat het probeert een hoge-kwaliteit, schoon beeld te herstellen uit een beeld dat degradaties vertoont. In de computerzichtbaarheid op laag niveau wordt de term degradaties gebruikt om ongewenste effecten aan te duiden die in een beeld worden waargenomen, zoals bewegingsonscherpte, nevel, ruis, laag dynamisch bereik en meer. In dit artikel hebben we het over InstructIR gehad, het eerste beeldherstelkader dat is ontworpen om het beeldherstelmodel te laten leiden met behulp van menselijke instructies. Voor natuurlijke taalprompts kan het InstructIR-model hoge-kwaliteit beelden herstellen uit hun gedegradeerde tegenhangers en houdt het ook rekening met meerdere degradatietypes. Het InstructIR-kader is in staat om state-of-the-artprestaties te leveren op een breed scala aan beeldhersteltaak, waaronder het verwijderen van regen, ruis, nevel, onscherpte en het verbeteren van laaglichtbeelden.












