 
        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šč
© Copyright 2025