Blur gaussiano

Nell'elaborazione delle immagini e nell'elaborazione numerica dei segnali il blur gaussiano o sfocatura gaussiana è il risultato della sfocatura di un'immagine mediante una funzione gaussiana che prende il nome dal matematico e scienziato Carl Friedrich Gauss. Funziona pertanto come un filtro.

Si tratta di un effetto ampiamente utilizzato nei software di computer grafica, tipicamente per ridurre il rumore presente in un'immagine. L'effetto visivo di questa tecnica è una sfocatura uniforme che ricorda quella che si ottiene guardando l'immagine attraverso uno schermo traslucido o un vetro satinato ed è pertanto nettamente diversa dall'effetto bokeh prodotto da un obiettivo fuori fuoco o dall'ombra di un oggetto in condizioni di illuminazione normali.

Il blur gaussiano viene utilizzato anche come fase di pre-elaborazione negli algoritmi di visione artificiale per migliorare le strutture dell'immagine a diverse scale.

Una stampa realizzata con la tecnica della retinatura viene resa più morbida tramite il blur gaussiano.

Introduzione formale

L'effetto di blur gaussiano viene tipicamente generato convolgendo un'immagine con un filtro la cui risposta di impulso è gaussiana.[1] Matematicamente, applicare una sfocatura gaussiana a un'immagine equivale ad applicare una convoluzione tra l'immagine ed il filtro. Questa operazione è anche il caso bidimensionale della trasformata di Weierstrass. Il risultato non è da confondere con quello ottenuto con la convoluzione con un cerchio (ovvero, una sfocatura circolare) che invece riprodurrebbe in modo più accurato l'effetto bokeh.

Poiché la trasformata di Fourier di una gaussiana è un'altra gaussiana, l'applicazione del blur ha l'effetto di ridurre le componenti ad alta frequenza dell'immagine fingendo da filtro passa basso.

La sfocatura gaussiana è un tipo di filtro di sfocatura dell'immagine che utilizza una funzione gaussiana per calcolare la trasformazione da applicare a ciascun pixel dell'immagine. La funzione gaussiana in una dimensione è:

Dall'alto verso il basso: immagine originale, immagine filtrata con un filtro in cui , immagine filtrata con un filtro .

in cui con indichiamo il raggio della campana (filtro), che coincide con la deviazione standard della distribuzione di probabilità associata.

In due dimensioni, è il prodotto di due funzioni gaussiane di questo tipo, una in ciascuna dimensione:

dato che:

dove è la distanza dall'origine sull'asse orizzontale, è la distanza dall'origine sull'asse verticale e è la deviazione standard della distribuzione gaussiana.[2] L'origine su questi assi si trova al centro . Applicata in due dimensioni, questa formula produce una superficie i cui contorni sono cerchi concentrici con una distribuzione gaussiana a partire dal punto centrale.

I valori di questa distribuzione vengono utilizzati per costruire una matrice che viene applicata all'immagine originale, eseguendo di fatto una covoluzione in 2 dimensioni. Il nuovo valore di ciascun pixel è calcolato come la media pesata dei valori dei pixel circostanti. Il valore del pixel situato nell'origine riceve il peso maggiore (avendo il valore gaussiano più alto) e i pixel vicini ricevono pesi minori man mano che aumenta la loro distanza dal punto centrale. Di conseguenza i pixel più vicini al contorno tendono ad essere molto più simili agli stessi dell'immagine originale rispetto a quelli centrali.

In teoria, la funzione gaussiana in ogni punto dell'immagine sarà diversa da zero, il che significa che l'intera immagine dovrebbe essere inclusa nei calcoli per ogni pixel. In pratica, quando si calcola un'approssimazione discreta della funzione gaussiana, come conseguenza della disuguaglianza di Čebyšëv, i pixel a una distanza superiore a ricevono un peso trascurabile e possono essere considerati praticamente nulli tali da essere ignorati. Tipicamente, un programma di elaborazione delle immagini deve solo calcolare una matrice con dimensioni ossia la parte intera della deviazione standard per garantire un risultato estremamente vicino a quello teorico.

Proprietà

Oltre ad essere a simmetria circolare, la sfocatura gaussiana può essere applicata a un'immagine bidimensionale come due procedimenti unidimensionali indipendenti, ed è quindi definita un filtro separabile: si applica una serie di convoluzioni discrete nella direzione orizzontale e poi nella direzione verticale. Indicando con l'immagine di partenza e con il filtro, dal punto di vista della complessità computazionale la separazione della matrice in insieme di vettori rappresenta un vantaggio, in quanto l'intero algoritmo di blurring viene effettuato in un tempo:

in cui rappresenta la dimensione orizzontale dell'immagine di partenza e la dimenisione verticale. Il kernel rappresenta la matrice di convoluzione discreta che viene suddivisa in una serie di vettori riga e poi colonna rispettivamente di dimensione e . In pratica facendo una serie di convoluzioni discrete unidimensionali per ciascuna delle 2 dimensioni si completa l'algoritmo in un tempo strettamente minore, qualsiasi siano le dimensioni dell'immagine e del filtro.

Applicare due sfocature gaussiane successive e a un'immagine ha lo stesso effetto dell'applicazione di una singola sfocatura gaussiana con deviazione maggiore, il cui raggio è la radice quadrata della somma dei quadrati dei raggi di sfocatura.

Ad esempio, applicare sfocature gaussiane successive con raggi di 6 e 8 produce gli stessi risultati dell'applicazione di una singola sfocatura gaussiana di raggio 10, poiché .

A causa di questa relazione, non è possibile risparmiare tempo di elaborazione simulando una sfocatura gaussiana con sfocature successive di minore entità: il tempo necessario sarà almeno pari a quello richiesto per eseguire un'unica sfocatura di grandi dimensioni.

Approssimazione della varianza

Per un filtro gaussiano con deviazione standard applicato a un'immagine di pixel in scala di grigi con deviazione standard , la deviazione standard ridotta dell'immagine filtrata può essere approssimata come:

.

Applicazioni

Due immagini ridimensionate della bandiera del Commonwealth delle Nazioni. Prima del ridimensionamento, è stata applicata una sfocatura gaussiana soltanto all'immagine in basso. La sfocatura rende l'immagine meno nitida, ma impedisce la formazione di artefatti di aliasing ed elimina l'interferenza moiré.
Applicazione del filtro laplaciano 2d (riconoscimento bordi) dopo aver applicato il filtro gaussiano per diverse versioni della stessa immagine: più il blur ha una deviazione alta, meno saranno i bordi che verranno rilevati. I bordi che delimitano questo gatto lo rendono irriconoscibile se si parte dall'immagine originale.

Prefiltro nel riconoscimento dei contorni

Il blur gaussiano è comunemente utilizzato come prefiltro nel riconoscimento dei contorni. La maggior parte degli algoritmi di rilevamento dei bordi è sensibile al rumore e l'utilizzo del un filtro prima dell'algoritmo del rilevamento dei bordi mira a ridurne il livello nell'immagine, migliorando così il risultato del successivo algoritmoquesto perché il filtro laplaciano 2D, costruito a partire da una discretizzazione dell'operatore di Laplace, è particolarmente sensibile agli ambienti rumorosi. La serie di filtri è nota come filtro Laplaciano del Gaussiano, o LoG.[3]

Downsampling

Il blur gaussiano è comunemente utilizzato per ridurre le dimensioni di un'immagine (downsampling). Quando si ridimensiona un'immagine, è infatti frequente applicare un filtro passa-basso prima di ricampionarla: questo serve a garantire che le informazioni spurie ad alta frequenza non compaiano nell'immagine ridimensionata e quindi il filtro funge da antialiasing. La sfocatura gaussiana presenta alcune caratteristiche positive, come l'assenza di bordi netti, e quindi non introduce artefatti di ringing nell'immagine filtrata.

Fotografia

Le fotocamere digitali più economiche, comprese molte fotocamere per cellulari di fascia bassa, utilizzano comunemente la sfocatura gaussiana di default per mascherare il rumore dell'immagine causato da sensibilità alla luce più elevate.

La sfocatura gaussiana viene applicata automaticamente come parte dell'elaborazione successiva dell'immagine da parte del firmware della fotocamera, portando a una perdita irreversibile di dettagli.[4]

Voci correlate

Note

  1. ↑ (EN) Lindeberg, Discrete Approximations of Gaussian Smoothing and Gaussian Derivatives, in Journal of Mathematical Imaging and Vision, vol. 66, 1º ottobre 2024, pp. 759–800, Bibcode:2024JMIV...66..759L, DOI:10.1007/s10851-024-01196-9, ISSN 1573-7683, arXiv:2311.11317.
  2. ↑ R.A. Haddad e A.N. Akansu, A class of fast Gaussian binomial filters for speech and image processing, in IEEE Transactions on Signal Processing, vol. 39, n. 3, 1991-03, pp. 723–727, DOI:10.1109/78.80892. URL consultato il 24 luglio 2026.
  3. ↑ Fisher, Spatial Filters - Laplacian of Gaussian, su homepages.inf.ed.ac.uk, 2003. URL consultato il 13 settembre 2010.
  4. ↑ (DE) Ritter, Smartphone-Kameras: Warum gute Fotos zu schießen nicht mehr ausreicht [Kommentar], su GIGA, 24 October 2013. URL consultato il 20 September 2020 (archiviato dall'url originale il 18 luglio 2021).
    «Bei Fotos, die in der Nacht entstanden sind, dominiert Pixelmatsch.»

Collegamenti esterni