Local Feature detectors

Transcript

Local Feature detectors
Capitolo 1
Rilevatori di punti di interesse
1.1
Introduzione
Nei capitoli precedenti abbiamo visto come rilevare pixel appartenenti al contorno di oggetti presenti nella scena. Tali punti di bordo, o spigolo di un oggetto della scena acquisita, rappresentano
elementi strutturali per una moltitudine di applicazioni che vanno dall’inseguimento dello stesso
oggetto in frame successivi (tracking); nella determinazione delle corrispondenze tra immagini stereo; nella localizzazione di un oggetto prototipo all’interno di una scena complessa. Tali rilevatori
di punti di interesse (o key point) di un oggetto devono essere robusti, e quindi invarianti, a trasformazioni geometriche e radiometriche come la traslazione, la scala, l’orientazione, variazioni di
illuminazione ed invarianti rispetto al punto di osservazione. La maggior parte dei corner detectors
sono basati sul seguente principio. Mentre un punto di edge é definito come un pixel dell’immagine che esibisce un alto valore di gradiente in una direzione preferenziale e basso nella direzione
ortogonale ad esso, un punto di spigolo (o key point) invece, é definito come un’area che esibisce
alto gradiente in svariate direzioni contemporaneamente. Alcune tecniche si basano su questa assunzione, ed analizzano le derivate del primo e secondo ordine dell’immagine nelle direzioni x ed y
[?], differenze di Gaussiane [?].
1.2
Harris Corner detector
L’operatore di Harris e Stephens [?] si basa sul fatto che i punti di interesse (key points) esibiscono
alto valore del gradiente in maniera isotropica (in piú di una direzione). In aggiunta, questi
rilevatori di corner non prendono in considerazioni punti di edge, poiché essi esibiscono alto valore
del gradiente solo in una direzione. Il rilevatore parte dalla formulazione delle derivate parziali
prime di una immagine I(u, v) lungo le direzioni orizzontali e verticali, quindi
Ix (u, v) =
∂I
∂x (u, v)
Iy (u, v) =
∂I
∂y (u, v)
(1.1)
Per ciascuna posizione dell’immagine (u, v) si calcolano quindi tre valori
A(u, v) = Ix2 (u, v)
(1.2)
Iy2 (u, v)
(1.3)
(1.4)
B(u, v)
C(u, v)
=
= Ix (u, v) · Iy (u, v)
che rappresentano gli elementi di una matrice M(u, v)
[ 2
] [
Ix
Ix Iy
A
M=
=
Ix Iy
Iy2
C
1
C
B
]
(1.5)
2
CAPITOLO 1. RILEVATORI DI PUNTI DI INTERESSE
Ciascuna dell tre funzioni A(u, v), B(u, v) e C(u, v) é filtrata individualmente con un filtro di
smoothing Gaussiano Gσ che definisce la nuova matrice:
[
M̄ =
A ? Gσ
C ? Gσ
C ? Gσ
B ? Gσ
]
[
=
Ā
C̄
C̄
B̄
]
.
(1.6)
Ora, poiché la matrice M̄ é simmetrica, puó essere diagonalizzata
M̄0 =
[
λ1
0
0
λ2
]
(1.7)
dove λ1 e λ2 sono gli autovalori della matrice M̄ definiti come segue
λ1,2
=
trace(M̄)
2
=
1
2
(
±
√(
trace(M̄)
2
)2
− det(M̄))
)
√
Ā + B̄ ± Ā2 − 2ĀB̄ + B̄2 + 4C̄2 .
(1.8)
Gli autovalori appena definiti sono positivi e reali, e contengono informazioni utili circa la struttura
dell’immagine. Ad esempio, se una immagini ha livelli di grigio distribuiti in maniera uniforme
(quindi siamo in assenza di strutture), la matrice M̄ = 0 ed anche λ1 = λ2 = 0. Se invece siamo in
presenza di una immagine in cui vi é presente un salto (o rampa) dei livelli di grigio, λ1 > 0 e λ2 = 0
indipendentemente dall’orientazione del contorno. Gli autovalori codificano pertanto l’importanza
di un pixel di edge (ovvero un peso) ed i loro autovettori associati rappresentano l’orientazione del
contorno. Un corner dovrebbe avere un profilo di contorno abbastanza accentuato in una direzione
principale (che corrisponde al piú grande dei due autovalori), un altro nella direzione ortogonale al
primo (corrispondente all’autovalore piú piccolo) e gli autovalori devono essere tutti significativi.
Poiché Ā, B̄ ≥ 0, si puó assumere che trace(M̄) > 0 e pertanto |λ1 | ≥ |λ2 |. Quindi dalla (1.8)
si puó desumere che√solo l’autovalore piú piccolo risulta rilevante nella determinazione del corner
λ2 = trace(M̄)/2 − · · ·.
1.2.1
Funzione della risposta del corner
Dall’equazione (1.8), la differenza tra i due autovalori é data da
√
λ1 − λ 2 = 2 ·
dove la relazione
)2
1(
trace(M̄) − det(M̄)
4
(
)
0.25 · trace(M̄)2 > det(M̄)
(1.9)
(1.10)
risulta verificata. Nella posizione dell’immagine che corrisponde ad un corner, questa espressione
dovrebbe essere piú piccola possibile, e pertanto il rilevatore del punto di interesse di Harris é
definito dalla funzione
(
)2
Q(u, v) = det(M̄) − α · trace(M̄)
)2
)
(
(
(1.11)
= ĀB̄ − C̄2 − α · Ā + B̄
che definisce una misura di quanto probabile la posizione (u, v) sia di corner, con il parametro α
indicante la sensibilitá del rilevatore. La funzione Q(u, v) é anche denominata funzione di risposta
del corner e ritorna un valore massimo per punti di corner isolati. Nella pratica, ad α é assegnato
un valore fissato nell’intervallo [0.04, 0.06] e, piú grande il valore di α, meno sensibile risulta il
detector e meno punti di corner verranno rilevati.
1.2. HARRIS CORNER DETECTOR
3
I(u, v)
A = Ix2 (u, v)
B = Iy2 (u, v)
C = Ix (u, v)Iy (u, v)
Q(u, v)
Corners rilevati
Figura 1.1: Harris Corner detector. Dall’immagine originale I(u, v), viene calcolata la derivata
prima e successivamente calcolate le matrici A = Ix2 , B = Iy2 e C = Ix Iy . A e B rappresentano
i pesi associati agli edge verticali ed orizzontali. In C i valori sono fortemente positivi (bianco)
o fortemente negativi (nero) solo per quegli edge che sono caratterizzati nelle due direzioni. Limmagine della risposta della funzione del corser Q é caratterizzata dai punti di corner con elevata
intensitá.
1.2.2
Determinazione dei punti di corner
Una posizione (u, v) dell’immagine é candidata come corner, quando é verificata la seguente
relazione
Q(u, v) > th
(1.12)
dove la soglia th é selezionata in base al contenuto dell’immagine e tipicamente appartiene all’intervallo [10000, 1000000]. Quando il punto di corner viene selezionato (ovvero soddisfa la precedente
relazione), il punto i-esimo ci = hui , vi , qi i viene inserito nella lista di corner
Corners = [c1 , c2 , . . . , cN ]
(1.13)
che viene ordinata in maniera discendente sulla base della funzione di risposta del corner (qi ≥ qi+1 )
in accordo al valore qi = Q(ui , vi ) definito in (1.1).
L’eliminazione dei falsi positivi viene effettuata analizzando l’intorno di ciascun punto candidato, in cui solo i massimi locali vengono tenuti in considerazione.
4
CAPITOLO 1. RILEVATORI DI PUNTI DI INTERESSE
Figura 1.2: Rilevazione di punti di interesse da un’immagine sottomarina.