Kinematic skeleton extraction from 3D articulated models · 2014-08-18 · 222...

6
Computer-Aided Design 46 (2014) 221–226 Contents lists available at ScienceDirect Computer-Aided Design journal homepage: www.elsevier.com/locate/cad Technical note Kinematic skeleton extraction from 3D articulated models Jaehwan Ma, Sunghee Choi Geometric Computing Lab., Department of Computer Science, KAIST, Daejeon, South Korea highlights A kinematic skeleton extraction method for articulated bodies is proposed. It is a hybrid approach combining topology-based and geometry-based methods. It does not require manually-chosen feature points or markers. It is independent of both postures and the number of branches of the model. The results can be directly applied to the character rigging. graphical abstract article info Keywords: Skeleton extraction Character animation Pose-independence Morse theory abstract We propose a method to extract a kinematic skeleton from an articulated 3D model. Unlike the curve skeleton which concentrates on the abstract structure of given model, we aim to obtain the skeleton with accurate joint positions, which can be directly used for character rigging and animation. Restricting our focus on the articulated body, we construct its skeleton in a bottom-up manner starting from a set of automatically obtained feature points. Our method is a hybrid approach combining the advantages of topology-based and geometry-based methods using the Morse theory and the shape descriptor. It does not require manually-chosen feature points or markers, and is independent of both postures and the number of branches of the given model. Experiments show that our method can efficiently extract kinematic skeletons of various kinds of articulated bodies, and also that the results can be directly applied to the character rigging. © 2013 Elsevier Ltd. All rights reserved. 1. Introduction The 1D skeleton of an object provides an intuitive abstrac- tion for both shape recognition and manipulation. A good skele- ton should be simple enough to provide a glimpse of the overall structure while preserving a certain level of detail. Because of its importance and usefulness, there have been many previous stud- ies designed to obtain a robust and efficient method for extracting a skeleton from a given object. Strictly speaking, however, the 1D skeleton can be classified into two different categories: the curve skeleton and the kinematic skeleton (or bone skeleton). The former Corresponding author. E-mail address: [email protected] (S. Choi). provides an understanding of the abstract structure of the given shape. The latter is used as a tool to control the animation or the deformation of its corresponding model. Many existing skeleton extraction methods [1–4] focus on the curve skeleton. In this case, most nodes are optional nodes which make the resulting skeleton smoother. For the kinematic skeleton, however, all nodes should be carefully chosen because they be- come the joints for animating characters. Thus, the direct conver- sion (downsampling, for example) from the curve skeleton is not a simple task in the sense that it may produce redundant joints [2]. Moreover, the joints can be classified into two different categories. Joints such as the shoulder and the hip introduce a branch on the skeleton. Ideas based on topological features such as the Reeb graph and the Morse complex are suitable for detecting such joints. On the other hand, joints including the elbow and the knee do not invoke a ‘‘split’’ of the skeleton because they are characterized 0010-4485/$ – see front matter © 2013 Elsevier Ltd. All rights reserved. http://dx.doi.org/10.1016/j.cad.2013.08.036

Transcript of Kinematic skeleton extraction from 3D articulated models · 2014-08-18 · 222...

Page 1: Kinematic skeleton extraction from 3D articulated models · 2014-08-18 · 222 J.Ma,S.Choi/Computer-AidedDesign46(2014)221–226 solelybygeometricfeaturessuchasangle,curvature,andthick-ness.Therefore,itisdesirabletohandlethemindependently.We

Computer-Aided Design 46 (2014) 221–226

Contents lists available at ScienceDirect

Computer-Aided Design

journal homepage: www.elsevier.com/locate/cad

Technical note

Kinematic skeleton extraction from 3D articulated modelsJaehwan Ma, Sunghee Choi ∗Geometric Computing Lab., Department of Computer Science, KAIST, Daejeon, South Korea

h i g h l i g h t s

• A kinematic skeleton extractionmethod for articulated bodies isproposed.

• It is a hybrid approach combiningtopology-based and geometry-basedmethods.

• It does not require manually-chosenfeature points or markers.

• It is independent of both posturesand the number of branches of themodel.

• The results can be directly applied tothe character rigging.

g r a p h i c a l a b s t r a c t

a r t i c l e i n f o

Keywords:Skeleton extractionCharacter animationPose-independenceMorse theory

a b s t r a c t

We propose a method to extract a kinematic skeleton from an articulated 3D model. Unlike the curveskeleton which concentrates on the abstract structure of givenmodel, we aim to obtain the skeleton withaccurate joint positions, which can be directly used for character rigging and animation. Restricting ourfocus on the articulated body, we construct its skeleton in a bottom-up manner starting from a set ofautomatically obtained feature points. Our method is a hybrid approach combining the advantages oftopology-based andgeometry-basedmethods using theMorse theory and the shapedescriptor. It does notrequire manually-chosen feature points or markers, and is independent of both postures and the numberof branches of the given model. Experiments show that our method can efficiently extract kinematicskeletons of various kinds of articulated bodies, and also that the results can be directly applied to thecharacter rigging.

© 2013 Elsevier Ltd. All rights reserved.

1. Introduction

The 1D skeleton of an object provides an intuitive abstrac-tion for both shape recognition and manipulation. A good skele-ton should be simple enough to provide a glimpse of the overallstructure while preserving a certain level of detail. Because of itsimportance and usefulness, there have been many previous stud-ies designed to obtain a robust and efficient method for extractinga skeleton from a given object. Strictly speaking, however, the 1Dskeleton can be classified into two different categories: the curveskeleton and the kinematic skeleton (or bone skeleton). The former

∗ Corresponding author.E-mail address: [email protected] (S. Choi).

0010-4485/$ – see front matter© 2013 Elsevier Ltd. All rights reserved.http://dx.doi.org/10.1016/j.cad.2013.08.036

provides an understanding of the abstract structure of the givenshape. The latter is used as a tool to control the animation or thedeformation of its corresponding model.

Many existing skeleton extraction methods [1–4] focus on thecurve skeleton. In this case, most nodes are optional nodes whichmake the resulting skeleton smoother. For the kinematic skeleton,however, all nodes should be carefully chosen because they be-come the joints for animating characters. Thus, the direct conver-sion (downsampling, for example) from the curve skeleton is not asimple task in the sense that it may produce redundant joints [2].Moreover, the joints can be classified into two different categories.Joints such as the shoulder and the hip introduce a branch onthe skeleton. Ideas based on topological features such as the Reebgraph and theMorse complex are suitable for detecting such joints.On the other hand, joints including the elbow and the knee donot invoke a ‘‘split’’ of the skeleton because they are characterized

Page 2: Kinematic skeleton extraction from 3D articulated models · 2014-08-18 · 222 J.Ma,S.Choi/Computer-AidedDesign46(2014)221–226 solelybygeometricfeaturessuchasangle,curvature,andthick-ness.Therefore,itisdesirabletohandlethemindependently.We

222 J. Ma, S. Choi / Computer-Aided Design 46 (2014) 221–226

solely by geometric features such as angle, curvature, and thick-ness. Therefore, it is desirable to handle them independently. Wecall the former topological joints and the latter geometric joints, re-spectively.

In this paper, we propose a fully automatic, pose-independentmethod to extract the kinematic skeleton of an articulated model.It is a hybrid approach, and addresses topological and geometricjoints from different points of view. It does not require any typeof manually-defined markers or feature points and is free from as-sumptions concerning the poses of the given model or the num-ber of branches (including legs, arms, and tails). Experiments showthat our algorithm is also efficientwith respect to time. The processtakes less than five seconds for themodel with 33,827 vertices and18 terminal branches.

2. Related work

There have been various approaches to extracting the one-dimensional skeleton of a given model. One set of approaches aregeometry-basedmethods that exploit the geometric features of thegiven model. The 1D simplification of the medial axis has beena popular technique in the computational geometry community[5,1,3]. Thinning methods [6–8,2] construct the 1D skeleton byrepeatedly removing the boundary of the model. Mesh segmenta-tion [9] is also closely related to the problemof skeleton extraction.There have been various studies on mesh segmentation and skele-ton extraction based on curvature and geodesic distances [10–12],dihedral angles [13], slippage [14], convex decomposition [15], andshape diameter function [16]. However, geometric attributes of thesurface are quite sensitive to the deformation or noise in themodel.

Instead of focusing on the local geometry, topology-basedmethods [17–20,4] define a set of real-valued functions on the in-put mesh to construct a data structure describing its topology us-ing structures such as Reeb graphs [21–23], contour trees [24], andMorse complexes [25,26]. The quality of a topology-based methodlargely depends on the selection of amapping function and the fea-ture points, and the isocontours of themapping function tend to behighly distorted when the given model has a complex shape.

3. Kinematic skeleton extraction

Our algorithm is composed of three main stages: feature pointselection, topology tree construction, and geometric refinement. Aset of feature points is first extracted in the feature point selectionstage (Section 3.1). Each feature point represents a terminal branchsuch as a finger or toe. Considering terminal branches as leafnodes, we construct a tree T which describes the topology of theinput model M = (V , E, F) in a bottom-up manner by mergingsmall branches into a larger branch repeatedly during the topologytree construction stage (Section 3.2). Finally, T is fit into M as itskinematic skeleton after geometric refinements including internaljoint extraction and joint position adjustment (Section 3.3).

3.1. Feature point selection

Preprocessing. We use the medial axis (MA) point approximationalgorithm proposed in [27]. Starting from a sufficiently large balltangent to M at each v ∈ V , the process iteratively shrinks the balluntil it becomes maximal and empty, which results in an approxi-mate medial ball tangent to M at v. We obtain a set M of approxi-mate MA points of a given model M after preprocessing.Candidate feature point selection. Let Dp(x), where p, x ∈ V , is theshortest distance from the source p to the target x on M. If thereare branches such as fingers and toes, the vertices on the tips ofthe branches are highly likely to be the local maxima of Dp. Basedon this observation, we use the local maxima of Dp as conservative

a b

Fig. 1. The difference between (a) the meaningful branch and (b) the noise. If p is agood candidate feature point, then Dq(p) should be larger than Dq(r) for any pointr on Cp(δ̄) (the red line). (For interpretation of the references to colour in this figurelegend, the reader is referred to the web version of this article.)

Fig. 2. Pseudocode of the filtering process.

initial guesses of feature points. We use the alternative notationD(p, x) instead of Dp(x) when describing the mesh distancebetween p and xwithout specifying the source point.

When p is close to the tip of the branch, however, Dp may missthe feature point on that branch. To avoid this situation, we firstfind a feature point swhich is the farthest vertex from a randomlychosen source point p, then perform Dijkstra’s algorithm againusing s as a new source to compute Ds. The resulting set FP0 ofcandidate feature points is the union of the local maxima of Ds ands itself. Thus:

FP0= {x|Ds(x) ≥ Ds(y), x ∈ V , ∀y ∈ Nx} ∪ {s} (1)

whereNx denotes the 1-ring neighbor of x. We keep track of δmax =

max{Ds} for further processing.

Filtering. After we compute Dp(x) for x ∈ V by Dijkstra’s algorithm,Dp(x) for any point x on the edge or on the face are approximatedby the linear interpolation of Dp of neighboring vertices. Let Cp(δ)

be the isocontour defined by {x|Dp(x) = δ, x ∈ M}. The candidatefeature point set FP0 may contain meaningless points that includenoise. To distinguish these points from meaningful points, weestimate the depth of each branch and eliminate the points in FP0

whose corresponding branch is shallower than a certain thresholdδ̄ (see Fig. 1 for the detailed condition). We repeat this filteringprocess for a sequence of appropriately chosen source points untilthere are no more points to be removed. The detailed procedureis described in Fig. 2. We used 3%–5% of δmax as δ̄ throughout ourexperiments.

When there are multiple feature points on a single branch, weselect the onewith the smallest correspondingmedial ball becausea point on a smaller feature tends to be a better representative ofa branch than a point on a larger feature. The resulting set FP isshown in Fig. 3.

Page 3: Kinematic skeleton extraction from 3D articulated models · 2014-08-18 · 222 J.Ma,S.Choi/Computer-AidedDesign46(2014)221–226 solelybygeometricfeaturessuchasangle,curvature,andthick-ness.Therefore,itisdesirabletohandlethemindependently.We

J. Ma, S. Choi / Computer-Aided Design 46 (2014) 221–226 223

Fig. 3. Feature points during the filtering process. Each figure shows FP0, FP1 , andFP , respectively.

Fig. 4. The computation of our shape descriptor. Note that we represent P(Ci,j)

apart from Ci,j for ease of visualization. The two red points are identical. (Forinterpretation of the references to colour in this figure legend, the reader is referredto the web version of this article.)

3.2. Topology tree construction

For every feature point fi ∈ FP obtained in Section 3.1, wecompute Dfi using Dijkstra’s algorithm and sample ν̄ contours uni-formly with respect to Dfi . Let Ci,j be the j-th isocontour centeredat fi (using Ci and Di as abbreviations for Cfi and Dfi ). We can de-tect topological splits on isocontours if |Ci,j| < |Ci,j+1|, where |Ci,j|

denotes the number of connected components of Ci,j. Unlike theexistingmethods [19,28] that select only one source point, we con-struct a topology tree Ti for each fi ∈ FP locally. If j′ is the low-est index satisfying |Ci,j′ | ≥ 2, then we search for the boundary ofthe i-th leaf branch by investigating Ci,js for j ≤ j′. After pruningthe branches using these boundaries (called cutting contours), wemerge a set of smaller branches into a larger one whenever theircutting contours are close to one another. Then, we again try tofind the boundaries of newly introduced larger branches. We re-peat this cut-and-merge operation until the local topology trees Tiare merged into a global topology tree T.

Cutting. In general, the shape of the isocontour drastically changesnear the topological joint. Assuming that the ideal shape of thecontour as a planar circle, we encode the shape of Ci,j using a three-dimensional vector SD = (sd(1), sd(2), sd(3)), where the compo-nents denote thickness, flatness and distortion, respectively (seeFig. 4). The thickness sdi,j(1) of Ci,j can be defined by the radius of

the largest medial ball in the band-shaped region C i,j bounded byCi,j−1 and Ci,j. For sdi,j(2) and sdi,j(3), we uniformly sample ν pointsxi,j|l, where 1 ≤ l ≤ ν on Ci,j, and perform principal componentanalysis (PCA) on the points to obtain the best-fitting plane P(Ci,j)with its center c(Ci,j). Let x̄i,j|l be the projection of xi,j|l onto P(Ci,j).Then, sdi,j(2) and sdi,j(3) are defined by the out-of-plane and thein-plane deviation from the planar circle on P(Ci,j), respectively.

sdi,j(1) = max{ρp|p ∈ C i,j} (2)

sdi,j(2) =

ld(x̄i,j|l, xi,j|l)2

ν ∗ radi,j(3)

sdi,j(3) =

l

d(x̄i,j|l, c(Ci,j)) − radi,j

2ν ∗ radi,j

(4)

where radi,j =

l d(x̄i,j|l,c(Ci,j))

νdenotes the expected radius of Ci,j.

Using these shape descriptors for each Ci,j we finally choose theCi,j that maximizes the following score function (the amount ofchange) as a cutting contour:

score(Ci,j) =

l∈{1,2,3}

ω(l)(sdi,j(l) − sdi,j−1(l))

+ω(l)2

(sdi,j+1(l) − 2sdi,j(l) + sdi,j−1(l))

(5)

where ω(l) denotes the weight of sd(l). The two terms in Eq. (5)approximate the first and the second derivative of SD, respectively.

Merging. The cutting contours Ci, 1 ≤ i ≤ |FP| obtained in theprevious step estimate the boundaries of such smaller branches,and the thickness of Ci is a good approximation of the size ofthe corresponding joint. More specifically, Di(Ci) + sdi(1) is theestimation of the length of the i-th branch, where sdi(1) is thethickness of Ci. Thus, we merge the two branches i and j if

D(fi, fj) ≤ (Di(Ci) + sdi(1)) + (Dj(Cj) + sdj(1)) (6)

implying that the two branches are sufficiently close to each other.When some smaller branches are merged, an additional joint is

needed to clearly identify their merging point, i.e., a cutting planewhich acts as a boundary of a newly introduced larger branch. Todo this, we again perform PCA on the points on the cutting con-tours of the smaller branches. For the resulting plane P = (c, n)with a center c and a normal n, we can check its validity by testingwhether the signs of (x− c) · n for all samples x are the same. Oth-erwise, we move P along the direction of n until P clearly cuts outthe smaller branches from M. The final position of c becomes themerging joint of smaller branches.

Cut-and-merge iteration. For each branch with local topology treesTi, we scan the isocontourswhile checking |Ci,j|, and find its cuttingcontour in the cutting stage. Then, some branches are merged intoa larger branch by checking the condition in Eq. (6) in the mergingstage. We perform this cut-and-merge iteration repeatedly untilthe global topology tree T is obtained.

For each candidate branch in the current iteration round, thereare two possible cases while scanning the isocontours on a branch.One is that the topological split is detected successfully in the cut-ting stage. In this case, the branch should participate as a can-didate of the next iteration round because the split implies thatthis branch is not completely scanned yet. Another possible case isthat it penetrates the region covered by different branches beforedetecting the topological split. When this occurs, we simply stopscanning the branch. The overall process of topology tree construc-tion is described in Fig. 5.

We assign high priorities to thinner branches (i.e. havingsmaller sd(1)) when determining the scanning order among them.As a consequence, the tail branch does not perform the scanningprocess until all arms and legs are finished (Fig. 5(c) and (d)) be-cause it is attached to the thicker part.

Page 4: Kinematic skeleton extraction from 3D articulated models · 2014-08-18 · 222 J.Ma,S.Choi/Computer-AidedDesign46(2014)221–226 solelybygeometricfeaturessuchasangle,curvature,andthick-ness.Therefore,itisdesirabletohandlethemindependently.We

224 J. Ma, S. Choi / Computer-Aided Design 46 (2014) 221–226

Fig. 5. (a) Feature points of Armadillo (b)–(e) show examples of our topology treeconstruction process. (b), (c), and (d) represent the results of the first cutting stage,the first merging stage, and second cutting stage, respectively. Note that the nodeon the torso in (e) is a virtual node whose exact position is not identified yet.

Fig. 6. Pseudocode of the internal joint extraction process.

3.3. Geometric refinement

Internal joint extraction. The bone of the i-th branch Mi obtained inthe previous stage is a set of straight lines connecting two jointsj1i and j2i of each branch. Our strategy for finding jτi , τ ≥ 3, is todetect theMA point with themaximumdeviation from the currentbone. To overcome noise on the MA, we take a subset of M whoseelements are sufficiently close to the skeleton. For every slice C i,j ⊂

Mi, we take themedial balls whose radii are larger thanω∗ sdi,j(1)as reliable samples (setting ω = 0.8 throughout our experiments).M̄i denotes the set of reliable samples on the MA contained in Mi.

Let ED(m, Jτi ) be the Euclidean distance from m ∈ M̄i to thebone segments induced by the joints in the set Jτi . Our algorithmincrementally adds the joints jτi , τ ≥ 3 into Ji one by one, whereJi denotes the set of joints in Mi. If the magnitude of the change ofthe current bone is negligible after inserting jτi , then we throw outjτi and halt the insertion process. The detailed procedure of our in-ternal joint extractionmethod is described in Fig. 6.We set δ̄ = 0.1in our experiments.

Note that our strategy is not an optimization but a handling oflocal deviation. We choose a point with the maximum deviation(the normalized Euclidean distance with respect to the thickness)as the candidate internal joint (see Line 4 in Fig. 6). Our focus is theextent towhich the shape of bones is affected after inserting a jointrather thanminimizing Er(Jτi ) for every insertion. Thus, Er(Jτi )maynot decrease monotonically during the joint insertion process (seeFig. 7).Skeleton completion. At this point,we have obtained a set of internaljoints and associated bones for every branch. Becausewe nowhavethe actual directions of bones inside the branches, we can adjustthe cutting contours of each branch tomake the boundaries clearer.For each cutting contour with the plane P = (c, n), we set its new

Fig. 7. Comparison between (a) the global error minimization and (b) our localdeviation handling after inserting a joint. The set of reliable samples on MA isdenoted by black dots. Note that (b) captures the perceptually convincing jointbetter than (a) even though the global error has been increased.

Table 1Models used in our experiments and the running time of each substep. |FP|, |TJ|and |GJ| represent the number of feature points, topological joints, and geometric(internal) joints, respectively. MA, FP, TC, and GR represent the running times ofthe MA point approximation, feature point selection, topology tree construction,and geometric refinements, respectively.

Model Modelcomplexity

Number ofjoints

Running time (s)

|V | |F | |FP| |TJ| |GJ| MA FP TC GR Total

Armadillo 33827 67650 18 28 6 1.841 0.406 2.558 0.078 4.883Horse 19851 39698 7 10 5 0.936 0.093 0.405 0.015 1.449Man 8365 17227 13 19 6 0.156 0.047 0.483 0.015 0.701Tyrex 16075 32141 13 24 7 0.468 0.046 0.765 0.030 1.309Mouse 10804 21604 8 11 5 0.296 0.031 0.156 0.016 0.499Ant 8898 17792 10 12 8 0.390 0.015 0.219 0.046 0.670

normal n to be parallel to the direction of the bone adjacent to c andthenmove c alongwith the direction of n to adjust its position. Thisprocess is similar to that performed in the topology tree extractionstage.

Finally, the root region canbe obtainedby cutting out every sub-branch using its cutting contour. For each vi ∈ Mroot, we approx-imate the root joint jroot =

ρiviρi

by the weighted average of thevertex positions, where ρi is the radius of the medial ball tangentto M at vi.

4. Experimental results

Figs. 8 and 9 show the extracted kinematic skeletons and thedeformation results after manual rigging for various articulatedmodels, respectively. The feature points and the topological jointsare captured quitewell. The resulting skeletons convey the abstractstructures of given models, indicating that they can be directlyused by animators for further processing.

On the other hand, several internal joints are somewhat dif-ferent from our expectation. Some of them have erroneous posi-tions (e.g., the arms of Armadillo), and others are missing (e.g., thelegs of Horse). In fact, our internal joint extraction idea detects themost critical bending within a branch incrementally. The amountof bending depends not only on the angle between two branchesaround the internal joint but also on the feature sizes of thosebranches. The bending on the thinner branches is more noticeablethan that on the thicker ones if the bending angles are the same.Our algorithm detects internal joints successfully when the bend-ing is quite noticeable, as in the left back leg of Horse in Fig. 8, butthe knee joints of the other legs are missed due to the absence ofnoticeable bending. However, it is extremely difficult to detect theinternal joints for such cases in either a geometric or a topologicalmanner without a predefined number of joints or the approximatelength of each bone.

The model specifications and the running times are shown inTable 1. Regarding the MA computation time as a preprocessing,

Page 5: Kinematic skeleton extraction from 3D articulated models · 2014-08-18 · 222 J.Ma,S.Choi/Computer-AidedDesign46(2014)221–226 solelybygeometricfeaturessuchasangle,curvature,andthick-ness.Therefore,itisdesirabletohandlethemindependently.We

J. Ma, S. Choi / Computer-Aided Design 46 (2014) 221–226 225

Fig. 8. Kinematic skeletons for various articulated models.

Fig. 9. Deformation results after manual rigging.

the most time-consuming process is the topology tree construc-tion. In our case, not only the model complexity, indicated by |V |

and |F |, but also the topological complexity of M are dominant fac-tors to determine the overall running time. The running time of allsubsteps, including the computation of distance functions, shapedescriptors, and cutting contours, is proportional to the number ofbranches in T.

5. Conclusion

Summary. We proposed a method to extract the kinematic skele-ton from an articulated 3Dmodel. Our method is a bottom-up treeconstruction method which builds an entire skeleton by investi-gating topological changes on the wavefront of Dp(x). After that,we refine the resulting skeleton with additional joints based ongeometric conditions such as (bending) angle and thickness. Themedial axis points are used throughout the process for determin-ing joint position and estimating the thicknesses of branches. Ourmethod is a fully automatic process that does not requiremanuallychosen feature points or markers and is independent of both pos-tures and the number of branches of a given model. Experimentsshow that our method can efficiently extract kinematic skeletonsfrom various types of articulated bodies and that the results can bedirectly applied to the character rigging.Limitations and future work. A limitation of our work is that inputmodels should be genus-0 without tunnels. Another limitation isthat our method produces star-like skeletons. Though it is suitablefor invertebrates such as insects and spiders, the spinal columnshould be provided for humanoids and four-legged animals todeform the torso part. Finally, a method to symmetrize resultingskeletons to convey the bisymmetric nature of most articulatedbodies would be helpful.

Acknowledgments

This research was supported by the Basic Science ResearchProgram through the National Research Foundation of Korea (NRF)

funded by the Ministry of Education, Science and Technology (No.2010-0024092), and by the KUSTAR-KAIST Institute, Korea, underthe R&D program supervised by the KAIST.

References

[1] Dey TK, Sun J. Defining and computing curve-skeletons with medial geodesicfunction. In: Proc. symposium on geometry processing’06. 2006. p. 143–52.

[2] Au OK-C, Tai C-L, Chu H-K, Cohen-Or D, Lee T-Y. Skeleton extraction by meshcontraction. ACM Transactions on Graphics 2008;27(3): 44:1–:10 [SIGGRAPH2008].

[3] Tagliasacchi A, Zhang H, Cohen-Or D. Curve skeleton extraction fromincomplete point cloud. ACM Transactions on Graphics 2009;28(3): 71:1–:9[SIGGRAPH 2009].

[4] Liu Y-J, Chen Z, Tang K. Construction of iso-contours, bisectors, and voronoidiagrams on triangulated surfaces. IEEE Transactions on Pattern Analysis andMachine Intelligence 2011;33(8):1502–17.

[5] Hassouna MS, Farag AA. Robust centerline extraction framework usinglevel sets. In: Proc. computer vision and pattern recognition—Vol. 1. 2005.p. 458–65.

[6] Ma CM, Wan SY, Lee JD. Three-dimensional topology preserving reductionon the 4-subfields. IEEE Transactions on Pattern Analysis and MachineIntelligence 2002;24(12):1594–605.

[7] Brunner D, Brunnett G. Fast force field approximation and its application toskeletonization of discrete 3D objects. Computer Graphics Forum 2008;27(2):261–70. [Eurographics 2008].

[8] Wang YS, Lee TY. Curve skeleton extraction using iterative least squaresoptimization. IEEE Transactions on Visualization and Computer Graphics2008;14(4):926–36.

[9] Chen X, Golovinskiy A, Funkhouser T. A benchmark for 3Dmesh segmentation.ACM Transactions on Graphics 2009;28(3): 73:1–:12 [SIGGRAPH 2009].

[10] Mangan A, Whitaker R. Partitioning 3D surface meshes using watershedsegmentation. IEEE Transactions on Visualization and Computer Graphics1999;5(4):308–21.

[11] Page D, Koschan A, Abidi M. Perception-based 3D triangle mesh segmentationusing fast marching watersheds. In: Conference on computer vision andpattern recognition’03—Vol. II. 2003. p. 27–32.

[12] Katz S, Tal A. Hierarchicalmesh decomposition using fuzzy clustering and cuts.ACMTransactions on Graphics 2003;22(3):954–61. [Proc. ACM SIGGRAPH’03].

[13] Shlafman S, Tal A, Katz S. Metamorphosis of polyhedral surfaces using decom-position. Computers Graphics Forum 2002;21(3):219–29. [Proc. Eurograph-ics’02].

[14] Gelfand N, Guibas LJ. Shape segmentation using local slippage analysis. In:Proc. Eurographics/ACM SIGGRAPH symposium on geometry processing’04.2004. p. 214–23.

[15] Lien JM, Amato NM. Approximate convex decomposition of polygons. In:Proceedings of symposium on computational geometry’04. 2004. p. 17–26.

Page 6: Kinematic skeleton extraction from 3D articulated models · 2014-08-18 · 222 J.Ma,S.Choi/Computer-AidedDesign46(2014)221–226 solelybygeometricfeaturessuchasangle,curvature,andthick-ness.Therefore,itisdesirabletohandlethemindependently.We

226 J. Ma, S. Choi / Computer-Aided Design 46 (2014) 221–226

[16] Shapira L, Shamir A, Cohen-Or D. Consistent mesh partitioning and skele-tonization using the shape diameter function. The Visual Computer 2008;24(4):249–59.

[17] Verroust A, Lazarus F. Extracting skeletal curves from 3D scattered data. TheVisual Computer 2000;16(2):15–25.

[18] Hilaga M, Shinagawa Y, Kohmura T, Kunii TL. Topology matching for fullyautomatic similarity estimation of 3D shapes. In: Proceedings of ACMSIGGRAPH’01. 2001. p. 203–12.

[19] Yu Y, Mao T, Xia S, Wang Z. A pose-independent method of animating scannedhuman bodies. In: Proc. computer graphics international’08. 2008. p. 232–9.

[20] Tierny J, Vandeborre J-P, Daoudi M. 3D mesh skeleton extraction usingtopological and geometrical analyses. In: Proc. pacific graphics’06. 2006.p. 85–94.

[21] Attene M, Biasotti S, Spagnuolo M. Shape understanding by contour-drivenretiling. The Visual Computer 2003;19(2):127–38.

[22] Cole-McLaughlin K, Edelsbrunner H, Harer J, Natarajan V, Pascucci V. Loopsin Reeb graphs of 2-manifolds. In: Proc. symposium on computationalgeometry’03. 2003. p. 344–50.

[23] Pascucci V, Scorzelli G, Bremer PT,Mascarenhas A. Robust on-line computationof Reeb graphs: simplicity and speed. ACM Transactions on Graphics 2007;26(3): 58:1–:9.

[24] Carr H, Snoeyink J, de Panne MV. Simplifying flexible isosurfaces usinglocal geometric measures. In: Proceedings of IEEE visualization’04. 2004.p. 497–504.

[25] Ni X, Garland M, Hart J. Fair Morse functions for extracting the topologicalstructure of a surface mesh. ACM Transactions on Graphics 2004;23(3):613–22. [Proc. ACM SIGGRAPH’04].

[26] Bremer P-T, Edelsbrunner H, Hamann B, Pascucci V. A topological hierarchyfor functions on triangulated surfaces. IEEE Transactions on Visualization andComputer Graphics 2004;10(5):385–96.

[27] Ma J, Bae SW, Choi S. 3D medial axis point approximation using nearestneighbors and the normal field. The Visual Computer 2012;29(1):7–19.

[28] Werghi N, Xiao Y, Siebert JP. A functional-based segmentation of humanbody scans in arbitrary postures. IEEE Transactions on Systems, Man, andCybernetics, Part B: Cybernetics 2006;36(1):153–65.