View
14
Download
0
Category
Preview:
Citation preview
Contemporary Engineering Sciences, Vol. 11, 2018, no. 88, 4357 - 4368
HIKARI Ltd, www.m-hikari.com
https://doi.org/10.12988/ces.2018.88459
3D Modeling of Natural Heterogeneous Objects:
An Introduction to Methods and Algorithms
Miller GΓ³mez-Mora and RocΓo RodrΓguez-Guerrero
Telematics Engineering Program, Research Group IMAGINET
Universidad Distrital Francisco JosΓ© de Caldas
BogotΓ‘, Colombia
Copyright Β© 2018 Miller GΓ³mez-Mora and RocΓo Rodriguez-Guerrero. This article is distributed
under the Creative Commons Attribution License, which permits unrestricted use, distribution, and
reproduction in any medium, provided the original work is properly cited.
Abstract
The field of three-dimensional (3D) modeling of natural heterogeneous object is
relatively new and its results have many applications in science and engineering.
This process starts by taking medical images through several parallel slices. These
slices are then stacked in volume data and reconstructed into volume models in
order to visualize the 3D object structure. This document provides a general
description of the most well-known modeling methods and algorithms with a
discussion of relative advantages and disadvantages for using them in generation of
high-fidelity models built from medical image data such as computerized axial
tomography (CAT).
Keywords: 3D modeling, heterogeneous objects, implicit surfaces, surface meshes,
volumetric meshes
1 Introduction
Most natural objects contain multiple regions within complex volumetric
structures. These structures are usually organized in complicated geometric
configurations. Such objects are referred to as natural heterogeneous objects or
simply heterogeneous objects. In the context of 3D modeling of heterogeneous
objects, the most common way of producing a 3D model suitable for both
visualization and applications in engineering is by the following methodology (see
Figure 1):
a) Acquire volumetric images of the heterogeneous object using medical
images, for example, CAT images.
4358 Miller GΓ³mez-Mora and RocΓo Rodriguez-Guerrero
b) Segment parts or regions from medical images that make up the
heterogeneous object.
c) Reconstruct surface of the heterogeneous object and refine surface mesh
until obtaining a model with desired quality.
d) Add nodes inside model to produce three-dimensional elements that will
make up the final volumetric mesh.
Figure 1: Methodology for 3D modeling of a human liver.
In this article, methods and algorithms to modeling natural heterogeneous objects
are analyzed and discussed based on the assumption that steps a) and b) have been
carried out especially segmentation of all regions that make up the heterogeneous
object.
2 Surface reconstruction
2.1 Parametric methods
In the context of parametric representations, the problem of surface reconstruction
involves calculation of a surface S defined by a function πΉ(π’, π£) which
approximates, as much as possible, each point of the point cloud given in β3, where
F belongs to a specific linear space of functions. Bezier curves and surfaces are the
first techniques used to solve surface reconstruction problems by adjusting local
surface patches [1]. However, due to Bezier curves cannot be modified locally and
movement of control points affect shape of the whole curve, the B-Spline method
was developed, which allows reaching a C2 continuity. For B-Spline surface at
parameters (u, v) a control point can be defined as:
π(π’, π£) = β β π΅π,πππ,π(π’)ππ,π(π£)
π
π=0
π
π=0
a)
b)
c)
d)
3D modeling of natural heterogeneous objects 4359
Where, π΅π,π are vertices of a polygonal control mesh, with i in the range between
0 and n, while j in the range between 0 and m. ππ,π(π’) and ππ,π(π£) are basic B-
Spline functions given by equation:
ππ,π(π’) =π’ β π’π
π’π+πβ1 β π’πππ,πβ1(π’) +
π’π+π β π’
π’π+π β π’π+1ππ+1,πβ1(π’)
ππ,π(π£) =π£ β π£π
π£π+πβ1 β π£πππ,πβ1(π£) +
π£π+π β π£
π£π+π β π£π+1ππ+1,πβ1(π£)
NURBS (Non-uniform Rational B-Spline) surfaces are a generalization of Bezier
and B-splines surfaces. NURBS were developed because Bezier and B-splines
methods contain some limitations when modeling more complicated shapes that
require higher order Bezier curves, and the inability to accurately represent conic
curves. A NURBS surface with parameters (u, v) is defined as
π (π’, π£) = β β π΅π,πππ,π(π’, π£)
π
π=0
π
π=0
Where, π΅π,π are 3D points of the control mesh, and ππ,π(π’, π£) are rational B-Spline
surface functions, defined as:
ππ,π(π’, π£) =βπ,πππ,π(π’)ππ,π(π£)
β β βπ,πππ,π(π’)ππ,π(π£)π+1π=1
π+1π=1
Where βπ,π is the weight, ππ,π(π’) and ππ,π(π£) are basic non-rational B-Spline
functions, given by the previously defined equations.
Currently, NURBS models are industrial standards for representation of surfaces
that are widely used in the field of reverse engineering [2]. NURBS can be used as
a method for approximation or interpolation of scattered data and is also
incorporated with most of the current geometric modeling systems for
reconstructing smooth surfaces and dealing with a non-uniform data set [3], [4].
2.2 Computational geometry methods
These methods depend on algorithms such as Delaunay triangulation and its dual,
Voronoi diagram. Alpha Shape algorithm [5] and Crust algorithm [6] are the two
most successful examples of this classification. In Alpha Shape algorithm, the shape
of the surface is carved by eliminating simplexes of Delaunay triangulation. A
simplex is eliminated if its circumscribed sphere is larger than the alpha ball. On
the other hand, Crust algorithm calculates Voronoi diagram from which Delaunay
4360 Miller GΓ³mez-Mora and RocΓo Rodriguez-Guerrero
Triangulation is calculated. The 3D mesh is then reconstructed by obtaining all
triangles that connect three points of Delaunay triangulation. This mesh
distinguishes triangles that are part of the object's surface from those that are inside
because the inner triangles have a Voronoi vertex as one of their vertices.
An improvement of Crust algorithm is Power Crust algorithm [7]. The main idea
behind this algorithm is to represent the surface as a polygon, obtained from polar
balls using Voronoi diagram. This algorithm is robust because it is expressed in
terms of cells on the surface of a solid object. No hole-filling mechanism is required
in this surface reconstruction algorithm, since it captures geometry of the surface.
However, noisy data causes scattering of points away from the surface.
An improvement and extension of Voronoi diagram is Tight Cocone algorithm
proposed by Dey and Giesen [8]. This algorithm is faster than Crust and Power
Crust algorithms, however, like other algorithms in this category, this algorithm is
not robust enough to handle noisy point clouds and point clouds with low density.
2.3 Implicit methods
Some researchers refer to implicit surfaces as volumetric representation or
approaches based on adjustment of functions. Implicit surfaces represent the surface
as a particular iso-contour of a scalar function. An implicit surface S in β3 can be
defined as the zero-level set of some function π: β3 β β
π = {π± β β3: π(π±) = 0}
An implicit surface π(π₯) can be defined through data-based methods that take the
form of a signed distance field [9], radial base functions (RBF) [10], or an indicatrix
function [11]. These methods are divided into:
Global methods: These methods aim to build a unique function so that its zero-
level set interpolates or approximates the point cloud globally.
Local methods: In this case, the global function results from combination of
functions of local form, each of which interpolates or approaches a sub cloud of
points.
Radial basis functions are functions where the result is the invariant rotation
around a certain point π±π. They can be used to interpolate a function with n points
using n radial basis functions centered on these points. The interpolator πΉ(π±) is the
result of the sum of n radial basis functions, each of which is associated with a
different center π±π, and weighted by an appropriate coefficient π€π.
πΉ(π±) = β π€ππ(β₯ π± β π±π β₯)
π
π=1
Essentially, there are two main steps in a procedure to reconstruct a dispersed
(scattered) sampled surface with radial base functions [10]:
Construction of a distance function with a sign.
Adjusting a radial basis function to the resulting distance function.
3D modeling of natural heterogeneous objects 4361
Implicit methods based on radial base functions (RBF) are widely used because
they can reconstruct surfaces of any topology with almost any point distribution.
RBFs have long been known as one of the most accurate and stable methods to
solve the problem of interpolation of scattered data. Although this method of
interpolation provides the minimum curvature surface that passes through given
points, RBFs are a global technique, with the drawback that local characteristics
will be lost.
Ohtake [12] presents a method called multi-level partition of unity (MPU) for the
reconstruction of implicit surfaces using a local technique. The basic idea of this
method is to divide the input data domain Ξ© β βπ into several overlapping
subdomains Ξ©π that cover Ξ©, i.e. Ξ© β β Ξ©ππ . Each subdomain approaches
independently of other subdomains using compact support RBF. These subdomains
share intervals in β (see Figure 2), circles in β2 and spheres in β3 that overlap
near their limits.
Figure 2. Four local functions ππ (π = 1,2,3,4) combined by weighting functions
π€π centered on points π±π on the real line β. The graph of the resulting function is
the solid red curve.
This partition of the unit is nothing more than a set of non-negative functions ππ
with compact support supp(ππ) β Ξ©π that satisfy the condition β πππ = 1 in Ξ©. For
each subdomain {Ξ©π}, the set of points ππ is formed inside {Ξ©π}, then calculating a
local function ππ that adjusts the points of ππ. Global adjustment function F is then
the result of a combination of local functions ππ weighted by partition functions ππ
as follows:
πΉ(π±) = β ππ(π±)ππ(π±)
π
π=1
For example, in Figure 2, the resulting function F (in red color) is constructed
from a combination of four local functions ππ, which are associated with four
weighting functions π€π. The condition β πππ = 1 is simply obtained from the
weight functions π€π using the following normalization formula:
4362 Miller GΓ³mez-Mora and RocΓo Rodriguez-Guerrero
ππ(π±) =π€π(π±)
β π€π(π±)π
Global adjustment function F can then be rewritten as:
πΉ(π±) =β π€π(π±)ππ(π±)π
β π€π(π±)π
Last method analyzed in this category forms a Poisson equation to obtain the
surface that best fits a dense point cloud P. This approach called Poisson surface
reconstruction [11] requires as input a cloud of P points along with their oriented
normal vectors (see Figure 3). With this data, an indicatrix function π whose value
is one inside and zero outside the reconstructed region Ξ© is defined. The gradient
of the indicatrix function is equated to a vector field, constructed from the normal
vectors of the point cloud.
βππΊ = W
Then, the Poisson equation is formed and it is solved to obtain the indicatrix
function.
β β βοΏ½ΜοΏ½πΊ = β β V β οΏ½ΜοΏ½πΊ = β β V This algorithm was extended in the work of Kazhdan and Hoppe [13] by
incorporating weights to points assigned for interpolation.
Figure 3. Intuitive illustration of Poisson reconstruction in 2D. Taken from [11].
3 Geometric modeling of natural objects
The process of geometric modeling from segmented medical images begins with
the generation of a surface mesh using Marching Cubes (CM) algorithm [14]. The
principle behind MC algorithm is to subdivide the space into a series of small cubes
known as voxels (see Figure 4). Each point of the mesh is a vertex of a cubes corner.
3D modeling of natural heterogeneous objects 4363
Each vertex and each edge of the cube are indexed for searching in the search
tables. By determining which edges of the voxel intersect with the isosurface,
triangular patches are created that divide the cube into different regions that are
within the isosurface and regions that are outside it. The algorithm moves through
each of cubes as it evaluates the points of each corner and replaces the cube with
an appropriate set of polygons (see Figure 4-a)).
a) b)
Figure 4. a) 15 final combinations of Marching Cubes algorithm [14]. Yellow dots
indicate vertices that have been tested as "inside" the object. b) Step effect or
aliasing due to the segmented medical image.
As each of the eight vertices of a cube can be marked or not, there are 256 (28)
possible combinations of the state of the corner. These combinations are simplified,
taking into account the combinations of cells that are duplicated, to 15 final
combinations as shown in Figure 4-a). The final step of Marching Cubes algorithm
is to calculate the normal vector to faces of the triangulation to obtain a correct
representation of the surface.
Since segmented data of medical images are generally huge, irregular, and noisy,
the triangulation produced by Marching Cubes reflects these defects (see Figure 4-
b)), which prevents the use of this type of surfaces directly in engineering
applications. However, the initial mesh produced by Marching Cubes forms the
input data of many surface reconstruction algorithms and is also used to extract the
isosurface from implicit surfaces.
3.2 Parametric surfaces
Traditionally, parametric surface reconstruction algorithms consists of four main
steps:
Generation of the surface mesh from the not organized point cloud. This can be
done, for example, using Marching Cubes algorithm, Delaunay Triangulations,
or Alpha Shapes.
4364 Miller GΓ³mez-Mora and RocΓo Rodriguez-Guerrero
Partition of the mesh in homeomorphic patches to disks. These patches are also
known as maps (charts). The surface mesh partition becomes mandatory when
the surface is closed or has cavities (ππππ’π > 0).
A local parameterization is built for each mesh patch. These local
parameterizations are performed together continuously, so that they collectively
form a globally continuous parameterization of the mesh.
Once the parameterization step has been completed, which generates a
collection of parameter pairs (π’π, π£π) associated with points (π₯π, π¦π , π§π) of the
cloud, the problem of surface adjustment follows.
Surface adjustment consists of minimizing distance between each point (π₯π, π¦π, π§π)
and its corresponding point πΉ(π’π , π£π) on the surface. The standard approach of
surface adjustment is reduced to the following minimization problem:
min β β₯ π±π β πΉ(π’π , π£π) β₯2
π
Where π±π is the i-th point of the input point cloud (π₯π, π¦π, π§π), and β₯β β₯ is the
Euclidean distance between π±π and the corresponding point πΉ(π’π, π£π) on the surface
in the linear space of functions mentioned previously. The objective function of this
minimization problem is the square Euclidean norm whose calculation can be easily
done by least squares method.
3.3 Simplicial surfaces
Algorithms for surface reconstruction based on computational geometry surfaces
consist of two steps and end up having a spatial partition composed of tetrahedrons:
First, Delaunay triangulation (or Voronoi diagram) is constructed from a point
cloud, which consists of a partition of the convex hull of these points into a
finite set of tetrahedrons.
Once triangulation of the point cloud has been completed, all that remains is to
identify and extract triangles (simplexes) that belong to the surface.
Therefore, reconstruction of a simplicial surfaces consists in finding the sub-plot
of Delaunay triangulation of the initial set of points [5]. Identification of triangles
on the surface varies from one algorithm to another.
3.4 Implicit surfaces
Implicit functions given as the zero-level set π = 0 of an implicit function
π(π₯, π¦, π§) are usually sampled in an underlying grid, where the reconstructed
surface is found through an isocontour with an appropriate isovalue. For a regular
grid, MC algorithm can be used [9], [10]. To adapt the resolution of the grid to a
point sampling density other methods use grids such as octrees [11], [13] and
adaptive 3D triangulations [15].
3D modeling of natural heterogeneous objects 4365
4 Geometric modeling of natural heterogeneous objects
Modeling natural heterogeneous objects from segmented medical images can be
done directly from segmented medical images using some method that extends MC
algorithm to multiple regions and refine the mesh to obtain the desired quality [16].
However, these methods may suffer some problems such as ambiguity in labeling,
and topological. As result inconsistent meshes can be created. Several solutions to
these problems have been proposed, including repairing of ambiguous voxels
before extracting meshes [17], subdivision of domain [18] and assignment and
interpolation of probabilities into vertices to extract topologically correct surface
elements [19].
Another option for modeling heterogeneous objects from medical images is to
model independently parts that make up the heterogeneous object and then apply
an assembly method. In this case, the heterogeneous object Ξ© can be described as
Ξ© = β πΊπππ=1 , where Ξ©π is the ith region belonging to Ξ© and n is the number of
regions (see Figure 5-a)). This means that the object forms a space partition.
a) b)
Figure 5. a) Artificial heterogeneous object composed of 3 regions Ξ©π. b) A
human liver together with two liver tumors embedded in it.
Based on the idea of spatial partitions, some researchers [20], [21], [22], [23]
propose several assembly strategies to model heterogeneous structures, all of them
based on computer-aided design software (CAD). However, creation of CAD-based
3D models is a completely manual process making the modeling of heterogeneous
objects extremely difficult, mainly due to irregular geometries of both the
heterogeneous structures being modeled and their constituent parts.
An alternative is to use implicit functions [24]. This is done by isolating each
region first, then extracting a cloud of points from each region using the Marching
Cubes algorithm, and finally constructing an implicit representation from the point
clouds from which the surface can be extracted. The RAM method (Region-aware
modeling) described in [24] organizes implicit functions, which represent different
regions of the heterogeneous object, into a vector of implicit functions by means of
4366 Miller GΓ³mez-Mora and RocΓo Rodriguez-Guerrero
which the computational model is manipulated. This representation allows regions
to be considered as a whole instead of isolated parts of the heterogeneous object,
for example, in the model of Figure 5-b) liver tumors are modeled as an integral
part of a human liver.
5 Conclusions
In this paper, a general review on methods and algorithms to modeling surface
and volume of natural heterogeneous objects has been presented. One of the first
reference works on the problem of surface reconstruction from point clouds is the
one published by Hoppe [9]. Since then, surface reconstruction has become a
subject of active research in computer graphics and computer vision. Three main
approaches have been used to reconstruct surfaces from point clouds (see section
2): parametric surface, simplicial surfaces and implicit surfaces. Implicit methods
include RBF, MPU, and Poisson surface reconstruction. These methods do not
require a uniform tessellation of the function domain, and are known as non-mesh
methods or Galerkin methods.
Formulating the reconstruction of an implicit surface as a Poisson problem offers
a number of advantages. Many methods of implicit surface adjustment first divide
data into regions for local adjustment and then combine these local approximations
using fusion functions. By the contrary, Poisson reconstruction is a global solution
that considers all data points at once, without resorting to heuristic partitions and
combinations. Therefore, just like RBFs, Poisson reconstruction creates smooth
surfaces that adapt robustly to noisy data. But, while ideal RBFs are globally
supported and do not decay, Poisson reconstruction supports a hierarchy of local
support functions, and therefore their solution is reduced to a well-conditioned
dispersed linear system.
Acknowledgements. This work has been partially supported by the Universidad
Distrital Francisco JosΓ© de Caldas under research project code. 3307857717.
References
[1] G. Farin, Curves and Surfaces for CAGD: A Practical Guide, Morgan
Kaufmann, 2002.
[2] Y.-C. Tsai, C.-Y. Huang, K.-Y. Lin, J.-Y. Lai and W.-D. Ueng, Development
of automatic surface reconstruction technique in reverse engineering, The
International Journal of Advanced Manufacturing Technology, 42 (2009),
152-167. https://doi.org/10.1007/s00170-008-1586-2
[3] D. Rogers, An Introduction to NURBS with Historical Perspective, Elsevier,
2000.
3D modeling of natural heterogeneous objects 4367
[4] H.-K. Zhao, S. Osher and R. Fedkiw, Fast surface reconstruction using the
level set method, Proceedings IEEE Workshop on Variational and Level Set
Methods in Computer Vision, (2001).
https://doi.org/10.1109/vlsm.2001.938900
[5] H. Edelsbrunner and E. MΓΌcke, Three-dimensional alpha shapes, ACM
Transactions on Graphics (TOG), 13 (1994), 43-72.
https://doi.org/10.1145/174462.156635
[6] N. Amenta, S. Choi, T. Dey and N. Leekha, A simple algorithm for
homeomorphic surface, Proceedings of the Sixteenth Annual Symposium on
Computational Geometry, (2000). https://doi.org/10.1145/336154.336207
[7] N. Amenta, S. Choi and R. K. Kolluri, The power crust, Proceedings of the
sixth ACM Symposium on Solid Modeling and Applications, (2001).
https://doi.org/10.1145/376957.376986
[8] T. Dey and J. Giesen, Detecting undersampling in surface reconstruction,
Discrete and Computational Geometry, Vol. 25, Springer, 2003, 329-345.
https://doi.org/10.1007/978-3-642-55566-4_15
[9] H. Hoppe, T. DeRose, T. Duchamp, J. McDonald and W. Stuetzle, Surface
reconstruction from unorganized points, ACM SIGGRAPH Computer
Graphics, 26 (1992), 71-78. https://doi.org/10.1145/142920.134011
[10] J. Carr, R. Beatson, J. Cherrie, T. Mitchell, R. Fright, B. McCallum and T.
Evans, Reconstruction and representation of 3d objects with radial basis
functions, Proceedings of the 28th annual conference on Computer Graphics
and Interactive Techniques, (2001). https://doi.org/10.1145/383259.383266
[11] M. Kazhdan, M. Bolitho and H. Hoppe, Poisson surface reconstruction,
Proceedings of the Fourth Eurographics Symposium on Geometry
Processing, (2006).
[12] Y. Ohtake, A. Belyaev, M. Alexa, G. Turk and H.-P. Seidel, Multi-level
partition of unity implicits, ACM Transactions on Graphics (TOG), 22
(2003), 463-470. https://doi.org/10.1145/882262.882293
[13] M. Kazhdan and H. Hoppe, Screened poisson surface reconstruction, ACM
Transactions on Graphics (TOG), 32 (2013), 1-13.
https://doi.org/10.1145/2487228.2487237
[14] W. Lorensen and H. Cline, Marching cubes: A high resolution 3D surface
construction algorithm, ACM SIGGRAPH Computer Graphics, 21 (1987),
163-169. https://doi.org/10.1145/37402.37422
4368 Miller GΓ³mez-Mora and RocΓo Rodriguez-Guerrero
[15] P. Mullen, F. De Goes, M. Desbrun, D. Cohen-Steiner and P. Alliez, Signing
the unsigned: Robust surface reconstruction from raw pointsets, Computer
Graphics Forum, 29 (2010), 1733-1741.
https://doi.org/10.1111/j.1467-8659.2010.01782.x
[16] Z. Wu and J. M. Sullivan, Multiple material marching cubes algorithm,
International Journal for Numerical Methods in Engineering, 58 (2003), 189-
207. https://doi.org/10.1002/nme.775
[17] J. Bloomenthal and K. Ferguson, Polygonization of non-manifold,
Proceedings of the 22nd Annual Conference on Computer Graphics and
Interactive Techniques, (1995). https://doi.org/10.1145/218380.218462
[18] B. Reitinger, A. Bornik and R. Beichel, Constructing smooth non-manifold
meshes of multi-labeled volumetric datasets, The 13-th International
Conference in Central Europe on Computer Graphics, Visualization and
Computer Vision 2005, (2005).
[19] H.-C. Hege, M. Seebass, D. Stalling and M. ZΓ³ckler, A generalized marching
cubes algorithm based on non-binary classifications, (1997).
[20] V. Kumar and D. Dutta, An approach to modeling & representation of
heterogeneous objects, Journal of Mechanical Design, 120 (1998), 659-667.
https://doi.org/10.1115/1.2829329
[21] K.-Z. Chen and X.-A. Feng, CAD modeling for the components made of
multi heterogeneous materials and smart materials, Computer-Aided Design,
36 (2004), 51-63. https://doi.org/10.1016/s0010-4485(03)00077-0
[22] K.-H. Shin and D. Dutta, Constructive representation of heterogeneous
objects, Journal of Computing and Information Science in Engineering, 1
(2001), 205-217. https://doi.org/10.1115/1.1403448
[23] J. Cheng and F. Lin, Approach of heterogeneous bio-modeling based on
material features, Computer-Aided Design, 37 (2005), 1115-1126.
https://doi.org/10.1016/j.cad.2005.02.003
[24] M. GΓ³mez-Mora, Geometric Modeling of Complex Anatomical Structures
Based on Implicit Functions, Contemporary Engineering Sciences, 11 (2018),
no. 43, 2121-2133. https://doi.org/10.12988/ces.2018.85214
Received: September 3, 2018; Published: October 11, 2018
Recommended