Thus, the surface normal vector of w0 isThe edge image e for a given threshold T0 is given by Image Algebra Formulation Let be the source image.. Thus, the surface normal vector of w0 i
Trang 1Thus, the surface normal vector of w0 is
The edge image e for a given threshold T0 is given by
Image Algebra Formulation
Let be the source image The edge image e is defined as
where = g i (w - w0) if w M(w0) For example, consider M(w0) a 3 × 3 × 3 domain The figure
below (Figure 3.13.1) shows the domain of the gi’s
Figure 3.13.1 Illustration of a three-dimensional 3 × 3 × 3 neighborhood
Fixing z to have value z0, we obtain
Fixing z to have value z0 + 1, we obtain
Fixing z to have value z0 - 1, we obtain
Previous Table of Contents Next
Trang 2Thus, the surface normal vector of w0 is
The edge image e for a given threshold T0 is given by
Image Algebra Formulation
Let be the source image The edge image e is defined as
where = g i (w - w0) if w M(w0) For example, consider M(w0) a 3 × 3 × 3 domain The figure
below (Figure 3.13.1) shows the domain of the gi’s
Figure 3.13.1 Illustration of a three-dimensional 3 × 3 × 3 neighborhood
Fixing z to have value z0, we obtain
Fixing z to have value z0 + 1, we obtain
Fixing z to have value z0 - 1, we obtain
Previous Table of Contents Next
Trang 3Use of this site is subject to certain Terms & Conditions , Copyright © 1996-2000 EarthWeb Inc All rights reserved Reproduction whole or in part in any form or medium without express written permission of
EarthWeb is prohibited Read EarthWeb's privacy statement.
Trang 42j), (2i + 1, 2j), (2i, 2j + 1), (2i + 1, 2j + 1) in level k + 1 All other points at level k + 1 are assigned value 0 Boundary formation is repeated until level l - 1 is reached.
Image Algebra Formulation
For any non-negative integer k, let X k denote the set {(i, j) : 0 d i, j d 2 k - 1} Given a source image
construct a pyramid of images for k {0, 1, …, l - 2} as follows:
where
For , construct the boundary images bk,…, bl - 1 using the statement:
bk := abs(a k • t1) + abs(a k • t2), where
To construct the boundary images at level m where k < m d l - 1, first define
g(i, j) = {(2i, 2j), (2i + 1, 2j), (2i, 2j + 1), (2i + 1, 2j + 1)}
The effect of this mapping is shown in Figure 3.14.1
Figure 3.14.1 Illustration of the effect of the pyramidal map
The boundary image bm is computed by
where 0 denotes the zero image on the point set Xm
Alternate Image Algebra Formulation
The above image algebra formulation gives rise to a massively parallel process operating at each point in the
pyramid One can restrict the operator to only those points in levels m > k where the boundary threshold is
satisfied as described below
Trang 5Let g1(i, j) = {(i, j), (i - 1, j), (i + 1, j), (i, j - 1), (i, j + 1)} This maps a point (i, j) into its von Neumann
Note that in contrast to the functions g and , g1 and are functions defined on the same pyramid level
We now compute bm by
Comments and Observations
This technique ignores edges that appear at high-resolution levels which do not appear at lower resolutions The method of obtaining intermediate-resolution images could easily blur, or wipe out edges at high resolutions
3.15 Edge Detection Using K-Forms
The K-forms technique encodes the local intensity difference information of an image The codes are numbers expressed either in ternary or decimal form Local intensity differences are calculated and are labeled 0, 1, or 2 depending on the value of the difference The K-form is a linear function of these labels,
where k denotes the neighborhood size The specific formulation, first described in Kaced [22], is as
follows
Let a0 be a pixel value and let a1, …, a8 be the pixels values of the 8-neighbors of a0 represented pictorially as
Set
e l = a l - a0 for all l {1, …, 8} and for some positive threshold number T define p : as
Some common K-form neighborhoods are pictured in Figure 3.15.1 We use the notation
Figure 3.15.1 Common K-forms in a 3 × 3 window
Trang 6to denote the K-form with representation in base b, having a neighborhood containing n pixel neighbors of the reference pixel, and having orientation characterized by the roman letter c Thus the
horizontal decimal 2-form shown in Figure 3.15.1 is denoted , having base 10, 2 neighbors, and horizontal shape Its value is given by
Previous Table of Contents Next
Products | Contact Us | About Us | Privacy | Ad Info | Home
Use of this site is subject to certain Terms & Conditions , Copyright © 1996-2000 EarthWeb Inc All rights
reserved Reproduction whole or in part in any form or medium without express written permission of
EarthWeb is prohibited Read EarthWeb's privacy statement.
Trang 7(a) An edge in relief is associated with any pixel whose K-form value is 0, 1, or 3.
(b) An edge in depth is associated with any pixel whose K-form value is 5, 7, or 8.
(c) An edge by gradient threshold is associated with a pixel whose K-form is not 0, 4, or 8.
Image Algebra Formulation
Let be the source image We can compute images for l {1, …, 8}, representing the
fundamental edge images from which the K-forms are computed, as follows:
where the are defined as shown in Figure 3.15.3
Figure 3.15.3 K-form fundamental edge templates
Thus, for example, t(1) is defined by
Let the function p be defined as in the mathematical formulation above The decimal horizontal 2-form is
defined by
Other K-forms are computed in a similar manner
Edge in relief is computed as
Edge in depth is computed as
Edge in threshold is computed as
Comments and Observations
The K-forms technique captures the qualitative notion of topographical changes in an image surface
The use of K-forms requires more computation than gradient formation to yield the same information as multiple forms must be computed to extract edge directions
3.16 Hueckel Edge Operator
The Hueckel edge detection method is based on fitting image data to an ideal two-dimensional edge model [1,
23, 24] In the one-dimensional case, the image a is fitted to a step function
If the fit is sufficiently accurate at a given location, an edge is assumed to exist with the same parameters as the ideal edge model (See Figure 3.16.1.) An edge is assumed if
Trang 8Figure 3.16.1 One-dimensional edge fitting.
the mean-square error
is below some threshold value
In the two-dimensional formulation the ideal step edge is defined as
where Á represents the distance from the center of a test disk D of radius R to the ideal step edge (Á d R), and
¸ denotes the angle of the normal to the edge as shown in Figure 3.16.2
Figure 3.16.2 Two-dimensional edge fitting
The edge fitting error is
In Hueckel’s method, both image data and the ideal edge model are expressed as vectors in the vector space of
continuous functions over the unit disk D = {(x, y) : x2 + y2 d 1} A basis for this vector space — also known
as a Hilbert space — is any complete sequence of orthonormalized continuous functions {h i : i = 0, 1, …}
with domain D For such a basis, a and s have vector form a = (a1, a2, …) and s = (s1, s2, …), where
and
For application purposes, only a finite number of basis functions can be used Hueckel truncates the infinite
Hilbert basis to only eight functions, h0, h1, …, h7 This provides for increased computational efficiency Furthermore, his sub-basis was chosen so as to have a lowpass filtering effect for inherent noise smoothing Although Hueckel provides an explicit formulation for his eight basis functions, their actual derivation has never been published!
Having expressed the signal a and edge model s in terms of Hilbert vectors, minimization of the mean-square
error of Equation 3.16.1 can be shown to be equivalent to minimization of Hueckel has
performed this minimization by using some simplifying approximations Also, although a is expressed in
terms of vector components a , …, a , s(x, y) is defined parametrically in terms of the parameters (b, h, Á, ¸).
Trang 9The exact discrete formulation is given below.
Definition of the eight basis functions Let D (x0, y0) be a disk with center (x0, y0) and radius R For each (x,
y) D(x0, y0), define
and
Then
Note that when , then Q(r) = 0 Thus, on the boundary of D each of the functions h i is 0 In fact, the functions h i intersect the disk D as shown in the following figure:
Figure 3.16.3 The intersection D graph(hi)
In his algorithm, however, Hueckel uses the functions H i (i = 0, 1, …, 7) instead of h i (i = 0, 1, …, 7) in order
to increase computation efficiency This is allowable since the H i’s are also linearly independent and span the same eight-dimensional subspace
Previous Table of Contents Next
Trang 10Use of this site is subject to certain Terms & Conditions , Copyright © 1996-2000 EarthWeb Inc All rights reserved Reproduction whole or in part in any form or medium without express written permission of
EarthWeb is prohibited Read EarthWeb's privacy statement.
Trang 11and define
Remarks The edge image e has either pixel value zero or the parameter (b, h, Á, ¸ k) Thus, with each edge pixel we obtain parameters describing the nature of the edge These parameters could be useful in further analysis of the edges If only the existence of an edge pixel is desired, then the algorithm can be shortened by dropping STEP 8 and defining
Note that in this case we also need only compute a1, …, a7 since a0 is only used in the calculation of b.
It can be shown that the constant K in STEP 9 is the cosine of the angle between the vectors a = (a0, a1, …, a7)
and s = (s0, s1, …, s7) Thus, if the two vectors match exactly, then the angle is zero and K = 1; i.e., a is
already an ideal edge If K < 0.9, then the fit is not a good fit in the mean-square sense For this reason the threshold T is usually chosen in the range 0.9 d T < 1 In addition to thresholding with T, a further test is often made to determine if the edge constant factor h is greater than a threshold factor.
As a final observation we note that K would have remained the same whether the basis H i or h i had been used
to compute the components a i
Image Algebra Formulation
In the algorithm, the user specifies the radius R of the disk over which the ideal step edge is to be fitted to the
image data, a finite number of directions ¸0, ¸1, … , ¸m, and a threshold T.
Let denote the source image Define a parameterized template , where i = 0, 1,
…, 7, by
Here y = (y1, y2) corresponds to the center of the disk D(y) of radius R and x = (x1, x2) For j in {0, 1, …, m},
define by f j (r) = (r,|r|,¸ j)
The algorithm now proceeds as follows:
Trang 12Remarks Note that e is a vector valued image of four values If we only seek a Boolean edge image, then
the formulation can be greatly simplified The first two loops remain the same and after the second loop the algorithm is modified as follows:
Furthermore, one convolution can be saved as a0 need not be computed
Comments and Observations
Experimental results indicate that the Hueckel operator performs well in noisy and highly textured
environments The operator not only provides edge strength, but also information as to the height of the step edge, orientation, and distance from the edge pixel
The Hueckel operator is highly complex and computationally very intensive The complexity renders it difficult to analyze the results theoretically
Previous Table of Contents Next
Trang 13Use of this site is subject to certain Terms & Conditions , Copyright © 1996-2000 EarthWeb Inc All rights reserved Reproduction whole or in part in any form or medium without express written permission of
EarthWeb is prohibited Read EarthWeb's privacy statement.
Trang 14Figure 3.17.2 shows the relationships of s, t, u, v, and S to p and q.
Let f(j, x, y), where x = (x1, x2) and y = (y1, y2), denote the first coordinate of the closest point to x on L(x, y)
having second coordinate j, that is,
Note that f is partial in that it is defined only if there is a point on L(x, y) with second coordinate j.
Furthermore, let F(j, w, x, y, z) denote the set ; that is, the set of
points with second coordinate j bounded by L(w, x) and L(y, z).
Figure 3.17.2 Variables characterizing the region of search
We can then compute the set S containing all integral points in the rectangle described by corner points s, t, u,
and v as follows:
Trang 15Let If card(Y) = 0, the line segment joining p and q defines the boundary between
p and q, and our work is finished.
If card(Y) > 0, define image by b(x) = d(x, L(p, q)) Let r = choice(domain ) Thus, as
shown in Figure 3.17.3, r will be an edge point in set S farthest from line segment L(p, q) The algorithm can
be repeated with points p and r, and with points r and q.
Figure 3.17.3 Choice of edge point r.
Comments and Observations
This technique is useful in the case that a low curvature boundary is known to exist between edge elements and the noise levels in the image are low It could be used for filling in gaps left by an edge
detecting-thresholding-thinning operation
Difficulties arise in the use of this technique when there is more than one candidate point for the new edge point, or when these points do not lie on the boundary of the object being segmented In our presentation of the algorithm, we make a non-deterministic choice of the new edge point if there are several candidates We assume that the edge point selection method — which is used as a preprocessing step to boundary detection
— is robust and accurate, and that all edge points fall on the boundary of the object of interest In practice, this does not usually occur, thus the sequence of boundary points detected by this technique will often be inaccurate
3.18 Edge Following as Dynamic Programming
The purpose of this particular technique is to extract one high-intensity line or curve of fixed length and
locally low-curvature from an image using dynamic programming Dynamic programming in this particular
case involves the definition and evaluation of a figure-of-merit (FOM) function that embodies a notion of
“best curvature.” The evaluation of the FOM function is accomplished by using the multistage optimization process described below (see also Ballard and Brown [11])
Let be a finite point set and suppose g is a real-valued function of n discrete variables with each
variable a point of X That is,
The objective of the optimization process is to find an n-tuple Xn such that
It can be shown that if g can be expressed as a sum of functions
then a multistage optimization procedure using the following recursion process can be applied:
1 Define a sequence of functions recursively by setting
Trang 16for k = 1,…, n - 1.
2 For each y X, determine the point m k+1(y) = xk X such that
that is, find the point xk for which the maximum of the function
is achieved
The n-tuple can now be computed by using the recursion formula
4 Set for k = n - 1, …, 1.
The input to this algorithm is an edge enhanced image with each pixel location x having edge magnitude e(x)
e 0 and edge direction Thus, only the eight octagonal edge directions 0, 1, …, 7 are allowed (see Figure 3.18.2)
Previous Table of Contents Next
Products | Contact Us | About Us | Privacy | Ad Info | Home
Use of this site is subject to certain Terms & Conditions , Copyright © 1996-2000 EarthWeb Inc All rights
reserved Reproduction whole or in part in any form or medium without express written permission of
EarthWeb is prohibited Read EarthWeb's privacy statement.