ANALISI TOPOGRAFICA E FILTRI PER L`APPROSSIMAZIONE
Transcript
ANALISI TOPOGRAFICA E FILTRI PER L`APPROSSIMAZIONE
Capitolo IV ANALISI TOPOGRAFICA E FILTRI PER L’APPROSSIMAZIONE DELLE DERIVATE 4.1 Introduzione Il presente capitolo e il successivo tratteranno, in modo dettagliato, quanto accennato alla fine del precedente. Si presenterà un approccio diverso al problema della binarizzazione e della conseguente costruzione dello scheletro. Le tecniche illustrate fino a qui partivano da una immagine a toni di grigio, quindi attraverso un algoritmo di binarizzazione trasformavano l’immagine di partenza in una avente due soli tipi di informazione ovvero l’oggetto e lo sfondo. Si è illustrato precedentemente come la scelta della soglia discriminante tra foreground e background sia spesso difficile, e come essa sia fondamentale per la fasi successive di elaborazione. In particolare, con il metodo che si va a presentare, si vorrebbe raccogliere tutta la possibile informazione contenuta nella immagine a toni di grigio. Per ottenere ciò si considera quest’ultima come una funzione in due variabili x e y che sono le coordinate dei pixel della immagine. Il valore di f(x,y), ovvero la componente lungo l’asse z, sarà dato dal coefficiente di luminosità di ogni singolo pixel della immagine. Tali valori spazieranno tra 0 e 255. Si riconduce quindi il problema della binarizzazione ad una analisi funzionale in uno spazio a tre dimensioni in cui si potranno valutare in modo approssimato le derivate, il gradiente, le direzioni di curvatura e tutto un insieme di grandezze tipicamente utilizzato nello studio analitico delle funzioni. Per fare ciò occorrerà riprendere alcune nozioni di analisi differenziale che verranno approfondite nella prima parte di questo capitolo. Nella seconda parte si introdurranno gli elementi di valutazione delle grandezze analitiche ricostruite nel discreto e calcolate con l’ausilio di funzioni filtro e di convoluzioni successive. Analisi Topografica e Filtri per l’approssimazione delle derivate IV-2 In fine nel capitolo V si presenterà l’algoritmo utilizzato in questo lavoro per la classificazione dei punti appartenenti allo scheletro e verranno valutati alcuni risultati ottenuti con questo metodo. Prima di addentrarsi nei concetti di geometria differenziale è opportuno motivare ed evidenziare il perché questa tecnica risulti particolarmente interessante nell’ambito del riconoscimento del carattere manoscritto. Il segno grafico tracciato a mano può essere molto diverso a seconda della persona che lo scrive. A complicare il riconoscimento interviene anche il particolare strumento di scrittura utilizzato. Tuttavia, nonostante questi elementi perturbanti, si può affermare che la disposizione dell’inchiostro in fase di scrittura tende a concentrarsi al centro del tratto e a distribuirsi in modo più sbiadito verso i bordi. In oltre il dispositivo di acquisizione, tipicamente uno scanner, tende per sua natura a sbiadire i bordi del tratto. L’effetto riscontrato è quello di transizioni tra lo sfondo ed il colore del tratto abbastanza dolci come risultante da una convoluzione con una funzione gaussiana. Immaginando la immagine come una superficie tridimensionale i singoli tratto costituenti i caratteri avranno la forma di colline e montagnole mentre il background assomiglierà ad una pianura. Intuitivamente, rimanendo nel contesto tridimensionale, lo scheletro del carattere sarà fornito dai picchi e dalle creste delle montagnole individuate sull’immagine. Analisi Topografica e Filtri per l’approssimazione delle derivate IV-3 4.2 Concetti di geometria differenziale delle superfici Sia f una funzione in due variabili x e y, a valori reali definita in R2, e sia P0 di coordinate (x0,y0) un punto del dominio, si consideri la funzione g(x)=f(x, y0), restrizione di f alla retta passante per y=y0, Figura 4.1 : Grafico della funzione di equazione x2 + y2 y2 4 f ( x , y ) = 4e − − 6 Si consideri per esempio la superficie rappresentata in Figura 4.1; il grafico della g ottenuto intersecando il grafico della f con il piano in R3 di equazione y= y0, è riprodotto in Figura 4.2 essendo P0 = (0.3,0.5). Poiché P0 è interno al dominio di f, esiste un intorno in cui g è definita. Ha senso quindi discutere la derivabilità di g introducendo la derivata parziale di f rispetto alla variabile x nel punto x0, la cui definizione è, come noto, il limite f ( x 0 + h, y 0 ) − f ( x 0 , y 0 ) ∂f ( x0 , y 0 ) = lim h→0 h ∂x La derivata parziale ∂f ( x0 , y 0 ) rappresenta il coefficiente angolare della tangente alla ∂x curva f(x,y0) nel punto f(x0,y0, f(x0,y0)) e analogamente per la derivata parziale calcolata rispetto ad y, Figura 4.2. Analisi Topografica e Filtri per l’approssimazione delle derivate IV-4 4 4 2 2 2 0 2 2 tangente f(x,0.3) 0 2 tangente f(0.5,y) Figura 4.2: a) retta z = ∂f (0.5,0.3) ⋅ ( x − 0.5) + f (0.5,0.3) tangente alla curva f(x,0.3) nel punto ∂x (0.5,0.3); b) retta z = ∂f (0.5,0.3) ⋅ ( y − 0.3) + f (0.5,0.3) tangente alla curva f(0.5,y) nel punto ∂y (0.5,0.3); In altre parole la quantità ∂f ( x0 , y 0 ) rappresenta l’inclinazione nella direzione ∂x corrispondente all’asse x del piano tangente alla superficie z=f(x,y), nel punto (x0,y0,z0). Figura 4.3 : Piano di equazione ∂f ∂f (0.5,0.3) ⋅ ( x − 0.5) + (0.5,0.3) ⋅ ( y − 0.3) + f (0.5,0.3) tangente alla ∂x ∂y superficie nel punto (0.5,0.3),f(0.5,0.3); Analisi Topografica e Filtri per l’approssimazione delle derivate IV-5 Per una qualunque funzione f si può definire il vettore gradiente dato da é∂ ù ê f ∇f = ê ∂∂x ê f êë ∂y le cui componenti descrivono la variazione della funzione f lungo le direzioni x e y. Si veda a tal proposito la seguente figura, Figura 4.4, che illustra nel caso tridimensionale i concetti introdotti. E’ rappresentato per un generico punto il piano tangente alla superficie, il vettore normale (in rosa) e le derivate parziali nelle direzioni x e y (in rosso); le componenti verticali del vettore tangente alla superificie in tali direzioni rappresentano la rapidità di cambiamento della funzione. La generica derivata direzionale (vettore blu) può essere ottenuta come combinazione lineare delle derivate parziali. Figura 4.4 Tramite un esempio si vuole analizzare la descrizione geometrica cui il vettore gradiente si presta. Si consideri z = f ( x, y ) = 4 x 2 + y 2 , la superficie definita è un paraboloide ellittico il cui il punto di minimo assoluto coincide con l’origine. Analisi Topografica e Filtri per l’approssimazione delle derivate IV-6 Figura 4.5 : Grafico della funzione di equazione f ( x, y ) = 4 x 2 + y 2 La seguente figura ne rappresenta le curve di livello della funzione, ellissi definite dall’espressione f(x,y)=c. Il gradiente <8x,2y> è disegnato in tre punti ( 1.25 ,0); (1,1); (0, 5 ) Figura 4.6 : Curve di livello f ( x, y ) = 4 x 2 + y 2 = c Si evince che il vettore gradiente in (x,y) è normale alla curva di livello passante per (x,y). Come si potrà osservare in seguito la direzione del vettore gradiente coincide con la direzione di crescita della funzione f(x,y). Analisi Topografica e Filtri per l’approssimazione delle derivate IV-7 Significa quindi che la direzione di massima pendenza del grafico è quella radiale. Con riferimento alla funzione f introdotta inizialmente, in Figura 4.7 è rappresentato il campo dei vettori gradiente e le relative curve di livello. Figura 4.7 : Campo dei vettori gradiente e curve di livello Si introduce ora il concetto di derivata direzionale di una funzione. H H Dato un generico vettore unitario u = cosθi + sin θj si definisce derivata direzionale di f nella direzione di u la seguente quantità: f u(1) ( x, y ) = lim t →0 f ( x + t ⋅ cos θ , y + t ⋅ sin θ ) − f ( x, y ) t Se la derivata direzionale di f(x,y) lungo x è data da ∂f ∂f e quella lungo y da , la ∂x ∂y derivata direzionale lungo una generica direzione u di componenti <u1,u2> è , data da f u(1) ( x, y ) = ∇f ( x, y ) ⋅ u = ∂f ∂f u1 + u 2 . ∂x ∂y Mentre la derivata prima parziale ∂f ( x, y ) rappresenta l’inclinazione della funzione ∂x ∂2 f f(x,y) nella direzione dell’asse x, la derivata seconda direzionale ( x, y ) rappresenta ∂x 2 la curvatura della funzione nella medesima direzione. Analisi Topografica e Filtri per l’approssimazione delle derivate IV-8 Introducendo l’operatore Hessiano é ∂2 ê 2 f 2 ∇ f = ê ∂x2 ê ∂ ê ∂y∂x f ë ∂2 ù f ∂x∂y ∂2 f ∂y 2 si può analogamente definire la derivata seconda direzionale di f lungo la direzione u f ω( 2) ( x, y ) = u T ⋅ ∇ 2 f ( x, y ) ⋅ u H Si può agevolmente verificare che la derivata direzionale seconda lungo u può essere altresì espressa come H f u( 2) ( x, y ) = u T ⋅ H(x,y) ⋅ u essendo H(x,y) una notazione dell’operatore hessiano equivalente a quella introdotta ∇ 2 f ( x, y ) . Operando un semplice cambiamento di variabili è possibile ricalcolare la derivata direzionale del primo ordine e la derivata direzionale seconda di f lungo la direzione individuata dal versore di componenti < cosθ , sin θ > . ϕ ' (t ) = ∇f ( x + t cosθ , y + tsinθ ) ⋅ (cosθ , sinθ ) = ∂f ∂f = ( x + t cosθ , y + tsinθ ) cosθ + ( x + t cosθ , y + t cosθ ) sinθ ∂x ∂y d ∂f ∂f ( ( x + t cosθ , y + t sin θ ) cosθ + ( x + t cosθ , y + t sin θ ) sin θ ) = dt ∂x ∂y d ∂f d ∂f = ( ( x + t cosθ , y + t sin θ ) cosθ ) + ( ( x + t cosθ , y + t sin θ ) sin θ ) = dt ∂x dt ∂y ϕ '' (t ) = æ ∂ ∂f ∂y ö ∂x ∂ ∂f = çç ( ( x + t cosθ , y + t sin θ )) ⋅ + ( ( x + t cosθ , y + t sin θ )) ⋅ ÷÷ cosθ ) + ∂t ∂y ∂x ∂t è ∂x ∂x æ ∂ ∂f ∂x ∂ ∂f ∂y ö + çç ( ( x + t cosθ , y + t sin θ )) ⋅ + ( ( x + t cosθ , y + t sin θ )) ⋅ ÷÷ sin θ ) = ∂t ∂y ∂y ∂t è ∂x ∂y ö æ ∂2 f ö æ ∂2 f ∂2 f ∂2 f ç ÷ ç θ θ θ θ θ + + = + cos sin cos cos sin sin θ = ç ∂x∂y ÷ ç ∂x 2 ∂y∂x ∂y 2 è è ∂2 f ∂2 f ∂2 f = 2 cosθ + 2 cosθ sin θ + 2 sin θ 2 = u T ⋅ H ( x, y ) ⋅ u ∂x∂y ∂x ∂y 2 Analisi Topografica e Filtri per l’approssimazione delle derivate IV-9 Considerando la funzione f di classe C2, la matrice hessiana H(x,y) in base al teorema di Schwartz è simmetrica e l’espressione H ∂2 f ∂2 f ∂2 f Q( x , y ) (u ) = u12 2 ( x, y ) + u1u 2 ( x, y ) + u 22 2 ( x, y ) ∂x∂y ∂x ∂y è la forma quadratica ad essa associata. Essendo H simmetrica i due autovalori λ1 e λ2 sono reali e i corrispondenti autovettori u1 , u 2 sono ortogonali. Inoltre essendo la matrice H simmetrica vale la proprietà λmin || u ||≤ u T H (u ) ≤ λmax || u || H e per la proprietà di omogeneità si può considerare || u ||= 1 , ottenendo quindi H H λmin ≤ u T H (u ) ≤ λmax ovvero λmin ≤ f uH( 2) ≤ λmax . H H Supponendo quindi λ1=λmin e λ2=λmax essendo Hu1 ≤ λ1u1 si ottiene: H H L L L f u(12) ( x, y ) = u1T ⋅ H ⋅ u1 = u1T ⋅ λ1 ⋅ u1 = λ1 ⋅ || u1 ||= λ1 Si è quindi dedotto il significato geometrico degli autovalori per lo studio della funzione f: essi rappresentano i valori estremi della derivata direzionale seconda di f, calcolata lungo la direzione individuata dai due autovettori corrispondenti. Cioè rappresentano la minima e massima concavità o convessità della funzione f ristretta alle due direzioni individuate dagli autovettori. La formula di Taylor consente di approssimare la funzione f nell’intorno del punto 1 fissato P con il polinomio T2, P ( P + u ) = f ( P + u ) + (∇ P f ) ⋅ u + QP (u ) 2 Il grafico di tale polinomio è un paraboloide che può risultare ellittico, iperbolico o ridotto ad un cilindro parabolico o ancora ad un piano, secondo le caratteristiche della matrice hessiana . Esso viene detto paraboloide osculatore del grafico di f in P. Un punto (x,y) si dice stazionario o critico per la funzione f se in esso il gradiente si annulla e cioè se si verifica la condizione: ∇f ( x, y ) = 0 Nel caso di una funzione in una variabile per riconoscere se un punto stazionario è un punto di minimo o di massimo locale, si considera il segno della derivata seconda nel punto. Analisi Topografica e Filtri per l’approssimazione delle derivate IV-10 Si consideri una funzione f(x,y) di classe in due variabili e si supponga che l’origine sia un punto stazionario. Allora l’equazione del paraboloide osculatore diventa z = f (0,0) + 1 ∂2 f 1 ∂2 f ∂2 f 2 ( 0 , 0 ) ( 0 , 0 ) (0,0) y 2 x xy + + 2 2 2 ∂x 2 ∂y ∂x∂y Per (x,y) vicino all’origine questo paraboloide può essere considerato una buona approssimazione del grafico di f, e questo consente di ritenere che il comportamento di f in prossimità dell’origine sia abbastanza simile a quello del paraboloide. Si può vedere che se il paraboloide è ellittico e ha la concavità rivolta verso l’alto, allora si ha un punto di minimo locale per f, mentre se è iperbolico non si ha né un punto di minimo né un punto di massimo, ma di sella. Come è noto dalla geometria analitica in R3 le proprietà del paraboloide dipendono dagli autovalori della matrice simmetrica corrispondente che in questo caso è la matrice hessiana calcolata nell’origine. é ∂2 ê 2 f (0,0) 2 ∇ f (0.0) = ê ∂x2 ê ∂ f (0,0) ê ë ∂y∂x ù ∂2 f (0,0) ∂x∂y ∂2 f (0,0) ∂y 2 Si dimostra che se il punto (x0,y0) è un punto di minimo locale allora la forma quadratica associata alla matrice H nel punto, è semidefinita positiva; e viceversa se il punto (x0,y0) è un punto di massimo locale allora la forma quadratica è semidefinita negativa. In generale se si suppone che la funzione f(x,y) sia dotata in tutto un intorno del punto di stazionarietà (x0,y0) (interno all’insieme di definizione della f), di derivate prime e seconde continue, secondo che l’Hessiano H ( x, y ) = æ ∂2 f ö −ç ∂y 2 çè ∂x∂y ∂2 f ∂2 f ∂x 2 2 sia maggiore, minore o uguale a zero in (x0,y0), risulta 1. che, H(x0,y0)>0 , il punto (x0,y0) è estremamente relativo e precisamente a. massimamente relativo se ∂2 f ∂y 2 (x0,y0)<0); ∂2 f ∂x 2 (x0,y0)<0 (o, ciò che è lo stesso, Analisi Topografica e Filtri per l’approssimazione delle derivate b. minimamente relativo se ∂2 f ∂x 2 (x0,y0)>0 (o IV-11 ∂2 f ∂y 2 (x0,y0)>0) 2. che, H(x0,y0)<0 , il punto (x0,y0) non è estremamente relativo; 3. che per H(x0,y0)=0 , il punto (x0,y0) è per la funzione f, di natura dubbia. Si può quindi classificare un punto critico per la funzione f studiando il segno degli autovalori della matrice hessiana ad essa associata. Un punto (x,y) si dice punto di peak, picco, se in esso f ha un massimo locale in tutte le direzioni passanti per il punto stesso. Quindi in esso si deve verificare la condizione di annullamento del gradiente e la negatività degli autovalori: ∇f = 0 , λ1<0, λ2<0 Figura 4.8 : Peak Analogamente il punto P è di minimo se f ha un minimo locale in tutte le direzioni per P. La condizione necessaria e sufficiente affinché P sia un pit, minimo, per f, è che si verifichi l’annullamento del gradiente in esso e la positività degli autovalori: ∇f = 0 , λ1>0, λ2>0 Analisi Topografica e Filtri per l’approssimazione delle derivate IV-12 Figura 4.9 : Pit Se la funzione ha un massimo locale in una direzione per P e un minimo locale nella direzione ortogonale per P allora si dice che il punto P è di sella, saddle. Quindi il punto è di sella se in esso si annulla il gradiente e se le derivate direzionali hanno segno opposto. In conclusione un punto è di sella se e solo se è soddisfatta la seguente condizione: ∇f = 0 , λ1 ⋅ λ2 < 0 Figura 4.10 : Saddle Si dirà che un punto P è un ridge, cresta quando f ha un massimo locale in una direzione passante per P. Una linea di ridge è costituita dal succedersi di più ridge e tale curva potrà essere piana oppure no. Se la linea di ridge non giace in un piano, il gradiente di f in P non è nullo e si riscontra un massimo locale in una delle due direzioni individuate dai due autovettori u1 , u 2 della matrice hessiana in P. Le condizioni equivalenti sono: Analisi Topografica e Filtri per l’approssimazione delle derivate IV-13 H ∇f ≠ 0, λ1 < 0, ∇f ⋅ u1 = 0 H ∇f ≠ 0, λ 2 < 0, ∇f ⋅ u 2 = 0 Se la linea di ridge è in piano, il gradiente in ogni punto appartenente ad essa si annulla ed una delle due derivate direzionali è negativa, mentre la restante si annulla, se così non fosse si rientrerebbe nella definizione di punto di picco. La condizione equivalente è la seguente: ∇f = 0 , λ1<0, λ2=0 Figura 4.11 : Ridge Il concetto di ravine, avvallamento è identico a quello di ridge salvo che invece di verificarsi un massimo in una direzione si riscontra un minimo, dunque il punto è un ravine al verificarsi di una delle seguenti condizioni: ∇f ≠ 0, λ1 > 0, ∇f ⋅ u1 = 0 H ∇f ≠ 0, λ 2 > 0, ∇f ⋅ u 2 = 0 Analisi Topografica e Filtri per l’approssimazione delle derivate ∇f = 0 , IV-14 λ1>0, λ2=0 Figura 4.12 : Ravine Un flat, punto giacente in un piano, è caratterizzato dall’annullarsi in esso del gradiente di f e delle due derivate direzionali seconde. ∇f = 0 , λ1=0, λ2=0 I punti che non rientrano nella classificazione, descritta si dicono hillside; per essi dunque si ha gradiente non nullo e la funzione non presenta estremi assoluti in nessuna delle direzioni individuate dalla massima e minima derivata direzionale seconda calcolata nel punto. La classificazione topografica, la direzione del gradiente e la direzione degli autovettori corrispondenti alle derivate seconde direzionali estremi per i punti peak, pit, ridge, ravine e saddle non variano se l’immagine è sottoposta ad una trasformazione in toni di grigio in cui l’intensità venga fatta crescere o decrescente in modo uniforme. Conseguentemente tale rappresentazione topogafica non muta al cambiare dell’intensità della luminosità o al variare della sensibilità della videocamera o del dispositivo di acquisizione. Tale proprietà di invarianza studiata da Haralick [1], è auspicabile in quanto riproduce la modalità di percezione visiva umana. La definizione generale delle proprietà topografiche è la seguente: una ridge line è la curva costituita dai punti di ridge; Analisi Topografica e Filtri per l’approssimazione delle derivate IV-15 una ravine line è la curva costituita dai ravine; una flat region è la connessione di regioni formate da punti di flat; una hillside region è la connessione di regioni formate da punti di hillside. Se si osserva la superficie si potrà notare che essa si presenta piana nella direzione perpendicolare al gradiente lungo la linea di Ridge, e che lungo le altre direzioni decresce curvandosi tanto più rapidamente quanto maggiore è il valore della curvatura direzionale nella direzione considerata. 4.3 Nozione di curvatura direzionale Si consideri la superficie S espressa secondo la parametrizzazione r=r(u,v) in cui dunque r è una funzione di R2 in R3 che associa al punto (u,v) il punto di coordinate x(u,v), y(u,v), z(u,v) ovvero: æ x(u , v) ö ç r (u, v) = ç y (u, v) . ç z (u, v) è Se si considerano per ogni punto P=(u,v) i due vettori Pu = xu i + xu j + xu z , Pv = xv i + xv j + xv z si può associare a P un versore normale dato da N= Pu × Pv || Pu × Pv || Essendo ds un elemento d’arco di una curva L di S, si può dunque introdurre la prima forma fondamentale di S data da H ds 2 = Edu 2 + 2 Fdudv + Gdv 2 =|| Pu du + Pv dv || 2 con E = Pu2 F = Pu ⋅ Pv G = Pv2 tale forma nelle variabili du, dv è definita positiva e fornisce la metrica della superficie S. Analisi Topografica e Filtri per l’approssimazione delle derivate IV-16 In riferimento ad una generica curva L di S si può esprimere la curvatura normale di L nel punto P in funzione della base {Pu , Pv , N } , introducendo la seconda forma quadratica fondamentale che consente di esprimere la curvatura normale di S nella direzione (du,dv) come rapporto della seconda e della prima forma quadratica fondamentale: KN = Ldu 2 + 2Mdudv + Ndv 2 Edu 2 + 2 Fdudv + Gdv 2 dove L = Puu ⋅ N H M = Puv ⋅ N N = Pvv ⋅ N Fissato il punto P di S la curvatura della sezione normale LN dipende soltanto del rapporto m = dv che individua la retta tangente ad LN in P. du Supponendo che P non sia ombelicale se si cercano i valori per cui la funzione KN(m) assume massimo o minimo si perviene ad un’equazione che individua due rette tangenti ad S nel punto P dette tangenti di curvatura ovvero direzioni di curvatura , esse sono tra loro ortogonali e i valori che le individuano soddisfano la condizione E+F(m1+m2)+Gm1m2 I valori k1 e k2 assunti dalla curvatura normale in corrispondenza a tali direzioni si dicono curvature principali di S in P. Si può provare che k1, k2 sono le soluzioni dell’equazione di secondo grado L − kE M − kF M − kF =0 N − kG Le quantità H= 1 (k1 + k 2 ) 2 K = k1 ⋅ k 2 Prendono il nome di curvatura media e curvatura gaussiana di S in P. Analisi Topografica e Filtri per l’approssimazione delle derivate IV-17 Si vedrà ora la relazione esistente fra le direzioni principali di curvatura e gli autovettori della matrice hessiana nonché fra le curvature direzionali e gli autovalori della matrice hessiana. A tal proposito si riportano due notevoli teoremi [2] il primo dei quali asserisce che la curvatura di una superficie definita come z=f(x,y) nella direzione u è data da. u T Hu . 1 + ∇f ⋅ ∇f 1 + (∇f ⋅ u ) 2 1 ⋅ Tale risultato discende direttamente dalla definizione di curvatura normale. Inoltre, si può dimostrare che la direzione di curvatura principale coincide con gli H H autovettori u1 e u 2 dell’Hessiano, se e solo se è soddisfatta una delle seguenti condizioni ∇f ⋅ u1 = 0 ∇f ⋅ u 2 = 0 det(H)=0 Tale asserzione deriva dal confronto delle direzioni in cui u T Hu e 1 + ∇f ⋅ ∇f 1 + (∇f ⋅ u ) 2 1 ⋅ u T Hu raggiungono i valori estremi. Di conseguenza per ciascun punto rientrante nella classificazione precedente, ad eccezione degli Hillside il generico autovetture dell’Hessiano è perpendicolare al gradiente, l’autovettore dell’Hessiano in tal punto fornisce la direzione della curvatura principale e il corrispondente autovalore soddisfa la seguente relazione con la curvatura principale: ki = λi 1 + ∇f ⋅ ∇f 1 + (∇f ⋅ u i ) 2 1 ⋅ i = 1,2. Ciò può essere vero oppure no per un Hillside. Si definisce peso (strength) di una linea di ridge (ravine) nel punto (x,y) denotata con S(x,y), il valore assoluto della curvatura principale nella direzione ortogonale al gradiente in (x,y), vale a dire S ( x, y ) = |λ | 1 + ∇f ⋅ ∇f in cui λ è l’autovalore corrispondente all’autovettore ortogonale al gradiente. Analisi Topografica e Filtri per l’approssimazione delle derivate IV-18 H Nel caso in cui l’autovettore u perpendicolare al gradiente sia normalizzato vale la relazione H H H ∇f ⋅ u = 0, u T Hu = λ I punti di ridge con peso sufficientemente elevato saranno considerati appartenenti allo scheletro del carattere, mentre i restanti verranno scartati. 4.4 Metodi di approssimazione delle derivate Nel campo del riconoscimento delle immagini si ricorre spesso alla strategia di ricavare la struttura topografica dell’immagine data; le tecniche usate per la determinazione dei ridge, peak, ravine, pit e valley sono innumerevoli e si possono suddividere in prima battuta, in due categorie: nei procedimenti operanti direttamente sull’immagine discreta e nelle tecniche che ricostruiscono dapprima un’immagine che interpoli i dati relativi ai pixel e su questa effettuano l’analisi volta alla classificazione dei punti critici. Nel presente studio si è adottata la tecnica analitica descritta precedentemente per la determinazione dei punti critici di una funzione in due variabili. Si è scelta questa strategia per due motivi: per avvalersi della proprietà di invarianza descritta precedentemente ed inoltre per la maggior semplicità con cui è possibile ricostruire analiticamente il legame esistente fra la struttura topografiche dell’immagine in toni di grigio e le caratteristiche della superficie approssimante. Lo scopo ultimo di questa fase di studio è quello assegnare un’etichetta al generico pixel dell’immagine discreta, contrassegnato come (n,m), che lo classifichi in base all’analisi differenziale come ridge, peak, ravine, pit e valley; per far ciò è quindi indispensabile approssimare le derivate prime e seconde dell’immagine discreta. Nella visione artificiale un immagine g è definita come un insieme di valori g(n,m) distribuiti sui punti di una griglia di campionamento. Il problema è quello di approssimare le derivate parziali p+q esime, p lungo l’asse x e q lungo l’asse y, dell’immagine originale mediante una procedura di calcolo di carattere locale, cioè operante su intorni, a partire dai valori dell’immagine disturbata g. Il problema è di notevole rilevanza in ogni tipo di applicazione di edge detection che si avvalga di operatori differenziali, dove si impieghino le derivate prime e seconde. Analisi Topografica e Filtri per l’approssimazione delle derivate IV-19 In questo contesto si presenta un metodo che consente di calcolare le derivate di qualsiasi ordine mediante una convoluzione dell’immagine g con un nucleo (kernel) conosciuto a priori. Un metodo diretto che impieghi le differenze finite per il calcolo delle derivate parziali non è una soluzione soddisfacente, infatti l’operatore differenza aumenterebbe il disturbo dell’immagine e il risultato sarebbe inaccettabile. L’applicazione dell’operatore differenziale deve essere preceduta da un’operazione di approssimazione che riduca il livello di disturbo. Nell’edge detection dato il profilo del contorno oggetto di studio, tali due operazioni possono essere combinate sia nel dominio dell’immagine che nel dominio delle frequenze. In quest’ottica l’attenzione è volta allo studio di una funzione continua f(x,y) approssimante l’immagine di partenza g in un intorno centrato nel pixel (n,m). Tale funzione f viene denominata underlying dell’immagine da Haralick [3] in quanto ne eredita e conserva le caratteristiche topografiche. Il campionamento della funzione f(x,y) sugli (n,m) è indicato con f(n,m), il passo della griglia di campionamento lungo entrambe le direzioni è posta pari ad 1. Per ridurre il disturbo, il numero di parametri che intervengono nella definizione di f(x,y) deve essere minore del numero di campionamenti dell’intorno considerato. Questi parametri sono determinati minimizzando l’errore quadratico medio relativo ai valori dell’immagine g nell’intorno. Il peso di tale calcolo è ridotto se la funzione f(x,y) è definita mediante una base ortogonale distribuita sull’intorno. Una base ottimale per questo genere di applicazioni è ottenuta dallo sviluppo di Karhunen-Loeve, ma sono altrettanto interessanti i polinomi ortogonali, spesso utilizzati nella visione artificiale. Nella storia dell’elaborazione delle immagini, Hueckel usò nove polinomi bidimensionali di grado superiore al quarto per rilevare contorni e linee, corrispondenti ai polinomi di Chebyshev in coordinate polari. Hartley impiegò i primi sei polinomi di Hermite per risolvere lo stesso problema; Paton invece impiegò i primi sei polinomi bidimensionali di Legendre per descrivere la struttura locale dell’immagine. Analisi Topografica e Filtri per l’approssimazione delle derivate IV-20 In tutti i casi descritti, si considera l’intorno come un intervallo continuo di valori g(n,m) estesi sui punti di campionamento della griglia mediante un’interpolazione di ordine zero. Mentre f(x,y) è definita come una funzione continua, nell’approccio discreto il calcolo è limitato ad un intorno dei punti della griglia. Haralich usò quest’ultimo metodo nella valutazione delle derivate parziali direzionali in un’immagine disturbata [3]. I polinomi da lui usati, di grado superiore al terzo sono i polinomi discreti di Chebyshev, conosciuti anche come i polinomi di Gram. In alternativa Hashimoto e Sklansky ottennero con il metodo dei minimi quadrati le approssimazioni discrete delle derivate con filtro Gaussiano, usando i polinomi di Krawtchouk. 4.5 Basi ortogonali su intervalli discreti Si procede ora con un breve richiamo alla teoria delle basi di funzioni ortogonali definite in intervalli discreti. Senza perdere in generalità si può usare un approccio monodimensionale e definire un intervallo di lunghezza 2N+1 centrato in n, vale a dire l’insieme di punti k=nN,…,n,…n+N. Siano ψ l (x) l=0,1,…, ∞ un insieme di funzioni e w( x) ≥ 0 la funzione peso definita nell’intervallo − N ≤ x ≤ N , tali funzioni assumono valori finiti e sono continue nell’intervallo considerato. I prodotti scalari delle funzioni sull’insieme discreto n-N,…,n,…n+N sono dati da: (ψ l ,ψ j ) = k =n+ N w(k − n)ψ l (k − n)ψ j (k − n) (4.1) k =n− N I valori che intervengono nella formula sono quelli che le funzioni assumono sui nodi della griglia di campionamento e i prodotti scalari dipendono implicitamente da n , centro dell’intervallo considerato. L’insieme delle funzioni {ψ l } è ortogonale se per ogni l e j si verifica che ì Ψl2 , l = j (ψ l ,ψ j ) = Ψ δ lj = í 0, altrimenti 2 l dove Ψl2 = (ψ l ,ψ j ) =| ψ l | 2 sono le norme delle funzioni {ψ l } . (4.2) Analisi Topografica e Filtri per l’approssimazione delle derivate IV-21 L’insieme di funzioni Φ l ( x) = {ψ l / Ψl }, dove l=0,1,…, ∞ sono dette basi ortonormali. Dato il campionamento g(k), k=n-N,…,n,…n+N di dati discreti si vuole determinare la migliore approssimazione che minimizzi l’errore quadratico medio nell’intervallo considerato, ottenendo una funzione continua f(x) di L+1 parametri reali fl, l=0,1,…L<2N+1. Quindi i valori discreti di campionamento g(k) possono essere approssimati mediante la funzione f(x) ottenuta come combinazione lineare delle prime L+1 funzioni della base f ( x) = L l =o f l Φ l ( x − n), n-N ≤ x ≤ n + N (4.3) in cui i coefficienti fl sono le incognite. L’insieme finito di funzioni Φ l costituisce la base ortonormale che genera uno spazio vettoriale di dimensione L+1. I coefficienti fl sono determinati minimizzando gli l scarti quadratici medi calcolati tra i valori di f(x) per x=k e i dati g(k), cioè minimizzando la somma dei quadrati dei residui: n+ N éL ù ε =| f − g | = w(k − n) ê f l Φ l (k − n) − g (k ) k =n − N ë l =0 2 L 2 2 (4.4) L’errore quadratico medio minimo si ottiene imponendo le seguenti condizioni: ∂ε L2 = 0, ∂f l l = 0,1,...,L (4.5) Esplicitando le equazioni 4.5 si ottiene il sistema equivalente: L j =0 f l (Φ j , Φ l ) = ( g , Φ l ), l = 0,1,...L (4.6) conosciuto come sistema delle equazioni normali. Dunque essendo conosciute le funzioni Φ l della base ortonormale, le soluzioni delle equazioni normali sono immediate: f l = ( g , Φ l ), l = 0,1,...L 4.7 Si noti che le fl dipendono implicitamente da n quindi dall’intervallo in cui viene effettuata la valutazione. Analisi Topografica e Filtri per l’approssimazione delle derivate IV-22 Analizzando il sistema (4.7) si evince che i coefficienti dell’approssimazione continua f(x) sono le proiezioni dei dati discreti g(k) sulle funzioni che costituiscono la base ortonormale e non dipendono dalla dimensione della base stessa. Ogni coefficiente fl può essere calcolato indipendentemente dagli altri e come corollario si ha che tali parametri che minimizzano l’errore quadratico medio per la dimensione L1 sono anche i primi L1 parametri che minimizzano l’errore in dimensioni L2< L1. Questa notevole proprietà è un’altra delle ragioni che giustifica il ricorso al metodo dei minimi quadrati con basi ortonormali, infatti per aumentare la precisione dell’approssimazione non è necessario ripetere il calcolo per tutti i coefficienti, ma è sufficiente calcolare gli ultimi. 4.6 Filtri per l’approssimazione delle derivate La funzione underlying f(x), a cui abbiamo accennato in precedenza, conserva ed eredita tutte le caratteristiche dell’immagine g nell’intorno considerato. Tale intorno è centrato in n e quindi la griglia di campionamento sotto esame è data da k=n-N,…,n,…n+N. Si approssima la derivata p-esima dell’immagine disturbata g nel campionamento n come segue: f ( p) é d p f ( x) ù ( n) = ê p ë dx x=n (4.8) vale a dire mediante il valore della derivata continua della funzione approssimante f sui punti della griglia di campionamento. L’espressione di f(p)(x) può essere ricavata dalle (4.3) e (4.7) usando la proprietà di linearità dell’operatore differenziale, f ( p ) ( n) = L l =o ( g , Φ l )Φ ( p ) l (0), (4.9) In cui la dipendenza da n interviene nel prodotto scalare. Esplicitando l’espressione (4.9) si ottiene f ( p ) ( n) = n+ N L é ù g (k ) ê w(k − n) Φ l (k − n) − Φ l( p ) (0) k =n− N l =0 ë (4.10) Operando un cambiamento di indice nella sommatoria è facile osservare che f ( p ) ( n) = N i=− N g (n − i )h(i; p) = g (n) * h(n; p ) (4.11) Analisi Topografica e Filtri per l’approssimazione delle derivate IV-23 dove L ì w(−n) Φ l (− n) − Φ l( p ) (0), |n| ≤ N h(n; p ) = í l =0 0 altrimenti î (4.12) In cui si ha una dipendenza esplicita da p, ordine della derivata, ed una dipendenza implicita da N, dimensione dell’intorno, e da L, dimensione della base ortogonale. L’espressione (4.11) così ottenuta è la somma convoluzione dei valori immagine g(n) e dei valori del filtro h(n;p), contrassegnato nella formula con un asterisco. Si noti che h(n;p) , completamente determinato con la scelta della base ortonormale, non ha in generale soluzione in forma chiusa. Si ottiene quindi un importante risultato: per stimare la derivata p-esima di un’immagine monodimesionale disturbata sul campionamento n nell’intorno considerato è necessario convolvere l’immagine con un filtro conosciuto a priori. Per il caso bidimensionale ci si riconduce ad un intorno quadrato, nel quale è possibile definire una base ortonormale separabile ottenuta come prodotto cartesiano di una base monodimensionale per se stessa. Si introducono quindi le funzioni peso w( x, y ) = w( x) ⋅ w( y ) e la base Φ l1l2 ( x, y ) = Φ l1 ( x) ⋅ Φ l2 ( y ) che godono delle stesse (4.13) proprietà discusse precedentemente nel caso monodimensionale. Si potranno quindi approssimare le derivate parziali p+q-esime nei punti (n.m), p lungo l’asse x e q lungo l’asse y, come: f ( p ,q ) é ∂ p + q f ( x, y ) ù (n, m) = ê p q ë ∂x ∂x x =n, y = m (4.14) Analogamente al caso monodimensionale si ha che: f ( p ,q ) (n, m) = L L l1 =0 l2 =0 ( g − Φ l1l2 )Φ l(1p ) (0)Φ l(2p ) (0) e in virtù della separabilità delle basi ortonormali si può scrivere: (4.15) Analisi Topografica e Filtri per l’approssimazione delle derivate f ( p ,q ) N (n, m) = N g (n − i, m − j )h(i; p)h( j; q) IV-24 (4.16) i =− N j =− N in cui il campionamento del filtro h(n;⋅) è dato dalla (4.12). In conclusione il caso bidimensionale può essere ridotto alla convoluzione mediante il prodotto di due filtri impiegati nel caso monodimensionale. Si noti anche che i risultati ottenuti valgono per ogni base ortonormale definita in un intervallo discreto. La scelta della base entra nella definizione dell’approssimante continua e influenza ovviamente il valore delle derivate calcolate. Si vedrà successivamente come usando basi di polinomi ortonormali si ottengano soluzioni in forma chiusa per i filtri. 4.7 Generazione di filtri con polinomi ortonormali Le funzioni che costituiscono una base ortonormale polinomiale sono definite come Φ l ( x) = l k =0 al ,k x k , l = 0 ,1,....,L (4.17) per ogni indice l e j deve essere soddisfatta la condizione di ortonormalità espressa come segue, (Φ l , Φ j ) = N w(n)Φ l (n)Φ j (n) = δ lj (4.18) n=− N dunque l’ortogonalità nell’intervallo [-N,N] e le funzioni peso w(x) determinano univocamente la base di polinomi ortonormali ovvero i coefficienti al,k. Nonostante esista un’ampia letteratura sui polinomi ortogonali, quella relativa ai polinomi ortogonali per intervalli discreti, caso particolare delle basi nel caso continuo, risulta più carente. E’ immediato osservare dalla definizione (4.17), che una qualsiasi funzione continua del tipo g(x)=xk, − N ≤ x ≤ N e k ≤ L può essere completamente rappresentato dalle funzioni della base polinomiale. Se si effettua l’approssimazione delle derivate con il filtro h(n;p) della sequenza g(n)=nk, n = − N ,..., N , il segnale di output valutato sul centro dell’intervallo n, in virtù della (4.10) risulta essere: f ( p ) (0) = ì0, (− n) k h(n; p) = í p!, n=− N N k≠ p k=p (4.19) Analisi Topografica e Filtri per l’approssimazione delle derivate IV-25 Si noti che sia k sia p sono minori o uguali al grado massimo del polinomio, L, per k=0 si ottiene la seguente proprietà del filtro: N ì1, h(n; p) = í 0, n=− N p=0 p = 1,2,...,L (4.20) Per esempio considerando le basi polinomiali di Chebyshev, i valori numerici dei pesi h(n,0) con n=-3,…,3 valgono: -0.0952 0.1428 0.2857 0.3333 0.2857 0.1428 -0.0952 La cui somma vale 1. Nel caso invece di h(n;1) con n=-3,…,3 i pesi valgono 0.0873 -0.2659 -0.2301 0 0.2301 0.2659 -0.0873 La cui somma vale 0. Alla luce della formula 4.20 la formula 4.19 per p=0 risulta essere una media pesata (smooth) mentre nel caso in cui p=1,2,…,L la 4.19 risulta essere il calcolo di differenze finite pesate in cui il punto centrale della maschera (n=0) non viene considerato. Il momento k-esimo della sequenza h(n;p) è definito come Analisi Topografica e Filtri per l’approssimazione delle derivate µ k [h(n; p)] = N h(n; p )n k IV-26 (4.21) n=− N e quindi dalla (4.19) si ottiene ì0, µ k [h(n; p)] = í (−1) p p!, k≠ p k=p (4.22) nel caso di approssimazione di grado 0, p=0 la (4.22) diventa: k =0 k = 1,2,...,L ì1, µ k [h(n;0)] = í 0, (4.23) Si procede ora con il calcolo del momento dell’output f(p)(n) in funzione del momento della sequenza finita di input g(n). L’input è definito nell’intervallo [-M,M] e dunque l’output è non nullo in [-M-N,N+M], µ k [ f ( p ) (n)] = = M +N M +N ( p) f ( n) n k n=− M − N (i + n − i ) k n=− M − N N g (n − i )h(i; p) i =− N (4.24) M +N ækö N = çç ÷÷ i j h(i; p) (n − i) k − j g (n − i) j j =0 è i =− N n= − M − N k ækö = çç µ j [h(n; p )]µ k − j [ g (n)] j =0 è j k ækö dove çç sono i coefficienti binomiali. Tenendo conto di quanto scritto nella (4.22) si èj può semplificare a ækö µ k [ f ( p ) (n)] = (−1) p p!çç µ k − p [ g (n)] èp (4.25) Si può quindi scrivere la seguente relazione che lega i momenti di output a quelli di input µk [ f ( p) ì0, k! (n)] = í (−1) p µ k − p [ g (n)], (k − p )! î k<p k≥p (4.26) Si può osservare che tutti i momenti dell’output di grado inferiore all’ordine p di derivazione, sono nulli. I momenti di grado superiore sono proporzionali al momento di grado 0 dell’input. Il caso di approssimazione p=0 è particolarmente interessante: Analisi Topografica e Filtri per l’approssimazione delle derivate µ k [ f (n)] = µ k [ g (n)], k = 0,1,..., L IV-27 (4.27) Il filtro di smoothing h(n,0) conserva tutti i momenti del segnale di input g(n) superiori ad L, grado del polinomio approssimante i dati discreti. Vale, inoltre, la proprietà per cui tale filtro riduce al massimo il disturbo e produce la minima distorsione, tale affermazione trova giustificazione nello studio condotto da Burt su un particolare metodo di interpolazione di superfici usando piani approssimanti. 4.8 Basi polinomiali di Chebyshev e Krawtchouk Data la dimensione L+1 dello spazio generato dalla base polinomiale ortonormale, il grado del polinomio approssimante risulterà essere L. Data l’ortogonalità sull’intervallo − N ≤ x ≤ N , la scelta di basi differenti corrisponde a diverse funzioni peso w(x). Si considerano ora due tipi di funzioni peso. I polinomi di Chebyschev t l (x) si ottengono scegliendo w(x)=1. Essi sono anche conosciuti come polinomi di Gram per distinguerli dai polinomi di Chebyschev nel caso di intervalli continui. I polinomi di Krawtchouk kl(x) sono generati quando æ 2N ö N −x N +x w( x) = çç a b N x − è (2 N )! = a N −xb N +x , ( N − x)!( N + x)! a,b > 0, a + b = 1; -N ≤ x ≤ N (4.28) Poiché nel prodotto scalare della (4.1) intervengono solo i campionamenti di w(x), per x=n=-N,…,N, i coefficienti binomiali possono essere scritti come rapporto di fattoriali. Per i fini del presente lavoro è sufficiente calcolare i polinomi di Krawtchouk per a=b=1/2. Sono molti i metodi percorribili per generare funzioni polinomiali a partire da una famiglia di funzioni ortogonali. Per motivi di calcolo in questo contesto è particolarmente interessante la formula ricorsiva che mette in relazione fra loro tre polinomi ortogonali di grado successivo nella base cercata. I polinomi poi sono trasformati in base ortonormale dividendo ciascuno per la rispettiva norma. Analisi Topografica e Filtri per l’approssimazione delle derivate IV-28 I polinomi di Chebyshev possono essere generati dalla relazione: t l +1 ( x) = 2 l 2l + 1 xt l ( x) = − (2 N + 1 − l )(2 N + l + 1)t l −1 ( x) l +1 l +1 (4.29) Mentre la relazione che consente di generare i polinomi di Krawtchouk è la seguente k l +1 ( x) = x l k l ( x) − (2 N + 1 − l )k l −1 ( x) l +1 4(l + 1) 4.30 in cui l=1,2,…,L-1; e i polinomi iniziali sono t0(x)= k0(x)=1 e t1(x)=2x e k1(x)=x. Poiché il fattore x moltiplica sol il polinomio l-esimo in entrambe le formule ricorsive è immediato verificare che i polinomi di grado pari sono funzioni pari, in quanto compaiono solo potenze pari di x, e che i polinomi di grado dispari sono funzioni dispari, in quanto compaiono solo potenze dispari di x e non termini liberi. Di conseguenza t 2( 2j q +1) (0) = k 2( 2j q +1) (0) = 0, t 22 qj+1 (0) = k 22 qj+1 (0) = 0, j , q = 0,1,... j , q = 0,1,... (4.31) Le derivate di ordine dispari di polinomi di grado pari e le derivate di ordine pari di polinomi di grado dispari sono nulle nel centro dell’intorno. L’importanza di tale proprietà risulta evidente se si osserva l’operazione di approssimazione della derivata mediante il filtro (4.12). Per ogni valore consecutivo L ed L+1, uno dei due (L+1) produce Φ (Lp+)1 (0) = 0 per le proprietà della base di polinomi. Per cui la derivata di ordine p nel centro dell’intorno, ottenuta mediante l’approssimazione operata con filtro, è la stessa sia che il grado della funzione polinomiale approssimante f, risulti pari ad L o ad L+1. Per esempio si supponga di dover effettuare un’approssimazione interpolando i punti di un segmento lineare (approssimazione del primo ordine) usando un intorno centrato su tali punti. Il valore dell’approssimazione nel centro è il temine libero nell’equazione del segmento lineare e come è noto esso è il valor medio del campionamento e cioè l’approssimazione di ordine zero. Analisi Topografica e Filtri per l’approssimazione delle derivate IV-29 Analogamente non è necessario usare l’approssimazione del second’ordine quando si vuole approssimare la derivata prima, in quanto il risultato sarebbe lo stesso di quello ottenuto con l’approssimazione del primo ordine. Un’ulteriore conseguenza della (4.31) è che ogni approssimante della derivata basata su filtro è una sequenza pari o dispari. La derivazione in zero filtra polinomi della stessa natura scartando solo gli altri gruppi omogenei che intervengono nella sommatoria. Si ha h(−n;2q ) = h(n;2q ), h(− n;2q + 1) = h(n;2q + 1), | n |≤ N , q = 0,1... (4.32) L’espressione dei primi cinque polinomi ortogonali di Chebyshev calcolati risultano essere: t 0 ( x) = 1 t1 ( x) = 2 x t 2 ( x) = 6 x 2 − 2 N ( N + 1) (4.32) t 3 ( x) = 20 x 3 − 4(3 N 2 + 3 N − 1) x t 4 ( x) = 70 x 4 − 10(6 N 2 + 6 N − 5) x 2 + 6 N ( N 2 − 1)( N + 2) t 4 ( x) = 252 x 5 − 140(2 N 2 + 2 N − 3) x 3 + 4(15 N 4 + 30 N 3 − 35 N 2 − 50 N + 12) x L’espressione della norma dei polinomi di Chebyshev è la seguente: Tl 2 = 2N + 1 l Π j =1[(2 N + 1) 2 − j 2 ] 2l + 1 (4.33) La base di polinomi ortonormali è ottenuta dividendo ciascun polinomio della (4.33) per la norma. Di seguito si forniscono i filtri che interessano nel contesto, costruiti mediante i polinomi di Chebyshev le cui espressioni sono ottenute dall’equazione (4.12). Filtri approssimanti non pesati L = 0,1 p=0 hc (n) = L = 2,3 p=0 hc (n) = − 1 2N + 1 3[5n 2 − (3N 2 + 3N − 1)] (2 N − 1)(2 N + 1)(2 N + 3) Analisi Topografica e Filtri per l’approssimazione delle derivate IV-30 Derivate del primo ordine con filtri approssimanti non pesati L = 1,2 p =1 hc (n) = − L = 3,4 p =1 hc (n) = − 3n N ( N + 1)(2 N + 1) 5[7(3N 2 + 3N − 1)n 3 − 5(3N 4 + 6 N 3 − 3N + 1)n] ( N − 1) N ( N + 1)( N + 2)(2 N − 1)(2 N + 1)(2 N + 3) Derivate del secondo ordine con filtri approssimanti non pesati L = 2,3 p=2 hc (n) = − 30[3n 2 − N ( N + 1)] N ( N + 1)(2 N − 1)(2 N + 1)(2 N + 3) La convoluzione mediante i filtri così ottenuti, denotati con hc(n), forniscono dunque l’approssimazione della derivata di ordine p nel centro dell’intorno [-N,N], e comportano l’uso di polinomi interpolanti di grado L. Il polinomio interpolante ha L+1 coefficienti i quali sono determinati implicitamente dal filtro e quindi la dimensione dell’intervallo 2N+1 deve essere minore o uguale di L+1, si deduce che N ≥ L . 2 I filtri ottenuti mediante le basi polinomiali di Chebyshev sono conosciuti come filtri di Savitzky-Golay dal nome del ricercatore che li propose per primo nel 1964. Tali filtri sono prevalentemente usati in chimica per lo studio di misurazioni spettrometriche. E’ possibile reperire le tabelle riportanti le espressioni dei filtri di Savitzky-Golay fino al quinto grado, per esempio sono disponibili le tabelle verificate da Steinier che in [3] discute anche il problema dei minimi quadrati in un contesto più generale. Madden fu il primo a proporre la forma chiusa dei filtri di Savitzky-Golay [4] e le espressioni da lui ottenute differiscono da quelle qui riportate per un segno meno per i filtri che sono sequenze pari. Di seguito sono riportate le espressioni dei primi cinque polinomi ortogonali di Krawtchouk corrispondenti alla scelta di a=b=1/2 nelle funzioni peso (4.28) dalla equazione (4.30). Analisi Topografica e Filtri per l’approssimazione delle derivate IV-31 k 0 ( x) = 1 k1 ( x) = x 1 k 2 ( x) = [2 x 2 − N ] 4 1 k 3 ( x) = [2 x 3 − (3N − 1) x] 12 1 k 4 ( x) = [4 x 4 − 4(3N − 2) x 2 + 3N ( N − 1)] 98 1 k 5 ( x) = [4 x 5 − 20( N − 1) x 3 + (15 N 2 − 25 N + 6) x] 480 (4.36) L’espressione della norma dei sopra elencati polinomi è in generale: æ 2N ö K l2 = 2 −2l çç è 2N − l (4.37) Si riportano ora le espressioni dei filtri di Krawtchouk ottenuti con i campionamenti dei pesi w(n) = 1 æ 2N ö 1 (2 N )! ç = 2N 2N ç 2 èN −n 2 ( N − n)!( N + n)! (4.38) La convoluzione mediante il generico filtro denotato hK(n), fornisce il valore nel centro dell’intorno [-N,N]. Filtri approssimanti con pesi Gaussiani L = 0,1 p=0 hK (n) = w(n) L = 2,3 p=0 hK ( n ) = − 2n 2 − (3 N 2 − 1) w(n) (2 N − 1) Filtri Approssimanti con pesi Gaussiani per la derivata di primo ordine L = 1,2 p =1 hK ( n ) = − L = 3,4 p =1 hc (n) = − 2n w(n) N 2[2(3N − 1)n 3 − (15 N 2 − 15 N + 4)n] w(n) 3( N − 1) N (2 N − 1) Analisi Topografica e Filtri per l’approssimazione delle derivate IV-32 Filtri Approssimanti con pesi Gaussiani per la derivata del second’ordine L = 2,3 p=2 h K ( n) = − 4[2n 2 − N ] w(n) N (2 N − 1) Il comportamento al limite delle basi polinomiali di Chebyshev e Krawtchouk è particolarmente interessante. Se si pone x=Nz e si fa tendere N ad infinito, i polinomi di Chebyshev definiti sull’intervallo discreto [-N,N] diventano i polinomi di Legendre nella variabile z, definita sull’intervallo continuo [-1,1] con pesi unitari. Analogamente i polinomi di Krawtchouk al limite diventano i polinomi di Hermite definiti sull’intervallo continuo [−∞, ∞] con pesi di Gauss. Nella visione artificiale per determinazione delle feature si possano usare i polinomi di Hermite e di Legendre, anche se possono sorgere dei dubbi sulla correttezza dei risultati ottenuti ricorrendo a basi polinomiali ortogonali per operare su intorni ristretti. I polinomi continui consentono comunque una corretta approssimazione per dati definiti su griglie discrete solo al limite. E’ interessante notare come si siano usati i polinomi di Krawtchouk per approssimare i filtri di Gauss. 4.9 Algoritmo per il calcolo delle approssimazioni delle derivate tramite polinomi ortogonali Si presentano in questa sezione alcune osservazioni in merito all’algoritmo per il calcolo delle derivate di funzioni mono e bidimensionali, tramite l’utilizzo dei filtri di Chebyshev e di Krawtchouk. Si può immediatamente mettere in risalto il fatto che il calcolo delle derivate, ottenute tramite la convoluzione con filtri, è particolarmente semplice. Tutto l’algoritmo si riduce infatti a calcolare le somme dei prodotti dei valori della funzione di cui si vuole approssimare la derivata, con i pesi del filtro conosciuti a priori. Come si evince dalle formule della sezione precedente i pesi della funzione filtro h(i;p) dipendono solo da i, p ed N e non dal valore della funzione g(x) di cui si vuole calcolare l’approssimazione della derivata. Questa osservazione mette in evidenza come i pesi del filtro possano essere calcolati definitivamente ed una volta per tutte, dopo aver scelto la dimensione della maschera di convoluzione N. Tale dimensione determina il numero delle somme e dei prodotti insiti nel calcolo della convoluzione. Analisi Topografica e Filtri per l’approssimazione delle derivate IV-33 In questo lavoro si sono scelti come filtri i polinomi di Chebyshev e Krawtchouk di grado non inferiore al terzo. Esempio 1: Si presentano ora alcuni risultati ottenuti valutando le approssimazioni delle derivate calcolate su un polinomio noto. Di quest’ultimo si sono calcolate le derivate prime e seconde e messe a confronto con i rispettivi risultati ottenuti dal calcolo delle approssimazioni con i filtri costruiti sui polinomi di Chebyshev e Krawtchouk. Per il seguente esempio si sono utilizzati 50 valori scelti nell’intervallo [-5, 5] con passo 0,2 dalla funzione f(x)=x4 + x3 –18x2 + 24x + 100. Il valore della maschera di convoluzione N è 3. Analisi Topografica e Filtri per l’approssimazione delle derivate 4 3 ( ) 2 f ( x) := x + x − 18x + 24⋅ x + 100 Approssimazione f(x) 200 200 200 y f ( x) 0 0 − 150 0 0 − 4.4 x d 3 2 f ( x) → 4⋅ x + 3⋅ x − 36⋅ x + 24 dx 200 f ( x) dx 0 − 150 0 − 4.4 x 2 2 3.8 200 yp 0 0 d2 x1 Approssimazione f’(x) 200 d IV-34 f ( x) → 12⋅ x + 6⋅ x − 36 xp 3.8 Approssimazione f’’(x) dx 200 d2 2 dx f ( x) 200 ys 0 200 0 − 150 0 0 x − 4.4 xs 3.8 Figura 4.13: Approssimazioni delle derivate espresse con i polinomi di Chebyshev con N = 3 Analisi Topografica e Filtri per l’approssimazione delle derivate IV-35 Come si nota immediatamente dalla Figura 4.13 le approssimazioni delle derivate ricavate tramite i polinomi di Chebyshev sono delle approssimazioni del valore reale delle derivate a meno di una costante moltiplicativa. Questa forma di approssimazione, tuttavia, non costituisce una limitazione all’utilizzo di questo metodo. E’ noto infatti che nella stragrande delle applicazioni ciò che interessa non è il valore puntuale della derivata prima o seconda, quanto piuttosto il loro andamento generale e l’individuazione dei punti critici legati, nel caso della derivata prima, ai punti di massimo locale e, nel caso della derivata seconda, alla convessità o alla concavità della funzione originale. L’individuazione dei punti critici, ovvero degli zeri della derivata prima e seconda, non è influenzata da un coefficiente moltiplicativo. Nella prossima figura vengono presentati i grafici della funzione originale, della approssimazione della derivata prima e seconda opportunamente scalate. Figura 4.14: Approssimazione delle derivate con i polinomi di Chebyshev. Rosso=f(x), Blue=f’(x), Verde=f’’(x) Figura 4.15: Approssimazione delle derivate con i polinomi di Krawtchouk .Rosso= f(x), Blue=f’(x), Verde=f’’(x) Analisi Topografica e Filtri per l’approssimazione delle derivate IV-36 Esempio 2: Nel caso di funzioni a due variabili il discorso delle approssimazioni delle derivate parziali e miste del primo e second’ordine è di facile estensione. Si ricorda che vale la f ( p ,q ) (n, m) = N N g (n − i, m − j )h(i; p)h( j; q) i =− N j =− N dove g(x,y) può essere una funzione nota a priori o una immagine. Le prossime figure esplicano il comportamento delle derivate per una generica funzione come per esempio: f ( x, y ) := (5⋅ x⋅ y − 2⋅ x3 − 3⋅ y3) (1 + x4 + y4) cui corrisponde il grafico: f Figura 4.16 Si consideri la derivata prima di f(x,y) rispetto ad y che indichiamo con g(x,y) g( x, y ) := ( ( 2 ) ) ( ) 3 3 5⋅ x − 9⋅ y 5⋅ x⋅ y − 2⋅ x − 3⋅ y d 3 f ( x, y ) → − 4⋅ ⋅y 4 4 2 dy 4 4 1+ x + y 1+ x + y ( ) Analisi Topografica e Filtri per l’approssimazione delle derivate IV-37 cui corrisponde il grafico: g Figura 4.17 Si valuti poi la derivata seconda rispetto ad y, h(x,y): h ( x, y ) := d2 dy 2 f ( x, y ) → −18⋅ y ( 1 + x4 + y4) − 8⋅ (5⋅ x − 9⋅ y2) 3 ( 5⋅ x⋅ y − 2⋅ x3 − 3⋅ y3) 6 ( 5⋅ x⋅ y − 2⋅ x3 − 3⋅ y3) 2 ⋅ y + 32⋅ ⋅ y − 12⋅ ⋅y (1 + x4 + y4) 2 (1 + x4 + y4)3 (1 + x4 + y4) 2 cui corrisponde il grafico che segue: h Figura 4.18 I risultati fin qui ottenuti sono stati calcolati con l’ausilio di un programma di valutazione simbolica di funzioni bidimensionali (Mathcad2000). Si presentano in seguito i grafici ottenuti tramite le approssimazioni delle derivate calcolate con i polinomi di Chebyshev e di Krawtchouk I grafici ottenuti sono stati realizzati utilizzando le primitive di grafica tridimensionale OpenGL e fanno parte Analisi Topografica e Filtri per l’approssimazione delle derivate IV-38 integrante del programma di calcolo delle approssimazioni realizzato nel contesto di questo lavoro. E’importante notare la fondamentale somiglianza dei grafici ottenuti per approssimazione, con quelli ottenuti tramite i programmi di analisi matematica (si vedano le Figure 4.16, 4.19, 4.20; Figure 4.17, 4.21, 4.22; Figure. 4.18, 4.25, 4.26). Tale somiglianza va valutata a meno di una costante moltiplicativa. Figura 4.19: smoot Figura 4.20: smoot Figura 4.21 : dy Figura 4.22 : dy Figura 4.23 : dx Figura 4.24 dx Analisi Topografica e Filtri per l’approssimazione delle derivate IV-39 Figura 4.25 : dy2 Figura 4.26: dy2 Figura 4.27 : dx2 Figura 4.28 :dx2 Figura 4.29 : dxy Figura 4.30 : dxy Nelle pagine precedenti si sono mostrate le approssimazioni della funzione test operate tramite i polinomi di Chebyshev con maschera N = 3 su una griglia di campionamento di 48 x 48 elementi con –4≤ x ≤ 4 ; –4≤ y ≤ 4 e con passo di campionamento 0.16. Analisi Topografica e Filtri per l’approssimazione delle derivate IV-40 Sono stati omessi i grafici costruiti tramite i polinomi di Krawtchouk perché praticamente identici, all’apparenza visiva, a quelli ottenuti con Chebyshev. Nel seguito del lavoro si avrà modo di apprezzare la differenza del valore numerico tra i due metodi proposti. Per ciò che concerne l’approssimazione della derivata di primo ordine, per verificare la bontà del metodo usato si sono messi a confronto i valori della derivata calcolata analiticamente ed i valori ottenuti mediante l’approssimante di Chebyshev con maschera N = 3 su una griglia di campionamento di 48 x 48 elementi con –4≤ x ≤ 4 ; –4≤ y ≤ 4 e con passo di campionamento 0.16. In precedenza si è osservato che i valori ottenuti come approssimazione della funzione coincidono con quelli reali a meno di una costante moltiplicativa C; ragion per cui l’approssimazione è tanto migliore quanto più il rapporto tra valori approssimati e valori reali è prossimo alla costante C. Rappresentando dunque i rapporti calcolati sulla griglia di campionamento, l’approssimazione è tanto più precisa quanto più il grafico ottenuto si avvicina ad un piano. a Figura 4.31: a) Derivata prima rispetto ad y calcolata analiticamente; b) Derivata prima rispetto ad y ottenuta mediante approssimanti di Chebyshev b Analisi Topografica e Filtri per l’approssimazione delle derivate IV-41 Figura 4.32: Rapporto fra la derivata analitica e l’approssimazione di Chebyshev della derivata Il risultato del confronto fornisce il valore medio del rapporto pari a 6.003692, il valore minimo pari a 4.830229 e quello massimo pari a 6.761135. Esempio 3: Si presentano ora i grafici delle approssimazioni delle derivate, riferiti all’immagine acquisita in 256 toni di grigio della cifra 3. L’intensità luminosa gioca il ruolo della coordinata z nella rappresentazione. Il calcolo delle derivate prime, seconde e miste sono basilari per la classificazione topografica dei punti della immagine. Approfondiremo meglio questo tema nel prossimo capitolo. Figura 4.33 Figura 4.34 : Smooth Analisi Topografica e Filtri per l’approssimazione delle derivate IV-42 Figura 4.35 : Smoot Figura 4.38: dx2 Figura 4.36 : dx Figura 4.39 : dy2 Figura 4.37 :dy Figura 4.40 : dxy Analisi Topografica e Filtri per l’approssimazione delle derivate IV-43 Per i grafici delle approssimazioni dell’esempio 3 (Figure 4.33, 4.34, 4.35, 4.36, 4.37, 5.38, 4.39, 4.40) si sono utilizzati i polinomi di Krawtchouk con maschera di dimensione N=3 su una immagine di partenza di 54x73 pixel acquisita con uno scanner a risoluzione 200 x 200 dpi a 256 toni di grigio. Analisi Topografica e Filtri per l’approssimazione delle derivate IV-44 Riferimenti bibliografici: [1] R. M. Haralick, “Digital Step Edge from zero crossing of second directional derivatives””, IEEE TRANSACTION ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, PAMI 6, 1984, 58-68. [2] Peter MEER e Isaac WEISS, “Smoothed differentiation Filters for Images””, JOURNAL OF VISUAL COMMUNICATION AND IMAGE REPRESENTATION, VOL. 3, No 1, March, pp. 58-72, 1992. [3] R.M. Haralick, L.T. Watson and T.J. Laffey, “The topographic primal sketch”, Int. J. Robotics Res., Vol. 2, 1983 [4] Li Wang and Theo Pavlidis, “Direct Gray-Scale Extraction of Features for Character Recognition”, IEEE TRANSACTION ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, VOL 15, NO 10, MAY 1993 [5] Tullio Viola “Lezioni di analisi matematica con esercizi volume secondo”, LIBRERIA EDITRICE UNIVERSITARIA LEVROTTO & BELLA TORINO [6] Andrea Bacciotti / Fulvio Ricci “Lezioni di Analisi Matematica 2”, LBRERIA EDITRICE UNIVERSITARIA LEVROTTO & BELLA TORINO [7] Shy-Shyan Chen, Frank Y. Shih “Skeletonization for Fuzzy Degraded Character Images”, IEEE TRANSACTION ON IMAGE PROCESSING, VOL 5 NO. 10, OCTOBER 1996 [8] Luigi Gatteschi “Lezioni di analisi numerica” UNIVERSITARIA LEVROTTO & BELLA TORINO LIBRERIA EDITRICE