ISSN ONLINE(2278-8875) PRINT (2320-3765)
Rakesh M.R
|
Related article at Pubmed, Scholar Google |
Visit for more related articles at International Journal of Advanced Research in Electrical, Electronics and Instrumentation Engineering
Edge detection is the important part of image processing. Edge detection is one of the processes to detect the sharp changes in intensity value (pixel value) of the image. There are many edge detection techniques are there. The commonly used are Sobel, Robert, Prewitt, Canny’s edge detection technique. Canny’s technique is more optimal compared to other techniques. In this paper we deal with MATLAB/SIMULINK model for Sobel, Robert, Prewitt and Canny’s edge detection technique and the corresponding simulation results. So Canny’s technique is gives best result in presence of noise. The edge detection technique used in feature detection and feature extraction from an image.
Keywords |
Types of edge, Laplacian and gradient method, Edge detection techniques. |
I. INTRODUCTION |
Edge detection refers to the process of identifying and locating sharp discontinuities in an image. The discontinuities are abrupt changes in pixel intensity which characterize boundaries of objects in a scene. Classical methods of edge detection involve convolving the image with an operator, which is constructed to be sensitive to large gradients in the image while returning values of zero in uniform regions. There is an extremely large number of edge detection operators available, each designed to be sensitive to certain types of edges. Edge detection is the process of finding sharp contrasts in intensities in an image. This process significantly reduces the amount of data in the image, while preserving the most important structural features of that image. |
Types of edges: Edges are classified according to their behaviour – Step, Concave slope, convex slope, Roof, Valley, and Staircase. |
Variables involved in the selection of an edge detection operator include: |
Edge structure: Not all edges involve a step change in intensity. Effects such as refraction or poor focus can result in objects with boundaries defined by a gradual change in intensity. The operator needs to be chosen to be responsive to such a gradual change in those cases. |
Edge orientation: The geometry of the operator determines a characteristic direction in which it is most sensitive to edges. Operators can be optimized to look for horizontal, vertical, or diagonal edges. |
Noise environment: Edge detection is difficult in noisy images, since both the noise and the edges contain high-frequency content. Attempts to reduce the noise result in blurred and distorted edges. Operators used on noisy images are typically larger in scope, so they can average enough data to discount localized noisy pixels. This results in less accurate localization of the detected edges. |
In image processing many different types of methods is there to perform edge detection. In that it contains mainly two categories. That is: |
Gradient: The gradient method detects the edges by looking for the maximum and minimum in the first derivative of the image. Find places where the first derivative of the intensity is greater in magnitude than a specified threshold. Examples include; Sobel, Prewitt, Roberts etc. |
![]() |
The both two gradient and Laplacian edge detection techniques are having some of the disadvantages such as sensitivity to noise etc.To avoid that type of disadvantage and to give better edge detection the new technique developed by canny is called Canny’s edge detection algorithm. Canny’s edge detection gives better result compared to others. The Improvement based on the following criteria |
•Low error rate: -edge should not be missed, no response to non edges. |
•Good localization: -minimum distance between the found edge pixel and the actual edge |
•Only one response to a single edge |
Edge detection particularly used in the areas of feature detection and feature extraction. However, it is not always possible to obtain ideal edges from real life images. Edge detection is one of the fundamental steps in image processing, image analysis, image pattern recognition, and computer vision techniques. The MATLAB/SIMULINK is used to produce model for edge detection techniques. |
II. EDGE DETECTION TECHNIQUES |
A. Sobel Operator: |
The operator consists of a pair of 3×3 convolution kernels as shown in Fig. One kernel is simply the other rotated by 90°. |
![]() |
These kernels are designed to respond maximally to edges running vertically and horizontally relative to the pixel grid, one kernel for each of the two perpendicular orientations. The kernels can be applied separately to the input image, to produce separate measurements of the gradient component in each orientation (call these ïÿýïÿýïÿýïÿý and ïÿýïÿýïÿýïÿý ). These can then be combined together to find the absolute magnitude of the gradient at each point and the orientation of that gradient. The gradient magnitude is given by: |
![]() |
The angle of orientation of the edge (relative to the pixel grid) giving rise to the spatial gradient is given by: |
![]() |
B. Robert’s cross operator: |
The Roberts Cross operator performs a simple, quick to compute, 2-D spatial gradient measurement on an image. Pixel values at each point in the output represent the estimated absolute magnitude of the spatial gradient of the input image at that point. The operator consists of a pair of 2×2 convolution kernels. One kernel is simply the other rotated by 90°. This is very similar to the Sobel operator. |
These kernels are designed to respond maximally to edges running at 45° to the pixel grid, one kernel for each of the two perpendicular orientations. The kernels can be applied separately to the input image, to produce separate measurements of the gradient component in each orientation (call these ïÿýïÿýïÿýïÿý and ïÿýïÿýïÿýïÿý ). These can then be combined together to find the absolute magnitude of the gradient at each point and the orientation of that gradient. The angle of orientation of the edge giving rise to the spatial gradient (relative to the pixel grid orientation) is given by: |
![]() |
C. Prewitt’s Operator: |
Prewitt operator is similar to the Sobel operator and is used for detecting vertical and horizontal edges in images. |
![]() |
D. Canny’s Edge Detection: |
The Canny edge detector is an edge detection operator that uses a multi-stage algorithm to detect a wide range of edges in images Canny's aim was to discover the optimal edge detection algorithm. In this situation, an "optimal" edge detector means: |
Good detection – the algorithm should mark as many real edges in the image as possible. |
Good localization – edges marked should be as close as possible to the edge in the real image. |
Minimal response – a given edge in the image should only be marked once, and where possible, image noise should not create false edges. |
To satisfy these requirements Canny used the calculus of variations – a technique which finds the function which optimizes a given functional. The optimal function in Canny's detector is described by the sum of four exponential terms, but it can be approximated by the first derivative of a Gaussian. The algorithm runs in 5 separate steps: |
1. Smoothing: Blurring of the image to remove noise. |
2. Finding gradients: The edges should be marked where the gradients of the image has large magnitudes. |
3. Non-maximum suppression: Only local maxima should be marked as edges. |
4. Double thresholding: Potential edges are determined by thresholding. |
5. Edge tracking by hysteresis: Final edges are determined by suppressing all edges that are not connected to a very certain (strong) edge. |
![]() |
Canny’s edge detection algorithm is computationally more expensive compared to Sobel, Prewitt and Robert’s operator. However, the Canny’s edge detection algorithm performs better than all these operator. Evaluation of the images showed that under noisy conditions, Canny, LoG, Sobel, Prewitt, Roberts’s exhibit better performance, respectively. Gradient-based algorithms such as the Prewitt filter have a major drawback of being very sensitive to noise. The size of the kernel filter and coefficients are fixed and cannot be adapted to a given image. An adaptive edgedetection algorithm is necessary to provide a robust solution that is adaptable to the varying noise levels of these images to help distinguish valid image contents from visual artifacts introduced by noise. |
Advantages and disadvantages: |
Sobel, Prewitt, Robert : Advantage: Simplicity, detection of edges and their orientations Disadvantage: Sensitivity to noise, it is not accurate |
Canny’s : Advantage: probability for finding error rate, localization and response, high SNR, better detection in noise conditions. |
Disadvantage: complex computations, false zero crossing, time consuming Applications of edge detection: Image recognition and Segmentation., Image fusion and Image tracking, Used to find edges in images, Can be used for defense, security, and much more, Face detection or human detection. |
Problems regarding Edge Detection: |
The quality of Edge Detection depends upon a lot of factors such as lighting conditions, the presence of objects of similar intensity, density of edges in the scene and noise. |
There is no good method for automatically setting these values, so they are manually changed by an operator each time the detector is run with a different set of data. |
In the presence of noise, detection of edges becomes very difficult because both edges and noise are characterized by high frequency. |
III. IMPLEMENTATION |
![]() |
The input image is disturbed by the Gaussian noise by using Gaussian noise generator. The image is going to have the Gaussian noise. The gradient of the image calculated and the edges of the image can be compared with certain or constant threshold value. Then we can get the output which is edge detected part of the image. We already have seen about Sobel, Robert, Prewitt’s edge detection technique. The Matlab Simulink models for these techniques are shown above. Here the Gaussian noise is attacked to the input image. |
Parameters: Gaussian noise generator: mean value: 0, Variance: 1, Output data type: double Threshold constant value for comparison: 100 |
![]() |
The canny edge detection is another type of edge detection technique which is improved version of all others. If input image is degraded by Gaussian noise the edge detection can done by using Canny’s edge detection which gives best result compared to all. The Matlab Simulink model for Canny’s edge detection is shown above. Parameters: Gaussian noise generator: mean value: 0, Variance: 1, Output data type: double Standard deviation of Gaussian filter: 1 Approximate percentage of weak edge and nonedge pixels (used to automatically calculate threshold values): 70 |
IV. SIMULATION RESULTS |
The various output result for Sobel, Robert, Prewitt and Canny’s edge detection technique for Matlab Simulink model shown above are given bellow. Here the input image is “cat.png” the gradient calculated image in x and y direction is also shown. |
SOBEL |
![]() |
ROBERT |
![]() |
PREWITT |
![]() |
CANNY’S |
![]() |
V. CONCLUSION |
Edge detection forms a pre-processing stage to remove the redundant information from the input image, thus dramatically reducing the amount of data to be processed while at the same time preserving useful information about the boundaries. Here we are dealing with comparison of the edge detection technique in modelling type by using the Matlab/Simulink. We are concentrating only how the edge detection technique works. This technique of detecting the edge gives good result .by comparing this Canny’s gives better results in case of noise condition. The computations are complex. There are many other type of edge detection methods are there to improve the detection of edges in case of noise. |
References |
|