Author Guidelines for CVGIP2009

advertisement
CURVE-SKELETON EXTRACTION
BASED ON DIRECTIONAL DISTANCE TRANSFORM
1
2
1
Ku-Yaw Chang (張顧耀), Wei-Lu Lin (林威如) , Hui-Chun Su (蘇慧群) ,
3
Lih-Shyang Chen (陳立祥) , Shu-Han Chang (張述涵) , Shao-Jer Chen (陳紹哲)
Department of Computer Science and Information Engineering, Da-Yeh University, Changhua
2
Department of Electrical Engineering, National Cheng-Kung University, Tainan
3
Department of Radiology, Buddhist Dalin Tzu Chi General Hospital, Chiayi
School of Medicine, Buddhist Tzu Chi University, Hualien
E-mail: canseco@mail.dyu.edu.tw
ABSTRACT
Curve-skeletons are simplilfied representations of
objects, and could be very helpful in many visualization
applications. Although various algorithms for such
extraction methodologies are available in the literature,
they are usually fine-tuned for specific applications. In
this paper, we propose a 2D curve-skeleton extraction
algorithm based on directional distance transform. In
addition to the shortest distance to the boundary, each
pixel is extra provided with a hit angle and a direction
by mimicking the water flow. Pixels with greater hit
angles are considered to be feature points of the skeleton,
and they are connected to form the whole skeleton under
the guidance of their direction information. Finally, a
thinning procedure is applied to prune the skeleton.
Several algorithm parameters can be changed to suit
objects with various shapes. Several experimental
results are provided to demonstrate the feasibility of our
method.
Keywords Curve Skeleton; Object Representation;
Distance Transform; Computer Graphics;
1. INTRODUCTION
The curve-skeleton captures the essential topology of an
object, making it easier to understand, for further
analysis. Examples of curve-skeleton applications
include virtual navigation, registration, animation,
morphing, scientific analysis, recognition, and
retrieval[1].The problem has received a lot of attention
in recent decades and yet the design of a simple and
robust method for extracting curve-skeletons remains a
research challenge [2].
Up to now, many methods for extraction skeletons
have been proposed, such as thinning methods, distance
transform methods, morphology methods, and Voronoi
map methods and so on[3][4][5]. But due to noise and
small boundary distortion, many of these methods
would produce massive redundant skeleton branches,
which seriously influence image recognition based on
the skeleton[6].
Our proposed algorithm is based on the elementary
idea of object-oriented discipline – to mimic the real
world. For a given shape in binary, every boundary
point is viewed as an independant fountain, where the
water flows out constantly and moves along the normal
direction inward. The water keeps moving forwards on
pixels that have not yet been visited (by water). Since
the water moves from the boundary towards the inside,
the water will finally meet somehow at last. The conflux
point is defined to be the point where the water meets.
The water stops moving when it arrives at a conflux
point. When no more water moves, the whole process
ends. This process can be simulated by computer
software based on an iterative approach.
After the water-flow process ends, a distance (i.e.
the shortest one to the boundary), a hit angle and a
direction can be obtained for each conflux pixel. The
curve skeletons are thus obtained by utilizing these
information.
The remainder of this paper is organized as follows.
Section 2 describes the proposed algorithm. And several
experimental results are given in Section 3, followed by
a conclusion in Section 4.
2. METHODOLOGY
The algorithm details are described in the following.
1.
Find Conflux Points: As described in the
previous section, the water-flow process proceeds
in an iterative approach, and stops when no water
moves. For each conflux point, the water may
come from different boundary points, as
illustrated in Fig. 1, and every pair of water-fronts
form a hit angle. A hit angle may range from 0° to
Fig. 1: Water originates from several boundary
points (in yellow) may confront each other at a
conflux point (in red), forming different hit
angles.
(a)
(b)
Fig. 2: (a) Conflux points with high conflux angles
are selected as feature points, labeled in pink.
(b) Feature points are connected based on their
water-flow trends.
2.
3.
4.
180° degrees, and the largest hit angle of a
conflux point is defined to be the conflux angle.
Select Feature Points: All the conflux points with
conflux angles greater than a given threshold
angle are considered to be "feature points" of the
shape in consideration. The higher the threshold
angle is, the more abstraction the skeleton stands
for. This threshold value can be modified to meet
different shape in various applications. Fig. 2(a) is
an example of selected feature points.
Connect Feature Points: Feature points found in
last step are not guaranteed to be connected. Our
experiments show that, in fact, they are usually
not connected. In this step, these feature points are
connected based on the information of the
"waterfront" – the direction the water comes from.
The segments of the skeleton should be extended
in the normal direction to the waterfront. Fig. 2(b)
demonstrates a successful feature point
connection.
Prune Skeleton: The width of connected feature
points may be larger than one pixel. Therefore, a
pruning procedure is required to "prune" the
skeleton so that the final skeleton is 1 pixel in
width. Our prune procedure is first conducted
based on the existing thinning algorithm proposed
by Zhang[7], and then followed by removing zigzag pixels for final improvement[8]. Several examples
of pruned skeletons can be found in column (a) in
Fig. 6.
Fig. 3: Our experimental platform allows users to
see detailed information for each pixel.
Fig. 4: Different approaches to displaying an image
and its curve-skeleton.
3. EXPERIMENTAL RESULTS
3.1 Platform
A Windows program was developed for the above
experimental purpose. It provides special visual effects
to help see how the water actually flows and the final
skeleton. The program was developed by MS Visual
Studio C/C++ 2010 with the support of MFC framework.
Figs. 3 and 4 are snapshots of displaying and extracting
a curve-skeleton of a binary shape.
3.2 Results
Our algorithm has been implemented in 2D for a pilot
study purpose. The preliminary results, compared to
MATLAB’s results, demonstrate that our methods are
quite robust to noise on the boundary, as shown in
Figure 5. More results can be found in Figure 6,
showing that our algorithm can generate quite
satisfactory skeleton results, which are better in an
instinct view than MATLAB.
(a)
(b)
(c)
Fig. 5: A rectangle with a noisy boundary and its
skeleton generated by (a) our algorithm; (b)
MATLAB Skeleton; (c) MATLAB Thinning.
(a)
(b)
(c)
Fig. 6: Curve-skeleton extraction results of various 2D shapes. Column (a) is done by our
algorithm, while columns (b) and (c) are done by MATLAB Skeleton and Thinning
respectively.
ACKNOWLEDGEMENT
This work was supported by the grant contract NSC 992221-E-212-012-MY3 from National Science Council,
Taiwan, R.O.C.
REFERENCES
Fig. 7: Our algorithm performs very well even when
an object has different orientations.
Another experimental results, as illustrated in Fig.
7, demonstrates the orientation-independent feature of
our algorithm.
4. CONCLUSION
In this paper, we propose a 2D curve-skeleton extraction
algorithm based on directional distance transform. Its
basic idea is to emulate how the water flows, and then
obtain a shortest distance to the boundary, a hit angle
and a direction for each pixel. Based on these
information, we can extract a curve-skelenton for a
given binary shape. Current experiments show us not
only very satisfactory results, but also the feature of
orientation-independence. Our main chanllenge in the
future is to extend this 2D algorithm to 3D, which
becomes much more complicated and requires even
higher computation cost.
[1] Stephen R. Aylward, Elizabeth Bullitt, "Initialization,
Noise, Sigularities, and Scale in Height Ridge Traversal
for Tubular Object Centerline Extraction," IEEE
Transactions on Medical Imaging, vol. 21, no. 2, February
2002, pp.61-75.
[2] Nicu D. Cornea, Deborah Silver, and Patrick Min, "CurveSkeleton Properties, Applications, and Algorithms," IEEE
Transactions on Visualization and Computer Graphics,
vol. 14, no. 3, May/June 2007, pp. 530-548.
[3] Pavel Dimitrov, Carlos Phillips, and Kaleem
Siddiqi,"Robust and Efficient Skeletal Graphs," Proc.
IEEE Conf. Computer Vision and Pattern Recognition,
vol.1, June 2000, pp. 1417-1423.
[4] Wenjie Xie, Robert P. Thompson, and Renato Perucchio,
"A Topology-Preserving Parallel 3D Thinning Algorithm
for Extracting the Curve Skeleton," Pattern Recognition,
vol. 36, no. 7, July 2003, pp. 1529-1544.
[5] Wai-Pak Choi, Kin-Man Lam, and Wan-Chi
Siu,"Extraction of the Euclidean Skeleton Based on a
Connectivity Criterion," Pattern Recognition, vol. 36, no.
3, March 2003,pp. 712-729.
[6] Cagri Aslan and Sibel Tari,"An Axis Based Representation
for Recognition," Proc. Int'l Conf. Computer Vision, vol. 2,
Oct. 2005, pp.1339-1346.
[7] T.Y. Zhang and C.Y. Suen, "A fast parallel algorithm for
thinning digital patterns," Communications of the ACM,
vol. 27, pp. 236-239, 1984.
[8] C. M. Holt, A. Stewart, M. Clint, and R. H. Perrott, "An
Improved Parallel Thinning Algorithm," Communications
of the ACM, vol. 30, no. 2, pp. 156-160, 1987.
Download