Deformable Hollow Organ Models with Self-Collision Processing

0 downloads 0 Views 392KB Size Report
with Self-Collision Processing Between Inner Surfaces ... Surgeons are required to learn and train many skills after passing the national examination for medical ...
Deformable Hollow Organ Models with Self-Collision Processing Between Inner Surfaces K. Nishimura, T. Koishi, T. Nakaguchi, S. Morita, N. Tsumura, Y. Miyake Graduate School of Advanced Integration Science, Chiba University, 1-33, Yayoi-cho, Inage-ku, Chiba, 263-8522, Japan

ABSTRACT This paper presents a deformable hollow organ model considering the self-collision between the inner surfaces of a hollow organ for real-time surgical simulation. The hollow organ was modeled by the finite element method with 10400 tetrahedral elements, 2160 nodes, and 1040 inner meshes. In the model, the continuous collision detection is performed between the inner surfaces to prevent penetrations of them. As a result, it was shown that the model is well-behaved about 40 fps by a standard PC with Pentium4 3GHz and 2GB RAM. Keywords: Surgical simulation, modeling, the finite element method, self-collision

1. INTRODUCTION Surgeons are required to learn and train many skills after passing the national examination for medical practitioners. For a long time, surgeons have trained from the anatomy of patients, dead body, and animals. In recent years, medical training systems using VR technologies and image processing have been developed and used in the practical training. We have developed some training systems such as the central venous catheter placement, lumbar puncture, incision and laparoscopic surgery of cholecystectomy. In the development of medical training system, it is important to constitute the system with realistic visual environment, particularly, deformation of organs. Therefore, many deformable organ models, such as finite element models[1], mass-spring models[2], beam models[3], and so on, have been proposed and used for deformation of livers and galls. On the other hand, a little has proposed the deformation model for hollow organs such as stomach, colon, and esophagus, because hollow organs have flexible behavior and complex shapes. J. Brown et al.[2] and L. Raghupathi et al.[4] have proposed the simulators of hollow organs. They do not consider the self-collision between the inner surfaces of a hollow organ, although the collisions often happen during cutting and suturing in the practical surgery. In this paper, we present a deformable hollow organ model considering the self-collisions between the inner surfaces. We used the finite element method (FEM) for modeling of a hollow organ. In the modeling, the collision processing is introduced to prevent the intersections of the inner surfaces when the self-collisions happen between the inner surfaces.

2. RELATED WORKS Surgical simulations of hollow organs have been studied by Brown et al.[2] and Raghupathi et al[4]. Brown et al.[2] presented a simulation for suturing of two blood vessels. In the vessel model, the self-collision of inner surfaces is not considered. Raghupathi et al.[4] presented an intestinal simulation focusing on the animation and visualization of the intestine and the mesentery with self-collisions between the outer surfaces of them. A surgical simulation should provide realistic behavior of an organ, hence the organ is generally modeled by using the mass-spring model or the FEM in most simulations. The mass-spring model, used in the vessel model[2], is low cost for computing the deformation. However, the deformation is less-accurate because the deformation of a volumetric object is *[email protected]; Phone/Fax +81-43-290-3296

Medical Imaging 2009: Visualization, Image-Guided Procedures, and Modeling, edited by Michael I. Miga, Kenneth H. Wong, Proc. of SPIE Vol. 7261, 726127 © 2009 SPIE · CCC code: 1605-7422/09/$18 · doi: 10.1117/12.811579 Proc. of SPIE Vol. 7261 726127-1

Simulation is started.

fl

(a)

Apply forces to the model.

All nodes of the model are computed. (b) Update of k-DOPs

k-DOPs overlapped?

No

Yes Mesh collided? (c)

(d)

No

Yes

Fig. 1. Variation of k-DOPs: (a)6-DOP is the same as an AABB. (b)14-DOP is a box that 8 corners of an AABB are cut off. (c)18-DOP is a box that 12 edges of an AABB are cut off. (d)26-DOP is a box that 8 edges and 12 edges of an AABB are cut off.

Collision response

Fig. 2. The flow of our simulation.

simulated by a discrete set of masses and a network of springs. On the other hand, the FEM can simulate accurate deformation of an object because the object is modeled by a discrete set of finite elements. We use the FEM for accurate deformation of a hollow organ. Collision detection between deformable models, including self-collision detection, has been widely studied. Teschner et al.[5] summarized recent works in collision detection. Most algorithms utilize bounding volumes, such as axis-aligned bounding boxes(AABBs)[6], oriented bounding boxes(OBBs)[7], and discrete oriented polytopes(k-DOPs)[8], to reduce computational costs. Although AABBs are simple to compute and allow for efficient overlap queries, they yield the high number of false positives for an object with a diagonal orientation. OBBs can reduce the number of false positives because they can fit an object tightly, while the computational cost is high. In order to allow for efficient queries and reduce the number of false positives, k-DOPs, proposed by Klosowski et al.[8], are recently focused on. We use the kDOPs as bounding volumes. Collision detection splits up into two groups: discrete and continuous. Although the discrete collision detection is performed at each simulation frame, the continuous collision detection can detect exact moment of contact between two successive frames. We perform the continuous collision detection to prevent the penetrations of inner surfaces.

3. METHODS In this section, we first describe the FEM used for modeling of a hollow organ. In addition, we present the self-collision detection performed between the inner meshes of the hollow organ model, and the collision response to prevent the intersections of the inner surfaces.

Proc. of SPIE Vol. 7261 726127-2

The inner surfaces on the frame 0

I

The inner surfaces on the frame 1

The k-DOP of one mesh

The k-DOP of another mesh

(a)

Computation of the first time of contact t0 by elementary tests

(b)

Computation of the positions of all nodes

(c)

(d)

Fig. 3. The flow of the collision processing: (a)Collision detection is performed between the inner surfaces by using k-DOPs. (b)The overlap of k-DOPs is shown. Two meshes intersect with each other during frame 0 and 1 if the overlap of k-DOPs is detected. On each overlap of k-DOPs, elementary tests are performed to compute the first time of contact, t0 ∈ [0, 1], in all detected pairs, and two colliding meshes at the time t0. (c)The positions of the meshes at the time t0 are computed for preventing the penetration of two meshes. (d)The positions of all nodes are computed by Eq. (2).

3.1 Finite element method The FEM is used to construct a physically-based deformable model of an elastic object. In the FEM, an elastic object is discretized into a finite number of elements and a continuous deformation field within each element is interpolated from the deformation vectors at the vertices. We assume that a hollow organ has linear elastic and homogeneous property. Our hollow organ model consists of tetrahedral elements. Let a force vector acting on four nodes of a tetrahedron define fe = [fi, fj, fl, fm]T and a displacement vector of the nodes define ue = [ui, uj, ul, um]T. Then fe and ue are related by the expression,

fe = K e u e .

(1)

Where Ke is the stiffness matrix of an element, and consider the strain and stress that arise in an element. The assembly of Eq. (1) of all elements is given by

Proc. of SPIE Vol. 7261 726127-3

f =K u.

(2)

Where f and u are the force vector and the displacement vector of all nodes, K is the stiffness matrix of the elastic model. The deformation of the elastic model can be simulated by Eq. (2). 3.2 Self-collision detection The hollow organ model is represented by triangular meshes. Therefore it is necessary to detect the collisions between the inner meshes. However, collision detections between the inner meshes are computationally expensive. We use k-DOPs[8] as bounding volumes to reduce the computational cost and to cull efficiently. The k-DOPs are convex polytopes whose facets are determined by normals from a fixed set of k orientations. The values of k include 6, 14, 18, and 26 in three dimensions, which are shown in Fig. 1. AABBs correspond to 6-DOPs, which is built by vectors determined by the positive and negative coordinate axes. We select 26-DOPs in the hollow organ model, to reduce false positives as much as possible. In order to build 26-DOPs, the minimum and maximum coordinate values are found from the vertices of the meshes along each of 13 axes, defined by the vectors (1, 0, 0), (0, 1, 0), (0, 0, 1), (1, 1, 1), (1, 1, -1), (1, -1, 1), (1, -1, -1), (1, 1, 0), (1, 0, 1), (0, 1, 1), (1, -1, 0), (1, 0, -1), and (0, 1, -1). If a k-DOP overlaps another one for 13 axes, the collision between these two k-DOPs can be detected. We perform continuous collision detection between the inner meshes by using k-DOPs, to detect a mesh passing through another mesh. The flow of our simulation is shown in Fig. 2. A k-DOP encloses each inner mesh at two successive frames to detect a mesh passing through another mesh(Fig. 3(a)). When pairs of two inner meshes are detected by using k-DOPs(Fig. 3(b)), we compute the time when one mesh of each pair intersects with the other, and the positions of the meshes at the time(Fig. 3(c)). In order to compute the time of contact, we perform 15 elementary tests on all the pairs of two intersecting meshes after collisions between k-DOPs were detected. 3.3 Elementary tests The elementary tests, proposed by Provot[9], to perform the exact collision detection between two triangles in motion and compute the time of contact. All the inner meshes are triangles because our organ model consists of tetrahedral elements. 15 elementary tests include 6 vertex-face and 9 edge-edge elementary tests. The time interval between two successive frames is defined as [0, 1]. Vertex-face and edge-edge elementary tests are described below. In order to describe the vertex-face elementary test, let p0 and p1 be positions of a vertex of one triangle at frame 0 and 1. Also, let a0, b0, c0 and a1, b1, c1 be positions of three vertices of the other triangle. Each position at time t ∈ [0, 1] is defined as p(t) = p0 + vp t, a(t) = a0 + va t, b(t) = b0 + vb t, and c(t) = c0 + vc t, where vp = p1 - p0, va = a1 - a0, vb = b1 - b0, and vc = c1 - c0. The time of contact, t0, needs to be computed, because four vertices are coplanar at the time when the collision between the vertex and the triangle is detected at the time. When the normal of the other triangle is defined by n(t), the time t0 are computed by the cubic equation

{p(t ) − a(t )} ⋅ n(t ) = {p(t ) − a(t )} ⋅ [{b(t ) − a(t )} × {c(t ) − a(t )}] = 0 .

(3)

This equation is not sufficient because it only means that four vertices are coplanar, so it is necessary to check whether the vertex p is on the other triangle at the time t0. When the cross products of PA(t0) and AB(t0), PB(t0) and BC(t0), and PC(t0) and CA(t0) are the same orientations, the vertex p can be on the other triangle. Then, the time t0 computed by Eq.(3) is stored. In order to describe the edge-edge elementary test, let a(t) = a0 + va t and b(t) = b0 + vb t be positions of an edge of one triangle at time t ∈ [0, 1]. Also, let c(t) = c0 + vc t and d(t) = d0 + vd t be positions of another edge of the other triangle. The time t0, when four vertices are coplanar, are computed by the equation

[{b(t ) − a(t )} × {d(t ) − c(t )}]⋅ {c(t ) − a(t )} = 0 .

(4)

Like the vertex-face elementary test, it is necessary to check whether the edge collides with the other. In order to check it, two cross products of AC(t0) and AB(t0), and AD(t0) and AB(t0) are calculated. When the dot product of two vectors by calculating the cross products is negative, CD(t0) intersects with the line passing through a(t0) and b(t0). Similarly, the cross products of CB(t0) and CD(t0), CA(t0) and CD(t0) are calculated. When the dot product of two vectors by calculating the cross products is negative, AB(t0) intersects with the line passing through c(t0) and d(t0). When the two conditions are satisfied, the time t0 computed by Eq.(4) is stored.

Proc. of SPIE Vol. 7261 726127-4

Side view

Diagonal upper view

(a)

(b)

Fig. 4. The deformation of the hollow organ model based on the FEM at two different viewpoint: (a)The initial state of the model. (b)The deformed state of the model. The deformation is computed when the force is applied to the red point.

3.4 Collision response In order to compute the time t0 of contact and the contacting pair at the time t0, 15 elementary tests are performed on all mesh pairs that are detected by k-DOPs. When the time t0 and two meshes at the time t0 are computed, computations of the positions are performed on the vertices of one mesh at the time t0, a(t0), b(t0), c(t0), and the vertices of the other mesh, d(t0), e(t0), f(t0). Also, the position of the point adding the force, p(t0), is computed. Based on these positions, the positions of all nodes are recomputed by using the finite element method. As a result, the intersections between the inner surfaces can be prevented, and also the hollow organ model can be well-behaved(Fig. 3(d)).

4. PERFORMANCE AND DISCUSSION Fig. 4 shows the cylindrical model representing a hollow organ. The model has 10400 tetrahedral elements, 2160 nodes, and 1040 inner meshes. The deformation of the model is shown in Fig. 4(b), which is computed based on FEM. In Fig. 5, the deformation is shown when the self-collisions happen between the inner surfaces. Although penetrations of inner surfaces happen due to no collision processing in Fig. 5(b), the model is well-behaved by performing collision processing as shown in Fig. 5(c). Our simulation can be kept about 40 fps on a standard PC with Pentium4 3GHz and 2GB RAM.

Proc. of SPIE Vol. 7261 726127-5

Diagonal upper view

Side view

0 (a)

(b)

(c)

Fig. 5. The result of collision processing: (a)The initial state of the model. (b)The model is deformed without collision processing. (c)The model is deformed with collision processing.

The complex deformation of our model is shown in Fig. 6. In Fig. 6(a), when the forces are applied upward at the one end of the model and downward at the middle, the collision happens at one end and middle of the model. In Fig. 6(b), the forces are applied upward at one point of end and downward at the other point, the collision happens at two areas of the end. These models in Figs. 6(a) and (b) can be well-behaved. In the collision processing, 26-DOPs are used as bounding volumes to cull more efficiently. The collision detection of 26-DOPs reduces the number of false positives to about 40 % when compared with that of AABBs. In order to accelerate the collision detection, we will bring bounding volume hierarchies or algorithms for accelerations of self-collision detection[10] into the model.

5. CONCLUSIONS We presented the deformable hollow organ model based on the FEM with self-collisions between the inner surfaces. The self-collision detection was performed with k-DOPs within two successive frames, to detect a mesh passing through another one. As a result, our simulation was kept about 40 fps. In our future works, we acquire the shape of the hollow organ such as intestines or stomachs for the well-behaved simulation. We would like to address some of the discussions. In addition, we will use haptic interfaces to apply the

Proc. of SPIE Vol. 7261 726127-6

Diagonal upper view

Side view

(a)

(b)

Fig. 7. The complex deformation with the collisions between the inner surfaces: The inner surfaces collide with each other at two different areas. (a)The collisions on one end and middle of the model. (b)The collisions at two areas of one end.

model to medical training system. Also, we will apply this model to simulate the cutting and suturing operations.

REFERENCES [1] [2] [3]

[4]

M. Bro-Nielsen and S. Cotin, “Real-time Volumetric Deformable Models for Surgery Simulation using Finite Elements and Condensation,” Computer Graphics Forum, vol.15, no.3, pp.57-66, 1996. J. Brown, S. Sorkin, J. C. Latombe, K. Montgomery, and M. Stephanides, “Algorithmic tools for real-time microsurgery simulation,” Medical Image Analysis, Vol.6, Iss.3, pp.289-300, 2002. S. Ushiki, C. Matsuguma, T. Koishi, T. Nakaguchi, N. Tsumura and Y. Miyake, ”Real Time Deformation Model of Liver Based on Structural Mechanics for Medical Training Systems and Its Accuracy Evaluation,” Asian Forum on Medical Imaging 2007, IEICE Technical Report, Vol.106, No.510, pp.77-80, 2007. L. Raghupathi, L. Grisoni, F. Faure, D. Marchal, M. Cani, and C. Chaillou, “An Intestinal Surgery: Real-Time Collision Processing and Visualization,” IEEE Transactions on Visualization and Computer Graphics, Vol.10, Iss.6, pp.708-718, 2004.

Proc. of SPIE Vol. 7261 726127-7

[5]

[6] [7] [8]

[9] [10]

M. Teschner, S. Kimmerle, B. Heidelberger, G. Zachmann, L. Raghupathi, A. Fuhrmann, M. P. Cani, F. Faure, N. Magnetatthalmann, W. Strasser, P. Volino, “Collision detection for deformable objects,” Computer Graphics Forum 24, 1, pp.61–81, 2005. G. van den Bergen, “Efficient collision detection of complex deformable models using AABB trees,” Journal of Graphics, Vol.2, Iss.4, pp.1-13, 1997. S. Gottschalk, M. C. Lin, D. Manocha, “OBBTree: a hierarchical structure for rapid interference detection,” Proc. of ACM Siggraph, pp.171–180, 1996 J. T. Klosowski, M. Held, J. S.B. Mitchell, H. Sowizral, and K. Zikan, “Efficient Collision Detection Using Bounding Volume Hierarchies of k-DOPs,” IEEE Transactions on Visualization and Computer Graphics, Vol.4, Iss.1, pp.21-36, 1998. X. Provot, “Collision and self-collision handling in cloth model dedicated to design garments,” Graphics Interface, pp.177-189, 1997. M. Tang, S. Curtis, S. E. Yoon, and D. Manocha, “Interactive Continuous Collision Detection between Deformable Models using Connectivity-Based Culling,” Proc. of the 2008 ACM symposium on Solid and physical modeling, pp.25-36, 2008.

Proc. of SPIE Vol. 7261 726127-8