Mai più immagini sfuocate grazie al software SmartDeblur

Vladimir Yuzhikov ha creato un'applicazione per Windows chiamata SmartDeblur che ricostruisce i dettagli in immagini anche pesantemente sfuocate o mosse: i risultati sono sorprendenti, artefatti a parte.

Avatar di Francesco Pignatelli

a cura di Francesco Pignatelli

Lo sviluppatore Vladimir Yuzhikov ha creato un'applicazione per Windows in grado di ricostruire i dettagli degli oggetti fotografati in immagini pesantemente sfuocate per un'errata messa a fuoco o perché la fotocamera non era ferma al momento dello scatto. L'applicazione si chiama SmartDeblur e per ora serve solo a dimostrare che l'approccio seguito da Yuzhikov è corretto, ma porta già risultati decisamente superiori ai filtri e plugin anti-sfuocatura sviluppati dalle software house commerciali, anche se la resa delle immagini "riparate" mostra ancora una buona dose di artefatti.

Uno dei primi esperimenti di Yuzhikov: il recupero di una sua fotografia sfuocata usando un programma di fotoritocco

Secondo Yuzhikov nessun software commerciale riesce a recuperare in modo adeguato la perdita dei dettagli legata alla sfocatura da movimento o da errata messa a fuoco. Lo sviluppatore spiega però che un punto sfuocato in realtà non ha perso il suo contenuto informativo (in sintesi, ciò che il punto dovrebbe raffigurare): questo è solo ridistribuito intorno al punto stesso secondo leggi ben precise legate al tipo di sfocatura. Proprio per questo la redistribuzione dell'informazione può essere quasi completamente invertita per arrivare a ciò che ogni punto dell'immagine di partenza avrebbe mostrato senza sfocatura.

Il recupero di un'immagine sfuocata mettendo a fuoco in maniera errata: si notano artefatti a forma circolare intorno ai bordi ma il dettaglio è molto più elevato

La ricostruzione di un'immagine sfuocata richiede l'applicazione di teorie matematiche che secondo Yuzhikov esistono da decenni ma che possono essere integrate con successo in un software "normale" solo in questi anni, grazie alla potenza dei moderni personal computer. Semplificando al massimo, l'approccio che ha portato a Smart Deblur prevede che un'immagine monocromatica sfuocata sia una funzione bidimensionale g(x,y) derivante dalla convoluzione dell'immagine ideale f(x,y) con una funzione di sfocatura h(x,y), sommata poi al rumore n(x,y) generato dal sensore della fotocamera. La funzione h dipende dal tipo di sfocatura: nel caso di una messa a fuoco sbagliata trasforma un punto in un cerchio, nel caso invece del movimento lo trasforma in un breve segmento parallelo alla direzione del movimento stesso. Per le immagini a colori vale lo stesso ragionamento, applicato ai tre canali RGB.

Il problema di recuperare un'immagine sfuocata diventa quindi quello di arrivare a un'approssimazione dell'immagine ideale applicando alcuni metodi di deconvoluzione fra formule che sono noti da diverso tempo, semplificando il processo con alcune assunzioni iniziali, ad esempio sulla distribuzione dell'immagine del rumore elettronico generato dal sensore.

L'eliminazione della sfocatura legata al movimento della macchina: anche qui ci sono artefatti, ma meno evidenti e di forma diversa

Yuzhikov ha concretizzato queste teorie in un suo software e ha effettuato diverse prove della sua efficacia. Prima gli ha dato in pasto immagini sfuocate artificialmente con un filtro di sfuocatura, poi immagini sfuocate "naturalmente". I risultati sono sorprendenti perché il livello di recupero dei dettagli è molto elevato. L'unico problema delle immagini generate dal programma di Yuzhikov è la presenza di artefatti: nel caso delle immagini con errata messa a fuoco sono degli anelli intorno ai bordi degli oggetti, per la sfocatura legata al movimento sono linee parallele ai bordi stessi. SmartDeblur ed è scaricabile liberamente dal sito di Yuzhikov.