Image Feature Extraction Presented By Vinamra Jain Content
Image Feature Extraction Presented By: Vinamra Jain
Content • Feature Extraction & Image Processing • Image Formation • Low level Feature Extraction • High level Feature Extraction • Flexible Shape Extraction • Applications
Feature Extraction • Feature Extraction is transformation of large and redundant data into reduced set of features. • Feature Extraction starts from an initial set of measured data and build derived values known as features, which are: ü Informative. ü Non Redundant. ü Facilitating the subsequent learning. ü Better for human interpretation(not always).
Feature Extraction & Image Processing • Image processing is one of the important area of application of feature extraction. • Here, algorithms are used to detect and isolate various desired portions and shapes (features) of digitized image or video stream. • The major goal is to extract a set of features, which maximizes the recognition rate with the least amount of elements.
Image Formation • Each pixel value is the intensity value of that pixel on image plane. • The most common format to store an image is 8 bits byte. • Each pixel value can be stored as bytes. • LSB carries the least information. • MSB carries the most information. • Color Images uses the same format, just they uses three components (RGB) to represent a pixel intensity.
Decomposition of an image into its bits
Low Level Feature Extraction • Low level feature are those that can be extracted from image without any shape information. • It includes: q Edge Detection q Corner Detection q Blob Detection q Ridge Detection
Edge Detection • Edge detection highlights image contrast, i. e. difference in intensity. • First Order edge detection operators: These operators uses first order differentiation, which responds only at the variations or change in intensity values. • Example: q Robert’s edge detection operator. q Sobel edge detection operator. q Canny edge detection operator.
Edge Detection • Second Order edge detection operators: These operator uses second order derivatives for edge detection. Second order derivatives are greatest when rate of change of signal is greatest and zero when rate of change is constant. • Example: q Laplacian Operator.
First and Second order edge detection.
Robert’s edge detection operator: • The gradient of Robert’s edge detection operator is given by: G(f(x, y)) = |f(x, y) – f(x+1, y+1)| + |f(x+1, y) – f(x, y+1)| Original Grayscale Image Edges detected using Robert’s Operator
Sobel edge detection operator: • Sobel edge detection operator consists of two templates: 1 2 1 1 0 -1 0 0 0 2 0 -2 -1 1 0 -1 Sx • Sobel Strength for each pixel is given by: S = (Sx 2 + Sy 2) ^ ½ • Sobel phase: Sp = arctan(y/x) Sy
Sobel edge detection operator: Original Grayscale Image Edges detected using sobel operator
Canny edge detection operator: • One of the finest edge detection operator. • The process of Canny edge detection algorithm is as follows: 1. Apply Gaussian filter to smooth the image in order to remove the noise. 2. Find the intensity gradients of the image. 3. Apply non-maximum suppression to get rid of spurious response to edge detection. 4. Apply double threshold to determine potential edges. 5. Track edge by hysteresis.
Canny edge detection operator: 1. Apply Gaussian filter to smooth the image in order to remove the noise. 3 x 3 Gaussian Mask : (1/16) * 1 2 4 2 1 • By applying Gaussian filter to the image noise is being filtered out to avoid false edge detection. • Size of Gaussian mask inversely affect the performance of detector.
Canny edge detection operator: 2. Find the intensity gradients of the image. where, Gx 2 and Gy 2 are same convolution outputs of Sobel Operator in horizontal and vertical direction respectively. Ɵ is the edge direction angle rounded to nearest of the 4 angles : {0, 45, 90, 135}
Canny edge detection operator: 3. Apply non-maximum suppression to get rid of spurious response to edge detection. • Non-maximum Suppression also known as edge thinning technique. • Compare the edge strength of the current pixel with the edge strength of the pixel in the positive and negative gradient directions. • If the edge strength of the current pixel is the largest compared to the other pixels in the mask with the same direction the value will be preserved. Otherwise, the value will be suppressed.
Canny edge detection operator: 4. Apply double threshold to determine potential edges. • Also known as Hysteresis thresholding. • Two thresholds are required. Upper Threshold and Lower Threshold. • If pixel > upper threshold value => strong pixel • If upper threshold > pixel > lower threshold => weak pixel • If lower threshold > pixel => suppressed
Comparing Hysteresis Thresholding with uniform thresholding
Canny edge detection operator: 5. Track edge by hysteresis. • Now the strong pixels are surely corresponds to true edges. • But what about weak pixels? ? – it can be a true edge / or may be noise or some color variation. • Usually the true edge weak pixel will be connected to a strong pixel within its NS-9 neighbor set.
Canny edge detection operator: Canny Edge detection applied to a photograph
Canny edge detection operator: Comparison of Canny operator with Sobel
Laplacian Operator • Laplacian Operator can be represented by following template. 0 1 -4 1 0 or 0 -1 4 -1 0 Edge Detection at Zero Crossing
Laplacian Operator Original Grayscale Image Edge Detection by Laplacian Operator
Phase Congruency Edge Detector • Advantage: 1. It can detect a broad range of features. 2. It is invariant to local change in intensities. • As the name suggest, edge detection is performed in frequency domain. • By Fourier transform analysis, any function is made up from the controlled addition of sinewaves of differing frequencies.
Phase Congruency Edge Detector
Phase Congruency Edge Detector Comparison of edge detection by Canny Operator and Phase congruency Operator
Corner Detection • A corner can be defined as intersection of two edges. • A corner can also be defined as a point for which there are two dominant and different edge directions in a local neighborhood of the point. • Edge detectors like Kirsch operator can be post processed to detect corners. • Corner detector has ability to detect the same corner in multiple similar images, under conditions of different lighting, translation, rotation and other transforms.
Corner Detection
Blob Detection • Blob detection methods are aimed at detecting regions in a digital image that differ in properties, such as brightness or color, compared to surrounding regions. • All the points in a blob can be considered in some sense to be similar to each other. • Blob detection was used to obtain regions of interest for further processing and to provide complementary information about regions, which is not obtained from edge detectors or corner detectors.
Blob Detection Original Grayscale Image Blobs containing potential information about Image
High Level Feature Extraction • High level feature extraction concerns finding shape in a given image. • Feature extraction must seek following invariance property: v. Illumination invariance v Position, location or translation invariance. v Rotation or orientation invariance v Size or scale Invariance. • Image Extraction is more important that image detection.
Thresholding • Thresholding is sensitive to illumination. • If we know the intensity of the desired shape then we can threshold the image at that level and can get the shape extracted. • But life is not that simple always. • What if there are multiple objects one over the other. ? ? –shapes to be extracted needs to be separate.
Subtraction • Subtract the image from know background. • Assumption: Background is known. • Shape extraction by subtraction and thresholding
Template matching • Template matching is a technique in digital image processing for finding small parts of an image which match a template image. • It can be used in manufacturing as a part of quality control, a way to navigate a mobile robot, or as a way to detect edges in images. • The computational performance for template matching can be manipulated by reducing the resolution of image (Pyramid).
Template Matching Algorithm • One way of comparing the template values to Image pixels is by Sum of Absolute Differences. • Absolute Difference can be given by: where, Is is pixel intensity values of sample image It is pixel intensity values of sample image • Sum of Absolute Difference for one template matching is given by:
Template matching Illustration of template matching
Flexible shape extraction • Exact shape is unknown. • We seek techniques that can evolve to the target solution, or adapt their result to the data. • Example: Human Brain • Active Contours or snake is an approach best suited for flexible shape extraction.
Active Contours (Snake) • An active contour is a set of points that aims to enclose a target feature, the feature to be extracted. • Example: Balloon placed enclosing the shape. • Active contours arrange a set of points so as to describe a target feature, by enclosing it. • A snake is an energy minimizing, deformable function influenced by constraint and image forces that pull it towards object contours and internal forces that resist deformation.
Active Contours (Snake) Using a snake to find eye’s iris
Active Contours (Snake) Snake used to get the structure of brain
Active Contours (Snake) Ø Compared to classical feature attraction techniques, snakes have multiple advantages: • They autonomously and adaptively search for the minimum state. • External image forces act upon the snake in an intuitive manner. • They can be used to track dynamic objects.
Applications • Medical Imaging • Finger Print Recognition • Face Recognition • Optical Character Recognition • Motion Detection • And many more…
Thank You!!! Questions? ? ?
References • “Feature Extraction and Image Processing”. Second Edition. Mark Nixon. Alberto Aguado. • “A detailed Review of Feature Extraction in Image Processing Systems”. 2014 Fourth International Conference on Advanced Computing & Communication Technologies. Gaurav Kumar. Pradeep Kumar Bhatia. • “Feature Extraction”. Wikipedia • “Template Matching”. Wikipedia • “Canny Edge Detection Operator”. Wikipedia • “Active Contours”. Demetri Terzopoulos, Computer Science Department, University of California, Los Angeles
- Slides: 45