Tesi Robotica Algoritmi ed architetture per la risoluzione di... | Page 27
1.5. FILTRO DI SMOOTHING GAUSSIANO
27
Per fissare maggiormente le idee ed evidenziare il fenomeno di amplificazione che
si riscontra iterando l’operazione su più scale, presentiamo il seguente esempio :
1. Dimensione dell’immagine: 640 ◊ 480;
2. Raggio gaussiana ‡ = 1.5;
3. Numero Scale pari a 4;
4. Fattore moltiplicativo per il raggio J =
Ô
2.
Per poter applicare coerentemente la maschera costruita sulla nostra gaussiana,
ipotizziamo di sottoporre la nostra immagine campione ad un’operazione di Zero
Padding 1 . L’immagine risultante avrà dimensione 650x490.
Riportiamo nella tabella sottostante, il numero di operazioni che vengono eseguite per ciascuna scala:
Scala
1
2
3
4
Totale
Dimensioni del Kernel
9◊9
13 ◊ 13
19 ◊ 19
25 ◊ 25
# Moltiplicazioni
25798500
53826500
114978500
199062500
393666000
# Somme
25480000
53508000
114660000
198744000
392392000
Tabella 1.3: Operazioni per il calcolo della convoluzione 2D
Ne concludiamo che il numero di operazioni, che siano addizioni o moltiplicazioni, risulta essere strettamente proporzionale alle dimensioni dell’immagine e al
numero di coe cienti di cui il kernel è costituito. Riteniamo che queste conclusioni non ci soddisfano. Richiedere una complessità computazionale del genere
implicherebbe la crescita della quantità di risorse che deve essere istanziata al
crescere dell’immagine. Inoltre notiamo che la complessità dipende pesantemente anche dalla scala che stiamo considerando, in quanto all’interno del calcolo
è presente il termine K che sta appunto ad indicare la dimensione del Kernel
utilizzato. La domanda che ora ci poniamo è: possiamo fare meglio di così?
1 In pratica considereremo i valori oltre i bordi uguali a zero, pertanto non daranno
contributo alla moltiplicazione