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