440 likes | 553 Views
Datorseende. Niels Chr Overgaard 2010. TexPoint fonts used in EMF: A A. Goal: Identify sudden changes (discontinuities) in the image. Most of the information about an image is encoded in the edges Example: Line drawings. Edge- and corner detection. What is a cloud ?. skala.
E N D
Datorseende Niels ChrOvergaard 2010 TexPoint fonts used in EMF: AA
Goal: Identify sudden changes (discontinuities) in the image. Most of the information about an image is encoded in the edges Example: Line drawings Edge- and corner detection
Example of scalespace pyramid t=4 t=0 t=1 t=16 t=64 t=256
What will cause an edge? • Depth discontinuity • Discontinuity in orientation of faces • Changes in texture • Discontinuities in illumination (e.g. shadows) Slide credit: Christopher Rasmussen
Derivatan med ett Gauss-filter Slide credit: Christopher Rasmussen
Skala Ökad skala: • Eliminerar brusiga kanter • Gör kanter utsmetade och tjockare • Tar bort fina detaljer
Canny edge detector Algorithm: • Apply derivative of Gaussian filter • Suppress non-maxima • Prune “multi-pixel-ridges” to a breath of one pixel • Linking an thresholding • High threshold for strong edges • Accept edges with low threshold which are linked to edge which has passed a high threshold • Matlab: edge(I, ‘canny’)
Suppression of non-maxima: • Pick the maximum point in a section perpendicular to the edge.
Undertryckning av icke-maxima Vid q ska värdet vara större än värdena vid de båda interpolerade värdena p och r.
Example: Suppression of non-maxima courtesy of G. Loy Non-maxima suppressed Original image Gradient magnitude
Fine scale, High threshold
Coarse scale, high threshold
Coarse scale, low threshold
Link to next edge point Assume the marked point is an edge point. Take the normal of the gradient at this point as searchdirection for an edgecontinuationpoint (eitherr or s).
Hysteresis • Hysteresis:En fördröjning eller moment • Idé: Ha två trösklar khigh och klow • Använd khigh för att finna starka kanter att börja kantkedja med • Använd klow för att finna svaga kanter att förlänga kantkedjan med • Typiskt förhållande mellan trösklar är ungefär khigh/klow=2
gapet är borta Exempel: Canny kantdetektion Starka + samman-binda svaga kanter Original-bild Endast starka kantar Svaga kanter courtesy of G. Loy
Example: Canny Edge Detection Using Matlab with default thresholds Slide credit: Christopher Rasmussen
Att hitta hörn • Kantdetektorer fungerar dåligt vid hörn. • Hörn ger repeterbara punkter för matchning, vilket vi kommer ha nytta av senare. • Idé: • Vid en hörnpunkt så är gradienten ej definierad. • Däremot i en region runt omkring hörnpunkten, så har gradienten vanligtvis två eller flera olika värden. Slide credit: David Lowe
Harris hörndetektor Bilda andra ordningens moment-matris: Gradient m.a.p. x, multiplicerat med gradient m.a.p. y Summera kring en hypotetisk hörnpunkt Ckallasstruktur-tensorn för I Matrisen är symmetrisk
Enkla fallet Först, betrakta när matrisen är diagonal Det betyder att dominanta gradientriktningar sammanfaller med x- och y-riktningen Om något λ är nära 0, så är detta inte ett hörn. Alltså leta efter punkter där båda är stora.
Generella fallet Eftersom C är symmetrisk, kan man diagonalisera Alltså, generalla fallet är en roterad version av det enkla fallet.
Alltså, för att hitta hörn: • Beräkna x- och y-derivator med Gaussiskt filter • Bilda C-matrisen kring varje pixel • Beräkna produkten av egenvärden of l dvs determinanten till C. • Om båda l är stora (produkten är lokalt maximum och över viss tröskel), så är det ett hörn!
Hörn är detekterade där produkten av ellipsaxlarnas längder är lokala maxima.
Harris-hörn • Ursprungligen som särdrag för följning • Translations- and rotationsinvariant (men inte skalinvariant)