Nell'elaborazione delle immagini, la super-risoluzione si riferisce al processo di miglioramento della risoluzione spaziale, cioè del livello di dettaglio di un'immagine. L'obiettivo di questo articolo è presentare la super-risoluzione basata sul Deep Learning, con alcune applicazioni utili e un semplice esempio da visualizzare.
Che cos'è la super-risoluzione?
La super-risoluzione è un insieme di algoritmi e tecniche utilizzate per migliorare, aumentare e sovracampionare la risoluzione di un'immagine in ingresso.
In altre parole, consiste nel prendere un'immagine di input e aumentarne le dimensioni. In altre parole, la sua larghezza e la sua altezza con un minimo degrado della qualità. Idealmente, la qualità non si degrada, e questo è l'obiettivo della super-risoluzione. Quasi tutti hanno provato a ingrandire un'immagine e hanno scoperto che diventa meno nitida o addirittura sfocata.
La maggior parte dei software di fotoritocco (Photoshop, GIMP, ecc.) utilizza tecniche e algoritmi di interpolazione classici:
- interpolazione nearest neighbour
- interpolazione lineare
- interpolazione bicubica
- ...
Perché usare la super-risoluzione?
Ci sono molte ragioni per utilizzare la super-risoluzione. Ma la super-risoluzione non è un processo gratuito in termini di potenza di calcolo (scelta della piattaforma di elaborazione, energia, requisiti di spazio, ecc.) Quindi il suo utilizzo deve essere giustificato! Ad esempio, quando si utilizza una fotocamera visibile standard, che ha ancora un prezzo ragionevole, è meglio cambiare la fotocamera piuttosto che effettuare l'elaborazione della super-risoluzione. D'altra parte, per gli esempi seguenti, la super-risoluzione è essenziale:
- Telecamere costose: è il caso, ad esempio, delle telecamere MWIR (Middle Wave Infrared). Queste telecamere sono generalmente limitate a una risoluzione di 640×480 pixel e possono costare diverse decine di migliaia di euro.
- Telecamera già esistente in un prodotto industrializzato: spesso è più semplice implementare la super-risoluzione che cambiare la telecamera in un prodotto industrializzato e qualificato (urti, vibrazioni, EMC, ecc.). Questo può essere il caso, ad esempio, di alcuni prodotti militari.
Modelli di super-risoluzione (compatibili con OpenCV)
È possibile implementare diversi modelli di super-risoluzione. Eccone solo alcuni. La maggior parte si basa sull'intelligenza artificiale (Deep Learning).
- EDSR - Reti residuali profonde potenziate per la super-risoluzione di immagini singole
- ESPRC - Super-risoluzione in tempo reale di immagini e video singoli mediante una rete neurale convoluzionale efficiente a livello di subpixel
- FSRCNN - Accelerazione della rete neurale convoluzionale a super-risoluzione
- LapSRN - Super-risoluzione veloce e accurata con reti piramidali laplaciane profonde
Questi modelli possono essere implementati per essere eseguiti in tempo reale su piattaforme embedded come NIVDIA TX2, Xavier e così via.

Esempio di super-risoluzione
Come esempio, presentiamo il risultato di un'implementazione del nostro modello di super-risoluzione basato sul Deep Learning. Abbiamo preso il nostro logo Imasolia a bassa risoluzione e lo abbiamo iniettato nel nostro modello. Il risultato è significativamente meno pixelato e più gradevole alla vista. Abbiamo aumentato la risoluzione di un fattore di circa x4.


Un altro esempio, questa volta tratto dalla letteratura, è mostrato di seguito. Sono stati utilizzati e confrontati diversi modelli sull'immagine di Lenna. I risultati non vengono discussi in questa sede perché non è questo lo scopo dell'articolo. L'obiettivo è dimostrare che è possibile utilizzare diversi modelli con i loro vantaggi e svantaggi.

Conclusione
In questo articolo abbiamo introdotto il concetto di super-risoluzione con modelli basati sul Deep Learning. Ne abbiamo spiegato i vantaggi e le modalità di implementazione su GPU e piattaforme embedded per l'elaborazione in tempo reale. In effetti, siamo specialisti nell'implementazione di questo tipo di elaborazione delle immagini su piattaforme embedded NVIDIA!
Imasolia offre i suoi algoritmi di super-risoluzione con Deep Learning per le vostre applicazioni specifiche. Contattateci per discutere le vostre esigenze.