DIGITAL IMAGE PROCESSING Instructors: Dr J. Shanbehzadeh Shanbehzadeh@gmail.comM.Kachooeian...

Post on 25-Dec-2015

278 views 5 download

Tags:

Transcript of DIGITAL IMAGE PROCESSING Instructors: Dr J. Shanbehzadeh Shanbehzadeh@gmail.comM.Kachooeian...

DIGITAL IMAGE PROCESSING

Instructors:

Dr J. ShanbehzadehShanbehzadeh@gmail.com

M.KachooeianKachooeian.mina@gmail.com

DIGITAL IMAGE PROCESSING

Chapter 11 - Representation and Description

Instructors:

Dr J. ShanbehzadehShanbehzadeh@gmail.com

M.KachooeianKachooeian.mina@gmail.com

Road map of chapter 11

3.1 3.3 3.4 3.53.1

11.1- Representation11.2- Boundary Descriptors11.3- Regional Descriptors11.4- Use of Principal Components for Description11.5 - Relational Descriptors

Representation

3.23.2

Boundary DescriptorsRegional Descriptors

3.3 3.4

Use of Principal Components for Description

3.5

Relational Descriptors

11.1 Representation

Representation

11.1- Representation11.2- Boundary Descriptors11,3- Regional Descriptors

11.4- Use of Principal Components for Description11.5 - Relational Descriptors

Chain Codes

Polygonal Approximations

Signatures

Boundary Segments

Skeletons

Chain Codes

Chain Codes

11.1- Representation11.2- Boundary Descriptors11,3- Regional Descriptors

11.4- Use of Principal Components for Description11.5 - Relational Descriptors

• Chain codes are used to represent a boundary by a connected sequence of straight-line segments of specified length and direction.

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

• This method generally is unacceptable for two principal reasons:

The resulting chain tends to be quite long any small disturbances along the boundary due to noise or

imperfect segmentation cause changes in the code that may not be related to the principal shape features of the boundary.

Chain Codes

11.1- Representation11.2- Boundary Descriptors11,3- Regional Descriptors

11.4- Use of Principal Components for Description11.5 - Relational Descriptors

Chain Codes

11.1- Representation11.2- Boundary Descriptors11,3- Regional Descriptors

11.4- Use of Principal Components for Description11.5 - Relational Descriptors

• The chain code of a boundary depends on the starting point.It can be normalized with respect to the starting point.

• We simply treat the chain code as a circular sequence of direction numbers and redefine the starting point so that the resulting sequence of numbers forms an integer of minimum magnitude. We can normalize also for rotation (in angles that are integer multiples of the directions in Fig. 11.3) by using the firs difference of the chain code instead of the code itself.

Chain Codes

11.1- Representation11.2- Boundary Descriptors11,3- Regional Descriptors

11.4- Use of Principal Components for Description11.5 - Relational Descriptors

Normalization For Rotation

This difference is obtained by counting the number of direction changes that separate two adjacent elements of the code.

Example Chain code is 10103322Normalized with first difference 3133030If we treat the code as a circular sequence to normalize with respect to the starting point,the result is 33133030.

Chain Codes

11.1- Representation11.2- Boundary Descriptors11,3- Regional Descriptors

11.4- Use of Principal Components for Description11.5 - Relational Descriptors

Chain Codes

11.1- Representation11.2- Boundary Descriptors11,3- Regional Descriptors

11.4- Use of Principal Components for Description11.5 - Relational Descriptors

• The 8-directional Freeman chain code :0 0 0 0 6 0 6 6 6 6 6 6 6 6 4 4 4 4 4 4 2 4 2 2 2 2 2 0 2 2 0 2

• The integer of minimum magnitude of the code:0 0 0 0 6 0 6 6 6 6 6 6 6 6 4 4 4 4 4 4 2 4 2 2 2 2 2 0 2 2 0 2

• The first difference of either code is0 0 0 6 2 6 0 0 0 0 0 0 0 6 0 0 0 0 0 6 2 6 0 0 0 0 6 2 0 6 2 6

 • Using any of these codes to represent the boundary results in a

significant reduction in the amount of data needed to store the boundary. In addition, keep in mind that the subsampled boundary can be recovered from any of the preceding codes.

Representation

11.1- Representation11.2- Boundary Descriptors11,3- Regional Descriptors

11.4- Use of Principal Components for Description11.5 - Relational Descriptors

Chain Codes

Polygonal Approximations

Signatures

Boundary Segments

Skeletons

Polygonal Approximations

Polygonal Approximations

11.1- Representation11.2- Boundary Descriptors11,3- Regional Descriptors

11.4- Use of Principal Components for Description11.5 - Relational Descriptors

• A digital boundary can be approximated with arbitrary accuracy by a polygon.

• Polygonal approximations: to represent a boundary by straight line segments, and a closed path becomes a polygon.

• to be exact,we should have: Number of segments of polygon=number of points in boundary

Polygonal Approximations

11.1- Representation11.2- Boundary Descriptors11,3- Regional Descriptors

11.4- Use of Principal Components for Description11.5 - Relational Descriptors

Polygonal Approximations

11.1- Representation11.2- Boundary Descriptors11,3- Regional Descriptors

11.4- Use of Principal Components for Description11.5 - Relational Descriptors

• The size of the cells determines the accuracy of the polygonal approximation.

• if the size of each (square) cell corresponds to a pixel in the boundary, error in each cell between the boundary and the MPP approximation at most would be , where d is the minimum possible distance between pixels.

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

producing MPPs with the fewest number of vertices

Polygonal Approximations

11.1- Representation11.2- Boundary Descriptors11,3- Regional Descriptors

11.4- Use of Principal Components for Description11.5 - Relational Descriptors

Convex vertex

Concave vertex

Polygonal Approximations

11.1- Representation11.2- Boundary Descriptors11,3- Regional Descriptors

11.4- Use of Principal Components for Description11.5 - Relational Descriptors

1. The MPP bounded by a simply connected cellular complex is not self intersecting.2. Every convex vertex of the MPP is a W vertex, but not every W vertex of a boundary is a vertex of the MPP3. Every mirrored concave vertex of the MPP is a B vertex, but not every B vertex of a boundary is a vertex of the MPP4. All B vertices are on or outside the MPR and all W vertices are on or in side the MPP5. The uppermost, leftmost vertex in a sequence of vertices contained in a cellular complex is always a W vertex of the MPP

Polygonal Approximations

11.1- Representation11.2- Boundary Descriptors11,3- Regional Descriptors

11.4- Use of Principal Components for Description11.5 - Relational Descriptors

• orientation of triplets of points: the triplet of points, (a, b, c) a = (x1, y1), b = (x2,y2), and c = (x3,y3)

Polygonal Approximations

11.1- Representation11.2- Boundary Descriptors11,3- Regional Descriptors

11.4- Use of Principal Components for Description11.5 - Relational Descriptors

Algorithm:

• form a list whose rows are the coordinates of each vertex and an additional element denoting whether the vertex is W or B.

• V0 the first vertex be the uppermost leftmost• assume that vertices are arranged in the

counterclockwise direction.• WC crawls along convex (W) vertices• Bc crawls along mirrored concave (B) vertices• VL last MPP vertex found

• Vk current vertex being examined.

Polygonal Approximations

11.1- Representation11.2- Boundary Descriptors11,3- Regional Descriptors

11.4- Use of Principal Components for Description11.5 - Relational Descriptors

• SetWC = BC = V0

(a) Vk lies to the positive side of the line through pair (VL, WC); that is, sgn(VL, WC, Vk) > 0.

the next MPP vertex is WC, and we let VL = WC; then we reinitialize the algorithm by setting WC = BC = VL, and continue with the next vertex left

(b) Vk lies on the negative side of the line though pair (VL, WC) or is collinear with it; that is sgn(VL, WC, Vk) 0. At the same time, VK lies to the positiveside of the line through (VL, BC) or is collinear with it; that is, sgn(VL,BC, Vk) = 0.

VL becomes a candidate MPP vertex. In this case, we set WC = Vk if Vk is convex (i.e., it is a W vertex); otherwise we set BC = Vk.We then continue with the next vertex in the list.

.

Polygonal Approximations

11.1- Representation11.2- Boundary Descriptors11,3- Regional Descriptors

11.4- Use of Principal Components for Description11.5 - Relational Descriptors

(c) Vk lies on the negative side of the line though pair (VL, Bc): that is, sgn(VL, BC, VK) < 0.

the next MPP vertex is BC and we let VL = BC; then we reinitialize the algorithm by setting WC = BC = VL and continue with the next vertex after VL

• Algorithm terminates when it reaches the first vertex again, and thus has processed all the vertices in the polygon. The VL vertices found by the algorithm are the vertices of the MPP

Polygonal Approximations

11.1- Representation11.2- Boundary Descriptors11,3- Regional Descriptors

11.4- Use of Principal Components for Description11.5 - Relational Descriptors

Example

• letting WC = BC = V0 = VL = (1.4). The next vertex is V1 = (2, 3). sgn(VL, WC, V1) = 0 and sgn(VL, BC, V1) = 0

condition (b) holds.

We let BC = V1 = (2, 3) and WC is at (1, 4),VL is still at (1,4) because no new MPP-vertex was found.

Polygonal Approximations

11.1- Representation11.2- Boundary Descriptors11,3- Regional Descriptors

11.4- Use of Principal Components for Description11.5 - Relational Descriptors

• Next, we look at V2 = (3, 3). sgn(VL, WC, V2) = 0, and sgn(VL, BC, V2) = 1

condition (b) of the algorithm holds again.

Because V2 is a W (convex) vertex , we let WC = V2 = (3, 3). At this stage, the crawlers are at WC = (3,3) and BC = (2,3); VL remains un- changed.

Polygonal Approximations

11.1- Representation11.2- Boundary Descriptors11,3- Regional Descriptors

11.4- Use of Principal Components for Description11.5 - Relational Descriptors

• If we we examine V5 = (7,1) ,we’ll have:sgn(VL, WC, V5) = 9

so condition (a) holds

set VL = WC = (4, 1). Because a new MPP vertex was found, we reinitialize the algorithm by setting WC = BC = VL and start again with the next vertex being the vertex after the newly found VL. The next vertex is V5, so we visit it again.

Polygonal Approximations

11.1- Representation11.2- Boundary Descriptors11,3- Regional Descriptors

11.4- Use of Principal Components for Description11.5 - Relational Descriptors

Continuing as above with this and the remaining vertices yields the MPP vertices in Fig below.

Polygonal Approximations

11.1- Representation11.2- Boundary Descriptors11,3- Regional Descriptors

11.4- Use of Principal Components for Description11.5 - Relational Descriptors

Representation

11.1- Representation11.2- Boundary Descriptors11,3- Regional Descriptors

11.4- Use of Principal Components for Description11.5 - Relational Descriptors

Chain Codes

Polygonal Approximations

Signatures

Boundary Segments

Skeletons

Signatures

Signatures

11.1- Representation11.2- Boundary Descriptors11,3- Regional Descriptors

11.4- Use of Principal Components for Description11.5 - Relational Descriptors

• represents a shape by a one dimensional function derived from shape boundary point.

• 1-D function is easier to describe than the original 2-D boundary.

Signatures

11.1- Representation11.2- Boundary Descriptors11,3- Regional Descriptors

11.4- Use of Principal Components for Description11.5 - Relational Descriptors

Signatures

11.1- Representation11.2- Boundary Descriptors11,3- Regional Descriptors

11.4- Use of Principal Components for Description11.5 - Relational Descriptors

• Problem: Signatures generated by this approach are invariant to translation, but they do depend on rotation.

• Solution for rotation: We can normalize with respect

to rotation . find a way to select the same starting point to generate the signature, regardless of the shape’s orientation.

One way to do so is to select the starting point as the point farthest from the centroid, assuming that this point is unique for each shape of interest.

Signatures

11.1- Representation11.2- Boundary Descriptors11,3- Regional Descriptors

11.4- Use of Principal Components for Description11.5 - Relational Descriptors

• Solution for scaling: We can normalize with respect to scaling.

Scale all functions so that they always span the same range of values, e.g., [0, 1].

Advantage: simplicitydisadvantage :depends on only two values the minimum and maximum.

Representation

11.1- Representation11.2- Boundary Descriptors11,3- Regional Descriptors

11.4- Use of Principal Components for Description11.5 - Relational Descriptors

Chain Codes

Polygonal Approximations

Signatures

Boundary Segments

Skeletons

Boundary Segments

Boundary Segments

11.1- Representation11.2- Boundary Descriptors11,3- Regional Descriptors

11.4- Use of Principal Components for Description11.5 - Relational Descriptors

• Decomposition reduces the boundary’s complexity and thus simplifies the description process.

• In this case, use of the convex hull of the region enclosed by the boundary is a powerful tool for robust decomposition of the boundary.

Boundary Segments

11.1- Representation11.2- Boundary Descriptors11,3- Regional Descriptors

11.4- Use of Principal Components for Description11.5 - Relational Descriptors

• convex hull H of an arbitrary set S is the smallest convex set containing S.

• The set difference H - S is called the convex deficiency D of the set S. The region boundary can be partitioned by following the contour of S and marking the points at which a transition is made into or out of a component of the convex deficiency.

Convex deficiency

Boundary Segments

11.1- Representation11.2- Boundary Descriptors11,3- Regional Descriptors

11.4- Use of Principal Components for Description11.5 - Relational Descriptors

S = dbabcbabdbabcbab

Boundary Segments

11.1- Representation11.2- Boundary Descriptors11,3- Regional Descriptors

11.4- Use of Principal Components for Description11.5 - Relational Descriptors

• Another use of convex deficiency is to recognize human actions.

Boundary Segments

11.1- Representation11.2- Boundary Descriptors11,3- Regional Descriptors

11.4- Use of Principal Components for Description11.5 - Relational Descriptors

• Problem: digital boundaries tend to be irregular .• These effects usually result in convex deficiencies

that have small, meaningless components scattered randomly through-out the boundary.

• Solution: smooth a boundary prior to partitioning. traverse the boundary and replace the coordinates of each pixel by the average coordinates of k of its neighbors along the boundary.

• works for small irregularities, but it is time-consuming and difficult to control

• Large values of k excessive smoothing• small values of k insufficient in some segments of

the boundary

Boundary Segments

11.1- Representation11.2- Boundary Descriptors11,3- Regional Descriptors

11.4- Use of Principal Components for Description11.5 - Relational Descriptors

• Better solution: use a polygonal approximation prior to finding the convex deficiency of a region. Most digital boundaries of interest are simple .Graham and Yao [1983] give an algorithm for finding the convex hull of such polygons.

Representation

11.1- Representation11.2- Boundary Descriptors11,3- Regional Descriptors

11.4- Use of Principal Components for Description11.5 - Relational Descriptors

Chain Codes

Polygonal Approximations

Signatures

Boundary Segments

SkeletonsSkeletons

Skeletons

11.1- Representation11.2- Boundary Descriptors11,3- Regional Descriptors

11.4- Use of Principal Components for Description11.5 - Relational Descriptors

• Represent structural shape of a plane region reduce it to a graph.

• Use skeletonizing algorithm via a thinning

• Problem of some skeletonizing algorithms:the procedure made no provisions for keeping the skeleton connected.

• The skeleton of a region may be defined via the medial axis transformation (MAT) proposed by Blum [1967].

Skeletons

11.1- Representation11.2- Boundary Descriptors11,3- Regional Descriptors

11.4- Use of Principal Components for Description11.5 - Relational Descriptors

medial axis is the locus of centers of maximal disks that fit within the shape.

Skeletons

11.1- Representation11.2- Boundary Descriptors11,3- Regional Descriptors

11.4- Use of Principal Components for Description11.5 - Relational Descriptors

• Difference between MAT and skeleton

Skeletons

11.1- Representation11.2- Boundary Descriptors11,3- Regional Descriptors

11.4- Use of Principal Components for Description11.5 - Relational Descriptors

• The MAT of a region R with border B:1. For each point p in R, find its closest neighbor in B.

2. If p has more than one such neighbor, it is said to belong to the skeleton of R.

Problem: direct implementation of this definition is expensive computationally. Implementation involves calculating the distance from every interior point to every point on the boundary of a region.

Skeletons

11.1- Representation11.2- Boundary Descriptors11,3- Regional Descriptors

11.4- Use of Principal Components for Description11.5 - Relational Descriptors

Solution: thinning algorithms that iteratively delete boundary points of a region subject to the constraints that deletion of these points

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

Skeletons

11.1- Representation11.2- Boundary Descriptors11,3- Regional Descriptors

11.4- Use of Principal Components for Description11.5 - Relational Descriptors

Algorithm for thinning binary regionsStep 1 flags a contour point p, for deletion if

the following conditions are satisfied:

• N(p1) is the number of nonzero neighbors of p1

• T(p1) is the number of 0-1 transitions in the ordered sequence p2, p3, ,..., p8. p9, p2.

Skeletons

11.1- Representation11.2- Boundary Descriptors11,3- Regional Descriptors

11.4- Use of Principal Components for Description11.5 - Relational Descriptors

Example

0 0 11 p1 01 0 1

N(p1) = 4 and T(p1) = 3

Skeletons

11.1- Representation11.2- Boundary Descriptors11,3- Regional Descriptors

11.4- Use of Principal Components for Description11.5 - Relational Descriptors

Step 2 conditions (a) and (b) remain the same, but conditions (c) and (d) are changed to

Algorithm:1.Apply Step 1 to every border pixel in the binary region .2. if all conditions (a)-(d) are satisfied the point is flagged for deletion. 3.Delete flagged points (changed to 0).4.Apply step 2 to the resulting data

Skeletons

11.1- Representation11.2- Boundary Descriptors11,3- Regional Descriptors

11.4- Use of Principal Components for Description11.5 - Relational Descriptors

11.2 Boundary Descriptors

Boundary Descriptors

11.1- Representation11.2- Boundary Descriptors11,3- Regional Descriptors

11.4- Use of Principal Components for Description11.5 - Relational Descriptors

Some Simple Descriptors

Shape Numbers

Fourier Descriptors

Statistical Moments

Some Simple Descriptors

Some Simple Descriptors

11.1- Representation11.2- Boundary Descriptors11,3- Regional Descriptors

11.4- Use of Principal Components for Description11.5 - Relational Descriptors

• There are several simple geometric measures that can be useful for describing a boundary. • The length of a boundary: the number of pixels

along a boundary gives a rough approximation of its length.

• Curvature: the rate of change of slope• To measure a curvature accurately at a point in a

digital boundary is difficult• The difference between the slops of adjacent

boundary segments is used as a descriptor of curvature at the point of intersection of segments

Boundary Descriptors

11.1- Representation11.2- Boundary Descriptors11,3- Regional Descriptors

11.4- Use of Principal Components for Description11.5 - Relational Descriptors

Some Simple Descriptors

Shape Numbers

Fourier Descriptors

Statistical Moments

Shape Numbers

Shape Numbers

• The shape number of a boundary is defined as the first difference of smallest magnitude.

• The order n of a shape number is defined as the number of digits in its representation.

First difference

Shape Numbers

Shape Numbers

Boundary Descriptors

11.1- Representation11.2- Boundary Descriptors11,3- Regional Descriptors

11.4- Use of Principal Components for Description11.5 - Relational Descriptors

Some Simple Descriptors

Shape Numbers

Fourier Descriptors

Statistical Moments

Fourier Descriptors

Fourier Descriptors

11.1- Representation11.2- Boundary Descriptors11,3- Regional Descriptors

11.4- Use of Principal Components for Description11.5 - Relational Descriptors

• This is a way of using the Fourier transform to analyze the shape of a boundary. • The x-y coordinates of the boundary are treated as

the real and imaginary parts of a complex number. • Then the list of coordinates is Fourier transformed

using the DFT (chapter 4). • The Fourier coefficients are called the Fourier

descriptors. • The basic shape of the region is determined by the

first several coefficients, which represent lower frequencies.

• Higher frequency terms provide information on the fine detail of the boundary.

Fourier Descriptors

Fourier descriptor: view a coordinate (x,y) as a complex number (x = real part and y = imaginary part) then apply the Fourier transform to a sequence of boundary points.

Let s(k) be a coordinate of a boundary point k :

)()()( kjykxks

Fourier descriptor :

1

0

/2)(1

)(K

k

KukeksK

ua

Reconstruction formula

1

0

/2)(1

)(K

k

KukeuaK

ks

Boundarypoints

Fourier Descriptors

1

0

/2)(1

)(ˆP

k

KukeuaK

ks

Fourier Descriptors

Some properties of Fourier descriptors

11.1- Representation11.2- Boundary Descriptors11,3- Regional Descriptors

11.4- Use of Principal Components for Description11.5 - Relational Descriptors

Boundary Descriptors

11.1- Representation11.2- Boundary Descriptors11,3- Regional Descriptors

11.4- Use of Principal Components for Description11.5 - Relational Descriptors

Some Simple Descriptors

Shape Numbers

Fourier Descriptors

Statistical MomentsStatistical Moments

Statistical Moments

11.1- Representation11.2- Boundary Descriptors11,3- Regional Descriptors

11.4- Use of Principal Components for Description11.5 - Relational Descriptors

• Moments are statistical measures of data. • They come in integer orders. • Order 0 is just the number of points in the data. • Order 1 is the sum and is used to find the average. • Order 2 is related to the variance, and order 3 to the

skew of the data. • Higher orders can also be used, but don’t have

simple meanings.

Statistical Moments

11.1- Representation11.2- Boundary Descriptors11,3- Regional Descriptors

11.4- Use of Principal Components for Description11.5 - Relational Descriptors

• Let r be a random variable, and g(ri) be normalized (as the probability of value ri occurring), then the moments are

1

0

)()()(K

ki

nin rgmrr

1

0

)( whereK

iii rgrm

11.3 Regional Descriptors

Regional Descriptors

11.1- Representation11.2- Boundary Descriptors11,3- Regional Descriptors

11.4- Use of Principal Components for Description11.5 - Relational Descriptors

Some Simple Descriptors

Topological Descriptors

Texture

Moments of Two-Dimensional Functions

Some Simple Descriptors

Some Simple Descriptors

11.1- Representation11.2- Boundary Descriptors11,3- Regional Descriptors

11.4- Use of Principal Components for Description11.5 - Relational Descriptors

• Some simple descriptors• The area of a region: the number of pixels in the

region• The perimeter of a region: the length of its boundary• The compactness of a region: (perimeter)2/area• The mean and median of the gray levels• The minimum and maximum gray-level values• The number of pixels with values above and below

the mean

Some Simple Descriptors

11.1- Representation11.2- Boundary Descriptors11,3- Regional Descriptors

11.4- Use of Principal Components for Description11.5 - Relational Descriptors

Regional Descriptors

11.1- Representation11.2- Boundary Descriptors11,3- Regional Descriptors

11.4- Use of Principal Components for Description11.5 - Relational Descriptors

Some Simple Descriptors

Topological Descriptors

Texture

Moments of Two-Dimensional Functions

Topological Descriptors

Topological Descriptors

11.1- Representation11.2- Boundary Descriptors11,3- Regional Descriptors

11.4- Use of Principal Components for Description11.5 - Relational Descriptors

Topological property 1:the number of holes (H)

Topological property 2:the number of connected components (C)

Topological Descriptors

11.1- Representation11.2- Boundary Descriptors11,3- Regional Descriptors

11.4- Use of Principal Components for Description11.5 - Relational Descriptors

Topological property 3:Euler number: the number of connected components subtract the number of holes E = C - H

E=0 E= -1

Topological Descriptors

11.1- Representation11.2- Boundary Descriptors11,3- Regional Descriptors

11.4- Use of Principal Components for Description11.5 - Relational Descriptors

Topological property 4:the largest connected component.

Regional Descriptors

11.1- Representation11.2- Boundary Descriptors11,3- Regional Descriptors

11.4- Use of Principal Components for Description11.5 - Relational Descriptors

Some Simple Descriptors

Topological Descriptors

Texture

Moments of Two-Dimensional Functions

Texture

Texture

11.1- Representation11.2- Boundary Descriptors11,3- Regional Descriptors

11.4- Use of Principal Components for Description11.5 - Relational Descriptors

• Texture is usually defined as the smoothness or roughness of a surface.

• In computer vision, it is the visual appearance of the uniformity or lack of uniformity of brightness and color.

• There are two types of texture: random and regular. • Random texture cannot be exactly described by

words or equations; it must be described statistically. The surface of a pile of dirt or rocks of many sizes would be random.

• Regular texture can be described by words or equations or repeating pattern primitives. Clothes are frequently made with regularly repeating patterns.

• Random texture is analyzed by statistical methods.• Regular texture is analyzed by structural or spectral

(Fourier) methods.

Texture

11.1- Representation11.2- Boundary Descriptors11,3- Regional Descriptors

11.4- Use of Principal Components for Description11.5 - Relational Descriptors

Statistical Approaches

• Let z be a random variable denoting gray levels and let p(zi), i=0,1,…,L-1, be the corresponding histogram, where L is the number of distinct gray levels.• The nth moment of z:

• The measure R:

• The uniformity:

• The average entropy:

1

0

)()()(L

ki

nin zpmzz

1

0

)( whereL

iii zpzm

)(1

11

2 zR

1

0

2 )(L

iizpU

)(log)( 2

1

0i

L

ii zpzpe

Statistical Approaches

RegularSmooth Coarse

Statistical Approaches

• Structural concepts:• Suppose that we have a rule of the

form S→aS, which indicates that the symbol S may be rewritten as aS.

• If a represents a circle [Fig. 11.23(a)] and the meaning of “circle to the right” is assigned to a string of the form aaaa… [Fig. 11.23(b)] .

Spectral Approaches

11.1- Representation11.2- Boundary Descriptors11,3- Regional Descriptors

11.4- Use of Principal Components for Description11.5 - Relational Descriptors

Spectral Approaches

Regional Descriptors

11.1- Representation11.2- Boundary Descriptors11,3- Regional Descriptors

11.4- Use of Principal Components for Description11.5 - Relational Descriptors

Some Simple Descriptors

Topological Descriptors

Texture

Moments of Two-Dimensional FunctionsMoments of Two-Dimensional Functions

Moments of Two-Dimensional Functions

• For a 2-D continuous function f(x,y), the moment of order (p+q) is defined as

• The central moments are defined as

,...3,2,1,for ),(

qpdxdyyxfyxm qp

pq

dxdyyxfyyxx qp

pq ),()()(

00

01

00

10 and wherem

my

m

mx

Moments of Two-Dimensional Functions

• If f(x,y) is a digital image, then

• The central moments of order up to 3 are

x y

qppq yxfyyxx ),()()(

0000

00 ),(),()()( myxfyxfyyxxx yx y

0)(),()()( 0000

1010

0110 m

m

mmyxfyyxx

x y

0)(),()()( 0000

0101

1001 m

m

mmyxfyyxx

x y

10110111

00

011011

1111

),()()(

mymmxm

m

mmmyxfyyxx

x y

Moments of Two-Dimensional Functions

• The central moments of order up to 3 are

102002

20 ),()()( mxmyxfyyxxx y

010220

02 ),()()( mymyxfyyxxx y

0120112112

21 22),()()( mxmymxmyxfyyxxx y

1002111221

12 22),()()( mymxmymyxfyyxxx y

102

203003

30 23),()()( mxmxmyxfyyxxx y

012

020330

03 23),()()( mymymyxfyyxxx y

Moments of Two-Dimensional Functions

• The normalized central moments are defined as

00

pqpq

,....3,2for 12

where

qpqp

11.1- Representation11.2- Boundary Descriptors11,3- Regional Descriptors

11.4- Use of Principal Components for Description11.5 - Relational Descriptors

Moments of Two-Dimensional Functions

• A seven invariant moments can be derived from the second and third moments:

2

03212

123003210321

20321

21230123012305

20321

212304

20321

212303

211

202202

02201

)()(3))(3(

)(3)())(3(

)()(

)3()3(

4)(

Moments of Two-Dimensional Functions

2

03212

123003213012

20321

21230123003217

0321123011

20321

2123002206

)()(3))(3(

)(3)())(3(

))((4

)()()(

This set of moments is invariant to translation, rotation, and scale change

Moments of Two-Dimensional Functions

Moments of Two-Dimensional Functions

Table 11.3 Moment invariants for the images in Figs. 11.25(a)-(e).

11.4 Use of Principal Components for Description

Principal Components for Description

Purpose: to reduce dimensionality of a vector image while maintaining information as much as possible.

Tnxxx ]...[ 21xLet

K

kkx K

E1

1}{ xxmMean:

K

k

Txx

Tkk

Txxx K

E1

1}))({( mmxxmxmxCCovariance matrix

Principal Components for Description

)( xmxAy Let

Where A is created from eigenvectors of Cx as followsRow 1 contain the 1st eigenvector with the largest eigenvalue.Row 2 contain the 2nd eigenvector with the 2nd largest eigenvalue.

….

11.1- Representation11.2- Boundary Descriptors11,3- Regional Descriptors

11.4- Use of Principal Components for Description11.5 - Relational Descriptors

0}{ ym Ey

Txy AACC

and

1

1

1

......0

............

0...0

0...0

yC

Then elements of are uncorrelated. The component of y with the largest l is called the principal component.

)( xmxAy

Principal Components for Description

11.1- Representation11.2- Boundary Descriptors11,3- Regional Descriptors

11.4- Use of Principal Components for Description11.5 - Relational Descriptors

Eigenvector and eigenvalue of Matrix C are defined as

Let C be a matrix of size NxN and e be a vector of size Nx1.If

eCe

Where l is a constant

We call e as an eigenvector and l as eigenvalue of C

Principal Components for Description6 spectral imagesfrom an airborneScanner.

Principal Components for Description

Component l

1 32102 931.43 118.54 83.885 64.006 13.40

After Hotelling transformOriginal image

Principal Components for Description

11.1- Representation11.2- Boundary Descriptors11,3- Regional Descriptors

11.4- Use of Principal Components for Description11.5 - Relational Descriptors

11.5 Relational Descriptors

Relational Descriptors

11.1- Representation11.2- Boundary Descriptors11,3- Regional Descriptors

11.4- Use of Principal Components for Description11.5 - Relational Descriptors

Relational Descriptors

11.1- Representation11.2- Boundary Descriptors11,3- Regional Descriptors

11.4- Use of Principal Components for Description11.5 - Relational Descriptors

Relational Descriptors

11.1- Representation11.2- Boundary Descriptors11,3- Regional Descriptors

11.4- Use of Principal Components for Description11.5 - Relational Descriptors

Relational Descriptors

11.1- Representation11.2- Boundary Descriptors11,3- Regional Descriptors

11.4- Use of Principal Components for Description11.5 - Relational Descriptors

Relational Descriptors

11.1- Representation11.2- Boundary Descriptors11,3- Regional Descriptors

11.4- Use of Principal Components for Description11.5 - Relational Descriptors

Relational Descriptors

11.1- Representation11.2- Boundary Descriptors11,3- Regional Descriptors

11.4- Use of Principal Components for Description11.5 - Relational Descriptors