Connect with us

Intelligenza artificiale

InstructIR: Ripristino di immagini di alta qualità in base a istruzioni umane

mm
High-Quality Image Restoration Following Human Instructions

Un’immagine può trasmettere molto, ma può anche essere rovinata da vari problemi come sfocatura da movimento, nebbia, rumore e basso range dinamico. Questi problemi, comunemente noti come degradazioni nella visione computerizzata di basso livello, possono derivare da condizioni ambientali difficili come caldo o pioggia o dalle limitazioni della stessa macchina fotografica. Il ripristino delle immagini rappresenta una sfida fondamentale nella visione computerizzata, che si sforza di recuperare un’immagine pulita e di alta qualità da una che presenta tali degradazioni. Il ripristino delle immagini è complesso perché potrebbero esserci molte soluzioni per il ripristino di qualsiasi immagine data. Alcuni approcci si concentrano su degradazioni specifiche, come la riduzione del rumore o la rimozione della sfocatura o della nebbia.

Mentre questi metodi possono produrre buoni risultati per problemi specifici, spesso faticano a generalizzare attraverso diversi tipi di degradazione. Molti framework utilizzano una rete neurale generica per un’ampia gamma di compiti di ripristino delle immagini, ma queste reti vengono addestrate separatamente. La necessità di modelli diversi per ogni tipo di degradazione rende questo approccio computazionalmente costoso e lungo, portando a concentrarsi su modelli di ripristino All-In-One negli sviluppi recenti. Questi modelli utilizzano un singolo modello di ripristino cieco profondo che affronta più livelli e tipi di degradazione, spesso utilizzando prompt o vettori di guida specifici per la degradazione per migliorare le prestazioni. Sebbene i modelli All-In-One mostrino generalmente risultati promettenti, affrontano ancora sfide con problemi inversi.

InstructIR rappresenta un approccio innovativo nel campo, essendo il primo framework di ripristino delle immagini progettato per guidare il modello di ripristino attraverso istruzioni scritte dall’uomo. Può elaborare prompt di linguaggio naturale per recuperare immagini di alta qualità da quelle degradate, considerando vari tipi di degradazione. InstructIR stabilisce un nuovo standard di prestazioni per un’ampia gamma di compiti di ripristino delle immagini, tra cui deraining, denoising, dehazing, deblurring e miglioramento di immagini a bassa luce.

Questo articolo si propone di coprire il framework InstructIR in profondità, ed esploriamo il meccanismo, la metodologia, l’architettura del framework insieme al suo confronto con framework di generazione di immagini e video di stato dell’arte. Quindi, iniziamo.

InstructIR: Ripristino di immagini di alta qualità

Il ripristino delle immagini è un problema fondamentale nella visione computerizzata, poiché si propone di recuperare un’immagine pulita e di alta qualità da un’immagine che presenta degradazioni. Nella visione computerizzata di basso livello, le degradazioni sono un termine utilizzato per rappresentare effetti sgradevoli osservati all’interno di un’immagine come sfocatura da movimento, nebbia, rumore, basso range dinamico e altro. Il motivo per cui il ripristino delle immagini è una sfida inversa complessa è perché potrebbero esserci molte soluzioni diverse per il ripristino di qualsiasi immagine. Alcuni framework si concentrano su degradazioni specifiche, come la riduzione del rumore o la rimozione della sfocatura o della nebbia. 

I recenti metodi di apprendimento profondo hanno mostrato prestazioni più forti e coerenti rispetto ai metodi tradizionali di ripristino delle immagini. Questi modelli di ripristino delle immagini basati sull’apprendimento profondo propongono di utilizzare reti neurali basate su Transformer e reti neurali convoluzionali. Questi modelli possono essere addestrati in modo indipendente per diversi compiti di ripristino delle immagini e possiedono anche la capacità di catturare interazioni di caratteristiche locali e globali e migliorarle, risultando in prestazioni soddisfacenti e coerenti. Sebbene alcuni di questi metodi possano funzionare adeguatamente per tipi specifici di degradazione, di solito non si estendono bene a diversi tipi di degradazione. Inoltre, mentre molti framework esistenti utilizzano la stessa rete neurale per una moltitudine di compiti di ripristino delle immagini, ogni formulazione della rete neurale viene addestrata separatamente. Quindi, è ovvio che l’utilizzo di un modello neurale separato per ogni degradazione concepibile è impraticabile e lungo, il che è il motivo per cui i recenti framework di ripristino delle immagini si sono concentrati su modelli di ripristino All-In-One.

I modelli di ripristino All-In-One o multi-degradazione o multi-compito stanno guadagnando popolarità nel campo della visione computerizzata, poiché sono in grado di ripristinare più tipi e livelli di degradazione in un’immagine senza la necessità di addestrare i modelli in modo indipendente per ogni degradazione. I modelli di ripristino All-In-One utilizzano un singolo modello di ripristino cieco profondo per affrontare diversi tipi e livelli di degradazione dell’immagine. Diversi modelli All-In-One implementano approcci diversi per guidare il modello cieco a ripristinare l’immagine degradata, ad esempio un modello ausiliario per classificare la degradazione o vettori di guida multi-dimensionali o prompt per aiutare il modello a ripristinare diversi tipi di degradazione all’interno di un’immagine. 

Detto questo, arriviamo alla manipolazione dell’immagine basata sul testo, poiché è stata implementata da diversi framework negli ultimi anni per la generazione di immagini da testo e compiti di editing delle immagini basati sul testo. Questi modelli spesso utilizzano prompt di testo per descrivere azioni o immagini insieme a modelli basati sulla diffusione per generare le immagini corrispondenti. L’ispirazione principale per il framework InstructIR è il framework InstructPix2Pix che consente al modello di modificare l’immagine utilizzando istruzioni dell’utente che istruiscono il modello su quale azione eseguire invece di etichette di testo, descrizioni o didascalie dell’immagine di input. Di conseguenza, gli utenti possono utilizzare testi scritti naturalmente per istruire il modello su quale azione eseguire senza la necessità di fornire immagini di esempio o ulteriori descrizioni di immagini. 

Basandosi su queste basi, il framework InstructIR è il primo modello di visione computerizzata che utilizza istruzioni scritte dall’uomo per raggiungere il ripristino delle immagini e risolvere problemi inversi. Per prompt di linguaggio naturale, il modello InstructIR può recuperare immagini di alta qualità dalle loro controparti degradate e tiene anche conto di più tipi di degradazione. Il framework InstructIR è in grado di offrire prestazioni di stato dell’arte su un’ampia gamma di compiti di ripristino delle immagini, tra cui deraining, denoising, dehazing, deblurring e miglioramento di immagini a bassa luce. In contrasto con lavori esistenti che raggiungono il ripristino delle immagini utilizzando vettori di guida appresi o incorporamenti di prompt, il framework InstructIR utilizza prompt di testo grezzo dell’utente. Il framework InstructIR è in grado di generalizzare al ripristino delle immagini utilizzando istruzioni scritte dall’uomo e il singolo modello All-In-One implementato da InstructIR copre più compiti di ripristino rispetto ai modelli precedenti. La seguente figura dimostra i diversi campioni di ripristino del framework InstructIR. 

InstructIR : Metodo e Architettura

Al suo nucleo, il framework InstructIR consiste in un encoder di testo e un modello di immagine. Il modello utilizza il framework NAFNet, un modello di ripristino delle immagini efficiente che segue un’architettura U-Net come modello di immagine. Inoltre, il modello implementa tecniche di routing dei compiti per apprendere più compiti utilizzando un singolo modello con successo. La seguente figura illustra l’approccio di addestramento e valutazione per il framework InstructIR. 

Traggono ispirazione dal modello InstructPix2Pix, il framework InstructIR adotta istruzioni scritte dall’uomo come meccanismo di controllo, poiché non c’è bisogno che l’utente fornisca informazioni aggiuntive. Queste istruzioni offrono un modo espressivo e chiaro per interagire, consentendo agli utenti di indicare la posizione esatta e il tipo di degradazione nell’immagine. Inoltre, utilizzare prompt dell’utente invece di prompt specifici per la degradazione fissi migliora l’usabilità e le applicazioni del modello, poiché può anche essere utilizzato da utenti che non hanno le competenze di dominio richieste. Per dotare il framework InstructIR della capacità di comprendere prompt diversi, il modello utilizza GPT-4, un grande modello linguistico per creare richieste diverse, con prompt ambigui e poco chiari rimossi dopo un processo di filtraggio. 

Encoder di testo

Un encoder di testo è utilizzato dai modelli linguistici per mappare i prompt dell’utente su un’incorporazione di testo o una rappresentazione di vettore di dimensione fissa. Tradizionalmente, l’encoder di testo di un modello CLIP è un componente vitale per la generazione di immagini basata sul testo e i modelli di manipolazione delle immagini basati sul testo per codificare i prompt dell’utente, poiché il framework CLIP eccelle nei prompt visivi. Tuttavia, la maggior parte delle volte, i prompt dell’utente per le caratteristiche di degradazione presentano poco o nessun contenuto visivo, rendendo quindi inutili i grandi encoder CLIP per tali compiti, poiché ciò ostacolerebbe notevolmente l’efficienza. Per affrontare questo problema, il framework InstructIR opta per un encoder di frase di testo addestrato per codificare frasi in uno spazio di incorporazione significativo. Gli encoder di frasi sono pre-addestrati su milioni di esempi e sono compatti ed efficienti in confronto agli encoder di testo CLIP tradizionali, avendo la capacità di codificare la semantica di prompt dell’utente diversi. 

Guida del testo

Un aspetto importante del framework InstructIR è l’implementazione dell’istruzione codificata come meccanismo di controllo per il modello di immagine. Basandosi su questo e ispirandosi al routing dei compiti per l’apprendimento di molti compiti, il framework InstructIR propone un blocco di costruzione di istruzioni o ICB per abilitare trasformazioni specifiche del compito all’interno del modello. Il routing dei compiti convenzionale applica maschere binarie specifiche del compito ai canali delle caratteristiche. Tuttavia, poiché il framework InstructIR non conosce la degradazione, questa tecnica non viene implementata direttamente. Inoltre, per le caratteristiche dell’immagine e le istruzioni codificate, il framework InstructIR applica il routing dei compiti e produce la maschera utilizzando un livello lineare attivato utilizzando la funzione Sigmoid per produrre un set di pesi in base alle incorporazioni di testo, ottenendo così una maschera binaria per canale c-dimensionale. Il modello migliora ulteriormente le caratteristiche condizionate utilizzando un blocco NAF e utilizza il blocco NAF e il blocco di istruzioni condizionate per condizionare le caratteristiche sia nel blocco dell’encoder che nel blocco del decoder. 

Sebbene il framework InstructIR non condizioni esplicitamente i filtri della rete neurale, la maschera consente al modello di selezionare i canali più rilevanti in base all’istruzione e alle informazioni dell’immagine. 

InstructIR: Implementazione e Risultati

Il modello InstructIR è addestrabile end-to-end e il modello di immagine non richiede un pre-addestramento. Solo le proiezioni di incorporazione di testo e la testa di classificazione devono essere addestrate. L’encoder di testo viene inizializzato utilizzando un encoder BGE, un encoder simile a BERT pre-addestrato su una grande quantità di dati supervisionati e non supervisionati per la codifica generica delle frasi. Il framework InstructIR utilizza il modello NAFNet come modello di immagine e l’architettura di NAFNet consiste in un encoder-decoder a 4 livelli con un numero variabile di blocchi a ogni livello. Il modello aggiunge anche 4 blocchi intermedi tra l’encoder e il decoder per migliorare ulteriormente le caratteristiche. Inoltre, invece di concatenare per le connessioni di skip, il decoder implementa l’addizione e il modello InstructIR implementa solo il blocco ICB o il blocco di istruzioni condizionate per il routing dei compiti solo nell’encoder e nel decoder. Il modello InstructIR viene ottimizzato utilizzando la perdita tra l’immagine ripristinata e l’immagine pulita di riferimento e la perdita di cross-entropia viene utilizzata per la testa di classificazione delle intenzioni dell’encoder di testo. Il modello InstructIR utilizza l’ottimizzatore AdamW con una dimensione del batch di 32 e un tasso di apprendimento di 5e-4 per quasi 500 epoche e implementa anche il decadimento del tasso di apprendimento della cosine annealing. Poiché il modello di immagine nel framework InstructIR comprende solo 16 milioni di parametri e ci sono solo 100.000 parametri di proiezione di testo appresi, il framework InstructIR può essere facilmente addestrato su GPU standard, riducendo così i costi computazionali e aumentando l’applicabilità. 

Risultati di degradazione multipla

Per degradazioni multiple e ripristini multi-compito, il framework InstructIR definisce due configurazioni iniziali:

  1. 3D per modelli di degradazione a tre vie per affrontare problemi di degradazione come dehazing, denoising e deraining. 
  2. 5D per modelli di degradazione a cinque vie per affrontare problemi di degradazione come denoising delle immagini, miglioramento di immagini a bassa luce, dehazing, denoising e deraining. 

Le prestazioni dei modelli 5D sono dimostrate nella seguente tabella e le confronta con modelli di ripristino delle immagini e modelli All-In-One di stato dell’arte. 

Come si può osservare, il framework InstructIR con un modello di immagine semplice e solo 16 milioni di parametri può gestire cinque diversi compiti di ripristino delle immagini con successo grazie alla guida basata sulle istruzioni e fornisce risultati competitivi. La seguente tabella dimostra le prestazioni del framework sui modelli 3D e i risultati sono paragonabili ai risultati sopra. 

L’aspetto principale del framework InstructIR è il ripristino delle immagini basato sulle istruzioni e la seguente figura dimostra le incredibili capacità del modello InstructIR di comprendere una vasta gamma di istruzioni per un compito dato. Inoltre, per un’istruzione avversariale, il modello InstructIR esegue un’identità che non è forzata. 

Pensieri finali

Il ripristino delle immagini è un problema fondamentale nella visione computerizzata, poiché si propone di recuperare un’immagine pulita e di alta qualità da un’immagine che presenta degradazioni. Nella visione computerizzata di basso livello, le degradazioni sono un termine utilizzato per rappresentare effetti sgradevoli osservati all’interno di un’immagine come sfocatura da movimento, nebbia, rumore, basso range dinamico e altro. In questo articolo, abbiamo parlato di InstructIR, il primo framework di ripristino delle immagini del mondo che si propone di guidare il modello di ripristino delle immagini utilizzando istruzioni scritte dall’uomo. Per prompt di linguaggio naturale, il modello InstructIR può recuperare immagini di alta qualità dalle loro controparti degradate e tiene anche conto di più tipi di degradazione. Il framework InstructIR è in grado di offrire prestazioni di stato dell’arte su un’ampia gamma di compiti di ripristino delle immagini, tra cui deraining, denoising, dehazing, deblurring e miglioramento di immagini a bassa luce. 

Un ingegnere per professione, uno scrittore per passione. Kunal è uno scrittore tecnico con un profondo amore e comprensione di AI e ML, dedicato a semplificare concetti complessi in questi campi attraverso la sua documentazione coinvolgente e informativa.