Super-risoluzione in tempo reale e a bordo

Come premessa, questo articolo è complementare a quello intitolato Image Enhancement: Super-Resolution with Deep Learning.

Abbiamo già dimostrato che in vari settori industriali c'è un deciso interesse per l'uso della super-risoluzione. Qui ci concentreremo sul processo di implementazione e sulle prestazioni piuttosto che sul funzionamento intrinseco della super-risoluzione.

Una configurazione funzionale per la super-risoluzione in tempo reale e incorporata

Di seguito presentiamo la configurazione che consideriamo ottimale per l'implementazione su una piattaforma embedded a frequenze maggiori o uguali a 25 Hz.

Utilizzo dell'SDK NVIDIA TensorRT

TensorRT è un SDK fornito da NVIDIA per ottimizzare l'inferenza sulle GPU. Si tratta di una piattaforma di inferenza ad alte prestazioni per il Deep Learning. Include un ambiente di ottimizzazione del processo di inferenza e di runtime che consente un elevato throughput e una bassa latenza per le applicazioni di inferenza di Deep Learning.

TensorRT può essere utilizzato in C++ o in Python. Ma è necessario convertire un modello AI inizialmente in formato ONNX in un modello in formato ENGINE. Durante la conversione è possibile apportare una serie di modifiche al modello, tra cui la dimensione dell'input, la dimensione del batch, la precisione (da FP32 a FP16, vedi INT8), ecc.

Il modello può anche essere adattato in anticipo all'applicazione desiderata (apprendimento, messa a punto, ecc.).

Utilizzo di un NVIDIA Jetson

Le piattaforme Jetson di NVIDIA sono ovviamente ideali per questo tipo di implementazione dell'intelligenza artificiale su GPU (nell'edge computing). I moduli sono di dimensioni ridotte, hanno un'elevata capacità di calcolo delle GPU e consumano pochissima energia. Per ulteriori dettagli su questi moduli, fare clic qui.

Modulo Jetson TX2 Ufficio progettazione Imasolia Optronics
Esempio di modulo NVIDIA Jetson, disponibile sul sito Web di NVIDIA.

Utilizzo del modello ESRGAN

ESRGAN (Enhanced Super-Resolution Generative Adversarial Networks) è una rete neurale artificiale in grado di migliorare la risoluzione di un'immagine. In genere, questo modello è in grado di generare un'immagine a 1080p da un'immagine a 720p.

Altri fattori di ingrandimento sono disponibili su richiesta. In questo modo è possibile migliorare facilmente le risoluzioni delle immagini di un fattore 3 o 4.

Senza entrare nei dettagli matematici, di seguito troverete l'architettura del modello ESRGAN.

Schema dell'architettura del modello ERSGAN, fonte.

Per alcuni progetti, potrebbe esserci chiesto di implementare la super-risoluzione su telecamere specifiche nelle lunghezze d'onda dell'infrarosso (ad esempio). L'interesse è grande, poiché i sensori in questa banda spettrale hanno spesso una bassa risoluzione. Il prezzo di questo tipo di sensore è direttamente proporzionale al numero di pixel.

Il miglioramento dell'immagine via software viene quindi utilizzato per ottimizzare la telecamera. Questo è il caso, ad esempio, delle telecamere SWIR molto specifiche.

È quindi essenziale riaddestrare il modello neurale ESRGAN con immagini provenienti da una telecamera la cui gamma di lunghezze d'onda sarà quella dell'utilizzo finale.

Utilizzo di Docker e Ansible per la distribuzione in produzione

In Imasolia abbiamo anche le competenze per ottimizzare la vostra implementazione industriale, in particolare con Docker, per consentirvi di far lampeggiare i vostri Jetson su larga scala o di distribuire le vostre applicazioni su diverse piattaforme (cross-compilazione).

Offriremo anche un playbook Ansible per la configurazione dell'ambiente applicativo.

Modulo di super risoluzione Imasolia
Modulo di super-risoluzione Imasolia. Per saperne di più, contattateci.

Conclusione

In questo articolo abbiamo analizzato una tipica configurazione hardware e software per migliorare la risoluzione delle immagini in tempo reale su una piattaforma embedded.

Che si tratti di un'immagine nello spettro visibile, nell'infrarosso o in altro modo, le applicazioni di "upscaling" di un'immagine sono numerosissime.

Noi di Imasolia sviluppiamo scatole standard o su misura per la super-risoluzione. Se avete un'esigenza, possiamo aiutarvi, chiedetecelo!

Lascia un commento