1
play

1 Canny Edge Detection Steps: 1. Apply derivative of Gaussian 2. - PDF document

Edge and Corner Detection What causes an edge? Reading: Chapter 8 (skip 8.1) Goal: Identify sudden changes


  1. Edge and Corner Detection What causes an edge? Reading: Chapter 8 (skip 8.1) � ������������������� • Goal: Identify sudden � �������������������� changes (discontinuities) in an ������������� image � ������������ • This is where most shape ��������������������� information is encoded ������������������ • Example: artist’s line �������������������� drawing (but artist is also using object-level knowledge) � ������������� ��������������������� ������� Slide credit: Christopher Rasmussen Derivative of Gaussian Smoothing and Differentiation • Edge: a location with high gradient (derivative) • Need smoothing to reduce noise prior to taking derivative • Need two derivatives, in x and y direction. • We can use derivative of Gaussian filters • because differentiation is convolution, and convolution is associative: D * (G * I) = (D * G) * I Gradient magnitude is computed from these. Slide credit: Christopher Rasmussen Gradient magnitude Scale Increased smoothing: • Eliminates noise edges. • Makes edges smoother and thicker. • Removes fine detail. 1

  2. Canny Edge Detection Steps: 1. Apply derivative of Gaussian 2. Non-maximum suppression • Thin multi-pixel wide “ridges” down to single pixel width 3. Linking and thresholding Non-maximum suppression: • Low, high edge-strength thresholds Select the single maximum point across the width • Accept all edges over low threshold that are of an edge. connected to edge over high threshold • Matlab: edge(I, ‘canny’) Non-maximum Examples: suppression Non-Maximum Suppression At q, the value must be larger than values interpolated at p or r. ������������������ !��"��#���� ������������� ������������������ ���������� Slide credit: Christopher Rasmussen fine scale ( σ = 1) high threshold 2

  3. coarse scale, ( σ = 4) coarse high scale threshold ( σ = 4) low threshold Linking to the Edge Hysteresis next edge point Assume the marked • Hysteresis : A lag or momentum factor point is an edge • Idea: Maintain two thresholds k high and k low point. – Use k high to find strong edges to start edge chain Take the normal to – Use k low to find weak edges which continue edge the gradient at that chain point and use this to predict continuation • Typical ratio of thresholds is roughly points (either r or s). k high / k low = 2 Example: Canny Edge Detection Example: Canny Edge Detection ����������� �������$ ������� ��������� ����� ���%������ ������ &��% ����� ����� ���� '�����(����)������������������������ ������������������ Slide credit: Christopher Rasmussen 3

  4. Finding Corners The Harris corner detector Form the second-moment matrix: Edge detectors perform poorly at corners. Gradient with respect to x, Sum over a small region times gradient with respect to y Corners provide repeatable points for matching, around the hypothetical corner so are worth detecting. ∑ ∑   I I I 2 Idea: x x y C =   ∑ ∑ I I I  2  • Exactly at a corner, gradient is ill defined.   x y y • However, in the region around a corner, gradient has two or more different values. Matrix is symmetric Slide credit: David Jacobs Simple Case General Case First, consider case where: It can be shown that since C is symmetric: ∑ ∑   λ I I I   2 0 = x x y = C 1     λ   ∑ ∑ λ 0 I I I 2     0   − C = R R 1 x y y 1 2   λ   0 2 This means dominant gradient directions align with x or y axis So every case is like a rotated version of the If either λ is close to 0, then this is not a corner, so one on last slide. look for locations where both are large. Slide credit: David Jacobs Slide credit: David Jacobs So, to detect corners • Filter image with Gaussian to reduce noise • Compute magnitude of the x and y gradients at each pixel • Construct C in a window around each pixel (Harris uses a Gaussian window – just blur) • Solve for product of λ s (determinant of C) • If λ s are both big (product reaches local maximum and is above threshold), we have a corner (Harris also checks that ratio of λ s is not too high) Gradient orientations 4

  5. Corners are detected where the product of the ellipse axis lengths reaches a local maximum. Closeup of gradient orientation at each pixel Harris corners • Originally developed as features for motion tracking • Greatly reduces amount of computation compared to tracking every pixel • Translation and rotation invariant (but not scale invariant) 5

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend