Harrisov detektor oglišč
Transcription
Harrisov detektor oglišč
ROBOTSKI VID 6. Robustni detektorji (robov, krivulj in oglišč) Robustni detektor robov - Canny Enega najbolj uporabljanih detektorjev robov je leta 1983 v okviru magistrske naloge na MIT razvil John Canny. Pri razvoju detektorja robov je zasledoval 3 cilje: • malo napak – detektor naj bi našel večino robnih točk in malo točk, ki ne predstavljajo roba • dobra lokalizacija – robne točke naj bi bile čim bližje dejanskim robovom • ena točka / rob – vsak rob naj bi bil predstavljen z (širok) eno točko Robustni detektor robov - Canny Vzemimo 1D stopničastih rob, ki je degradiran z Gaussovim šumom: f (x) f ( x ) Kje je rob? Robustni detektor robov - Canny Rešitev: najprej zgladi sliko, potem pa odvajaj! h f d dx (h f ) jedro konvolucija h odvod f intenzitete 50 Kje je rob? Tam, kjer so vrhovi funkcije: d dx (h f ) Robustni detektor robov - Canny Lastnost konvolucije: x (h f ) h x f prihrani eno operacijo x h x f odvod jedra h konvolucija f intenzitete 50 Robustni detektor robov - Canny Canny je prišel do ugotovitve, da je dobra aproksimacija detektorja 1D stopničastih robov, ki so degradirani z Gaussovim šumom, prvi odvod Gaussove funkcije x e x 2 2 2 x 2 e x 2 2 2 h(x) G (x) e x 2 2 2 : Robustni detektor robov - Canny Razširitev na 2D: G ( x, y) e 2 x y 2 2 2 2D G auss Is ( x, y) G ( x, y) I ( x, y) originalna slika σ=1 zglajeni sliki σ=2 Robustni detektor robov - Canny Razširitev na 2D: gx I s x gy I s y I (x, y) M (x, y) original ( s f iltr i: R o b e r ts , P r e w itt, S o b e l, itd .) gx g 2 2 y gy ( x , y ) = a r c tg g x M(x,y) Robustni detektor robov - Canny Odstranjevanje nemaksimalnih vrednosti v smeri značilni rob M(x,y) gy ( x , y ) = a r c tg g x Robustni detektor robov - Canny Odstranjevanje nemaksimalnih vrednosti v smeri ( x, y) d4 d1 ( x, y) 1. poišči smer dk , ki je najbližja smeri Φ(x,y) ( x, y) d2 d3 2. če je vrednost M(x,y) manjša od najmanj ene sosednje vrednosti v smeri dk , gN(x,y)=0, drugače gN(x,y)=M(x,y) Robustni detektor robov - Canny Odstranjevanje nemaksimalnih vrednosti v smeri original M(x,y) ( x, y) gN (x,y) Robustni detektor robov - Canny Odstranjevanje napačnih robnih točk: gN (x,y) 0 T T MAX gN (x,y) Odstranili Nismo odstranili smo tudi vseh prave napačnih robne robnih točke ! točk ! Robustni detektor robov - Canny Odstranjevanje napačnih robnih točk – upragovljanje s histerezo gN (x,y) TL 0 Canny: TL TH 1 2 a li TH MAX gN (x,y) 1 3 g NH ( x, y ) g N ( x, y ) TH g NL ( x, y ) g N ( x, y ) TL g NL ( x, y ) g NL ( x, y ) g NH ( x, y ) Robustni detektor robov - Canny Povezovanje robov : g NH ( x, y ) g NL ( x, y ) Robustni detektor robov - Canny Original Canny σ = 1 Canny σ = 2 Večji σ → detekcija izrazitejših robov (manj robov) Manjši σ → detekcija tudi manj izrazitih robov (več robov) Robustni detektor robov - Canny Kje je metulj? original majhen σ ; visok prag TH Kaj je na sliki? velik σ ; visok prag TH velik σ ; nizek prag TH Prostor ločljivosti – scale space (Witkin ‘83) vrhovi 1. odvoda večji signal filtriran z Gaussom Robustni detektor preprostih krivulj Robustni detektor preprostih krivulj Motivacija: Umetni objekti – objekti, ki jih je naredil človek – so ravni, okrogli, elipsasti, trikotni, kvadratni, … Robustni detektor preprostih krivulj V naravi redko najdemo ravne črte, krožnice, elipse, … Robustni detektor preprostih krivulj Original Canny Problem: kako na osnovi binarne slike robov poiskati objekte določenih oblik? Robustni detektor preprostih krivulj Rešitev 1: lokalno zaporedno sledenje konture - izberi točko na binarni sliki robov, preglej njeno soseščino in dodaj točke v soseščini. Robustni detektor preprostih krivulj y k tg d x k,d Ali Rešitev obstaja 2: globalno učinkovitejša izčrpno rešitev? iskanje krivulj – npr. iščemo premice y k x d k , d , na katerih leži največ robnih točk. Houghova preslikava 1962: Paul Hough – US Patent 3,069,654 1972: Richard Duda Peter Hart Houghova preslikava - premice Parametrični prostor Vsaka premica L enačbo: L : y k x j j 0 L j : y0 k j x0 d j 0 k j,d d j , ki poteka skozi točko p 0 ( x0 , y0 ) , je opisana z j j d y0 d j = x0k j y0 y0 k j in d j s ta s p re m e n ljiv k i, x 0 in y 0 p a k o n s ta n tn a p a ra m e tra x0 k Houghova preslikava - premice Parametrični prostor Splošno, za poljubno točko p i ( x i , y,i ) M i : d = xik yi opisuje premico s parametroma x i , y i v parametričnem ali Houghovem prostoru, ki ga določata koordinati k in d. Parametrični prostor (k,d) Prostor slike (x,y) točka premica pi ( xi , yi ) Lj : y k jx d j M i : d = xik yi premica q j (k j , d j ) točka Houghova preslikava - premice Parametrični prostor Prostor slike (x,y) Parametrični prostor (k,d) V parametričnem prostoru nas zanimajo točke, kjer se dve ali več premic seka! Če se v neki točki (k*,d*) parametričnega prostora seka N premic, potem N točk v prostoru slike leži na premici y=k*x+d* . Houghova preslikava - premice Diskretni parametrični prostor – polje akumulatorja Prostor slike Polje akumulatorja Houghova preslikava - premice Primernejša oblika enačbe premice Ker je pri eksplicitni obliki enačbe premice y k x d , lahko boljša normalna ali Hessejeva oblika enačbe premice: k x . c o s ( ) y . s in ( ) r Ta zapis omogoča tudi linearno kvantizacijo kota θ in polmera r. , je Houghova preslikava - premice Algoritem Houghova preslikava - premice Zgled Prostor slike upragovljanje Polje akumulatorja Houghova preslikava – krožnice Enačba krožnice v kartezičnih koordinatah: y (x x ) ( y y) y 2 2 2 Houghova preslikava krožnic zahteva tridimenzionalni parametrični prostor ( x , y , ) , v katerem iščemo središče in polmer krožnice. ρ x x y Problem: med koordinatami v parametričnem prostoru ne obstaja preprosta funkcijska odvisnost tako kot pri premici. L j : y0 k j x0 d j d j = x0k j y0 x Houghova preslikava – krožnice i y p1 C1 x (x x ) ( y y) 2 2 2 prerez skozi 3D akumulator pri radiju i Houghova preslikava – krožnice Houghova preslikava – elipse b a Ker je elipsa v 2D podana s 5 parametri: x , y , a, b, je Houghov parametrični prostor 5dimenzionalen in je zato problem iskanja elips težji od iskanja premic in krožnic. y y α x x Robustni detektor oglišč Oglišča – so piksli, katerih intenziteta se močno razlikuje od intenzitet sosednjih pikslov v več kot eni smeri. Oglišča so „robustne“ značilnice (oslonilne točke), katere uporabljamo za: • sledenje objektov, • poravnavo slik, • geometrijska merjenja, • kalibracijo sistemov za vizualno kontrolo kakovosti, itd. Oglišča hitro zaznamo, avtomatsko iskanje oglišč pa ni enostavno. Detektor oglišč Iz gradienta v točki (u,v): 2 I (u , v ) I I ( u , v ) (u , v ) u v 2 ne moremo sklepati, ali je točka (x,y) oglišče ali ne. Potrebujemo statistiko gradientov znotraj majhnega okna. Razvrstitev: • konstanta – majhne spremembe intenzitet • rob – velike spremembe intenzitet v eni smeri • oglišče – velike spremembe intenzitet v dveh ortogonalnih smereh Harrisov detektor oglišč Po intuiciji bosta oba parcialna ulomka I x (u , v ) I x ( u , v ) in I y ( u , v ) I y (u , v ) v oknu, kjer je oglišče, velika. Za vsako točko (u,v) na sliki izračunamo vrednosti A(u,v), B(u,v) in C(u,v): A (u , v ) I x (u , v ) 2 B (u , v ) I y (u , v ) 2 C ( u , v ) I x ( u , v ). I y ( u , v ) ki so elementi matrike M(u,v): Ix M I I x y 2 IxIy A 2 Iy C C B Harrisov detektor oglišč Vsako izmed funkcij A(u,v), B(u,v) in C(u,v) zgladimo z linearnim Gaussovim filtrom HG,σ: AH M C H G , C H G , G , BH G , A C C B Določimo lastni vrednosti matrike M: g ( ) M I 1,2 (A B) A C C B (A B) C 2 2 ( A B ) C 2 2 2 0 Harrisov detektor oglišč 1,2 (A B) (A B) C 2 2 2 1, 2 0 h o m o g e n o p o d ro č 1 0 in 2 0 v e r ik a ln i a li h o r iz o n ta ln i r o b 1 0 in 2 0 o g liš č e Ker je operacija korenjenja potratna, je Harris predlagal funkcijo Q(u,v): Q (u , v ) ( A B C ) ( A B ) 2 2 0, 04 0, 06 za merjenje “izrazitosti” oglišča. Večji je α, manj občutljiv je detektor in manj oglišč bo odkril. Q (u , v ) t H t H 1 0 .0 0 0 1 .0 0 0 .0 0 0 Harrisov detektor oglišč Harrisov detektor oglišč Harrisov detektor oglišč Harrisov detektor oglišč Q(u,v) Harrisov detektor oglišč Q (u , v ) t H Harrisov detektor oglišč Lokalne maksimalne vrednosti Q(u,v) Harrisov detektor oglišč Likarjev detektor oglišč R r r R r r Likarjev detektor oglišč Likarjev detektor oglišč Likarjev detektor oglišč Likarjev detektor oglišč