Practical Image and Video Processing Using MATLAB

Similar documents
CoE4TN4 Image Processing

Chapter 11 Representation & Description

Machine vision. Summary # 6: Shape descriptors

Lecture 8 Object Descriptors

Boundary descriptors. Representation REPRESENTATION & DESCRIPTION. Descriptors. Moore boundary tracking

Digital Image Processing

Image and Multidimensional Signal Processing

Topic 6 Representation and Description

- Low-level image processing Image enhancement, restoration, transformation

Digital Image Processing Fundamentals

Lecture 18 Representation and description I. 2. Boundary descriptors

CS443: Digital Imaging and Multimedia Binary Image Analysis. Spring 2008 Ahmed Elgammal Dept. of Computer Science Rutgers University

Ulrik Söderström 21 Feb Representation and description

Chapter 11 Representation & Description

ECEN 447 Digital Image Processing

Lecture 6: Multimedia Information Retrieval Dr. Jian Zhang

Basic Algorithms for Digital Image Analysis: a course

Feature description. IE PŁ M. Strzelecki, P. Strumiłło

EECS490: Digital Image Processing. Lecture #23

9 length of contour = no. of horizontal and vertical components + ( 2 no. of diagonal components) diameter of boundary B

EE 584 MACHINE VISION

Image representation. 1. Introduction

Digital Image Processing Chapter 11: Image Description and Representation

Region-based Segmentation

CS534 Introduction to Computer Vision Binary Image Analysis. Ahmed Elgammal Dept. of Computer Science Rutgers University

IN5520 Digital Image Analysis. Two old exams. Practical information for any written exam Exam 4300/9305, Fritz Albregtsen

UNIVERSITY OF OSLO. Faculty of Mathematics and Natural Sciences

Texture. Frequency Descriptors. Frequency Descriptors. Frequency Descriptors. Frequency Descriptors. Frequency Descriptors

4 Parametrization of closed curves and surfaces

Pattern recognition. Classification/Clustering GW Chapter 12 (some concepts) Textures

Generic Fourier Descriptor for Shape-based Image Retrieval

Lecture 10: Image Descriptors and Representation

A Study on Feature Extraction Techniques in Image Processing

Texture Analysis of Painted Strokes 1) Martin Lettner, Paul Kammerer, Robert Sablatnig

Digital Image Processing. Lecture # 15 Image Segmentation & Texture

Anne Solberg

Machine learning Pattern recognition. Classification/Clustering GW Chapter 12 (some concepts) Textures

OBJECT DESCRIPTION - FEATURE EXTRACTION

VC 11/12 T14 Visual Feature Extraction

Image Processing, Analysis and Machine Vision

Multimedia Information Retrieval

Shape description and modelling

Biomedical Image Processing

FROM PIXELS TO REGIONS

Digital Image Processing

Vocabulary Unit 2-3: Linear Functions & Healthy Lifestyles. Scale model a three dimensional model that is similar to a three dimensional object.

SUMMARY PART I. What is texture? Uses for texture analysis. Computing texture images. Using variance estimates. INF 4300 Digital Image Analysis

Shape Classification and Cell Movement in 3D Matrix Tutorial (Part I)

Classification and Generation of 3D Discrete Curves

Lecture 7: Most Common Edge Detectors

CHAPTER 2 TEXTURE CLASSIFICATION METHODS GRAY LEVEL CO-OCCURRENCE MATRIX AND TEXTURE UNIT

Motion Estimation and Optical Flow Tracking

Lecture 14 Shape. ch. 9, sec. 1-8, of Machine Vision by Wesley E. Snyder & Hairong Qi. Spring (CMU RI) : BioE 2630 (Pitt)

Schedule for Rest of Semester

COMPUTER AND ROBOT VISION

Afdeling Toegepaste Wiskunde/ Division of Applied Mathematics Representation and description(skeletonization, shape numbers) SLIDE 1/16

EE795: Computer Vision and Intelligent Systems

Image retrieval based on region shape similarity

UNIVERSITY OF OSLO. Faculty of Mathematics and Natural Sciences

Feature extraction. Bi-Histogram Binarization Entropy. What is texture Texture primitives. Filter banks 2D Fourier Transform Wavlet maxima points


Types of Edges. Why Edge Detection? Types of Edges. Edge Detection. Gradient. Edge Detection

Content Based Image Retrieval

Pattern recognition. Classification/Clustering GW Chapter 12 (some concepts) Textures

A Computer Vision System for Graphical Pattern Recognition and Semantic Object Detection

ECE 176 Digital Image Processing Handout #14 Pamela Cosman 4/29/05 TEXTURE ANALYSIS

Analysis of Irregularly Shaped Texture Regions 1

Edge and local feature detection - 2. Importance of edge detection in computer vision

EE795: Computer Vision and Intelligent Systems

COMP_4190 Artificial Intelligence Computer Vision. Computer Vision. Levels of Abstraction. Digital Images

Texture Segmentation and Classification in Biomedical Image Processing

ECG782: Multidimensional Digital Signal Processing

A Vertex Chain Code Approach for Image Recognition

The Evolution and Trend of Chain Code Scheme

Robot vision review. Martin Jagersand

C E N T E R A T H O U S T O N S C H O O L of H E A L T H I N F O R M A T I O N S C I E N C E S. Image Operations II

MPEG-7 Visual shape descriptors

HAND-GESTURE BASED FILM RESTORATION

Dietrich Paulus Joachim Hornegger. Pattern Recognition of Images and Speech in C++

ENHANCED GENERIC FOURIER DESCRIPTORS FOR OBJECT-BASED IMAGE RETRIEVAL

Feature Extraction and Image Processing, 2 nd Edition. Contents. Preface

Image Segmentation Image Thresholds Edge-detection Edge-detection, the 1 st derivative Edge-detection, the 2 nd derivative Horizontal Edges Vertical

Analysis of Image and Video Using Color, Texture and Shape Features for Object Identification

Analysis of Binary Images

Get High Precision in Content-Based Image Retrieval using Combination of Color, Texture and Shape Features

An Introduction to Content Based Image Retrieval

CLASSIFICATION OF BOUNDARY AND REGION SHAPES USING HU-MOMENT INVARIANTS

CS4733 Class Notes, Computer Vision

IRIS SEGMENTATION OF NON-IDEAL IMAGES

ECG782: Multidimensional Digital Signal Processing

ELEC Dr Reji Mathew Electrical Engineering UNSW

(Refer Slide Time 00:17) Welcome to the course on Digital Image Processing. (Refer Slide Time 00:22)

N.Priya. Keywords Compass mask, Threshold, Morphological Operators, Statistical Measures, Text extraction

Fourier Descriptors. Properties and Utility in Leaf Classification. ECE 533 Fall Tyler Karrels

Processing of binary images

Image features. Image Features

Morphological Image Processing

MORPHOLOGICAL BOUNDARY BASED SHAPE REPRESENTATION SCHEMES ON MOMENT INVARIANTS FOR CLASSIFICATION OF TEXTURES

Ch 22 Inspection Technologies

Binary Image Processing. Introduction to Computer Vision CSE 152 Lecture 5

Transcription:

Practical Image and Video Processing Using MATLAB Chapter 18 Feature extraction and representation

What will we learn? What is feature extraction and why is it a critical step in most computer vision and image processing solutions? Which types of features can be extracted from an image and how is this usually done? How are the extracted features usually represented for further processing?

Introduction Feature extraction is the process by which certain features of interest within an image are detected and represented for further processing. It is a critical step in most computer vision and image processing solutions. It marks the transition from pictorial to non-pictorial (alphanumerical, usually quantitative) data representation. The resulting representation can be subsequently used as the input to a number of pattern recognition and classification techniques which will then label, classify, or recognize the semantic contents of the image or its objects.

Introduction Most techniques presented in this chapter assume that an image has undergone segmentation. Goal of feature extraction and representation techniques: to convert the segmented objects into representations that better describe their main features and attributes. There are many ways an image (and its objects) can be represented for image analysis purposes. In this topic we present several representative techniques for feature extraction using a broad range of image properties.

Feature vectors and vector spaces A feature vector is a n 1 array that encodes the n features (or measurements) of an image or object. The array contents may be: Symbolic Numerical Both The FV is a compact representation of an image (or object), which can be associated with the notion of a feature space, an n-dimensional hyperspace that allows the visualization (for n < 4) and interpretation of the feature vectors' contents, their relative distances, etc.

Feature vectors and vector spaces Example 18.1

Invariance and robustness It is often required that the features used to represent an image be invariant to rotation, scaling, and translation (RST). RST invariance ensures that a machine vision system will still be able to recognize objects even when they appear at different size, position within the image, and angle (relative to a horizontal reference). Clearly this requirement is application-dependent.

Binary object features Notation: A binary object, in this case, is a connected region within a binary image f(x, y), which will be denoted as O i, i > 0. In MATLAB: bwlabel Mathematically:

Binary object features Area: Centroid:

Binary object features Axis of least second moment:

Binary object features Projections:

Binary object features Euler number: E = C - H

Binary object features Perimeter: Can be calculated by counting the number of object pixels (whose value is 1) that have one or more background pixels (whose value is 0) as their neighbors. Alternative method: extract the edge (contour) of the object and then count the number of pixels in the resulting border. In MATLAB: bwperim

Binary object features Thinness ratio: Often used as a measure of roundness. The higher the thinness ratio (as it approaches 1), the more round the object. Its inverse is sometimes called irregularity or compactness ratio.

Binary object features Eccentricity: The ratio of the major and minor axes of the object (A/B).

Binary object features Aspect ratio: The ratio of the major and minor axes of the object. Elongatedness (a/b):

Binary object features Moments: The 2D moment of order (p + q) of a digital image f(x, y) is defined as:

Binary object features Central moments: Translation-invariant equivalent of moments.

Binary object features Normalized central moments:

Binary object features RST-invariant moments [Hu, 1962]:

Binary object features MATLAB regionprops function Measures a set of properties for each labeled region L. One or more properties from the list in Table 18.2 (pp. 457-458) can be specified as parameters.

Boundary descriptors Contour-based (as opposed to region-based) Assumptions: The contour (or boundary) of an object can be represented in a convenient coordinate system (Cartesian, polar, or tangential) and rely exclusively on boundary pixels to describe the region or object. The pixels belonging to the boundary of the object (or region) can be traced, starting from any background pixel, using an algorithm known as bug tracing.

Boundary descriptors The bug tracing algorithm: repeat as soon as the conceptual bug crosses into a boundary pixel, it makes a left turn and moves to the next pixel; if that pixel is a boundary pixel, the bug makes another left turn; otherwise, it turns right; until the bug is back to the starting point. As the conceptual bug follows the contour, it builds a list of the coordinates of the boundary pixels being visited.

Boundary descriptors Example 18.2 The bug tracing algorithm in MATLAB (bwtraceboundary):

Boundary descriptors Example 18.3 Boundary tracing in MATLAB (bwboundaries):

Chain code, Freeman code, and shape number A chain code is a boundary representation technique by which a contour is represented as a sequence of straight-line segments of specified length (usually 1) and direction. The simplest chain code mechanism (crack code) consists of assigning a number to the direction followed by a bug tracking algorithm as follows: right (0), down (1), left (2), and up (3). Assuming that the total number of boundary points is p (the perimeter of the contour), the array C, where C(p) = 0, 1, 2, 3, contains the chain code of the boundary.

Chain code, Freeman code, and shape number Freeman code: a modified version of the basic chain code, using eight directions instead of four. Example:

Chain code, Freeman code, and shape number Shape number: normalized, rotation-invariant, equivalent of the chain code.

Signatures 1D representation of a boundary, usually obtained by representing the boundary in a polar coordinate system and computing the distance r between each pixel along the boundary and the centroid of the region, and the angle θ subtended between a straight line connecting the boundary pixel to the centroid and a horizontal reference. The resulting plot provides a concise representation of the boundary, that is RT-invariant, but not scaling-invariant.

Signatures Examples:

Signatures Effects of noise:

Fourier descriptors Basic idea: to traverse the pixels belonging to a boundary, starting from an arbitrary point, and record their coordinates. Each value in the resulting list of coordinate pairs (x 0,y 0 ), (x 1,y 1 ),, (x K-1, y K-1 ) is then interpreted as a complex number x k + j y k, for k = 0, 1,, K-1. The Discrete Fourier Transform (DFT) of this list of complex numbers is the Fourier descriptor of the boundary. The inverse DFT restores the original boundary.

Fourier descriptors Basic idea

Fourier descriptors Interesting property: contour can be encoded using very few values (coefficients). Example 18.4:

Histogram-based features Average gray value:

Histogram-based features Standard deviation: Skew:

Histogram-based features Energy: Entropy:

Texture features Texture can be a powerful descriptor of an image (or one of its regions). Although there is not a universally agreed upon definition of texture, image processing techniques usually associate the notion of texture with image (or region) properties such as smoothness (or its opposite, roughness), coarseness, and regularity.

Texture features Texture examples:

Texture features Texture Example 18.5:

Texture features Gray-level co-occurrence matrix (GLCM) Displacement vector: Example [d=(0,1)]:

Texture features Gray-level co-occurrence matrix (GLCM) Another example [d=(1,0)]:

Texture features Normalized GLCM and associated features:

Texture features Texture descriptors based on GLCM Example 18.6:

Hands-on Tutorial 18.1: Feature extraction and representation (page 470)