Perché i filtri gaussiani vengono utilizzati come filtri passa basso nell'elaborazione delle immagini?


30

Nell'elaborazione del segnale 1d, vengono utilizzati molti tipi di filtri passa basso. Tuttavia, i filtri gaussiani non vengono quasi mai utilizzati.

Perché sono così popolari nelle applicazioni di elaborazione delle immagini? Questi filtri sono il risultato dell'ottimizzazione di qualsiasi criterio o sono solo una soluzione ad hoc dal momento che la "larghezza di banda" dell'immagine di solito non è ben definita.

Risposte:


28

Le applicazioni di elaborazione delle immagini sono diverse dalle applicazioni di elaborazione audio, poiché molte di esse sono ottimizzate per gli occhi. Le maschere gaussiane simulano quasi perfettamente la sfocatura ottica (vedi anche funzioni di diffusione dei punti ). In qualsiasi applicazione di elaborazione delle immagini orientata alla produzione artistica, i filtri gaussiani sono usati per sfocatura per impostazione predefinita.

Un'altra importante proprietà quantitativa dei filtri gaussiani è che sono ovunque non negativi . Questo è importante perché la maggior parte dei segnali 1D varia di circa 0 ( ) e può avere valori positivi o negativi. Le immagini sono diverse nel senso che tutti i valori di un'immagine sono non negativi ( ). La convoluzione con un kernel gaussiano (filtro) garantisce un risultato non negativo, quindi tale funzione associa valori non negativi ad altri valori non negativi ( ). Il risultato è quindi sempre un'altra immagine valida. x R + f : R +R +xRxR+f:R+R+

In generale, il rifiuto della frequenza nell'elaborazione delle immagini non è cruciale come nei segnali 1D. Ad esempio, negli schemi di modulazione i filtri devono essere molto precisi per rifiutare altri canali trasmessi su frequenze portanti diverse e così via. Non riesco a pensare a nulla come un vincolo per i problemi di elaborazione delle immagini.


21

I filtri gaussiani vengono utilizzati nell'elaborazione delle immagini perché hanno una proprietà che il loro supporto nel dominio del tempo è uguale al loro supporto nel dominio della frequenza. Ciò deriva dal fatto che il gaussiano è la sua propria trasformata di Fourier.

Che cosa implica ciò? Bene, se il supporto del filtro è lo stesso in entrambi i domini, ciò significa che il rapporto di entrambi i supporti è 1. Come risulta, ciò significa che i filtri gaussiani hanno il "prodotto minimo in termini di larghezza di banda".

Quindi cosa potresti dire? Bene, nell'elaborazione delle immagini, un compito molto importante è rimuovere il rumore bianco, mantenendo nel contempo bordi salienti. Questo può essere un compito contraddittorio: il rumore bianco esiste a tutte le frequenze allo stesso modo, mentre i bordi esistono nella gamma delle alte frequenze. (Improvvisi cambiamenti nei segnali spaziali). Nella tradizionale rimozione del rumore tramite filtro, un segnale viene filtrato passa-basso, il che significa che i componenti ad alta frequenza nel segnale vengono completamente rimossi.

Ma se le immagini hanno bordi come componenti ad alta frequenza, anche il tradizionale LPF le rimuoverà e, visivamente, questo si manifesta quando i bordi diventano più "macchiati".

Come, quindi, rimuovere il rumore, ma anche preservare i bordi ad alta frequenza? Inserisci il kernel gaussiano. Poiché anche la trasformata di Fourier di un gaussiano è un gaussiano, il filtro gaussiano non ha un netto taglio a una frequenza di banda passante oltre la quale vengono rimosse tutte le frequenze più alte. Invece, ha una coda aggraziata e naturale che diventa sempre più bassa all'aumentare della frequenza. Ciò significa che fungerà da filtro passa basso, ma consentirà anche in componenti di frequenza più elevata commisurati alla velocità con cui la sua coda decade. (D'altra parte, un LPF avrà un prodotto con larghezza di banda di tempo maggiore, perché il suo supporto nel dominio F non è grande quanto quello di un gaussiano).

Ciò consente quindi di ottenere il meglio da entrambi i mondi: la rimozione del rumore e la protezione dei bordi.


2
Non sono sicuro che puoi confrontare direttamente i due supporti poiché uno è misurato in tempo / lunghezza e l'altro in Hz / radianti. La loro morfologia è identica, ma la proprietà di ridimensionamento universale è ancora valida.
Phonon,

Grazie per avermi ricordato il prodotto minimo in termini di larghezza di banda. Tuttavia, come accennato da Phonon, ridurre il supporto del dominio spaziale (~ time) aumenta necessariamente la larghezza di banda. Non c'è modo di sopprimere il rumore e preservare i bordi con un semplice filtro gaussiano. Ecco perché Perona e Malik hanno sviluppato un filtro anisotropico.
nimrodm,

@Phonon Come ho visto, i supporti sono semplicemente quante voci diverse da zero descrivono la funzione in entrambi i domini - credo che siano uguali. (Quindi, rapporto di 1). Detto questo, il prodotto della larghezza di banda temporale viene misurato come un prodotto della varianza della funzione nel tempo e nella frequenza. In che modo la sua normalizzazione differisce dagli autori, l'ho vista equivalente a 1/2 o 1/4.
Spacey

1
@nimrodm "riducendo il supporto del dominio spaziale (~ tempo) aumenta necessariamente la larghezza di banda". Sì, questa è la tendenza , derivante dalla relazione inversa tempo-frequenza. (Questo è da dove proviene l'incertezza frequenza-tempo). Tuttavia, la funzione gaussiana è di una classe che minimizza totalmente questo prodotto. Data la relazione inversa tra tempo e frequenza, non c'è modo di farlo a meno che non abbia lo stesso supporto in entrambi i domini.
Spacey

@nimrodm Nella diffusione anisotropica, i kernel che ho visto sono ancora gaussiani, anche se con matrici di covarianza che dipendono dal gradiente dell'immagine. (È anche un metodo non lineare, levigatura gaussiana VS che è lineare). Ma il gaussiano rimane usato per le sue proprietà.
Spacey

11

Hai già buone risposte, ma aggiungerò solo un'altra proprietà utile dei filtri gaussiani 2D, ovvero che sono separabili , ovvero il filtro 2D può essere scomposto in due filtri 1D. Questa può essere una considerazione importante per le prestazioni per kernel di dimensioni maggiori, poiché un filtro separabile MxN può essere implementato con M+Naggiunte multiple mentre un filtro MxN non separabile richiede M*Naggiunte multiple.


2
Questa è una buona discussione. Un filtro gaussiano 2D è sia radialmente simmetrico che ancora separabile, quindi la complessità dell'implementazione è notevolmente ridotta.
nimrodm,

1
Come riferimento, la Guida dello scienziato e dell'ingegnere al DSP fornisce un'eccellente descrizione di questa proprietà nel capitolo 24 .
Caleb Reister,

6

Il manuale di imagemagick ha una grande spiegazione del perché il filtraggio con funzioni sincere porta a effetti di "squillo" mentre i gaussiani no. ( http://www.imagemagick.org/Usage/fourier/#blurring e http://www.imagemagick.org/Usage/fourier/#circle_spectrum ). Quando hai bordi (discontinuità) nell'immagine (come fanno la maggior parte delle immagini), quindi tagliare completamente tutte le alte frequenze ti lascia con increspature nel dominio spaziale. Suonate anche quando filtrate le onde quadrate con una funzione sinc in una dimensione.


2

Ci sono già state delle belle risposte, ma aggiungerò il mio granello di sale, o piuttosto una prospettiva diversa:

Il filtraggio al livello più astratto può essere considerato come l'applicazione di alcune conoscenze precedenti ad alcuni dati grezzi. Significa che applicare un algoritmo di filtraggio è applicarlo prima di trovare un rapporto segnale-rumore ottimale, per esempio.

Per l'immagine, un precedente classico è la levigatezza dei valori (ad es. Intensità) rispetto alla posizione (questa può essere vista come la funzione di diffusione del punto menzionata da @Phonon). È spesso modellato come gaussiano in quanto è la forma che otterresti quando mescoli diversi oggetti con un raggio di levigatezza noto (questo è chiamato teorema del limite centrale ). Ciò è utile soprattutto quando si desidera creare derivate di un'immagine: piuttosto che differenziarsi dal segnale grezzo (che produrrebbe un output rumoroso), è necessario farlo sull'immagine smussata. Ciò equivale ad applicare un operatore simile a wavelet come i filtri Gabor .

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.