As I write this article on edge detection kernels, there are already several materials available online that explain those. The intent of this article is to provide a good coverage of edge detection methods, and to explain the concepts in simpler terms.
WHAT IS EDGE DETECTION?
Edge detection is a technique used in image processing that helps in finding object boundaries within images. The key behind edge detection is all about detecting discontinuities in pixel intensities (brightness). This technique is mainly used in applications like feature extraction. This article is explaining edge detection using 2D images does not imply that the technique is limited to 2D alone. It is important to note that edge detection can be done on 1D, 2D or 3D.
WHY DO WE NEED EDGE DETECTION?
As we know, edges are boundaries that we see in images and they help in distinguishing one object from another. Extracting or detecting those boundaries has got several applications. Concrete areas that use edge detection include self-driving vehicles that use computer vision to understand environment, robotics vision, finding boundaries in medical images, license plate detection, ,matching finger prints, etc. It is also important to note that edges are fundamental features of an image that useful for feature description, segmentation, enhancement, restoration, data compression and pattern analysis.
HOW IT WORKS?
The basic idea of edge detection involves looking for a neighborhood where the data changes. Obviously, the concerns here include size of the neighborhood and deciding a metric that represents the change. Maybe we can use a simple threshold.
As shown in Figure 1, edge detection methods can be broadly classified into gradient based and Laplacian based. For an easy comprehension, I have depicted the difference between these two approaches visually inside the dotted circles at either side of the image. Gradient-based approaches looks for maxima/minima in the first derivative of the image for identifying edges. On the other hand, Laplacian based approaches work based on the second derivative and looks for zero crossings.