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.