The document discusses image descriptors post-segmentation, focusing on external and internal characteristics for representing regions. It outlines various representation schemes such as chain codes, polygonal approximations, and skeletonization, along with simple descriptors like shape numbers and Fourier descriptors. Additionally, it emphasizes the importance of normalization and invariance in descriptor representation to ensure consistency despite changes in perspective or orientation.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0 ratings0% found this document useful (0 votes)
4 views
Descriptor
The document discusses image descriptors post-segmentation, focusing on external and internal characteristics for representing regions. It outlines various representation schemes such as chain codes, polygonal approximations, and skeletonization, along with simple descriptors like shape numbers and Fourier descriptors. Additionally, it emphasizes the importance of normalization and invariance in descriptor representation to ensure consistency despite changes in perspective or orientation.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 33
Image Descriptors
BY: PROF. JYOTSNA SINGH
Descriptors After performing image segmentation, a region may be represented in terms of –external characteristics (boundaries). –internal characteristics (texture).
A shape may be considered as a filled region with a unique value,
e.g. f (x,y)=1. Introduction • The objective is to represent and describe the resulting aggregate of segmented pixels in a form suitable for further computer processing after segmenting an image into regions. • Two choices for representing a region: ‰ ➢ External characteristics: An external representation is chosen when the primary focus is on shape characteristics. e.g. its boundary; ‰ ➢ Internal characteristics: is selected when the primary focus is on reflectivity properties, such as color and texture.. • For example, A region may be represented by ◦ (a) its boundary described by features such as its length, ◦ (b) the orientation of the straight line joining the extreme points, and ◦ (c) the number of concavities in the boundary. Image representation 1. Representation schemes 1.1 Chain codes 1.2 Polygonal approximations 1.3 The skeleton of a region 1.4 Boundary descriptors 2. Some simple descriptors 2.1 Shape numbers 2.2 Fourier descriptors 2.3 Moments 3. Region descriptors 3.1 Some simple descriptors 3.2Texture descriptors 1. Representation schemes • The segmentation techniques yield raw data in the form of pixels along a boundary or pixels contained in a region. • Although these data are sometimes used directly to obtain descriptors, standard practice is to use schemes that compact the data into representations that are considerably more useful in the computation of descriptors. • This section introduces some basic representation schemes for this purpose. 1.1 Chain Code •To represent a boundary by a connected sequence of straight line segments of specified length and direction. • The direction of each segment is coded by using a numbering scheme a) Four directional numbering scheme b) Eight directional numbering scheme
This method generally is unacceptable to apply for the chain codes
to pixels: (a) The resulting chain of codes usually is quite long; (b) Sensitive to noise: any small disturbances along the boundary owing to noise or imperfect segmentation cause changes in the code that may not necessarily be related to the shape of the boundary. Chain Code Chain code is a lossless compression technique used for representing an object in images. The co-ordinates of any continuous boundary of an object can be represented as a string of numbers where each number represents a particular direction in which the next point on the connected line is present. One point is taken as the reference/starting point and on plotting the points generated from the chain, the original figure can be re-drawn. Chain Codes Chain Code Chain code for 3 D image The chain codes could be generated by using conditional statements for each direction but it becomes very tedious to describe for systems having large number of directions(3-D grids can have up to 26 directions). Instead we use a hash function. The difference in X(dx) and Y(dy) co-ordinates of two successive points are calculated and hashed to generate the key for the chain code between the two points. dx dy C(dx, dy) chainCode[C] 1 0 5 0 Chain code 1 1 8 1 list: 0 1 7 2 Hash function: -1 1 6 3 -1 0 3 4 The function does not generate the value 4 so a dummy value -1 -1 0 5 is stored there. 0 -1 1 6 1 -1 2 7 Chain Code Chain Code 1. If we change the start point , reflex and rotate the image ---- whole chain code changes 2. Solution is normalised chain code
Steps to Formalise normalise chain code:
1. Calculate the Chain 2. Calculate the Chain first difference 3. Calculate normalise chain code/ Shape Number Normalised Chain code Normalization for starting point: Treat the code as a circular sequence and redefine the starting point s that the resulting sequence of numbers forms an integer of minimum magnitude. •
Normalization for rotation: Use the first
difference of the chain code instead of the code itself. The difference is simply by counting (counter-clockwise) the number of directions that separate two adjacent elements of the code. Example: The first difference of the 4- direction chain code 10103322 is 33133030. Normalization for size: Alter the size of the resampling grid. Circular First difference Normalised Chain Code 1. Find “0” in string and then write all numbers coming after 0 including 0. (030) 2. then write the remaining numbers as it after this. (0303133) this is NCC 3. The normalised chain code is invariant to change in starting point, reflex and rotation. Invariance to Reflex and rotation 1.2 Polygonal approximation • The objective is to capture the essence of the boundary shape with the fewest possible polygonal segments. • This problem in general is not trivial and can quickly turn into a time-consuming iterative search. (a) Minimum-perimeter Polygons ◦ A given boundary is enclosed by cells. We can visualize this enclosure as consisting of two walls corresponding to the inside and outside boundaries of the cells. If the boundary is a rubber band, it will shrink and take the shape as in (b). ◦ The error in each cell would be at most 2 d , where d is the pixel distance. Polygonal approximation (b) Merging Technique (c) Splitting Techniques • It is based on error or other • To subdivide a segment successively into criteria have been two parts until a given criterion is applied to the problem of satisfied. polygonal approximation. • Example: a line a drawn between two • One approach is to merge end points of a boundary. The points along a boundary until the perpendicular distance from the least square error line fit of the line to the boundary must not exceed a points merged so far exceeds a preset threshold. If it does, the farthest preset threshold. points becomes a vertex. • Vertices do not corresponding to corners in the boundary. 1.3 The skeleton of a region (a)Medial axis transformation •The structural shape of a plane region can be reduced to a graph. • The skeleton of a region may be defined • This reduction can be via the accomplished by obtaining medial axis transformation (MAT) the skeleton of the region via proposed by Blum in 1967. a thinning algorithm. • Given a region R and a border B: ➢For each point p in R, we find its closest neighbor in B. If p has more that one such neighbor, it belongs to the medial axis (skeleton of R). ➢The concept of "closest" depends on the definition of a distance. 1.3 The skeleton of a region (b) Thinning algorithm for binary regions • Assume region points have value 1 and background points 0. • A contour point is any pixel with value 1 and having at least one 8-neighbor valued 0. • The thinning method consists of successive passes of two steps applied to the contour points. 1.3 The skeleton of a region 1.3 The skeleton of a region 2 Some simple descriptors 2.1 Shape numbers • Shape number of a A. • Area of the object boundary is defined as • Length of a contour the first difference of a chain code of the • Diameter of a boundary: smallest The maximum distance between any 2 points on magnitude. the boundary. • The order n of a shape number is the number of digits in its representation. • The following figures shows all shapes of order 4 and 6 in a 4-directional chain code: Boundary following Several algorithms require the points in an ordered clockwise (or counterclockwise) direction. • We will describe an algorithm whose output is an ordered sequence of points.
◦ Binary images (object and background points).
◦ Images are padded with a border of zeros to avoid object merging with the image borders. ◦ We limit the discussion to single regions. ◦ -The extension is straightforward. Boundary following Boundary following Boundary following Boundary following Boundary following 2 Some simple descriptors 2.2 Fourier Descriptors: In general, only the first few coefficients are of Coordinate pairs of points significant magnitude and are encountered in traversing an N-point pretty enough to boundary in the xy plane are recorded as a sequence of complex describe the general shape of numbers. the boundary. Example : {(1,2), (2,3), (2,4),..(x,y),..} • Fourier descriptors are not directly insensitive to {1+2i, 2+3i, 2+4i,..x+yi,..}. geometrical changes such as • An N-point DFT is performed to translation, rotation and scale the sequence and the complex changes, but the changes can coefficients obtained are called the Fourier descriptors of the boundary. be related to simple transformations on the descriptors. 2 Some simple descriptors
2.2 Fourier Descriptors:
2 Some simple descriptors 2.3 Moments • Coordinate pairs of points encountered in traversing an N-point boundary in the xy plane are recorded as a sequence of complex numbers {g(i):i=1,..N}. Example : {(1,2), (2,3), (2,4),..(x,y),..} {1+2i, 2+3i, 2+4i,..x+yi,..}. • Normalize the area of the object to unit area. • The moments of the boundary is given as 3. Region Descriptors 3.1 Some simple descriptors • The area of a region is defined as the number of pixels contained within its boundary. • The perimeter of a region is the length of its boundary 3.2 Texture descriptors • Descriptors providing measures of properties such as smoothness, coarseness and regularity are used to quantify the texture content of an object.