Edge Detection

Edge Detection

Edge Detection Sanja Fidler CSC420: Intro to Image Understanding 1 / 47 Finding Waldo Let's revisit the problem of finding Waldo And let's take a simple example image template (filter) Sanja Fidler CSC420: Intro to Image Understanding 2 / 47 Finding Waldo Let's revisit the problem of finding Waldo And let's take a simple example normalized cross-correlation Waldo detection (putting box around max response) Sanja Fidler CSC420: Intro to Image Understanding 3 / 47 Finding Waldo Now imagine Waldo goes shopping ... but our filter doesn't know that image template (filter) Sanja Fidler CSC420: Intro to Image Understanding 4 / 47 Finding Waldo Now imagine Waldo goes shopping (and the dog too) ... but our filter doesn't know that normalized cross-correlation Waldo detection (putting box around max response) Sanja Fidler CSC420: Intro to Image Understanding 5 / 47 Finding Waldo (again) What can we do to find Waldo again? Sanja Fidler CSC420: Intro to Image Understanding 6 / 47 Finding Waldo (again) What can we do to find Waldo again? Edges!!! image template (filter) Sanja Fidler CSC420: Intro to Image Understanding 6 / 47 Finding Waldo (again) What can we do to find Waldo again? Edges!!! normalized cross-correlation Waldo detection (using the edge maps) (putting box around max response) Sanja Fidler CSC420: Intro to Image Understanding 6 / 47 Waldo and Edges Sanja Fidler CSC420: Intro to Image Understanding 7 / 47 Edge detection Map image to a set of curves or line segments or contours. More compact than pixels. Edges are invariant to changes in illumination Important for recognition Figure: [Shotton et al. PAMI, 07] [Source: K. Grauman] Sanja Fidler CSC420: Intro to Image Understanding 8 / 47 Edge detection Map image to a set of curves or line segments or contours. More compact than pixels. Edges are invariant to changes in illumination Important for recognition Important for various applications Figure: Parse basketball court (left) to figure out how far the guy is from net Sanja Fidler CSC420: Intro to Image Understanding 8 / 47 Edge detection Map image to a set of curves or line segments or contours. More compact than pixels. Edges are invariant to changes in illumination Important for recognition Important for various applications Figure: How can a robot pick up or grasp objects? Sanja Fidler CSC420: Intro to Image Understanding 8 / 47 Edge detection Map image to a set of curves or line segments or contours. More compact than pixels. Edges are invariant to changes in illumination Important for recognition Important for various applications Figure: How can a robot pick up or grasp objects? Sanja Fidler CSC420: Intro to Image Understanding 8 / 47 Origin of Edges Edges are caused by a variety of factors surface normal discontinuity depth discontinuity surface color discontinuity illumination discontinuity [Source: N. Snavely] Sanja Fidler CSC420: Intro to Image Understanding 9 / 47 What Causes an Edge? [Source: K. Grauman] Sanja Fidler CSC420: Intro to Image Understanding 10 / 47 Looking More Locally... [Source: K. Grauman] Sanja Fidler CSC420: Intro to Image Understanding 11 / 47 Images as Functions Edges look like steep cliffs [Source: N. Snavely] Sanja Fidler CSC420: Intro to Image Understanding 12 / 47 Characterizing Edges An edge is a place of rapid change in the image intensity function. [Source: S. Lazebnik] Sanja Fidler CSC420: Intro to Image Understanding 13 / 47 Since it's discrete, take discrete derivative (finite difference) @f (x; y) f [x + 1; y] − f [x] ≈ @x 1 What would be the filter to implement this using correlation/convolution? !" 1 -1 !" -1 1 [Source: S. Seitz] How to Implement Derivatives with Convolution How can we differentiate a digital image f [x; y]? If image f was continuous, then compute the partial derivative as @f (x; y) f (x + , y) − f (x) = lim @x !0 Sanja Fidler CSC420: Intro to Image Understanding 14 / 47 What would be the filter to implement this using correlation/convolution? !" 1 -1 !" -1 1 [Source: S. Seitz] How to Implement Derivatives with Convolution How can we differentiate a digital image f [x; y]? If image f was continuous, then compute the partial derivative as @f (x; y) f (x + , y) − f (x) = lim @x !0 Since it's discrete, take discrete derivative (finite difference) @f (x; y) f [x + 1; y] − f [x] ≈ @x 1 Sanja Fidler CSC420: Intro to Image Understanding 14 / 47 !" 1 -1 !" -1 1 [Source: S. Seitz] How to Implement Derivatives with Convolution How can we differentiate a digital image f [x; y]? If image f was continuous, then compute the partial derivative as @f (x; y) f (x + , y) − f (x) = lim @x !0 Since it's discrete, take discrete derivative (finite difference) @f (x; y) f [x + 1; y] − f [x] ≈ @x 1 What would be the filter to implement this using correlation/convolution? Sanja Fidler CSC420: Intro to Image Understanding 14 / 47 !" 1 -1 !" -1 1 How to Implement Derivatives with Convolution How can we differentiate a digital image f [x; y]? If image f was continuous, then compute the partial derivative as @f (x; y) f (x + , y) − f (x) = lim @x !0 Since it's discrete, take discrete derivative (finite difference) @f (x; y) f [x + 1; y] − f [x] ≈ @x 1 What would be the filter to implement this using correlation/convolution? [Source: S. Seitz] Sanja Fidler CSC420: Intro to Image Understanding 14 / 47 Examples: Partial Derivatives of an Image How does the horizontal derivative using the filter [−1; 1] look like? Image Sanja Fidler CSC420: Intro to Image Understanding 15 / 47 Examples: Partial Derivatives of an Image How does the horizontal derivative using the filter [−1; 1] look like? @f (x;y) Image @x with [−1; 1] and correlation Sanja Fidler CSC420: Intro to Image Understanding 15 / 47 Examples: Partial Derivatives of an Image How about the vertical derivative using filter [−1; 1]T ? Image Sanja Fidler CSC420: Intro to Image Understanding 16 / 47 Examples: Partial Derivatives of an Image How about the vertical derivative using filter [−1; 1]T ? @f (x;y) T Image @y with [−1; 1] and correlation Sanja Fidler CSC420: Intro to Image Understanding 16 / 47 Examples: Partial Derivatives of an Image How does the horizontal derivative using the filter [−1; 1] look like? Image Sanja Fidler CSC420: Intro to Image Understanding 17 / 47 Examples: Partial Derivatives of an Image How does the horizontal derivative using the filter [−1; 1] look like? @f (x;y) Image @x with [−1; 1] and correlation Sanja Fidler CSC420: Intro to Image Understanding 17 / 47 Examples: Partial Derivatives of an Image How about the vertical derivative using filter [−1; 1]T ? Image Sanja Fidler CSC420: Intro to Image Understanding 18 / 47 Examples: Partial Derivatives of an Image How about the vertical derivative using filter [−1; 1]T ? @f (x;y) T Image @y with [−1; 1] and correlation Sanja Fidler CSC420: Intro to Image Understanding 18 / 47 Examples: Partial Derivatives of an Image Figure: Using correlation filters [Source: K. Grauman] Sanja Fidler CSC420: Intro to Image Understanding 19 / 47 Finite Difference Filters [Source: K. Grauman] Sanja Fidler CSC420: Intro to Image Understanding 20 / 47 The gradient points in the direction of most rapid change in intensity The gradient direction (orientation of edge normal) is given by: @f @f θ = tan−1 = @y @x q @f 2 @f 2 The edge strength is given by the magnitude jjrf jj = ( @x ) + ( @y ) [Source: S. Seitz] Image Gradient h @f @f i The gradient of an image rf = @x ; @y Sanja Fidler CSC420: Intro to Image Understanding 21 / 47 The gradient direction (orientation of edge normal) is given by: @f @f θ = tan−1 = @y @x q @f 2 @f 2 The edge strength is given by the magnitude jjrf jj = ( @x ) + ( @y ) [Source: S. Seitz] Image Gradient h @f @f i The gradient of an image rf = @x ; @y The gradient points in the direction of most rapid change in intensity Sanja Fidler CSC420: Intro to Image Understanding 21 / 47 q @f 2 @f 2 The edge strength is given by the magnitude jjrf jj = ( @x ) + ( @y ) [Source: S. Seitz] Image Gradient h @f @f i The gradient of an image rf = @x ; @y The gradient points in the direction of most rapid change in intensity The gradient direction (orientation of edge normal) is given by: @f @f θ = tan−1 = @y @x Sanja Fidler CSC420: Intro to Image Understanding 21 / 47 Image Gradient h @f @f i The gradient of an image rf = @x ; @y The gradient points in the direction of most rapid change in intensity The gradient direction (orientation of edge normal) is given by: @f @f θ = tan−1 = @y @x q @f 2 @f 2 The edge strength is given by the magnitude jjrf jj = ( @x ) + ( @y ) [Source: S. Seitz] Sanja Fidler CSC420: Intro to Image Understanding 21 / 47 Example: Image Gradient Sanja Fidler CSC420: Intro to Image Understanding 22 / 47 Example: Image Gradient Sanja Fidler CSC420: Intro to Image Understanding 23 / 47 Example: Image Gradient [Source: S. Lazebnik] Sanja Fidler CSC420: Intro to Image Understanding 24 / 47 Effects of noise What if our image is noisy? What can we do? Consider a single row or column of the image. Plotting intensity as a function of position gives a signal. !"#$%&#'()*&#+,-.& [Source: S. Seitz] Sanja Fidler CSC420: Intro to Image Understanding 25 / 47 Effects of noise @ Smooth first with h (e.g. Gaussian), and look for peaks in @x (h ∗ f ). [Source: S. Seitz] Sanja Fidler CSC420: Intro to Image Understanding 26 / 47 Derivative theorem of convolution Differentiation property of convolution @ @h @f (h ∗ f ) = ( ) ∗ f = h ∗ ( ) @x @x @x It saves one operation [Source: S.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    67 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us