Datorseende TexPoint fonts used in EMF: AA Niels Chr Overgaard 2010
Edge- and corner detection Goal: Identify sudden changes (discontinuities) in the image. Most of the information about an image is encoded in the edges Example: Line drawings
What is a cloud?
skala
Example of scale space pyramid t=0t=1 t=4 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: 1.Apply derivative of Gaussian filter 2.Suppress non-maxima Prune “multi-pixel-ridges” to a breath of one pixel 3.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 Original imageGradient magnitude Non-maxima suppressed
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 search direction for an edge continuation point (either r or s).
Hysteresis Hysteresis: En fördröjning eller moment Idé: Ha två trösklar k high och k low –Använd k high för att finna starka kanter att börja kantkedja med –Använd k low för att finna svaga kanter att förlänga kantkedjan med Typiskt förhållande mellan trösklar är ungefär k high / k low = 2
Exempel: Canny kantdetektion courtesy of G. Loy gapet är borta Original -bild Endast starka kantar Starka + samman- binda svaga kanter Svaga kanter
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: Summera kring en hypotetisk hörnpunkt Gradient m.a.p. x, multiplicerat med gradient m.a.p. y Matrisen är symmetrisk C kallas struktur-tensorn för I
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. Enkla fallet
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 dvs determinanten till C. Om båda är stora (produkten är lokalt maximum och över viss tröskel), så är det ett hörn!
Gradientriktningar
Förstoring av gradientriktningar
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)