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.