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