fond_IP

Utilizzo della Trasformata di Fourier


Gran parte delle analisi che si effettuano sulle immagini si compiono nel dominio spaziale, ma se si vogliono eliminare informazioni legate ad errori periodici é necessario operare nel campo delle frequenze, questo evidentemente prima di analizzare l’immagine.
La Trasformata di Fourier (FFT) permette di convertire l’immagine da analizzare nel campo delle frequenze.
Un’immagine puo’ possedere un rumore periodico, visibile per esempio sotto forma di un banding causato da particolari processi di conversione in formato digitale, a problemi legati al sensore CCD od altro. Nel campo delle frequenze questo noise ricorrente si riduce ad un limitato set di alte frequenze spaziali.
E’ possibile impiegare tecniche od algoritmi particolari per isolare e rimuovere le frequenze indesiderate dall’immagine. Eliminando queste frequenze e convertendo l’immagine FFT verso il dominio spaziate (Inversa FFT) si otterrà una nuova immagine in cui il rumore periodico risulterà ridotto, se non eliminato, salvaguardando le informazioni dell’immagine originaria.
.
Sorvolero’ sulla teoria del segnale legata a questa particolare procedura; i link sottostanti potranno aiutare a chiarire alcuni aspetti legati a questa tecnica utilizzata anche nel settore dell’analisi di immagini satellitari:

http://www.reindeergraphics.com/content/view/183/131/
http://www.fftw.org/links.html
http://www.leadtools.com/SDK/Functions/FourierTransformDisplay.htm
http://people.uncw.edu/hermanr/signals/index.htm
http://www.cs.unm.edu/~brayer/vision/fourier.html
...e molti altri ancora, cercate come sempre su Internet.
 

Come esempio pratico propongo alcune illustrazioni tratte dal mio corso di Remote Sensing e GIS.
Lo zoom della zona evidenziata nell’immagine ASTER (Level 1A) presenta un marcato banding verticale che maschera in parte l’informazione originaria presente.

aster_fft_AOI
aster_fft_AOI_zoom aster_fft_AOI_fft

Convertendo l’immagine nel dominio delle frequenze, si puo’ osservare la presenza di due “bracci” verticali ed orizzontali, una zona piu’ densa al centro ed in corrispondenza del braccio orizzontale, sul bordo destro e sinistro, una zona piu’ scura. Rappresentando secondo una superficie 3D ed in falsi colori il grafico FFT si possono meglio osservare le peculiarità della superficie calcolata.
Il modello 3D é stato ottenuto utilizzando il programma ImageJ, software di analisi di immagine estremamente interessante che consiglio vivamente di prendere in considerazione se volete approfondire la materia, considerando inoltre che é gratuito.

SurfacePlot_fft1

Utilizzando un apposito tool per mascherare le zone che si vogliono eliminare, vengono disegnati dei poligoni in corrispondenza dei bracci e delle zone esterne. Si calcola il processo di trasformazione Inversa di Fourier ed il risultato ottenuto si puo’ osservare in basso a destra: l’immagine non presenta piu’ alcun banding e le informazioni  sono nettamente piu’ chiare e leggibili.

aster_fft_AOI_fft_mask
aster_fft_AOI_fft_inverse

Come termine di paragone ho voluto visualizzare l’immagine prima e dopo il trattamento tramite FFT; l’immagine sottostante parla da se.

aster_fft_before_after

Puo’ accadere che si vogliano invece mantenere le informazioni legate al rumore periodico e quantomento alle informazioni legate alle alte frequenze presenti nell’immagine.
La procedure é la medesima anche in questo caso, solo che al posto di mascherare le informazioni concernenti le frequenze periodiche, si utilizzerà una maschera per “nascondere” le informazioni presenti nell’immagine.
Nell’esempio che riporto si é in presenza di un’immagine ASTER Level 1A in cui lo spettro di Fourier evidenzia la chiara presenza di un errore periodico rappresentato come una serie di bande semi-orizzontali piu’ chiare. Mascherando la parte centrale ed effettuando il procedimento inverso si ottiene un’immagine in cui sono presenti solo le informazioni legate all’errore periodico ma ANCHE alcune informazioni che risultano essere interessanti per l’applicazione che ci si propone, cioé la digitalizzazione delle strutture stradali.
Emerge chiaramente come queste risultino molto meglio’ visibili nell’immagine filtrata che non in quella di origine (passate con la punta del mouse ed uscite per visualizzare in alternanza le due foto); altre applicazioni possono essere legate alle determinazione di lineazioni particolari, pattern urbani, estrazione di contorni....

fft fft_mask

In occasione del 5th EARSeL SIGIS workshop “IMAGING SPECTROSCOPY: Innovation in Environmental Research” tenutosi nella stupenda citta belga di Bruges ho avuto modo di incontrare il Dr. Alessandro Balducci. In seguito ad una “sbirciata” sul queste pagine, mi ha inviato gentilmente alcuni commenti sulle caratteristiche del crocefilo e come trattare l’immagine spettrale.
Riporto di seguito il suo testo integrale, che spero possa risultare utile a chi interessato:

[...] Per quanto riguarda l'FFT volevo suggerirti una spiegazione dell'effetto "crocefilo" che è presente nello spettro di Fourier di quasi tutte le immagini digitali siano esse telerilevate o no. La presenza di queste due barre a forma di croce dipende da due motivi diversi.
1) Il primo motivo è connesso al fatto che l'FFT calcola la trasformata di Fourier di segnali bidimensionali periodici. L'algoritmo periodicizza l'immagine che tu gli passi replicandola in tutte le possibili posizioni adiacenti senza sovrapposizione in modo da piastrellare tutto il piano x-y. L'FFT calcola la trasformata di Fourier di questa super immagine periodicizzata che si estende fino ad infinito in tutte le direzioni del piano. Purtroppo però l'immagine iniziale non è un segnale periodico e questa sua replicazione in tutte le posizioni adiacenti genera dei salti d'intensità molto forti ai bordi, la dove il bordo dx si congiunge al bodo sx, etc. L'insieme di queste discontinuità di salto distribuite su un grigliato ortogonale nel dominio della superimmagine è in parte responsabile dell'effetto "crocefilo". Se vuoi eliminare questo contributo devi apodizzare l'immagine prima di farne l'FFT. Ciò significa che devi moltiplicare l'immagine per una funzione "a campana" (ad esempio una gaussiana) che vada a zero in modo continuo su tutti i bordi dell'immagine. La funzione di apodizzazione varrà uno al centro (e forse in un'ampia zona centrale) dell'immagine. Questo ridurrà il crocefilo senza toglierlo del tutto.
2) Il secondo motivo risiede in una proprietà matematica più complicata: l'immagine di cui calcoli l'FFT è in realtà limitata da un campo di vista che ha forma rettangolare. Essa è l'immagine estesa (ad esempio l'immagine di tutta l'Europa) moltiplicata per una funzione di pupilla rettangolare, ad esempio il prodotto di due funzioni rect(x/L) per rect(y/H), dove L ed H sono le due dimensioni dell'immagine. Quando fai la trasformata di Fourier di questo prodotto, in virtù del teorema della convoluzione ottieni la convoluzione del vero spettro dell'immagine estesa (senza crocefilo) per lo spettro del prodotto delle due rect(). Quest'ultimo termine è dato dal prodotto di due funzioni sinc(Lfx)sinc(Hfy). Ora lo spettro dell'immagine estesa (qualunque essa sia) ha sempre un picco d'intensità enorme a frequenza nulla (numericamente uguale alla somma delle intensità dell'immagine in tutti i suoi pixel), che da un punto di vista pratico si comporta come una delta di Dirac. Nel prodotto di convoluzione questo picco centrale aggiunge allo spettro dell'immagine le due sinc() in questione, una orizzontale ed una verticale, centrate sul centro dell'immagine. Queste due sinc() contribuiscono all'effetto crocefilo. Se vuoi eliminare questo contributo all'effetto crocefilo devi semplicemente annullare il valore medio dell'immagine prima di eseguire l'FFT. Per questo scopo converti l'immagine in virgola mobile, possibilmente in doppia precisione. Poi calcola la media dell'immagine (somma tutti i pixel e dividi il risultato per il numero di pixel nell'immagine) e sottraila da ciascun pixel di essa. L'immagine che ottieni avrà media nulla e, se ne calcoli l'FFT vedrai un effetto crocefilo estremamente basso. Attenzione però nel calcolo della media è molto importante utilizzare una precisione molto alta, altrimenti l'effetto crocefilo sopravviverà. In pratica, il calcolo non lo si può fare in una rappresentazione intera dei dati.
 
Se vuoi ridurre fortemente l'effetto crocefilo prima devi annullare la media dell'immagine, quindi devi apodizzare l'immagine risultante. A questo punto se fai l'FFT il crocefilo sarà poco visibile e talvolta scomparso.

GuestBook

GIS, Remote Sensing, Geologia, Geomorfologia, 3D, DEM, Mining, Trilobiti, Stromatoliti, Lagerstätten
Contacts: Enrico Bonino

On Internet Enrico Bonino web site




Questo sito è affiliato al Membro del Club Paleontologico Italiano Club Paleontologico Italiano

Powered by WebRing.
GuestBook

Lasciate le vostre impressioni e consigli nel guestbook per migliorare questo sito.
Leave your comments in the guestbook to ameliorate this website.
Laissez vos impressions, idées, considerations dans le guestbook pour amèliorer ce site.