Edge Detection
   Presented By
   Ishraq Fatafta
Agenda
O What is an edge.
O What is edge detection
  O Usage of edge detection.
  O Type of edges.
  O Background.
O Edge detection methods
  O Gradient based methods.
  O Zero Crossing based.
  O Proposed Algorithm.
Edges
O Abrupt change in the intensity of pixels.
O Discontinuity in image brightness or
  contrast.
O Usually edges occur on the boundary of
  two regions .
Edge Detection
O Process of identifying edges in
  an image to be used as a
  fundamental asset in image
  analysis.
O Locating areas with strong
  intensity contrasts.
Edge Detection Usage
O Reduce unnecessary information in the image
  while preserving the structure of the image.
O Extract important features of an image
  O Corners
  O Lines
  O Curves
O Recognize objects, boundaries, segmentation.
O Part of computer vision and recognition.
Edge Types
O Step Edge


O Ramp Edge


O Ridge


O Roof
Edge Detection Background
 O Classical Gradient Edge detection.
   O Sobel, Prewitt, Kirsch and Robinson.
 O Gaussian based filters
   O Marr and Hildreth.
   O Canny
   O Shunck, Witkin and Bergholm.
 O Wavelets used for different scales.
   O Heric and Zazula and Shih and Tseng.
 O Fuzzy Logic and Neural Networks.
Edge Detection Steps
O Smoothing: Noise Reduction.
O Enhancement: Edge sharpening.
O Detection: Which to discard and which to
  maintain.
  O Thresholding.
O Localization: determine the exact location
  of an edge.
  O Edge thinning and linking are usually
    required in this step.
Methods of Edge Detection
O Gradient methods (First Order Derivative)
  O local maxima and minima using first
    derivative in an image.
  O Compute Gradient magnitude horizontally
    and vertically.
O Zero-crossing methods (Second Order
  Derivative)
  O locate zeros in the second derivative of an
    image.
  O Laplacian of an Image.
Gradient based Edge
               Detection
O Best used for abrupt discontinuities.
O Perform better in less noised images
O Magnitude of the gradient - strength
  of the edge .
O Direction - opposite of the edge
  direction.
                                              Gy
   G     Gx   2
                  Gy   2
                           Gx   Gy    tan 1
                                              Gx
Cont. Gradient based Edge
        Detection
O Roberts Edge Detector.
O Prewitt Edge Detector.
O Sobel Edge Detector,
O Canny Edge Detector.
Cont. Gradient based Edge
   Detection - Roberts
O 2X2 Convolution Mask
O Convolution Mask
  O Gx                    Gy
          1     0              0    -1
          0     -1             1    0
O Differences are computed at the
  interpolated points [i+1/2, j+1/2] and not
  [i, j].
O Responds to edge with 450.
Cont. Gradient based Edge
   Detection - Prewitt
O 3X3 Convolution Mask
O Convolution Mask
  O Gx   -1    0    1    Gy   1    1      1
         -1    0    1         0    0      0
         -1    0    1         -1   -1     -1
O The differences are calculated at the
  center pixel of the mask.
Cont. Gradient based Edge
    Detection - Sobel
O 3X3 Convolution Mask
O Convolution Mask
  O Gx   -1    0    1    Gy   1    2      1
         -2    0    2         0    0      0
         -1    0    1         -1   -2     -1
O The differences are calculated at the
  center pixel of the mask.
Cont. Gradient based Edge
        Detection
O Simple to implement
O Capable of detecting edges and their
  direction
O Sensitive to noise
O Not accurate in locating edges
Cont. Gradient based Edge
   Detection - Canny
O First derivative of a Gaussian filter will
  approximately optimize the signal-to-noise
  ratio and localization.
Cont. Gradient based Edge
   Detection - Canny
O Three conditions for optimal detector
  O Error rate: Respond to edges not noise.
  O Localization: edges detected near true
    edges.




  O Response - Not identify multiple edge
    pixels.
Cont. Gradient based Edge
Detection – Canny Algorithm
O




    G   Gx 2 Gy 2   Gx   Gy
Cont. Gradient based Edge
Detection – Canny Algorithm
O Step 3
  O Edge Direction

                 1   Gy
           tan
                     Gx
O Step 4
  O Resolve Edge Direction
Cont. Gradient based Edge
Detection – Canny Algorithm
O Step 5
  O Non-maxima suppression: keep all local
    maxima in the gradient and remove
    everything else.
  O Gives a thin line for edge
O Step 6
  O Double / hysteresis thresholding
Cont. Gradient based Edge
Detection – Canny Algorithm
O Better localization
O Improved signal-to-noise ratio.
O Works fine under noisy conditions.
O Complex to implement and time
  consuming.
Gradient based Edge
Zero Crossing based Edge
            Detection
O Indicates the presence of a maxima.
O Pixel value passes through zero (changes its
 sign).
Cont. Zero Crossing based
      Edge Detection
O Laplacian of Gaussian


  1    1   1
  1    8   1
  1    1   1


  -1   2   -1
  2    4   2
  -1   2   -1
Cont. Zero Crossing based
  Edge Detection - LOG
O Defined as:




O Greater the value of   , broader is the
  Gaussian filter, more is the smoothing
Cont. Zero Crossing based
  Edge Detection - LOG
O Steps:
  O Smoothing: Gaussian filter
  O Enhance edges: Laplacian operator
  O Zero crossings denote the edge location
  O Use linear interpolation to determine the
    sub-pixel location of the edge
Cont. Zero Crossing based
  Edge Detection - LOG
O Computationally cheaper to implement
  since we can combine the two filters into
  one filter but it.
O Doesn’t provide information about the
  direction of the edge.
O Probability of false and missing edges
  remain.
O Localization is better than Gradient
  Operators
Laplacian Of Gaussain
Proposed Algorithm
O Evaluate an Image using a Gradient filter.
O Evaluate an image using a Zero crossing
  filter.
O Fuzzy Logic.
Cont. Proposed Algorithm
       Fuzzy Logic
O Fuzzy Logic
  O Problem-solving methodology.
  O Draw definite conclusions from
    vague, ambiguous or imprecise
    information.
  O Resembles human decision making with its
    ability to work from approximate data and
    find precise solutions.
Cont. Proposed Algorithm
  Fuzzy Image Processing
O Collection of all approaches that
  understand, represent and process the
  images, their segments and features as
  fuzzy sets.
O The representation and processing
  depend on the selected fuzzy technique
  and on the problem to be solved.
Cont. Proposed Algorithm
 Fuzzy Image Processing
Cont. Proposed Algorithm
O Step 1
  O Calculate gradient of an image using Sobel
    filter.
O Step 2
  O Calculate zero crossing using three
    different values of standard deviation σ in
    gausian of laplacian.
O Step 3
  O Apply fuzzy rules on the two steps above.
Cont. Proposed Algorithm
       Step 1 - Sobel
O The resulted Gradient are mapped from
  [0-255]
O Divide into four regions:
  O Low class GL from [0-GL].
  O Medium class GM
     O from [GL-GM] .
     O From [GM-GH] .
  O High class GH from [GH-255].
Cont. Proposed Algorithm
      Step 1 - Sobel
Cont. Proposed Algorithm
       Step 2 - LOG
O
Cont. Proposed Algorithm
        Step 2 - LOG
O Subtract three results.
O Apply an
 algorithm.
Cont. Proposed Algorithm
       Step 3 – Fuzzy sets
O Pixel (PG), zero crossing value (PZ), and
    probability of a pixel corresponds to an edge
    {EL, EM, EH}.

O If PG is in GL and PZ equals to 1, then P belongs to EL.
O If PG is in GL and PZ equals to a zero, then P belongs to EL.
O If PG is in [GL-GM] and PZ equals to 1, then P belongs to EM.
O If PG is in [GL-GM] and PZ equals to zero, then P belongs to
    EL.
O   If PG is in [GM-GH] and PZ equals to 1, then P belongs to EH.
O   If PG is in [GM-GH] and PZ equals to zero, then P belongs to
    EM.
O   If PG is in GH and PZ equals to 1, then P belongs to EH.
O   If PG is in GH and PZ equals to zero, then P belongs to EM.
Cont. Proposed Algorithm
          Result
O All pixels in the EH will be considered as
  an edge.
O All pixels in the EL will be discarded.
O All pixels in the EM, the gradient value will
  be evaluated against a threshold value in
  order to discard any pixel with value (0)
  that may result from false zero crossing.

Edge detection

  • 1.
    Edge Detection Presented By Ishraq Fatafta
  • 2.
    Agenda O What isan edge. O What is edge detection O Usage of edge detection. O Type of edges. O Background. O Edge detection methods O Gradient based methods. O Zero Crossing based. O Proposed Algorithm.
  • 3.
    Edges O Abrupt changein the intensity of pixels. O Discontinuity in image brightness or contrast. O Usually edges occur on the boundary of two regions .
  • 4.
    Edge Detection O Processof identifying edges in an image to be used as a fundamental asset in image analysis. O Locating areas with strong intensity contrasts.
  • 5.
    Edge Detection Usage OReduce unnecessary information in the image while preserving the structure of the image. O Extract important features of an image O Corners O Lines O Curves O Recognize objects, boundaries, segmentation. O Part of computer vision and recognition.
  • 6.
    Edge Types O StepEdge O Ramp Edge O Ridge O Roof
  • 7.
    Edge Detection Background O Classical Gradient Edge detection. O Sobel, Prewitt, Kirsch and Robinson. O Gaussian based filters O Marr and Hildreth. O Canny O Shunck, Witkin and Bergholm. O Wavelets used for different scales. O Heric and Zazula and Shih and Tseng. O Fuzzy Logic and Neural Networks.
  • 8.
    Edge Detection Steps OSmoothing: Noise Reduction. O Enhancement: Edge sharpening. O Detection: Which to discard and which to maintain. O Thresholding. O Localization: determine the exact location of an edge. O Edge thinning and linking are usually required in this step.
  • 9.
    Methods of EdgeDetection O Gradient methods (First Order Derivative) O local maxima and minima using first derivative in an image. O Compute Gradient magnitude horizontally and vertically. O Zero-crossing methods (Second Order Derivative) O locate zeros in the second derivative of an image. O Laplacian of an Image.
  • 10.
    Gradient based Edge Detection O Best used for abrupt discontinuities. O Perform better in less noised images O Magnitude of the gradient - strength of the edge . O Direction - opposite of the edge direction. Gy G Gx 2 Gy 2 Gx Gy tan 1 Gx
  • 11.
    Cont. Gradient basedEdge Detection O Roberts Edge Detector. O Prewitt Edge Detector. O Sobel Edge Detector, O Canny Edge Detector.
  • 12.
    Cont. Gradient basedEdge Detection - Roberts O 2X2 Convolution Mask O Convolution Mask O Gx Gy 1 0 0 -1 0 -1 1 0 O Differences are computed at the interpolated points [i+1/2, j+1/2] and not [i, j]. O Responds to edge with 450.
  • 13.
    Cont. Gradient basedEdge Detection - Prewitt O 3X3 Convolution Mask O Convolution Mask O Gx -1 0 1 Gy 1 1 1 -1 0 1 0 0 0 -1 0 1 -1 -1 -1 O The differences are calculated at the center pixel of the mask.
  • 14.
    Cont. Gradient basedEdge Detection - Sobel O 3X3 Convolution Mask O Convolution Mask O Gx -1 0 1 Gy 1 2 1 -2 0 2 0 0 0 -1 0 1 -1 -2 -1 O The differences are calculated at the center pixel of the mask.
  • 15.
    Cont. Gradient basedEdge Detection O Simple to implement O Capable of detecting edges and their direction O Sensitive to noise O Not accurate in locating edges
  • 16.
    Cont. Gradient basedEdge Detection - Canny O First derivative of a Gaussian filter will approximately optimize the signal-to-noise ratio and localization.
  • 17.
    Cont. Gradient basedEdge Detection - Canny O Three conditions for optimal detector O Error rate: Respond to edges not noise. O Localization: edges detected near true edges. O Response - Not identify multiple edge pixels.
  • 18.
    Cont. Gradient basedEdge Detection – Canny Algorithm O G Gx 2 Gy 2 Gx Gy
  • 19.
    Cont. Gradient basedEdge Detection – Canny Algorithm O Step 3 O Edge Direction 1 Gy tan Gx O Step 4 O Resolve Edge Direction
  • 20.
    Cont. Gradient basedEdge Detection – Canny Algorithm O Step 5 O Non-maxima suppression: keep all local maxima in the gradient and remove everything else. O Gives a thin line for edge O Step 6 O Double / hysteresis thresholding
  • 21.
    Cont. Gradient basedEdge Detection – Canny Algorithm O Better localization O Improved signal-to-noise ratio. O Works fine under noisy conditions. O Complex to implement and time consuming.
  • 22.
  • 23.
    Zero Crossing basedEdge Detection O Indicates the presence of a maxima. O Pixel value passes through zero (changes its sign).
  • 24.
    Cont. Zero Crossingbased Edge Detection O Laplacian of Gaussian 1 1 1 1 8 1 1 1 1 -1 2 -1 2 4 2 -1 2 -1
  • 25.
    Cont. Zero Crossingbased Edge Detection - LOG O Defined as: O Greater the value of , broader is the Gaussian filter, more is the smoothing
  • 26.
    Cont. Zero Crossingbased Edge Detection - LOG O Steps: O Smoothing: Gaussian filter O Enhance edges: Laplacian operator O Zero crossings denote the edge location O Use linear interpolation to determine the sub-pixel location of the edge
  • 27.
    Cont. Zero Crossingbased Edge Detection - LOG O Computationally cheaper to implement since we can combine the two filters into one filter but it. O Doesn’t provide information about the direction of the edge. O Probability of false and missing edges remain. O Localization is better than Gradient Operators
  • 28.
  • 29.
    Proposed Algorithm O Evaluatean Image using a Gradient filter. O Evaluate an image using a Zero crossing filter. O Fuzzy Logic.
  • 30.
    Cont. Proposed Algorithm Fuzzy Logic O Fuzzy Logic O Problem-solving methodology. O Draw definite conclusions from vague, ambiguous or imprecise information. O Resembles human decision making with its ability to work from approximate data and find precise solutions.
  • 31.
    Cont. Proposed Algorithm Fuzzy Image Processing O Collection of all approaches that understand, represent and process the images, their segments and features as fuzzy sets. O The representation and processing depend on the selected fuzzy technique and on the problem to be solved.
  • 32.
    Cont. Proposed Algorithm Fuzzy Image Processing
  • 33.
    Cont. Proposed Algorithm OStep 1 O Calculate gradient of an image using Sobel filter. O Step 2 O Calculate zero crossing using three different values of standard deviation σ in gausian of laplacian. O Step 3 O Apply fuzzy rules on the two steps above.
  • 34.
    Cont. Proposed Algorithm Step 1 - Sobel O The resulted Gradient are mapped from [0-255] O Divide into four regions: O Low class GL from [0-GL]. O Medium class GM O from [GL-GM] . O From [GM-GH] . O High class GH from [GH-255].
  • 35.
  • 36.
  • 37.
    Cont. Proposed Algorithm Step 2 - LOG O Subtract three results. O Apply an algorithm.
  • 38.
    Cont. Proposed Algorithm Step 3 – Fuzzy sets O Pixel (PG), zero crossing value (PZ), and probability of a pixel corresponds to an edge {EL, EM, EH}. O If PG is in GL and PZ equals to 1, then P belongs to EL. O If PG is in GL and PZ equals to a zero, then P belongs to EL. O If PG is in [GL-GM] and PZ equals to 1, then P belongs to EM. O If PG is in [GL-GM] and PZ equals to zero, then P belongs to EL. O If PG is in [GM-GH] and PZ equals to 1, then P belongs to EH. O If PG is in [GM-GH] and PZ equals to zero, then P belongs to EM. O If PG is in GH and PZ equals to 1, then P belongs to EH. O If PG is in GH and PZ equals to zero, then P belongs to EM.
  • 39.
    Cont. Proposed Algorithm Result O All pixels in the EH will be considered as an edge. O All pixels in the EL will be discarded. O All pixels in the EM, the gradient value will be evaluated against a threshold value in order to discard any pixel with value (0) that may result from false zero crossing.

Editor's Notes

  • #7 Step edge:– the image intensity abruptly changes from one value to one side of the discontinuity to a different value on the opposite side.Ramp edge:– a step edge where the intensity change is not instantaneous but occurs over a finite distance.Ridge edge:– the image intensity abruptly changes value but then returns to the starting value within some short distance– generated usually by linesRoof edge:– a ridge edge where the intensity change is not instantaneous but occurs over a finite distance– generated usually by the intersection of surfaces
  • #8 Classical: gradient of pixels and succeeded in computing both magnitude and direction of gradient and used a threshold to locate edges. These methods are simple techniques that use differential masks but they lack image smoothing as a pre-processing step that made these methods more vulnerable to noise.Gaussian: Gaussian filters as a pre-processing filter. Gaussian filters proved that when applied over an image, it never creates new zero crossing and therefore it is possible to detect true edges over different scales. The use of a combination of Laplacian and Gaussian filters achieved the conditions of optimal smoothing filter in which an image should be smoothed in the frequency domain and then localized in the spatial domain. less reliable in locating true edges when the signal-to-noise ratio in an image is very high Shunck, Witkin and Bergholm based on multiple scales of segma. Wavelet: with regions of low contrast separated by high-contrast edges. Wavelets maps an image using two variables that are Scale, which either stretch or compress functions that is done in the frequency domain and Shift that corresponds to the translation function in the spatial domain. Low scale shows the abrupt change in the intensity with high frequency while high scale shows a slow change in intensity with low frequency.
  • #9 Smoothing: suppress as much noise as possible, without destroying the true edges.Enhancement: apply a filter to enhance the quality of the edges in the image (sharpening).Detection: determine which edge pixels should be discarded as noise and which should be retained (usually, thresholding provides the criterion used for detection).Localization: determine the exact location of an edge (sub-pixel resolution might be required for some applications, that is, estimate the location of an edge to better than the spacing between pixels). Edge thinning and linking are usually required in this step.
  • #13 Provides an approximation to the gradientis susceptible to noise
  • #14 less susceptible to noise. But it produces thicker edges. So edge localization is poor
  • #15 less susceptible to noise. But it produces thicker edges. So edge localization is poorEdge is several pixels wide for Sobel operator– edge is not localized properly
  • #18 Error rate: the edge detector should only respond to edges and not miss any.Good detection– The filter must have a stronger response at the edge location (x=0) than to noiseLocalization: the location of the edge as detected by the edge detector should be accurate as possible. Good Localization– The filter response must be maximum very close to x=0Response - the edge detector should not identify multiple edge pixels. Low False Positives– There should be only one maximum in a reasonable neighborhood of x=0
  • #19 The larger the filter the lower noise in the image can be accomplished but with increase error in localization.S=Gσ* I, were σ is the standard deviation.
  • #21 the purpose here is to turn the blurred edges into a sharp one. trace along the edge direction and suppress any pixel value not considered to be an edge. Gives a thin line for edgeedges responding to a certain threshold and linking them. Two thresholds are used T1 and T2 with T1 > T2. Tracking can only begin at a point on a ridge higher than T1 then continues in both directions out from that point until the height of the ridge falls below T2. This hysteresis helps to ensure that noisy edges are not broken up into multiple edge fragments.
  • #26 It uses a Gaussian filter for smoothing an image in order to reduce high frequencies in the image and then apply a laplacian filter.
  • #27 It uses a Gaussian filter for smoothing an image in order to reduce high frequencies in the image and then apply a laplacian filter.
  • #33 The fuzzification and defuzzification steps are due to non availability fuzzy hardware.Therefore, the coding of image data (fuzzification) and decoding of the results(defuzzification) are steps that make possible to process images with fuzzytechniques.After the image data are transformedfrom gray-level plane to the membership plane (fuzzification), appropriate fuzzy techniques modify the membership values.
  • #38 Subtraction to determine the width of the edge.Then, we will detect the zero crossing in an image by finding the maximum and minimum among all pixels in the neighborhood of a pixel under consideration. If the maximum is greater than zero and the minimum is smaller than zero, the pixel is a zero-crossing. To exclude false zero crossing resulting from noise, we will check whether the difference between the maximum and the minimum is greater than a threshold value. If so the pixel is on an edge, otherwise the zero-crossing is assumed to be caused by noise and suppressed.