You are on page 1of 14

(11) Representation and Description

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


Image Image Enhancement Enhanced Image Restored/ Transformed Image

Restoration/ Transformation

- Mid-level image processing (image understanding) Object representation, description


Restored/ Transformed Image Image Segmentation Segmented Image Object Representation/ Description Representation/ Description/ Features

11-1

- High-level image processing (recognition and interpretation) Object recognition, interpretation of object relationships
Representation/ Description/ Features Objects Meaning/ Relationships

Object recognition

Image Interpretation

(a) Chain code


- Chain codes: represent a boundary by a connected sequence of straight-line segments of specified length and direction Choose an appropriate grid to approximate objects

11-2

4-direction:
1

8-direction:
2 3 1
1 1 0 1 0

0 3 0 3 3 3 2 3 1 2 2

0 7 6 6 6 3 3 5 5

4 5 7 6

1 1 2 1 2 3 2 2

y Chain code (clockwise):


4-direction: 00333332322121110101, 8-direction: 07666553321202
11-3

y Problem 1: different starting points result in different chain codes


* Solution: normalization redefine the starting point such that the chain code forms a smallest number * E.g.: 6553320000 0000655332

y Problem 2: object rotation results in different chain codes


* Solution: difference code coding with the difference of directions (counter-clockwise) * E.g.: 0000655332 0006706076 0006706076 (normalization)

(b) Polygonal approximation


- Polygonal approximation: approximate a boundary using a polygon - Minimum perimeter polygons y Choose an appropriate grid
The boundary is enclosed by a set of concatenated cells

y Allow the boundary to shrink as a rubber band


11-4

- Merging techniques 1. Merge points along a boundary until the least square error line fit of the points merged so far exceeds a threshold 2. Record the the two end point of the line 3. Repeat Steps 1 and 2 until all boundary points are processed

11-5

- Splitting techniques Subdivide a boundary segment successively into two parts until a specified criterion is satisfied 1. Find two points on the boundary that are farthest away and draw a line
Splitting line divides the boundary into two boundary segments

2. For each boundary segment, find a point on the boundary that has a
11-6

maximum perpendicular distance to its corresponding line 3. Draw two lines joining the point and the two end points, respectively, of the corresponding splitting line
Subdivide the boundary segment into two parts

4. Repeat Steps 2~4 until the perpendicular distance is less than a threshold
a c

11-7

(c) Signature
- Signature: a 1D functional representation of a boundary y Plot the distance from the centroid to the boundary as a function of angles: signature = r(), = 0 ~ 2

(d) Boundary descriptors


- Descriptions of boundary y Perimeter: length of the chain code
11-8

y Diameter: maxi,j(D(pi, pj))


pi

pj

y Major axis (Ma) and minor axis (ma)


Basic rectangle

Ma = maxi,j(D(pi, pj)) ma Ma and forms a basic rectangle

ma Ma

y Eccentricity: Ma/ma
11-9

- MATLAB p = bwperim(bw, conn): find perimeter pixels y bw: binary image y conn: 4 or 8 (connectivity) y Perimeter pixels: 1-valued pixels that are connected to at least one 0-valued pixels y p: returned perimeter binary image - MATLAB S = diameter(L): find descriptions of a boundary y L: a labeled image y S: a structure with the following fields
* S.Diameter, S.MajorAxis, S.MinorAxis, S.BasicRectangle

(e) Regional descriptors


- Compactness: perimeter2/area - Topological: Euler number, E = C H (number of connected
11-10

component number of holes)

E = 1 3 = 2

E=11=0

E = 1 2 = 1

- MATLAB D = regionprops(L, properties) y L: labeled image y Properties: 'Area', 'BoundingBox', 'Centroid', 'ConvexArea', 'ConvexHull', 'ConvexImage', 'Eccentricity', EquivDiameter', 'EulerNumber', 'Extent', 'Extreme', FilledArea', 'FilledImage', 'Image', 'MajorAxisLength', 'MinorAxisLength', 'Orientation', 'PixelList', 'Solidity', 'all' y D: a structure with the fields specified when invoking regionprops( )
* E.g., D.Area
11-11

- Texture y Statisticcal approaches

* Intensity mean: m = i=0 zi p ( zi ) ,


L 1

* nth moment about the mean: n = i=0 ( zi m) n p ( zi )


L 1

Moment
Mean Standard deviation Smoothness Third moment

Expression L 1 m = i = 0 z i p ( z i )

Discription
Measure of average intensity Measure of average contrast Measure of smoothness of intensity

= z ( z) = 2 R = 1 1(1 + 2 )
L 1

3 = i =0 ( zi m) 3 p( zi ) Measure of skewness of the histogram;


U = i =0 p 2 ( zi )
L 1 L 1

0: symmetric, positive: skewed to the right; negative: skewed to the left Measure of uniformity; maximum: all graylevels are equal

Uniformity Entropy

e = i =0 p ( zi ) log 2 p ( zi ) Measure of randomness

11-12

y Sprectral approache: based on Fourier spectrum y Structural approach: structure of the texture primitives
Texture primitives:

(f) High-level image processing


- High-level image processing (computer vision) Recognition and interpretation y Object recognition: identify objects based on object models y Interpretation: using artificial intelligence to infer the following
11-13

* Properties of objects: identity, size, material, 2D/3D position, orientation * Relationships among objects: occlusion, relative position Further inferrence: planning of path, operations, control

- Applications: robotics, industrial automatic inspection, autonomous navigation, document image analysis, bioinformation recognition

11-14

You might also like