Modelli e piattaforme di IA

InstructIR: Restauro di Immagini di Alta Qualità Seguendo Istruzioni Umane

mm
Aggiungi Unite.AI alle tue fonti preferite su Google

Un’immagine può trasmettere molto, ma può anche essere rovinata da vari problemi come sfocatura, nebbia, rumore e basso range dinamico. Questi problemi, comunemente noti come degradazioni nella visione artificiale di basso livello, possono derivare da condizioni ambientali difficili come caldo o pioggia o dalle limitazioni della stessa fotocamera. Il restauro di immagini rappresenta una sfida fondamentale nella visione artificiale, che si sforza di recuperare un’immagine di alta qualità e pulita da una che presenta tali degradazioni. Il restauro di immagini è complesso perché potrebbero esserci molte soluzioni diverse per restaurare qualsiasi immagine. Alcuni approcci si concentrano su degradazioni specifiche, come ridurre il rumore o rimuovere la sfocatura o la 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 una vasta gamma di compiti di restauro di immagini, ma queste reti sono addestrate separatamente. La necessità di diversi modelli per ogni tipo di degradazione rende questo approccio computazionalmente costoso e lungo, portando a concentrarsi su modelli di restauro All-In-One negli sviluppi recenti. Questi modelli utilizzano un singolo modello di restauro cieco profondo per affrontare diversi livelli e tipi di degradazione dell’immagine, spesso utilizzando prompt o vettori di guida specifici della 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 restauro di immagini progettato per guidare il modello di restauro 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 una vasta gamma di compiti di restauro di 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: Restauro di Immagini di Alta Qualità

Il restauro di immagini è un problema fondamentale nella visione artificiale, poiché si propone di recuperare un’immagine di alta qualità e pulita da un’immagine che presenta degradazioni. Nella visione artificiale di basso livello, le degradazioni sono un termine utilizzato per rappresentare effetti sgradevoli osservati all’interno di un’immagine come sfocatura, nebbia, rumore, basso range dinamico e altro. Il motivo per cui il restauro di immagini è una sfida inversa complessa è che potrebbero esserci molte soluzioni diverse per restaurare qualsiasi immagine. Alcuni framework si concentrano su degradazioni specifiche come ridurre il rumore o denoising l’immagine, mentre altri potrebbero concentrarsi di più sulla rimozione della sfocatura o del blur, o sulla rimozione della nebbia o del fumo.

Metodi di apprendimento profondo recenti hanno mostrato prestazioni più forti e più coerenti rispetto ai metodi tradizionali di restauro di immagini. Questi modelli di restauro di 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 restauro di 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, non si estendono generalmente bene a diversi tipi di degradazione. Inoltre, mentre molti framework esistenti utilizzano la stessa rete neurale per una molteplicità di compiti di restauro di immagini, ogni formulazione della rete neurale viene addestrata separatamente. Pertanto, è ovvio che utilizzare un modello neurale separato per ogni degradazione concepibile è impraticabile e lungo, il che è il motivo per cui recenti framework di restauro di immagini si sono concentrati su proxy di restauro All-In-One.

I modelli di restauro All-In-One o multi-degradazione o multi-compito stanno guadagnando popolarità nel campo della visione artificiale, poiché sono in grado di restaurare diversi tipi e livelli di degradazione in un’immagine senza la necessità di addestrare i modelli in modo indipendente per ogni degradazione. I modelli di restauro All-In-One utilizzano un singolo modello di restauro 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 restaurare 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 restaurare diversi tipi di degradazione all’interno di un’immagine.

Con questo detto, arriviamo alla manipolazione di immagini basata sul testo, poiché è stata implementata da diversi framework negli ultimi anni per la generazione di immagini da testo e compiti di editing di 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 scritte dall’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 descrizioni di immagini aggiuntive.

Sulla base di queste basi, il framework InstructIR è il primo modello di visione artificiale che utilizza istruzioni scritte dall’uomo per raggiungere il restauro di 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 diversi tipi di degradazione. Il framework InstructIR è in grado di fornire prestazioni di stato dell’arte su una vasta gamma di compiti di restauro di immagini, tra cui deraining, denoising, dehazing, deblurring e miglioramento di immagini a bassa luce. In contrasto con lavori esistenti che raggiungono il restauro di 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 il restauro di immagini utilizzando istruzioni scritte dall’uomo, e il singolo modello All-In-One implementato da InstructIR copre più compiti di restauro rispetto ai modelli precedenti. La figura seguente dimostra i diversi campioni di restauro del framework InstructIR.

InstructIR: Metodo e Architettura

In sostanza, il framework InstructIR consiste in un encodatore di testo e un modello di immagine. Il modello utilizza il framework NAFNet, un modello di restauro di immagini efficiente che segue un’architettura U-Net come modello di immagine. Inoltre, il modello implementa tecniche di routing del compito per apprendere più compiti utilizzando un singolo modello con successo. La figura seguente illustra l’approccio di addestramento e valutazione per il framework InstructIR.

Trattando 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, permettendo agli utenti di indicare la posizione esatta e il tipo di degradazione nell’immagine. Inoltre, utilizzare prompt dell’utente invece di prompt di degradazione specifici fissi migliora l’usabilità e le applicazioni del modello, poiché può anche essere utilizzato da utenti che mancano dell’esperienza di dominio richiesta. 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.

Encodatore di Testo

Un encodatore di testo è utilizzato dai modelli linguistici per mappare i prompt dell’utente su un’incorporazione di testo o una rappresentazione vettoriale di dimensione fissa. Tradizionalmente, l’encodatore di testo di un modello CLIP è un componente vitale per la generazione di immagini basata sul testo e i modelli di manipolazione di immagini basata 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 encodatori CLIP per tali compiti, poiché ciò ostacolerebbe notevolmente l’efficienza. Per affrontare questo problema, il framework InstructIR opta per un encodatore di testo basato su frasi che è stato addestrato per codificare frasi in uno spazio di incorporazione significativo. Gli encodatori di frasi sono pre-addestrati su milioni di esempi e sono compatti ed efficienti rispetto agli encodatori 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. Sulla base di ciò e ispirato nel routing del compito per l’apprendimento di molti compiti, il framework InstructIR propone un Blocco di Costruzione di Istruzione o ICB per abilitare trasformazioni specifiche del compito all’interno del modello. Il routing del compito convenzionale applica maschere binarie specifiche del compito alle caratteristiche del canale. 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 del compito e produce la maschera utilizzando un livello lineare attivato con la funzione sigmoidale per produrre un set di pesi in base alle incorporazioni di testo, ottenendo così una maschera binaria per canale di dimensione c. Il modello migliora ulteriormente le caratteristiche condizionate utilizzando un blocco NAF e utilizza il blocco NAF e il Blocco di Condizione dell’Istruzione per condizionare le caratteristiche sia nel blocco dell’encodatore che nel blocco del decodificatore.

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

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’encodatore di testo è inizializzato utilizzando un encodatore BGE, un encodatore simile a BERT che è stato pre-addestrato su una grande quantità di dati supervisionati e non supervisionati per la codifica di frasi generiche. Il framework InstructIR utilizza il modello NAFNet come modello di immagine e l’architettura di NAFNet consiste in un encodatore-decodificatore a 4 livelli con un numero variabile di blocchi a ogni livello. Il modello aggiunge anche 4 blocchi intermedi tra l’encodatore e il decodificatore per migliorare ulteriormente le caratteristiche. Inoltre, invece di concatenare per le connessioni di salto, il decodificatore implementa l’addizione e il modello InstructIR implementa solo il Blocco di Condizione dell’Istruzione o ICB per il routing del compito solo nell’encodatore e nel decodificatore. Il modello InstructIR è ottimizzato utilizzando la perdita tra l’immagine restaurata e l’immagine pulita di verità di riferimento e la perdita di entropia incrociata viene utilizzata per la testa di classificazione delle intenzioni dell’encodatore di testo. Il modello InstructIR utilizza l’ottimizzatore AdamW con una dimensione del batch di 32 e una velocità di apprendimento di 5e-4 per quasi 500 epoche e implementa anche il decadimento della velocità di apprendimento della cosina. Poiché il modello di immagine nel framework InstructIR comprende solo 16 milioni di parametri e ci sono solo 100 mila 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 la degradazione multipla e il restauro multi-compito, il framework InstructIR definisce due configurazioni iniziali:

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

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

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

Il punto saliente del framework InstructIR è il restauro di immagini basato sulle istruzioni e la figura seguente 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 restauro di immagini è un problema fondamentale nella visione artificiale, poiché si propone di recuperare un’immagine di alta qualità e pulita da un’immagine che presenta degradazioni. In questo articolo, abbiamo parlato di InstructIR, il primo framework di restauro di immagini che si propone di guidare il modello di restauro 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 diversi tipi di degradazione. Il framework InstructIR è in grado di fornire prestazioni di stato dell’arte su una vasta gamma di compiti di restauro di 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.