1 / 157

Edges

Edges. Edges = jumps in brightness/color. Brightness jumps marked in white. Edges. Edges = jumps in brightness/color Important! Give object outlines and shapes. Brightness jumps marked in white. Edges. Edges = jumps in brightness/color Important! Give object outlines and shapes

zach
Télécharger la présentation

Edges

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Edges • Edges = jumps in brightness/color Brightness jumps marked in white

  2. Edges • Edges = jumps in brightness/color • Important! • Give object outlines and shapes Brightness jumps marked in white

  3. Edges • Edges = jumps in brightness/color • Important! • Give object outlines and shapes • Relatively robust not so affected by changes in lighting, camera, viewpoint… Brightness jumps marked in white

  4. Edges not so affected by lighting

  5. Edges not so affected by lighting Face outline persists, despite very different lighting

  6. What do “edges” look like? Brightness Brightness Row number Column number “Jumps” can be gradual or jagged

  7. Brightness jumps are not always obvious when you look at the brightness profile

  8. Detecting edges • Want to detect jumps brightness profiles at a jump (ideally)

  9. Detecting edges • Want to detect jumps brightness profiles at a jump (ideally) Of course should detect jumps in any orientation!

  10. Detecting edges • Want to detect jumps brightness profiles at a jump (ideally) Off course should detect jumps in any orientation!

  11. Detecting edges • Want to detect jumps • Filters detect themselves brightness profiles at a jump (ideally) Eye detection: Convolve with eye filter

  12. Detecting edges • Want to detect jumps • Filters detect themselves  To detect jumps, convolve image with jumps brightness profiles at a jump (ideally) Eye detection: Convolve with eye filter

  13. Detecting edges • To detect jumps, convolve with jumps

  14. Detecting edges • To detect jumps, convolve with jumps • If image has no jump, convolving should give zero (convolving a constant image should give 0)  Filter weights should sum to 0 In equations:

  15. Detecting edges • To detect jumps, convolve with jumps • Mask weights should sum to 0 • To detect all jumps (dark-to-bright and bright-to-dark)…

  16. Detecting edges • To detect jumps, convolve with jumps • Mask weights should sum to 0 • To detect all jumps (dark-to-bright and bright-to-dark)…  Use magnitude(absolute value) of convolution result

  17. Edge detection • To detect jumps along x Convolve with [1, -1] • To detect jumps along y Convolve with Horizontal jumps Vertical jumps After taking absolute value of convolution result, only jumps stand out as bright spots. Smooth image regions, where the brightness changes slowly, are dark.

  18. Edge Detection • To “detect edges”, decide how big a jump must be to qualify • Choose threshold T • If magnitude of convolution is >T at some pixel, mark it as edge pixel (“edgel”) Horizontal edges Marked (white) pixels have T is about 15% of

  19. Edge detection • How to detect edges in any orientation? • Answer: compute remember:

  20. Edgels: T = 6% of Edgels: T = 12% of Edgels: T = 25% of

  21. Edgels: T = 6% of Higher threshold: cleaner but more fragmented Edgels: T = 12% of Edgels: T = 25% of

  22. Edge detection • Many questions • We’re convolving with [-1 1]

  23. Edge detection (Overall sign isn’t important…) • Many questions • We’re convolving with [-1 1]

  24. Edge detection • Many questions • We’re convolving with [-1 1] = [... 0 0 0 -1 1 0 0 …]

  25. Edge detection • Many questions • We’re convolving with [-1 1]… Should we use [-1 -1 -1 -1 1 1 1 1 ] instead? (This would detect jumps between large bright areas next to large dark areas)

  26. Edge detection • Many questions • We’re convolving with [-1 1]… Should we use [-1 -1 -1 -1 1 1 1 1 ] instead? (This would detect jumps between large bright areas next to large dark areas) But not so good for

  27. Edge detection • Many questions • We’re convolving with [-1 1] • Should we look for smoother, more gradual change? • [-0.02 -0.08 -0.06 0.06 0.08 0.02]

  28. Edge detection • Many questions • We’re convolving with [-1 1] • Should we look for smoother, more gradual change? • [-0.02 -0.08 -0.06 0.06 0.08 0.02] Recall smooth brightness profile for car image edge

  29. Edge detection • Many questions • We’re convolving with [-1 1] • To detect long boundary, should we average along it?

  30. Edge detection • Many questions • We’re convolving with [-1 1] • To detect long boundary, should we average along it? 0 1 -1 0 0 -1 0 1 0 -1 0 1 Detects jumps along x direction averages over y direction

  31. Edge detection • Many questions • We’re convolving with [-1 1] • To detect long boundary, should we average along it? 0 1 -1 0 0 -1 0 1 0 -1 0 1 Detects jumps along x direction averages over y direction Good for long low contrast boundaries, accurate orientation measurement

  32. Note: edge detection and derivative Original image: Blurry brightness transition derivative has maximum at point of steepest rise First derivative

  33. Note: edge detection and derivative Original image: Blurry brightness transition derivative has maximum at point of steepest rise First derivative • To detect fast change in image, compute derivative.

  34. Note: edge detection and derivative Original image: Blurry brightness transition derivative has maximum at point of steepest rise First derivative • To detect fast change, compute derivative.  same as convolving with [1 -1] !

  35. Note: edge detection and derivative Original image: Blurry brightness transition derivative has maximum at point of steepest rise First derivative • To detect fast change, compute derivative.  same as convolving with [1 -1] !

  36. Note: edge detection and derivative Original image: Blurry brightness transition derivative has maximum at point of steepest rise First derivative • To detect fast change, compute derivative.  same as convolving with [1 -1] !

  37. Note: edge detection and derivative Original image: Blurry brightness transition derivative has maximum at point of steepest rise First derivative • To detect fast change, compute derivative.  same as convolving with [1 -1] ! Remember the flip in convolution

  38. Convolution and Derivatives • Convolving I with [1, -1] gives • Convolving I with gives Approximate derivatives in x and y

  39. Convolution and Derivatives • Convolving I with [1, -1] gives • Convolving I with gives • Define gradient of I Approximate derivatives in x and y

  40. Convolution and Derivatives • Convolving I with [1, -1] gives • Convolving I with gives • Define gradient of I • From calculus: Approximate derivatives in x and y

  41. Convolution and Derivatives • Convolving I with [1, -1] gives • Convolving I with gives • Define gradient of I • From calculus: • Approximate image gradient Approximate derivatives in x and y

  42. What is the gradient? Change

  43. What is the gradient? Change

  44. What is the gradient? Less Change More Change

  45. What is the gradient? Less Change More Change Gradient direction is perpendicular to edge

  46. What is the gradient? Less Change More Change Gradient Magnitude gives size of brightness jump Gradient direction is perpendicular to edge

  47. Gradient • Brightness change in direction Chain rule:

  48. Gradient • Brightness change in direction Chain rule:

  49. Gradient • Brightness change in direction Chain rule:

More Related