• 沒有找到結果。

Domain Connected Graph: the Essential Skeleton of a 3D Shape

Fu-Che Wu, Wan-Chun Ma, Rung-Huei Liang, Bing-Yu Chen, Ming Ouhyoung

Abstract In previous research, three main approaches were used to solve the skeleton extraction problem: Medial Axis Transform (MAT), Generalized Potential Field, and Decom-position based methods. The three different approaches focus respectively on surface variation, inside energy distribution and the connectivity of parts. Since a 3D object may be com-posed of the above three properties, we combine these three ideas to form a novel structure inside an object to represent the object’s essential skeleton. In this paper, a skeleton can be composed by end points, connection points and joint points, which are the most important positions to depict an object.

In order to maintain stability, we introduce a essential do-main ball and a level iso-surface function based on repulsive force field and also define a neighborhood relationship inher-ited from the surface to describe the connecting relation of these positions. Based on this relation, we construct a Do-main Connected Graph (DCG), which preserves the topology information of a 3D shape. The proposed DCG is a concise representation and less sensitive to the perturbation of shapes than that of MAT. Moreover, from the results of complicated 3D models consisting of thousands to millions of polygons, it is also meaningful and more conformed to human perception.

1 Introduction

There are many ways to represent a 3D shape, using boundary representations (b-rep), Constructive Solid Geometry (CSG), implicit surfaces, skeletal surfaces, volume-based, point-based and parameterization-based methods. According to Pizer et al.’s suggestion [30], the skeletal surface method is a good way to represent shape because there are many applications directly related to a skeleton, such as object matching [16], animation [35], collision detection, and mesh editing [23]. In general, the skeleton-based method embeds local information and conforms more directly to human perception than other shape descriptions. Therefore, it is suitable for handling a sig-nificant component as a unit and because of its concise prop-erty, it is more efficient than other representations in compu-tation [30].

However, the requirements for a skeleton differ with each application. For example, object matching may need skele-tons to preserve principal features such as morphology (e.g.

branching and termination) and geometrical information. There-fore, we can regard these skeletons as major keys and use them to find similarities among objects[16]. On the other hand, object reconstruction needs a kind of skeleton that can recon-struct complete geometrical information of the original sur-face[14]. The requirements have to address the needs of var-ious applications: when comparing almost identical shapes that have only minor differences, it is acceptable to have the same skeleton; for surface representations, two different shapes need to have different skeletons.

Although skeleton related applications have attracted much attention, it is not easy to extract a robust, meaningful, and manageable skeleton from an arbitrary shape. Extracting a skeleton from a 3D object is more difficult than from a 2D object; the complexity has been extended by another dimen-sion. Here are more situations from different kinds of source models. For example, a model may be a non-manifold model, or it may be constructed by volume , surface and line; a mesh may contain holes or consist of many parts; the data may be very large. We still have not solved all the bad conditions in our proposed method, a pre-process procedure is required to provide a suitable result. Recently, many tools have been de-veloped to repair a bad model, such as RapidForm2004 and PolyMender[18].

In MAT, the skeleton can be the locus of the inscribing sphere centered inside a 3D object. A MAT consists of many spheres with different radii to approximate an object. Conse-quently, if the curvature of the object surface varies, the MAT needs to describe this variation precisely and thus produces many links for its skeleton. By definition, MAT is sensitive to the variation of boundaries, or noise on the boundaries [7]. A MAT skeleton consists of medial surfaces, curves and lines, and is a complex structure that is hard to handle as a control skeleton. Our goal is to provide a skeleton that is suitable for further manipulation; in our opinion, there are certain prop-erties that need to be considered.

– Simplicity

Generally, an extracted skeleton is used in applications such as animation by control skeleton, so, it must be sim-ple and easy enough to control.

– Stability

Two similar shapes should also have two similar skele-tons. If a shape is varied only a little, its skeletal structure should remain almost exactly the same.

– Meaningfulness

2 Fu-Che Wu, Wan-Chun Ma, Rung-Huei Liang, Bing-Yu Chen, Ming Ouhyoung

The skeleton will be simplified to consist of only major prong parts without completely representing the details of a shape, such as width, surface noises, etc. Therefore, a skeleton which is conformed to human perception is pre-ferred.

– Precision

A skeleton can be a shape descriptor; therefore, the em-bedded information should be invariant under different kinds of transformations. A skeleton and its surface bind-ing information (eg. distance to the surface) should be enough to reconstruct the original shape.

– Hierarchical

Each part in the skeleton has a different priority. Accord-ing to the priority of each node in the skeleton, we can ap-ply the skeleton’s hierarchical properties to the problems of progressive refinement in transmission or of level-of-detail.

The main idea of DCG is to represent a skeleton with a few linked points: a minimal number of points is selected to cover the whole surface, which is similar to a decomposition process, where each part is represented as a meaningful unit in an object. Based on this idea, a main part is represented by a joint point, a prong part is modeled by an end point, and a variation on the skeleton is described by a connection point.

The idea is depicted in Fig. 1.

Fig. 1 Three main point types in a DCG skeleton: joint point, end point, and connection point.

2 Previous work

Previous research about skeleton extraction could be divided into three categories: MAT, Generalized Potential Field and Decomposition based approaches. These methods define dif-ferent kinds of skeletons, and we have combined their ideas to construct a novel representation that avoids their respective disadvantages. In an abstract sense, MAT focuses on shape variation; therefore, it is suitable to depict the detail of the surface, and we can use it to identify prong parts of a 3D shape. The Potential Field method focuses on the inside vol-ume of an object, and we can use it to point out where the main body is. The Decomposition approach can divide an object into many parts that are connected with some linked points; we can choose a few meaningful connection points to

describe the variation of skeleton. In the following section, we will briefly explain each idea.

2.1 Medial Axis Transform

The notion of a skeleton was first introduced by Blum [4] in 1967. The MAT based skeleton is a kind of reduced repre-sentation and provides region-based shape features. Since its symmetric property is derived from its surface, it is suitable to reconstruct the original shape [36].

It is common to use the Voronoi diagram to construct the MAT skeleton of a 2D shape [26, 29], and the idea is then di-rectly extended into a 3D space. Based on this concept, Edels-brunner and Mücke [12] introduced theα-shape to represent an object. According to the idea ofα-shape, Amenta et al. [1]

proposed the "power crust" algorithm for MAT approxima-tion and 3D surface reconstrucapproxima-tion.

Since the skeleton extracted by the Voronoi diagram is too noisy and therefore not always acceptable, methods for pruning and bifurcation reduction are proposed to solve these problems[6, 9, 24]. Choi and Seidel[8] suggested a MAT prun-ing method by boundprun-ing the one-sided Hausdorff distance of MAT with respect to the boundary perturbation. Ogniewicz [28] proposed a residual function to measure the significance of skeleton edges. Attali and Montanvert [2] showed that noises on the boundary can be modeled by a parameter graph, sug-gesting that noisy skeleton branches could be characterized by a small maximal separation angle or thickness. Tam and Heidrich [34] proposed an approach for MAT that removes unwanted artifacts while preserving fine features. Their method prunes the axis by using an intuitive global threshold based on noise size, and then automatically reconstructs the fine fea-tures by extending the remaining branches.

2.2 Generalized Potential Field

Another skeleton extraction approach is to use the distance field. To construct the distance field and to extract the skele-ton, voxel-based methods are frequently used. The basic method-ology consists of constructing the distance field of an arbi-trary object, finding the local maximums of the distance field, and connecting these local maximums to generate the skele-ton.

Leymarie and Levine [22] implemented a 2D MAT (or Grassfire Transformation) by minimizing the distance field energy of an active contour model whose initial position is at the boundary of a given shape. Zhou and Toga [38] proposed a coding method, which performs a recursive voxel-by-voxel propagation, then use the Euclid and geodesic dis-tance fields of an object to generate a skeleton. Bitter et al. [3]

proposed a penalized-distance algorithm to extract a skeleton from volumetric data. Based on the distance field, the algo-rithm finds the farthest voxels as the centerline, which forms an initial skeleton.The skeleton is then refined recursively by discarding voxels near the centerline. Wade and Parent [35]

Domain Connected Graph: the Essential Skeleton of a 3D Shape 3

also presented an automated algorithm for a control skeleton based on voxel data.

In addition to utilizing voxel data, there are also some approaches to extract a skeleton directly from the boundary.

Sherbrooke et al. [31] and Culver et al. [11] proposed an ap-proach that finds a seam as the starting point and then searches for the path of the medial axis. Grigorishin et al.[15] pro-posed an electrostatic field to depict the inside energy, and some corner points on the boundary are chosen as starting points to track the skeleton path. Chung et al. [10] proposed a similar approach. They assumed that each face of a polygo-nal object produces a force field; each point on the boundary is pushed by this force field and finally converges to a bal-anced position, which is labeled as a potential skeleton. In the end, all of these potential skeletons are connected to produce the main skeleton. Siddiqi et al. [32] proposed the Hamilton-Jacobi skeleton: method that obtains the internal medial axis of an object, given its bounding curve or surface, by simulat-ing the grassfire flow as a Hamilton-Jacobi equation on the Euclidean distance function.

Our previous work [25] proposed a thinning-like process that uses the radial basis function as the distance function for object surface thinning to form the skeleton. The result shown in Fig. 2 is similar to our current approach. However, our previous approach was not stable in some cases such as the ’donut-like’ model, since there is no guarantee of con-structing a radial basis function that keeps the monotonically increasing property well inside an object.

Fig. 2 Our previous result based on radial basis functions.

There are also methods for skeleton representations. Li et al. [23] directly simplified the object mesh to get the skeleton.

Siddiqi et al. [33] proposed a shock graph, where structural descriptions are derived from the singularities of a curve evo-lution process acting on bounding contours. Zhu [39] pro-posed a stochastic algorithm for computing skeleton in two phases. The first phase is to find some line segments in fa-vor of parallelism and symmetry. The second phase process computes axes and junctions.

A skeleton based on these approaches is generally simpler than one from MAT, since these approaches usually include a thinning or a shrinking process. They focus on where the most important part inside an object is, and in doing so, ig-nore the shape variation. However, determining the point that

indicates the end of a skeleton is a problem which needs to be solved.

2.3 Decomposition Based Method

This type of method has received much attention recently;

it is based on the Reeb graph to extract a one-dimensional skeleton. The idea of the Reeb graph is to use a continu-ous function, usually a height function, to describe the topo-logical structure and to reveal the topotopo-logical changes (such as merging or splitting). Based on the continuous function, the target object can be divided into many parts. Connect-ing the center position of all parts forms the main skeleton.

However, it can easily be seen that using a height function to construct the Reeb graph does not guarantee the result to be affine-invariant, which is very important in shape analysis.

Since different functions may generate different Reeb graphs, Lazarus and Verroust [21] replaced the height function with the Geodesic Distance Function which is calculated by the Dijkstra algorithm; the generated skeleton is called a "Level Set Diagram" (LSD). Unfortunately, LSD is dependent upon its source points so that different LSDs may be produced from the same model. Mortara and Patané [27] chose the source points in high curvature regions to guarantee that the result is affine-invariant. Hilaga et al. [16] proposed a technique called "topology matching" that compares the Multiresolu-tional Reeb Graphs (MRGs) of 3D objects in order to evalu-ate their similarities. Katz and Tal [19] introduced an angular distance to measure the shape variation in order to identify a meaningful part. However, this approach is not suitable for a

’donut-like’ shape either.

3 Overview

Our goal is to find a concise skeleton that is suitable for an-imation control and editing. To avoid the complex structure of a MAT skeleton, we wish for the representation to be com-posed of a set of important points with linkages. There are three main stages for constructing a control skeleton.

– Feature detection: This initial procedure detects which position is suitable to represent a skeletal point of a 3D model.

– Connection construction: To preserve the topology rela-tion of the original mesh, the neighborhood relarela-tionship of each feature point is inherited from surface edge con-nectivity.

– Refinement for shape variation: Two feature points con-nected by a straight line cannot suitably describe the vari-ation of shape. We introduce a force field to force the skeleton path to follow the shape’s varied form.

In each the procedure, we need to evaluate whether a po-sition is appropriate or not; a cost function based on the vis-ibility repulsive force field is introduced. Fig. 3 shows dif-ferent stages in the algorithm. Essential domain balls are first

4 Fu-Che Wu, Wan-Chun Ma, Rung-Huei Liang, Bing-Yu Chen, Ming Ouhyoung

extracted, and then a prong feature detection procedure is in-troduced to indicate where an end point is. Other positions are adjusted into more stable locations based on the visibility repulsive force field, and then connectivity relationships are constructed (details are described in the next section). Finally, the connections are adjusted as shape variation.

Fig. 3 Different stages in our algorithm

Summary of DCG: To select the most important feature points as the essential domain points, we develop a proce-dure to evaluate which are suitable for end features, connec-tion features, and joint features. Initially, a Voronoi diagram is constructed to locate initialized candidates. An end fea-ture is locally far from the main part: a geodesic distance is measured on the surface, and then a watershed algorithm is applied to detect where an end feature is. A visibility re-pulsive force field is introduced, and all other features except end features are adjusted to the local minima that are connec-tion points. Following this, a neighborhood relaconnec-tionship from mesh connectivity is determined; a point that has more than two connection linkages is a joint point. Finally, a snake algo-rithm also based on the repulsive force field is applied, and all linkages are adjusted to fit the shape variation. The final re-sult, a model with a skeleton, is exported into a Maya format for further application.

4 End point

In this section, the initial candidates are constructed from the Voronoi diagram, and a prong-detection algorithm is demon-strated to identify the end points.

4.1 Voronoi diagram

To determine the initial candidates for the skeleton points, we need to find positions that represent more surface range. A MAT locates the position at the axis that is a good candidate.

In previous work, most researches are based on the Voronoi diagram, which, for a discrete set of points, identifies for each point, the region of space closer to that point than to any of the other points. The regions are called Voronoi cells. For 2D points the cells are convex polygons; for 3D points they are convex polyhedra. Each face of a cell is equidistant between two points in the discrete set. Thus, a set of points on these faces is roughly lying on the medial axis [17]. Based on Brad-shaw’s implementation[5], we pick up these Voronoi nodes as the initial candidates called domain balls.

However, the node directly extracted from the Voronoi di-agram is still too noisy. For stability purpose, we need to re-move the effects from small variation on the shape. There are many previous works that address this problem[8, 13]. Based on their ideas, the solution can be divided into two main con-cepts: one is to ignore the small variation on the surface, another one is to find the principal data from the noisy pre-liminary result. In the former concept, Choi [8]developed the one-sided stability theory to enlarge the range of coverage of each skeleton point, and thus, the small variation is ignored.

In the latter concept, Foskey [13]defined theθ-simplified me-dial axis that is based on the separation angle to extract the principal part from the MAT.

4.2 Essential domain ball

In our experiences, more possible points results in more noise;

fewer possible points results in the loss of significant posi-tions. To avoid the noise effect, in our approach, we only leave the essential feature points in the first stage. Then, we iteratively recover other necessary points to preserve the vari-ation of the original shape. We locate the good feature points at the axial position and ignore the noise effect on the sur-face. There are three important properties that need to be con-sidered: radius, separation angle and prong features. Larger radius and separation angle mean more range of coverage.

However, we also need to preserve the prong features, so a domain distance based on the geodesic distance is introduced.

in the following procedures, we will use the three properties to define the domain ball first, and then introduce a priority sequence to extract the essential domain ball.

The priority of the domain balls is determined by their importance. We can define a priority function f (p1, p2, · · ·), in which the sequence of the parameters is also sorted by its priority. Thus, if p1(x) > p1(y) → f (x) > f (y) . If p1(x) = p1(y), p2(x) > p2(y) → f (x) > f (y) , and so on. We choose radius, domain distance and the maximal separation angle as our primary importance parameters. Letρp, Dp, Apbe the

The priority of the domain balls is determined by their importance. We can define a priority function f (p1, p2, · · ·), in which the sequence of the parameters is also sorted by its priority. Thus, if p1(x) > p1(y) → f (x) > f (y) . If p1(x) = p1(y), p2(x) > p2(y) → f (x) > f (y) , and so on. We choose radius, domain distance and the maximal separation angle as our primary importance parameters. Letρp, Dp, Apbe the

相關文件