Referenced - My Paper: https://www.researchgate.net/publication/300080134_A_Double_Filtered_GIST_Descriptor_for_Face_Recognition
Edge Detection is an image processing technique popularly used for data extraction and segmentation which helps find boundaries of objects within images by detecting discontinuities in brightness. While these are likely to correspond to discontinuities across depths, surface orientations, or reflect on changes in material properties and variations in scene illuminations, these techniques are hampered by fragmentations, missing segments thus making fundamental tasks non-trivial. It's a differential operator that approximates the gradient of images through discrete differentiation via squares of differences between diagonally adjacent pixels.Consider the following equations:
y = x**0.5 where x refers to the initial intensity value of the image.
z = (((y(i,j) - y(i+1, j+1))**2 + (y(i+1,j) - y(i,j+1))**2)**0.5
where z is the computed derivative at locations in a 2D image defined by i,j. While processing across diagonals simplifies kernel complexity, the method is still sensitive to noise.
Prewitt filter is a discrete differentiation operator computing the approximation of gradient of image intensity function which is to say that at each point, we either get the gradient vector or norm of gradient vector by convolving small kernels in horizontal, vectical directions. Since the gradient moves from lighter regions to darker ones at the rate of change in that direction, these signify how the image changes at that point by: G = ((Gx)**2 + (Gy)**2)**0.5and hence how likely it is to be an edge and also how the edge is likely to be oriented by: theta = atan(Gy, Gx) where Gy, Gx are two images at which point contain vectical and horizontal approximations respectively. For detailed descriptions of Gx, Gy see respective folder.
While functioning similar to the prewitt filter, magnitude is given by: G = ((Gx)**2 + (Gy)**2)**0.5 and direction by: theta = atan(Gy/Gx). For detailed descriptions of Gx, Gy see respective folder. This technique is useful to extract useful structural information from different vision objects and dramatically reduce amount of data to be processed.-
While the filter uses calculus for the edge detection process, it can be approximted via guassian. Apply the guassian filter here to smooth the image in order to remove the noise.
-
find intensity gradients of the image.
-
apply non-maximum supression to rid false positives.
-
Apply double thresholds to determine potential edges
-
Suppress other edges that're weak and not connected to strong edges.