CS6825: Computer Vision word cloud

Edge Detection

Edge Detection is a kind of "Area-based" Image Processing Alogirhtm. Edge Detection can be performed either in the Spatial Domain (our normal images) or in the Frequency Domain. We present here only some of the Spatial Domain techniques. This is not a substitution for class lecture or reading....it is not complete

What is it?
Edge Detection is the discovery including the localization and description of edges in an image. A pixel that is designated as an edges in a 2D image represents a point where greyscale values greatly varry. Often this will correspond to boundaries of objects such as the transition between

Why?
Edges describe/represent some of the important features of an image. The extraction of features has been used in everything from compression algorithms to more commonly the interpretation of image information. It also has been used as another cool special effect.

If you were to look at greyscale transitions of a 1D signal (or you can think of this as looking for vertical kinds of edges in a single image row of a 2D image) the following would be "kinds" of edges that you may observer.


Step                      Ramp

       |--------                    /--------

       |                           /

       |                          /

_______|                  _______/











Roof                      Line

      /\                       |--|

     /  \                      |  |

    /    \                     |  |

___/      \_____          _____|  |________

Ofcourse such perfect profiles rarely happen, but, they illustrate the kind of greyscale variation that leads to the observance of an edge point.

Definitions

  • Edgel or Edge point a pixel/point in the image where a significant local intensity change occurs.
  • Edge Fragment Can be described by its location in the image and its oriendation.
  • Contour A set of connected edges.
  • Edge linking The connection of edge points or fragments into a countour.
  • Edge following The process of tracing/tracking consecutive edge points.


There are MANY ways to detect edges. In the spatial domain, this is performed by Convolution with a Filter Mask. See here for a general description of this process. Below are some examples.


Roberts

The following mask is applied.

Gx =

1 0
0 -1

 

Gy=

0 1
-1 0
 

The edge image is = |Gx| + |Gy|.


Sobel Edge Detection

Sx =

-1 0 1
-2 0 2
-1 0 1

 

Sy=

1 2 1
0 0 0
-1 -2 -1
 

The edge image is = sqrt (Sx*Sx + Sy*Sy).


Second Order Derivative Edge Detector: LOG

LOG stands for the Laplacian of Gaussian. You have reading on this kind of detector. But, here instead taking edge points as the maximums of the First Order Derivative Filters such the zero-crossings of the Second Order Derivative will indicate the presence of an edge point. The Laplacian function is the implmentation of the Second Order Derivative. However, first, a Gaussian function is applied to do some smoothing. This is discussed in your reading and was developed by modeling how our human eye detects edges.

LOG =

0 0 -1 0 0
0 -1 -2 -1 0
-1 -2 16 -2 -1
0 -1 -2 -1 0
0 0 -1 0 0
            

   

Notice how the signle filter is symmetric. Different sized masks can be choosen such as 9x9, 11x11, etc.


Consider the Following:

  • What is the difference in these operators? What will the output look like for different images?
  • How would you design a mask or set of masks to detect only vertical edges?
© Lynne Grewe