image representation & description

30
DIGITAL IMAGE PROCESSING REPRESENTATION & DESCRIPTION by Paresh Kamble

Upload: visvesvaraya-national-institute-of-technology-nagpur

Post on 06-May-2015

5.680 views

Category:

Education


3 download

DESCRIPTION

It explains representation and description.

TRANSCRIPT

Page 1: Image representation & description

DIGITAL IMAGE PROCESSING

REPRESENTATION & DESCRIPTION

by Paresh Kamble

Page 2: Image representation & description

Introduction• After an image is segmented into regions; the resulting

aggregate of segmented pixels is represented & described for further computer processing.

• Representing region involves two choices: in terms of its external characteristics

(boundary) in terms of its internal characteristics

(pixels comprising the region)• Above scheme is only part of task of making data useful to

computer.• Next task is to Describe the region based on representation.

• Ex. A region may be represented by its boundary & its boundary is described by features such as its length, the orientation of straight line joining its extreme points & number of concavities in the boundary.

Page 3: Image representation & description

IntroductionQ. Which to choose when?

• External representation is chosen when primary focus is on shape characteristics.

• Internal representation is chosen when primary focus is on regional properties such as color & texture.

• Sometimes it is necessary to choose both representations.

• Features selected as descriptors should be insensitive to

changes in size, translation & rotation.

Page 4: Image representation & description

Representation• It deals with compaction of segmented data into

representations that facilitate the computation of descriptors.

1) Boundary (Border) Following:Most of the algorithms require that points in the boundary of a

region be ordered in a clockwise (or counterclockwise) direction.

We assume i) we work with binary images with object and background

represented as 1 & 0 respectively.ii) Images are padded with borders of 0s to eliminate the

possibility of object merging with image border.

Page 5: Image representation & description

Representation1) Let the starting point b0 be the uppermost, leftmost point in

the image. c0 the west neighbor of b0. Examine 8 neighbors of b0 starting at c0 & proceed in clockwise direction.

1 1 1 1 1 1

1 1 1 1 1 1 1 1

Let b1 denote first neighbor encountered with value 1 & c1 be background point immediately preceding b1 in the sequence.

Page 6: Image representation & description

Representation2) Let b = b1 & c = c13) Let the 8-neighbors of b, starting at c & proceeding in

clockwise directions be denoted by n1, n2, …..n8. Find first nk labeled 1.

4) Let b = nk & c = nk-1

c c0 b0 1 1 1 b 1 1 1 1 1 1

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

Page 7: Image representation & description

Representation2) Let b = b1 & c = c13) Let the 8-neighbors of b, starting at c & proceeding in

clockwise directions be denoted by n1, n2, …..n8. Find first nk labeled 1.

4) Let b = nk & c = nk-1

c b0 1 b 1 b 1 1 1 1 1 1

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

Page 8: Image representation & description

Representation5) Repeat step 3 & 4 until b = b0 & next boundary point found is

b1. The sequence of b points found when the algorithm stops constitutes the set of ordered boundary points.

The algorithm is also called as Moore boundary Tracking algorithm.

1 c0 b0 c

1 1 1 1 1 b

1 1 1

1 1 1 1 1 1

1 1 1 1 1 1 1 1 1

Page 9: Image representation & description

Representation2) Chain codes:They are used to represent a boundary by a connected sequence

of straight line segments of specified length & direction.

Typically this representation is based on 4- or 8-connectivity of segments.

The direction of each segment is coded by using a numbering scheme.

1 3 2 1

2 0 4 0

3 5 6 7

Page 10: Image representation & description

Representation• A boundary code formed as a sequence of such directional

numbers is referred to as a Freeman chain code.

• Digital images are acquired & processed in a grid format with equal spacing in x and y directions.

• So a chain code can be generated by following a boundary (say clockwise direction) and assigning a direction to the segments connecting every pair of pixels.

Unacceptable method: (because)1) Resulting chain tends to be quite long2) Any small disturbances along the boundary due to noise or

imperfect segmentation can cause changes in code.

Page 11: Image representation & description

Representation

Page 12: Image representation & description

Representation• A solution to this problem is to resample the boundary by

selecting a larger grid spacing.

• Then, as the boundary is traversed, a boundary point is assigned to each node of the large grid, depending upon the proximity of original boundary to that node.

• The re-sampled boundary can now be represented by a 4- or 8-code.

• The accuracy of the resulting code representation depends on the spacing of the sampling grid.

Page 13: Image representation & description

Representation• The chain code of a boundary depends upon the starting

point.

• However the code can be normalized:– We treat the chain code as a circular sequence of direction

numbers & redefine starting point so that resulting sequence forms an integer of minimum magnitude.

– We can also normalize for rotation by the first difference of the chain code instead of the code itself.

Ex. First difference of 4-direction chain code 10103322 is 3133030.

Page 14: Image representation & description

Representation

• Considering the circular sequence first element is calculated by subtracting last and first component. Ex. 33133030

• These normalization are exact only if the boundaries are invariant to rotation and scale change.

Page 15: Image representation & description

Representation3) Polygon Approximation using Min. Perimeter Polygons:• A digital boundary can be approximated with arbitrary

accuracy by a polygon.• For a closed boundary, approx becomes exact when no. of

segments of polygon = no. of points in the boundary.• Goal of poly. Approx is to capture the essence of the shape in

a given boundary using fewest no. of segments.

• Min. Perimeter Polygon (MPP):– An approach for generating an algorithm to compute MPPs is

to enclose a boundary by a set of concatenated cells.– Think boundary as a r u b b e r b a n d .– As allowed to shrink, it will be constrained by the inner & outer

walls of the bounding regions.

Page 16: Image representation & description

Representation• This shrinking produces the shape of a polygon of min.

perimeter.

• Size of cells determine the accuracy of the polygonal approximation.

• In the limit if size of each cell corresponds to a pixel in the boundary , the error in each cell between the boundary & the MPP approx. at most would be √2d, where d-min possible pixel distance.

• This error can be reduced to half by forcing each cell in poly approx to be centered on its corresponding pixel in the original boundary.

Page 17: Image representation & description

Representation

• The objective is to use the largest possible cell size acceptable in a given application.

• Thus, producing MPPs with fewest no. of vertices.

• The cellular approach reduces the shape of the object enclosed by the original boundary to the area circumscribed by the gray wall.

• Fig. shows shape in dark gray.

• Its boundary consists of 4-connected straight line segments.

Page 18: Image representation & description

Representation

• If we traverse the boundary in counter clockwise direction.

• Every turn encountered in the transversal will be either a convex (white) or concave(black) vertex, with the angle of vertex being an interior angle of the 4-connected boundary.

• Every concave vertex has a corresponding mirror vertex in light gray wall, located diagonally opposite.

• MPP vertices coincide with the convex vertices of inner wall and mirror concave vertices of outer wall.

Page 19: Image representation & description

RepresentationOther Polygonal Approximation Approaches:• Merging Techniques:

- Techniques based on average error or other criteria have been applied to the problem of polygonal approximation.

- One approach is to merge points along a boundary until the least square error line fit of the points merged so far exceeds a preset threshold.

- When this condition occurs, parameters of line are stored, the error is set to 0, the procedure is repeated, merging new points along the boundary until the error again exceeds the threshold.

At the end, the intersection of adjacent line segments form the vertices of the polygon.

Page 20: Image representation & description

RepresentationSplitting techniques:

One approach to boundary segment splitting is to subdivide a segment successively into two parts until a specified criteria is satisfied.

For ex. A requirement might be that the max. perpendicular distance from a boundary segment to the line joining its two end points not exceeding a preset threshold.

This approach has the advantage of seeking prominent inflection points.

For a closed boundary, best starting points are two farthest points in the boundary.

Page 21: Image representation & description

RepresentationSignature: It is a 1D functional representation of a boundary & may be

generated in various ways.

One of the simplest is to plot the distance from the centroid to the boundary as a function of angle.

Signatures generated by this method are invariant to translation but they depend on rotation and scaling.

Normalization with respect to rotation can be achieved by finding a way to select the same starting point to generate the signature, regardless of shape’s orientation.

Page 22: Image representation & description

RepresentationBased on the assumptions of uniformity in scaling wrt. both axes

and that sampling is taken at equal intervals of θ, changes in size of a shape result in changes in the amplitude values of the corresponding signature.

One way to normalize this is to scale all functions so that they always span the same range of values. e.g [0,1]

Main advantage is simplicity but serious disadvantage is that scaling of the entire function depends upon only two values: maximum & minimum.

If the shapes are noisy, error can occur.

Page 23: Image representation & description

RepresentationSkeletons:An important approach to represent the structural shape of a

plane region is to reduce it to a graph.The reduction may be accomplished by obtaining the skeleton of

the region via thinning (skeletonizing) algorithm.Ex. Auto inspection of PCB, counting of asbestos fibers in air

filters.Skeleton of a region may be defined as the medial axis

transformation (MAT).MAT of a region R with border B is as follows:For every point p in R, we find its closest neighbor in B.If p has more than such neighbor, it is said to belong to the

medial axis (skeleton).‘prairie fire concept’

Page 24: Image representation & description

RepresentationImplementation involves calculating the distance from every

interior point to every boundary point on region.

Thinning algorithm deals with deleting the boundary points of a region subject to condition that deleting these points:

1) Does not remove end points.2) Does not break connectivity &3) Does not cause excessive erosion of the region.

Thinning algorithm:Region points are assumed to have value 1 & background points

are assumed to have value 0.

Page 25: Image representation & description

Representation p9 p2 p3

p8 p1 p4 p7 p6 p5Step 1 flags a contour point for deletion if the following conditions are satisfied:a) 2 ≤ N(p1) ≤ 6b) T(p1) = 1c) p2.p4.p6 = 0d) p4.p6.p8 = 0where N(p1) is the number of nonzero neighbors of p1;i.e. N(p1) = p2 + p3 + …… + p8 + p9 where pi is either 0 or 1.T(p1) is number of 0-1 transitions in the ordered sequence p2,

p3, ….., p8, p9., p2

Page 26: Image representation & description

RepresentationIn Step 2:conditions a & b remain the same, but conditions c & d are

changed toc’) p2.p4.p8 = 0d’) p2.p6.p8 = 0

0 0 11 p1 01 0 1

Step 1 is applied to every border pixel in binary region under consideration

If 1 or more of conditions a to d are violated, the value of point in question is not changed.

Page 27: Image representation & description

RepresentationIf all conditions are satisfied, the point is flagged for deletion.But not deleted until all border points have been processed.This delay prevents the change of structure of data during

execution of algorithm.

After step 1 been applied to all border points, those who are flagged are deleted (changed to 0).

Step 2 is applied to resulting data in exactly same manner as step 1.

Page 28: Image representation & description

DescriptorsBoundary Descriptors:

Simple descriptors:

Length: The number of pixels along a boundary gives a rough approximation of its length.

Diameter: Diameter of a boundary is defined as : Diam(B) = max [D(pi,pj)]Where, D – is distance measure &pi, pj – are points on the boundaryIt is the distance between any two border points on region.

Page 29: Image representation & description

DescriptorsMajor axis: The largest diameter is the major axis

Minor axis: A line perpendicular to the major axis

Basic rectangle: The box consisting of major and minor axes with points intersecting the border forms a basic rectangle.

Eccentricity: Ratio of major axis to minor axis.

Curvature: It is the rate of change of slope

Page 30: Image representation & description

DescriptorsShape Numbers:The first difference of a chain coded boundary depends upon the

starting point.The shape number of such a boundary based on 4-directional

code, is defined as the first difference of smallest magnitude.

Order n: of a shape is defined as the number of digits in its representation.

N is even for a closed boundary.