realistic deformation of 3d human blood vessels

9
COMPUTER ANIMATION AND VIRTUAL WORLDS Comp. Anim. Virtual Worlds 2013; 24:317–325 Published online 3 May 2013 in Wiley Online Library (wileyonlinelibrary.com). DOI: 10.1002/cav.1510 SPECIAL ISSUE PAPER Realistic deformation of 3D human blood vessels Jaesung Park 1 , Minsub Shim 1 , Seon-Young Park 2 , Yunku Kang 1 and Myung-Soo Kim 1 * 1 School of Computer Science and Engineering, Seoul National University, Seoul 151-744,South Korea 2 College of Medicine, Seoul National University, Seoul 110-799,South Korea ABSTRACT We present a real-time algorithm for realistically deforming 3D human blood vessels, while automatically detecting and avoiding interference among a large number of blood vessels under deformation. Sweep surfaces are employed for this purpose. Using a dynamic bounding volume hierarchy, specially designed for sweep surfaces, we support collision detection and other related geometric computations in real time. Copyright © 2013 John Wiley & Sons, Ltd. KEYWORDS blood vessel; deformation; collision detection and avoidance; sweep surface; BVH; sphere tree; LSS tree; B-splines *Correspondence Myung-Soo Kim, School of Computer Science and Engineering, Seoul National University, Seoul 151-744,South Korea. E-mail: [email protected] 1. INTRODUCTION Realistic modeling and natural deformation of 3D virtual human models is one of the most challenging research top- ics in computer animation [1–6]. In particular, real-time algorithms for 3D human deformation have a wide range of practical applications in virtual environments [1–4]. Con- sidering the popularity of visualization techniques in sci- ence and engineering today, there is no doubt that real-time animation of 3D virtual humans would have a great impact on the practice of biomedical research and education in the future. The majority of previous results for human modeling and animation are focused on skin deformations. Even the contemporary methods for anatomy-based shape deforma- tion consider the anatomical structure of bones, muscles, and tissues mainly for the synthesis of skin deformation [7]. The blood vessels make only limited local contribu- tion to the final shape of the skin. Consequently, the com- plex network of human blood vessels has received much less attention than other anatomical features in computer animation and shape deformation of 3D virtual humans. Considering the importance of blood vessels in the human anatomy, medical education, and biomedical engi- neering in general [8], we would like to attack the problem of realistically modeling and naturally deforming human blood vessels. We hope that this work would promote com- puter animation in broader application areas of 3D human- related science and engineering. For this purpose, we take a sweep-based approach for the 3D modeling and animation of human blood vessels and present a real-time algorithm for realistically deforming 3D human blood vessels, while automatically detecting and avoiding interference among a large number of blood vessels under deformation. Figure 1 shows the whole-body network of human blood vessels both (a) with and (b) without capillary vessels. To make the job of 3D modeling easier, we start with a con- ventional 3D human anatomy model, which is a polygo- nal mesh model purchased from TurboSquid (http://www. turbosquid.com). Taking only the blood vessels from the whole-body model, we first convert the polygonal mesh to a sweep-based 3D model that forms a complex network of tube-like sweep surfaces. Figure 2 shows a simple example of the sweep-based conversion, which produces a considerably smoother 3D model of blood vessels. By employing the B-spline or Bézier representation, the 3D sweep-based model can be represented in a significantly more compact and precise way than the given polygonal model. In the example of Figure 2 , each cross section with eight vertices is replaced by the center and radius of the cross section, which means an immediate reduction of data size by a factor of 6. The centers and radii of cross sections are then interpolated using 4D B-spline curves. There is no need of keeping the connectivity information for the edges and faces, which can be quite enormous for a large polygonal mesh such as those for 3D human anatomy models. The sweep-based approach greatly simplifies the addi- tion and modification of blood vessels. Figure 3 shows the result of adding a large number of capillary vessels (for three different levels of recursive generation) that are not included in the original polygonal model. By employing a procedural approach based on the L-system [9–12], the capillary vessels are dynamically generated on the fly as Copyright © 2013 John Wiley & Sons, Ltd. 317

Upload: myung-soo

Post on 30-Mar-2017

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Realistic deformation of 3D human blood vessels

COMPUTER ANIMATION AND VIRTUAL WORLDSComp. Anim. Virtual Worlds 2013; 24:317–325

Published online 3 May 2013 in Wiley Online Library (wileyonlinelibrary.com). DOI: 10.1002/cav.1510

SPECIAL ISSUE PAPER

Realistic deformation of 3D human blood vesselsJaesung Park1, Minsub Shim1, Seon-Young Park2, Yunku Kang1 and Myung-Soo Kim1*1 School of Computer Science and Engineering, Seoul National University, Seoul 151-744, South Korea2 College of Medicine, Seoul National University, Seoul 110-799, South Korea

ABSTRACT

We present a real-time algorithm for realistically deforming 3D human blood vessels, while automatically detecting andavoiding interference among a large number of blood vessels under deformation. Sweep surfaces are employed for thispurpose. Using a dynamic bounding volume hierarchy, specially designed for sweep surfaces, we support collisiondetection and other related geometric computations in real time. Copyright © 2013 John Wiley & Sons, Ltd.

KEYWORDS

blood vessel; deformation; collision detection and avoidance; sweep surface; BVH; sphere tree; LSS tree; B-splines

*Correspondence

Myung-Soo Kim, School of Computer Science and Engineering, Seoul National University, Seoul 151-744, South Korea.E-mail: [email protected]

1. INTRODUCTION

Realistic modeling and natural deformation of 3D virtualhuman models is one of the most challenging research top-ics in computer animation [1–6]. In particular, real-timealgorithms for 3D human deformation have a wide range ofpractical applications in virtual environments [1–4]. Con-sidering the popularity of visualization techniques in sci-ence and engineering today, there is no doubt that real-timeanimation of 3D virtual humans would have a great impacton the practice of biomedical research and education inthe future.

The majority of previous results for human modelingand animation are focused on skin deformations. Even thecontemporary methods for anatomy-based shape deforma-tion consider the anatomical structure of bones, muscles,and tissues mainly for the synthesis of skin deformation[7]. The blood vessels make only limited local contribu-tion to the final shape of the skin. Consequently, the com-plex network of human blood vessels has received muchless attention than other anatomical features in computeranimation and shape deformation of 3D virtual humans.

Considering the importance of blood vessels in thehuman anatomy, medical education, and biomedical engi-neering in general [8], we would like to attack the problemof realistically modeling and naturally deforming humanblood vessels. We hope that this work would promote com-puter animation in broader application areas of 3D human-related science and engineering. For this purpose, we take asweep-based approach for the 3D modeling and animationof human blood vessels and present a real-time algorithmfor realistically deforming 3D human blood vessels, while

automatically detecting and avoiding interference among alarge number of blood vessels under deformation.

Figure 1 shows the whole-body network of human bloodvessels both (a) with and (b) without capillary vessels. Tomake the job of 3D modeling easier, we start with a con-ventional 3D human anatomy model, which is a polygo-nal mesh model purchased from TurboSquid (http://www.turbosquid.com). Taking only the blood vessels from thewhole-body model, we first convert the polygonal mesh toa sweep-based 3D model that forms a complex network oftube-like sweep surfaces.

Figure 2 shows a simple example of the sweep-basedconversion, which produces a considerably smoother 3Dmodel of blood vessels. By employing the B-spline orBézier representation, the 3D sweep-based model can berepresented in a significantly more compact and preciseway than the given polygonal model. In the example ofFigure 2 , each cross section with eight vertices is replacedby the center and radius of the cross section, which meansan immediate reduction of data size by a factor of 6. Thecenters and radii of cross sections are then interpolatedusing 4D B-spline curves. There is no need of keepingthe connectivity information for the edges and faces, whichcan be quite enormous for a large polygonal mesh such asthose for 3D human anatomy models.

The sweep-based approach greatly simplifies the addi-tion and modification of blood vessels. Figure 3 shows theresult of adding a large number of capillary vessels (forthree different levels of recursive generation) that are notincluded in the original polygonal model. By employinga procedural approach based on the L-system [9–12], thecapillary vessels are dynamically generated on the fly as

Copyright © 2013 John Wiley & Sons, Ltd. 317

Page 2: Realistic deformation of 3D human blood vessels

Deformation of 3D human blood vessels J. Park et al.

Figure 1. The whole-body network of human blood vessels: (a)with and (b) without capillary vessels.

Figure 2. Converting the representation of blood vessels from(a) a polygonal mesh model to (b) a sweep-surface model.

Figure 3. Brain blood vessel with three different recursive levelsof capillary generation.

space curves (with varying thickness), which is essentialfor the reduction of 3D model size.

The sweep surfaces are then bound to the correspond-ing skeleton links and joints of the whole body. Thesweep surfaces (representing human blood vessels) are

then deformed much like the human skins in the sweep-based human body and hand deformation [13,14]. Com-pared with the skin deformations, the main technicaldifficulty in our current application is a large number ofintersections among deforming blood vessels around thejoint areas. In this paper, we present an efficient algorithmfor detecting and resolving all these complex intersectionsusing a dynamic bounding volume hierarchy (BVH) struc-ture specially designed for deformable sweep surfaces.

The main contributions of this work can be summarizedas follows:

� We present a sweep-based modeling and deformationtechnique for human blood vessels.

� We propose an efficient dynamical hierarchical datastructure, that is, a BVH, for deformable sweep-basedblood vessels.

� The sweep-based approach essentially reduces thecomplexity of blood vessel modeling and deformationto that of 4D space curves instead of 3D surfaces orvolumes.

� Using the sweep-based BVH, we develop real-timealgorithms for interference detection and avoidanceamong a large number of blood vessels under defor-mation.

� The sweep-based representation significantly reducesthe storage requirement not only for the 3D blood ves-sels (by more than an order) but also for the BVH trees(by more than two or three orders of magnitude).

2. RELATED WORK

Virtual 3D human modeling and animation has a long his-tory of research and development. Comprehensive reviewsare very well documented in [1–4], which report on thestate-of-the-art algorithms, methodologies, and systemsdeveloped in this area over the last 40 years. In this sec-tion, we focus mainly on the previous results related to thetopic of this work: a sweep-based blood vessel modelingand deformation.

Because of their irregular shapes, the skins and bonesare usually represented as triangular meshes. On the otherhand, the muscles and blood vessels are often representedas tube-like sweep surfaces. The extraction of blood vesselsfrom CT (computed tomography) or MRI (magnetic reso-nance images) has received considerable research attentionin medical imaging [15]. Blood vessels are also representedas NURBS (Non-Uniform Rational B-spline) surfaces forblood flow analysis [16]. Nevertheless, these conventionalapproaches deal with no large global deformation of bloodvessels and the resulting complex interactions among them.In this work, we would like to explore a new directionof research, which would have a great impact on diverseapplication areas of computer graphics and animation.

Hyun et al. [13] and Lee and Kim [14] employed sweepsurfaces as a useful tool for human body and hand defor-mation. In the current work, we take a similar approach

318 Comp. Anim. Virtual Worlds 2013; 24:317–325 © 2013 John Wiley & Sons, Ltd.DOI: 10.1002/cav

Page 3: Realistic deformation of 3D human blood vessels

J. Park et al. Deformation of 3D human blood vessels

but tailored for the deformation of blood vessels. Thebig challenge in the current work is how to deal withthe interference among a large number of sweep surfacesthat form a complex network of dynamically deformingblood vessels.

Kim et al. [17] introduced a compact representationscheme for the BVH of NURBS surfaces. Moreover, theyhave demonstrated real-time algorithms for collision detec-tion and minimum distance computation among manyNURBS surfaces interacting with each other in a complexmanner such as 1000 Utah teapots filing over each other. Asthe sweep surfaces are a special type of NURBS surfaces,we may apply a similar technique. But the main difficultyis how to deal with the BVH representation for deformablesweep surfaces.

Using an error bounding condition of Filip et al. [18],Krishnamurthy et al. [19] deal with the BVH construc-tion for dynamically deformable NURBS surfaces. Usinga GPU (graphics processing unit) implementation, theyhave demonstrated a real-time algorithm for computing theHausdorff distance between two NUBRS surfaces. In thiswork, we take a similar but simpler approach to the sweepsurfaces. The main advantage is that sweep surfaces can betreated as 4D space curves rather than as bivariate surfaces.Thus, we can greatly accelerate the BVH construction fordeformable sweep surfaces and their collision detectionand avoidance.

3. BLOOD VESSEL MODELING

3.1. Circular Sweep Surface Modeling

The tubular shape of blood vessels can be represented usingcircular sweep surfaces that are generated by moving a cir-cle (of variable radius) along skeleton curves. The circle iscontained in the local xy-plane of the moving frame withthe circle center fixed to the origin. The center of the mov-ing circle traces out skeleton curves, and the circle itselfgenerates bivariate sweep surfaces.

Explaining more clearly using mathematical notations, acircle of radius r.t/,Ot .�/D r.t/.cos �; sin �; 0/T , movesunder a 3D rotation R.t/ D Œu.t/; v.t/;n.t/� and a trans-lation C.t/. (Note that the three vectors u.t/; v.t/;n.t/are mutually orthogonal unit column vectors of R.t/ 2SO.3/.) A circular sweep surface S.�; t/ D R.t/Ot .�/CC.t/ is then generated as a bivariate surface.

The center of the moving circle, located at the origin oD.0; 0; 0/T of the local moving frame, traces out the skeletoncurve C.t/DR.t/oCC.t/D Œu.t/; v.t/;n.t/�.0; 0; 0/TCC.t/. The standard unit vectors e1 D .1; 0; 0/T , e2 D.0; 1; 0/T , and e3 D .0; 0; 1/T in the local moving framewill be mapped to the column vectors u.t/, v.t/, and n.t/of the rotation matrix R.t/, as R.t/ei is the i th column ofR.t/ D Œu.t/; v.t/;n.t/�, for i D 1; 2; 3. In particular, themoving circle at time t is contained in a plane that containsa point C.t/ and is normal to n.t/.

3.2. Volume Preservation

When the sweep surface S.�; t/ has no self-intersection, itbounds a volume of magnitude

Z�r.t/2

˝n.t/; C 0.t/

˛dt

where �r.t/2 is the area of the moving disk bounded bythe circle Ot , and the vector n.t/ is the third column of therotation matrix R.t/.

As we deform the blood vessels, the sweep surfacechanges the skeleton curve C.t/ and the normal vectorn.t/ of the moving plane. Consequently, we need to mod-ify the radius function r.t/ D

P3lD0 rlB

3l.t/, in terms of

the control coefficients rl so that the total volume of eachblood vessel can be preserved under deformation. For thispurpose, we follow the same approach as in Hyun et al.[13], except that we use the Gauss quadrature [20] for anefficient computation of the integral.

3.3. Smoothly Connecting Vessel Branches

The blood vessels form a complex network of branchesusing many different types of junctions, the exact geomet-ric shape of which is extremely difficult to represent assweep surfaces. Blending surfaces may be a suitable repre-sentation scheme for these junction shapes while smoothlyconnecting three, four, or more branches meeting together.Nevertheless, the blending surfaces are often high-degreealgebraic surfaces, the computation of which is quite time-consuming. Thus, we compromise the smoothness of con-nection with the efficiency of computation—we aim atachieving only the visual smoothness of connections.

From the original 3D human mesh model, we take thepartial meshes around junctions for the purpose of connect-ing different branches of sweep surfaces. For rendering,the sweep surfaces under deformation are tesselated onthe fly as deformable meshes (but with far more verticesand triangles than those in the original model). The tessel-lated sweep surfaces are then connected to the mesh at thejunction to form a new mesh, which is then rendered withsuitable normals automatically assigned at the vertices ofconnecting areas (Figure 4).

Figure 4. Visually smooth connection of sweep surfaces atdifferent types of junctions: (a) Y-junction, (b) T-junction, and

(c) crossing.

Comp. Anim. Virtual Worlds 2013; 24:317–325 © 2013 John Wiley & Sons, Ltd.DOI: 10.1002/cav

319

Page 4: Realistic deformation of 3D human blood vessels

Deformation of 3D human blood vessels J. Park et al.

Figure 5. Different types of capillary branching structures: brain, foot, hand, and face.

3.4. Generation of Capillary Blood Vessels

Capillary blood vessels complete the circulatory system ofblood vessels, which starts with arteries. Arteries branchinto arterioles, arterioles in turn branch into capillaries,capillaries form venules, and venules in turn form veins[12]. The generation pattern of capillary blood vesselsvaries depending on their location in the human body.It is quite surprising that the pattern is similar to onetype of tree-branching structures or another. In the cur-rent work, we model the branching structures of capil-lary blood vessels by adapting different combinations oftree-branching patterns presented in Prusinkiewicz et al.[10]. Figure 5 shows the different types of capillary bloodvessels depending on from which vessels they branch out.

The sweep representation as a 4D space curve isextremely powerful in the modeling of capillary blood ves-sels. The recursive fractal nature of capillaries can easilyblow up the memory space when represented as polygo-nal meshes. In our sweep-based approach, we keep only afew copies of polyline (with varying thickness) for render-ing all different capillaries. Given a sequence of capillaries,one is tessellated only to be written on the polyline and ren-dered as the polyline. (We select the number of edges of thepolyline depending on the required resolution.) The nextcapillary is also written on the same polyline but with newvertex locations. The same polyline is rendered but to a dif-ferent image. The whole recursive procedure of capillarygeneration is based on a recursive evaluation of functionsdefined by the related sweeps.

4. BOUNDING VOLUMEHIERARCHY FOR BLOOD VESSELS

4.1. Approximation of Skeleton Curve

Each sweep surface is represented using a cubic 4D B-spline curve, .x.t/; y.t/; z.t/; r.t//, and a piecewise linearB-spline quaternion curve, Q.t/ D .qw .t/; qx.t/; qy.t/,qz.t//, a � t � b, which are defined on the sameB-spline knot sequence. The piecewise linear quaternioncurve Q.t/ can be transformed to a continuous rotationmatrix R.t/ D Œu.t/; v.t/;n.t/�, where each unit columnvector is a piecewise rational quadratic curve of t .

The cubic B-spline curve can be converted to a con-nected sequence of cubic Bézier curve segments, each ofwhich is given as follows:

OC.t/D

3XlD0

OblB3l .t/; 0� t � 1

where Obl D .xl ; yl ; zl ; rl / are the cubic Bézier controlpoints of OC.t/.

The skeleton curve and the radius of the moving circleare given as follows:

C.t/D

3XlD0

blB3l .t/;

r.t/D

3XlD0

rlB3l .t/; 0� t � 1

where bl D .xl ; yl ; zl / are the control points of C.t/, andrl are the control coefficients of the radius function r.t/.

The cubic Bézier curve C.t/, 0 � t � 1, can be approx-imated by a polygonal curve Lh.t/ connecting a sequenceof curve points C.thi / D C.i=2h/, for i D 0; : : : ; 2h,within an approximation error bound [18]:

kC.t/�Lh.t/k �3

4hC1�K D �h

where

K Dmax .kb0 � 2b1C b2k; kb1 � 2b2C b3k/

More precisely, each line segment Lhi .t/,�thi�1 � t � t

hi

�,

approximates the corresponding curve segment Chi .t/ D

C.t/,�thi�1 � t � t

hi

�, within the error bound �h D

3K=4hC1 � 0.

4.2. Dynamic Bounding Volume Hierarchy

Each cubic Bézier curve C.t/ can be bounded by a hier-archy of line swept spheres (LSS) [21] using the polyg-onal approximation Lh.t/ with the error bound �h > 0.At the root level of the BVH, the whole curve C.t/ isbounded by the swept volume of a ball B�0 (of radius�0 D 3K=4) moving along the line segment connect-ing C.0/ and C.1/. At the next level, the left half-curveC 11 .t/ D C.t/, 0 � t � 1=2, is bounded by the swept vol-ume of a ball B�1 (of radius �1 D �0=4) moving along theline segment connecting C.0/ and C.1=2/. Similarly, the

320 Comp. Anim. Virtual Worlds 2013; 24:317–325 © 2013 John Wiley & Sons, Ltd.DOI: 10.1002/cav

Page 5: Realistic deformation of 3D human blood vessels

J. Park et al. Deformation of 3D human blood vessels

right half-curve C 12 .t/ D C.t/, 1=2 � t � 1, is boundedby the swept volume of a ball B�1 moving along the linesegment connecting C.1=2/ and C.1/.

The circular sweep surface S.�; t/ can also be boundedby a similar BVH, but in this case, the radius of each mov-ing ball along a line segment should be enlarged by themaximum radius of the moving circle Ot .�/ so that theenlarged LSS completely contains the sweep surface. Inthe majority of blood vessels, the radius function r.t/ hasan almost constant value on the parameter interval. Thus,instead of taking the precise maximum of r.t/, which isrelatively expensive to compute, we take the maximum ofthe control coefficients of r.t/ D

P3lD0 rlB

3l.t/, that is,

rC D maxfr0; r1; r2; r3g, which is an upper bound for the

maximum of r.t/, on each subintervalhthi�1; t

hi

iof Œ0; 1�.

Then, we move a ball B�hCrC along a line segment con-

necting the two curve points C�thi�1

�and C

�thi

�so as to

generate a bounding volume for the circular sweep surfacepatch S.�; t/, for thi�1 � t � t

hi .

Figure 6 shows an example of the BVH constructedby recursively subdividing the sweep surface at each mid-parameter of t . Given a maximum subdivision level for thecurve C.t/, for example, hmax D 10, we can precomputethe values of the Bézier basis functions B3

l.tj =2

10/, for

l D 0; 1; 2; 3, and j D 0; : : : ; 210, and store these precom-puted values in a lookup table. The precomputation greatlyaccelerates the Bézier curve evaluation as the computationof the basis function values is the most expensive part ofthe curve evaluation. Moreover, the stored basis functionvalues can be reused for other cubic Bézier curves andmore importantly for dynamically deforming Bézier curvesas well.

Going down from an internal node at a level h to its childnodes at the next level h C 1, we only need to evaluate

the curve location at the mid-parameter Chj

�thj�1Cthj

2

�D

ChC12j

�thC12j�1

�, where thj D j =2h. The bounding vol-

ume for the left child is generated by sweeping a ballBrCC�hC1 D BrCC�h=2 along a line segment connecting

Figure 6. Bounding volume hierarchy for a sweep surface.

Chj

�thj�1

�D ChC12j

�thC12j�2

�and ChC12j

�thC12j�1

�. Sim-

ilarly, we can generate the bounding volume for theright child by sweeping the same ball BrCC�hC1 from

ChC12j

�thC12j�1

�to Chj

�thj

�D ChC1j

�thC12j

�.

5. COLLISION DETECTION ANDINTERFERENCE AVOIDANCE

The collision detection for blood vessels (represented assweep surfaces) can be carried out very efficiently using atwo-level hybrid BVH representation that employs a spheretree for the upper-level nodes and an LSS tree for each leafnode of the sphere tree. The sphere tree is constructed in abottom-up fashion starting with spheres, each bounding anindividual Bézier sweep surface. Each leaf node then con-tains an LSS tree for the sweep surface stored in the leafnode, the detailed construction of which was discussed inthe previous section.

The collision detection for the sphere tree proceeds inthe same way as in conventional algorithms [21]. Whenwe reach the leaf level, we switch to the LSS trees forBézier sweep surfaces, where the bounding volumes areLSS. For collision detection between two LSS volumes, wecompare the distance between their center line segmentsagainst the sum of the radii of the two LSS. If the distanceis larger than the sum, then there is no collision betweenthe two bounding volumes and thus no collision betweentheir sweep surfaces either. Otherwise, we first check if thesum of radii is very small, for example, �1 C �2 < 10�3;then, we report a collision event; otherwise, we go downto the next level of the LSS tree (for the bigger LSS ofthe two under comparison) and repeat the same procedurerecursively.

We may end up with reaching the leaf levels of LSStrees without detecting any collision all the way down tothe bottom levels. We should report collision in this case.Nevertheless, we have never experienced this unusual casein all our experiments because the resolution of our LSStree approximation is considerably higher than the toler-ance distance 10�3. The unit length 1 is taken as the heightof the 3D human model; thus, 10�3 means 0:1% of theheight, which is usually shorter than 2 mm. For the dis-tance computation between two 3D line segments, we usethe C++ code from Rhodes [32].

Table I. Comparison of storage sizes for mesh and sweeprepresentations.

Blood# Sweeps (4030) with total size (84 KB)

vessels Artery Vein Total Size

# Vertices 16 344 16 548 32 892 395 KB

# Triangles 30 334 30 312 60 646 728 KB

Size 560 KB 562 KB 1.12 MB 1.12 MB

Comp. Anim. Virtual Worlds 2013; 24:317–325 © 2013 John Wiley & Sons, Ltd.DOI: 10.1002/cav

321

Page 6: Realistic deformation of 3D human blood vessels

Deformation of 3D human blood vessels J. Park et al.

Table II. Storage comparison with conventional BVHconstruction.

Sphere tree for sweeps (72 KB)

PQP 4� 4 4� 10 8� 5 8� 10BVH (MB) 250 376 376 500

BVH, bounding volume hierarchy.

6. EXPERIMENTAL RESULTSWe have implemented the proposed vessel deformationalgorithm in C++ on an Intel Core i7-3770K 3.5-GHzCPU with a 16-GB main memory and an NVIDIA GeforceGTX660. To demonstrate the effectiveness of the pro-posed deformation scheme, we have also implemented areal-time algorithm for collision detection and interferenceavoidance for a 3D model of blood vessels.

From the 3D human anatomy model purchased fromTurboSquid, we took only the 3D blood vessel model(excluding the heart) that contains 32892 vertices and60646 triangles. The mesh model was converted to asweep-surface representation with 4030 4D Bézier curves,the storage of which takes only 84K bytes of memory.The 3D heart model (with 884 vertices and 1609 triangles)was preserved as a polygonal mesh just for the purpose ofrendering together with the sweep-based blood vessels.

As one can notice in Table I, compared with the meshmodel, there is a significant size reduction in storing thesweep-based representation of the blood vessel model. Inthe current compact representation, we have applied twoadditional compressions to the sweep surface representa-tion. First of all, the quaternion curve Q.t/ is automat-ically constructed using a technique to assign a rotationminimizing coordinate frames at a sequence of discrete

Figure 7. Snapshots from animation clips of a real-time deformation of 3D human blood vessels.

322 Comp. Anim. Virtual Worlds 2013; 24:317–325 © 2013 John Wiley & Sons, Ltd.DOI: 10.1002/cav

Page 7: Realistic deformation of 3D human blood vessels

J. Park et al. Deformation of 3D human blood vessels

locations [23]. Moreover, the second and third controlpoints for each Bézier curve segment C.t/ are also auto-matically determined using the center locations of nearbycross sections.

For rendering blood vessels, each sweep surface is tes-sellated into a quad mesh ofm�n quadrangles, wherem isusually taken as 4, 6, or 8, depending on the resolution oftessellating circular cross sections, and n is usually takenas 5, 8, or 10, depending on the resolution of tessellationalong the skeleton curve direction. Only a few copies oftemplate for the m � n quad mesh are used for storing thetessellated vertices and normals for all deformable sweepsurfaces—each tessellation result is discarded immediatelyafter rendering the surface. Similarly, only a few copiesof polyline (usually with 5, 8, or 10 edges) are used forrendering all different capillaries dynamically generatedon the fly as cubic Bézier curves. Thus, we need virtu-ally no memory space for storing the tessellated meshesand polylines.

Because of an exponentially growing large number ofcapillaries that form clusters of space curves with varyingthickness, in the current work, we do not support collisiondetection for capillaries. Further investigation is neededfor developing better ways of modeling and deformingthe clusters of capillaries that form complex networks.The 3D heart model is taken as a static mesh with nodeformation. We do not consider the collision of the heartmodel against sweep-based blood vessels. The deforma-tions of main arteries and veins are manually designed in acollision-free manner with the heart model.

For collision detection, we build a sphere tree, whereeach leaf node contains a bounding sphere for oneBézier sweep surface, the total size of which takes about72K bytes. This is considerably smaller than the size forstoring a conventional BVH for the original 3D mesh,which requires 5.8M bytes when built using the PQPlibrary (http://gamma.cs.unc.edu/SSV/) that is based on[21]. But the sweep model is much smoother than the origi-nal mesh model. A fair comparison should be made againstthe tessellated quad meshes with more vertices and tri-angles than the original mesh. Table II shows the size ofconventional BVHs constructed by the PQP library. Moreseriously, it is quite time-consuming to update the BVH fora deformable mesh model. On the other hand, the spheretree is relatively easy to update under deformation. TheLSS tree for each sweep surface is generated on the fly.Consequently, there is virtually no space needed for storingthe LSS trees.

For deforming 3D blood vessels, we also need to storethe binding information for each control point of the 4DBézier curve C.t/ to the corresponding body link, whichtakes about 66K bytes memory space. This informationis about the relative location of each control point alongthe link and also the relative orientation (measured asan angle � ) around the link. When we try to deform amesh model, we need to compute the information for eachvertex of the mesh model, and thus, the storage can bequite enormous.

Table III. Comparison of frame rates depending on the resolu-tion of tessellation.

Render Collision Total Frame(ms) (ms) (ms) (FPS)

4� 5 17 4 21 484� 10 21 8 29 358� 5 19 8 27 378� 10 32 8 40 25

Figure 7 shows snapshots from animation clips we havegenerated to demonstrate the effectiveness of our approach.Each animation was generated by our system at about37 FPS, including the time for rendering sweep surfaces,each tessellated to 8�5 quads. This frame rate also includesthe time spent on volume preservation as well as collisiondetection and interference avoidance, which takes even lesscomputing time than the rendering processes. The framerates change depending on the resolution of tessellation asreported in Table III, where the computing times are alsoreported for the processes of (i) rendering and (ii) collisiondetection and avoidance.

7. CONCLUSIONS

In this paper, we have shown that sweep surfaces pro-vide an effective tool for the modeling and animation of3D human vessels that form a complex network of tube-like surfaces and curves. By using the conventional meshmodel, it is difficult to model the details of blood vessels—the memory can easily blow up. It is also inefficient todeform the blood vessels because of the large number ofvertices in the mesh model. Even more difficult is the colli-sion detection and avoidance for deformable blood vessels.Nevertheless, we have shown that the proposed sweep-based approach can resolve all these hurdles relatively eas-ily by demonstrating real-time performance for a diverserange of resolutions of tessellation. Rendering is still themain bottleneck of the whole computation.

ACKNOWLEDGEMENTS

This research was supported in part by the CollaborativeResearch Program between the College of Engineering andthe College of Medicine of Seoul National University.

REFERENCES

1. Magnenat-Thalmann N, Thalmann D (eds). Handbookof Virtual Humans. John Wiley, New Work, 2004.

2. Magnenat-Thalmann N, Thalmann D. Virtual humans,thirty years of research, what next? The Visual Com-puter 2005; 21: 997–1015.

3. Magnenat-Thalmann N, Thalmann D. Real-time indi-vidualized virtual humans, In SIGGRAPH Asia 2008Courses, Singapore.

Comp. Anim. Virtual Worlds 2013; 24:317–325 © 2013 John Wiley & Sons, Ltd.DOI: 10.1002/cav

323

Page 8: Realistic deformation of 3D human blood vessels

Deformation of 3D human blood vessels J. Park et al.

4. van Welbergen H, van Basten B, Egges A, Ruttkay Zs,Overmars M. Real time animation of virtual humans:a trade-off between naturalness and control. ComputerGraphics Forum 2010; 29(8): 2530–2554.

5. Park S, Hodgins J. Capturing and animating skin defor-mation in human motion. ACM TOG (SIGGRAPH2006) 2006; 25(3): 881–889.

6. Park S, Hodgins J. Data-drive modeling of skin andmuscle deformation. ACM TOG (SIGGRAPH 2008)2008; 27(3). Article 96.

7. Scheeppers F, Parent R, Carlson W, May S. Anatomy-based modeling of the human musculature. ComputerGraphics (SIGGRAPH 1997) 1997: 163–172.

8. Netter F. Atlas of Human Anatomy, 5th ed., Saunders,Philadelphia, PA, 2010.

9. Prusinkiewicz P, Lindenmayer A. The AlgorithmicBeauty of Plants. Springer-Verlag, New York, 1990.

10. Prusinkiewicz P, Hanan J, Hammel M, Mech R.L-systems: from the theory to visual models of plants.In Plants to Ecosystems. Advances in ComputationalLife Sciences, Michalewicz MT (ed.). CSIRO, Colling-wood, Australia, 1997; 1–27.

11. Gabrys E, Rybaczuk M, Kedzia A. Fractal modelsof circulatory system. Symmetrical and assymetricalapproach comparison. Chaos Solitons and Fractals2005; 24(3): 707–715.

12. Jayalalitha G, Shanthoshini D, V, Uthayakumar R.Fractal model for blood flow in cardiovascular sys-tem. Computers in Biology and Medicine 2008; 38(6):684–693.

13. Hyun D, Yoon S, Chang J, Seong J, Kim M,Jüttler B. Sweep-based human deformation. The VisualComputer 2005; 20(8-10): 542–550.

14. Lee J, Kim M. Realistic human hand deformation.Computer Animation and Virtual Worlds 2006; 17(3-4): 479–489.

15. Kirbas C, Quek F. A review of vessel extraction tech-niques and algorithms. ACM Computing Surveys 2004;36(2): 81–121.

16. Zhang Y, Bazilevs Y, Goswami S, Bajaj C, HughesT. Patient-specific vascular NURBS modeling for iso-geometric analysis of blood flow. Computer Meth-ods in Applied Mechanics and Engineering 2007; 196(29-30): 2943–2959.

17. Kim Y, Oh Y, Yoon S, Kim M, Elber G. CoonsBVH for freeform geometric models. ACM Transac-tions on Graphics; 30(6). Article 169, (SIGGRAPHAsia 2011).

18. Filip D, Magedson R, Markot R. Surface algorithmsusing bounds on derivatives. Computer Aided Geomet-ric Design 1986; 3(4): 295–311.

19. Krishnamurthy A, McMains S, Hanniel I. GPU-accelerated Hausdorff distance computation betweendynamically deformable NURBS surfaces. Computer-Aided Design 2011; 43(11): 1370–1379.

20. Press W, Teukolsky S, Vetterling W, Flannery B.Section 4.6. Gaussian quadratures and orthogonalpolynomials. In Numerical Recipes: The Art of Scien-tific Computing, 3rd ed., Cambridge University Press,New York, 2007.

21. Larsen E, Gottschalk S, Lin M, Manocha D. Fast prox-imity queries using swept sphere volumes. TechnicalReport TR99-018, Dept. of Computer Science, UNC,1999.

22. Rhodes G. Fast, robust intersection of 3D line seg-ments. In Game Programming Gems 2, DeLoura M(ed.). Charles River Media, Massachusetts, 2001; 191–204.

23. Cao L. Reprojection of textured depth map for networkrendering, PhD Thesis, Dept. of Computer Science,Hong Kong University, August 2012.

AUTHORS’ BIOGRAPHIES

Jaesung Park is an undergraduatestudent in the Department of Com-puter Science and Engineering, SeoulNational University. He won the 36thplace at the 2012 ACM ICPC WorldFinals. His research interest is in thereal-time rendering of 3D models,using efficient spatial data structures

and algorithms.

Minsub Shim is an undergradu-ate student in the Department ofComputer Science and Engineer-ing, Seoul National University. Hisresearch interest is in the mod-eling and visualization of humanorgans.

324 Comp. Anim. Virtual Worlds 2013; 24:317–325 © 2013 John Wiley & Sons, Ltd.DOI: 10.1002/cav

Page 9: Realistic deformation of 3D human blood vessels

J. Park et al. Deformation of 3D human blood vessels

Seon-Young Park is a graduate stu-dent in the Graduate School ofMedicine, Seoul National University.She received a BEd degree in biologyeducation from Seoul National Uni-versity in 2013.

Yunku Kang is a PhD studentin the Department of ComputerScience and Engineering at SeoulNational University, where he alsoreceived his BS degree in 2011. Hisresearch interest includes geomet-ric modeling, especially of humanorgans.

Myung-Soo Kim is a professor ofthe School of Computer Science andEngineering. In the past, he servedas the CIO of Seoul National Uni-versity and the director of UniversityComputer Center. He also served asthe director of the Institute of Com-puter Technology and as the head of

the School of Computer Science and Engineering, SeoulNational University. His research interests are in com-puter graphics and geometric modeling. Prof. Kim receivedhis BS and MS degrees from Seoul National Universityin 1980 and 1982, respectively. He continued his gradu-ate study at Purdue University, where he received an MSdegree in applied mathematics in 1985 and MS and PhDdegrees in computer science in 1987 and 1988, respec-tively. Since then until 1998, he was with the Depart-ment of Computer Science, POSTECH, Korea. Prof. Kimserves/served on the editorial boards of Computer-AidedDesign, Computer Aided Geometric Design, ComputerGraphics Forum, and International Journal of Shape Mod-eling. He also edited more than ten special issues of jour-nals such as Computer-Aided Design, Computer AidedGeometric Design, Graphical Models, Journal of Visual-ization and Computer Animation, The Visual Computer,and International Journal of Shape Modeling. With twoother editors, Gerald Farin and Josef Hoschek, he editedthe Handbook of Computer Aided Geometric Design,North-Holland, in 2002. In 2010, he served as a techni-cal program co-chair of the ACM Symposium on Solid andPhysical Modeling, Haifa, Israel. In 2011, he also served asa program co-chair of the SIAM Conference on Geometricand Physical Modeling, Orlando, USA.

Comp. Anim. Virtual Worlds 2013; 24:317–325 © 2013 John Wiley & Sons, Ltd.DOI: 10.1002/cav

325