Triangle Mesh-Based Surface Modeling Using Adaptive Smoothing and Implicit Texture Integration Y. Sun, J. K. Paik, A. Koschan, and M. A. Abidi Imaging, Robotics, and Intelligent Systems Laboratory The University of Tennessee Knoxville, TN 37996, USA
[email protected]
Abstract This paper presents a framework of surface modeling from multi-view range data. The input to the algorithms are triangle meshes, each of which is from a single view range scan. The triangle meshes generated from raw data are first processed by the proposed area decreasing flow for surface denoising. Although the proposed flow is mathematically equivalent to the mean curvature flow, it can avoid the difficulty in curvature estimation and provide an optimal flowing step size. We introduce an adaptive triangle mesh smoothing scheme based on crease edge strength of each vertex using tensor voting of the normal vector field inside a geodesic window. The smoothing result makes surface normal estimation more accurate which is then used in surface mesh integration. Based on Hilton’s implicit surface-based method, surfaces from multiple views are integrated into a single 3D model. We incorporate color images to generate textured models. The algorithms are successfully applied to surface modeling from range data using two types of range scanners.
1. Introduction As one of the active research areas in computer vision, 3D reconstruction has important applications in virtual reality, reverse engineering and robot vision. Although more expensive than stereo systems, laser range scanners have been widely used for 3D reconstruction tasks because they give relatively high mea-
surement accuracy and are free from the correspondence problem. This is true especially with the recent improvements on new features such as color image acquisition. Surface reconstruction from range images involves 3D image processing, registration and integration. Although registration is an important problem, it is not addressed in this paper. We discuss surface smoothing and multi-view integration of range and color images. Surface smoothing is necessary for preprocessing the raw data captured by the range scanner. A simple low pass filter and other frequency domain filters can not be directly applied to 3D image smoothing. In previous works, the surface smoothing problem has been tackled using different approaches, including regularization, surface fairing and surface evolution using the level set method. Regularization has been used for surface interpolation from sparse range data and for restoration from noisy surfaces. Regularization involves minimizing an energy function that includes a data compatibility term and a smoothing term. The result of minimization is a trade-off between keeping close to the data and avoiding a coarse surface. Different definitions of the smoothing term were proposed in previous works. Blake and Zissermen [3] introduced the membrane and plate model where smoothing terms are the gradient variation and square Laplacian, respectively. Stevenson and Delp [21] defined the smoothing term as the sum square of two principal curvatures. Yi and Chelberg [29] proposed a simple first order smoothing term, which has the effect of minimizing the surface area. These methods assume that the surface is a
height map and can not be applied to smooth the arbitrary surfaces. In [24], we proposed to smooth a range image using the local area as the smoothing term. But it only works for a specific type of range scanner. Another category of surface smoothing methods operate on the surface mesh. Taubin [25] applied a weighted Laplacian smoothing on the surface mesh. Shrinkage is avoided by alternating the scale factors of opposite signs. Vollmer et al. [27] proposed another modified Laplacian smoothing. In [16], Ohtake et al. showed that Laplacian smoothing tends to develop unnatural deformations. They applied the mean curvature flow to the surface smoothing and the Laplacian flow to improve the mesh regularity. Mean curvature flow was originated from generating minimal surfaces in mathematics and material sciences [19]. It has been applied to the implicit surface smoothing by Whitaker [28], Zhao and Osher [30], and Gomes and Faugeras [8]. The surface, represented by the zero crossing field in the volumetric grid, is deformed according to the magnitude of the mean curvature using the level set methods. For implicit field in a volumetric grid, the mean curvature can be estimated using a formula in [19]. However, it is not easy to compute on a triangle mesh. Although mean curvature flow is mathematically equivalent to surface area minimization, direct area decreasing flow on triangle mesh can avoid mean curvature computation. In this paper, we propose a new algorithm for surface smoothing based on area decreasing flow. Unlike using previous methods that do not have a proper control on the flowing magnitude, we solve an optimal distance of the vertex movement along the surface normal direction. This paper also presents an adaptive surface smoothing scheme that preserves crease edges on the surface. The edge strength is computed by combining tensor voting and an orientation check. Many techniques have been developed for surface reconstruction by integrating registered range images. One group of methods rely on merging triangle meshes from different viewpoints [17, 20, 23, 26]. Using these methods, it is difficult to guarantee the quality of the final surface mesh. The second category of methods is based on constructing surface mesh directly from a set of unorganized points [1, 2, 10]. The methods usually require very accurate registration and clean data. The
third category of methods is based on the implicit surface [4, 9]. New measurements update the signed distance field in a volumetric grid and, once completed, a polygonisation algorithm is used to extract the surface mesh. The initial volumetric grid is not easy to change during the integration process and a large amount of memory is needed for high resolution reconstruction. Despite the drawbacks, the methods have the most stable performance when integrating noisy range data and generate the surface mesh with guaranteed quality. In this work, we extend the work of Hilton et al. [9] by combining texture fusion with geometric integration. The paper is organized as follows. Surface smoothing by area decreasing flow is discussed in Section 2.1 and the adaptive scheme is introduced in Section 2.2. The 3D reconstruction from range and color images is presented in Section 3. Section 4 shows the computational complexity of the algorithms. The experimental results are presented in Section 5 and the paper concludes in Section 6.
2. Surface smoothing by area decreasing flow Smoothing surfaces by minimizing the area is suggested from the observation that noisy surfaces usually have larger area than smooth surfaces. This is closely related to the mean curvature flow that has been applied to 3D image processing [5, 16, 28, 30]. Let : U 2 ! 3 be a regular parameterized surface. Choose a bounded domain D U and a differentiable function h : D ! , where D is the union of the domain D and its boundary. The variation of (D ) along normal is
x
R
R
x
R
n
D ;" " ! R3 u v t x u v th u v n u v where u v 2 D and t 2 ;" " . u v t , the area A t For the map xt u v t x D is :
(
(
) =
(
(
)
At
) +
(
(
)
)
(
(
)
p
Z
( ) =
D
1
) =
(
)
(
)
)
p
( )
; thH R EG ; F 2 du dv 4
+
of
(1)
where limt!0 (R=t) = 0, H is the mean curvature and E , F and G are the coefficients of the first fundamental form. The derivative of A(t) at t = 0 is
A0
(0) =
;
Z
p
D
hH EG ; F 2 du dv:
2
(2)
The area is always decreasing if the normal variation is set as h = H , which is called the mean curvature flow. This flow will generate a minimal surface whose mean curvature vanishes everywhere. The details of minimal surface theory can be found in [6]. A minimal surface may take the form of a plane, catenoid, Enneper’s surface, Scherk’s surface, etc. Under mean curvature flow, a smooth cylinder can deform into a smooth catenoid or two planes. To apply the mean curvature flow to surface smoothing, the compatibility term must be introduced to make the variation near the original surface. Defined in an infinitesimal area, curvature is hard to compute on a discrete surface, such as a surface mesh. Direct surface area minimization is better than mean curvature flow in this case due to easy computation of the area. The triangle mesh is used in this work. Other types of surface mesh can be translated into triangle mesh. In this section, we introduce the area decreasing flow for triangle mesh smoothing and the adaptive scheme based on the tensor voting method.
n
normal direction , which is shown in Fig. 1. The superscript k represents the kth adjustment. The original center vertex position is denoted as (0) . In the kth adjustment, the center vertex is moved from (k) to (k+1) by the length l as
v
=
E
I X =
bi
i=1
2
]
+
c kv(k+1) k2
(4)
where Si is the area of Ti , c is a factor balancing the (k+1) smoothness and the data compatibility, and is defined as
v
v(k+1) v(k+1) ; v0 v(k) l n(k): =
=
+
(5)
P
For computational convenience, Si2 is used instead P Si. The convergence is guaranteed by the of Cauchy-Schwarz inequality
i=1
v u I u X t
Si I
i=1
Si2 :
(6)
Si(k+1) is computed as Si(k+1)
1
=
2
We define
k vi1 ; v(k+1) ^ (
)
(
vi2 ; v(k+1) k: )
and
(7)
ai vi1 ; v(k)
(8)
bi vi2 ; v(k):
(9)
=
=
v v(0)
(k +1)
E
ln(k) v
I X =
bi ; l n(k) k2 c kv(k+1)k2
(
kth iteration,
v(k+1) by a
l2 f fkai ; bi k2 ;
)
For an umbrella neighborhood [13] with I triangles, the position of the center vertex is adjusted along the
(
i=1
+
+
ai ; bi n(k) 2g cg )
]
+
l
(10)
I X
ai n(k) bi ; bi n(k) ai ai ; bi i=1 l c v(k) n(k) I X kai k2kbi k2 ; ai bi 2 ckv(k) k2 :
+2
+2
v
)
I X
Figure 1. Umbrella operation. In the vertex is moved from (k) to vector (k) .
v
k ai ; l n(k) ^ (
i=1
(k )
=
ln
Si(k+1)
4
Then
vi1
vi2
(3)
+
The adjustment is made to minimize the area of the umbrella and still be compatible to the original measurement. The local energy function is defined as
I X
In [24], we applied direct area minimization to range image smoothing for a certain type of range scanner, where the accurate calibration model of the scanner must be known. However for some scanners, such as the RIEGL system used in this work, the calibration parameters are hidden. It is also desirable to smooth an arbitrary surface instead of single view range data. The surface smoothing algorithm proposed in this paper can be applied to arbitrary surfaces represented by the triangle mesh.
v
v(k+1) v(k) l n(k):
2.1. Area decreasing flow
Ti ai
v
(
(
i=1
)
(
)
)
(
) ] +
]
(
)
l that minimizes E by
There is a unique solution to solving @E @l = 0.
(k) n(k) l A ; c v B c =
ni
(11)
+
n0i q
Ti
wi
ni
n0i ;pq !
p
p
where
A
I X =
(
i=1
bi n(k) ai ; ai n(k) bi ai ; bi )
(
)
]
(
)
and
B
I X =
i=1
kai ; bik2 ;
ai ; bi n(k) 2:
(
)
]
(a)
q
n0i
(b)
n0
Figure 2. Voting. (a) i is the voted normal by i ’s normal i , (b) The normal is transported through an arc with the normals at two ends equal to i and i .
T
n
n
n0
The surface is deformed according to (3).
n
normal by Ti ’s normal i and i is the weight of the vote. The new tensor collected at is
2.2. Adaptive smoothing Similar to a 2D image, edge detection on a triangle mesh is based on the operation in a window that is usually called the neighborhood. From a small neighborhood, such as an umbrella, it is hard to tell if the vertex is from noise or on an edge. A larger window is necessary depending on the mesh resolution and the noise level on the surface. The irregular connections on the triangle mesh make window selection not as straightforward as for 2D images. We propose to use the geodesic window instead of the neighborhood defined by the Euclidean measure as used in previous works. The geodesic window is a small surface patch whose boundary has the same geodesic distance to the center vertex. The details of computing the geodesic distance on the triangle mesh can be found in [12] and [22]. Medioni et al. [15] introduced tensor voting that can signal the presence of a salient structure, or a discontinuity, or an outlier, at any location. In this work, we combine the tensor voting and the orientation check inside the geodesic window to detect the crease edges on the triangle mesh. The tensor voting method applied to crease edge detection can be simply considered as the eigen analysis of the surface normal vector field. For a certain vertex , the votes are cast by the neighboring triangles, as shown in Fig. 2(a). The voted tensor cast by the triangle Ti at vertex is i 0i 0i T , where 0i is the voted
q
q
nn
n
T
q
M X =
i=1
i n0i n0 Ti
(12)
where M is the number of triangles inside the geodesic window of and M > I . 0i is obtained by transporting i through a piece of arc connecting and that is the centroid of Ti . Fig. 2(b) illustrates the voting. The arc is on the plane defined by i and ;!. The normals at two ends of the arc are i and 0i . 0i is computed as
q
n
n
n
n0i
= 2(
pq n n n ni wi wi ; ni
q p
(13)
)
;! ^ ni ^ ;pq ! wi k pq ;pq ! ^ ni ^ ;pq !k :
where
=
(
)
(
)
(14)
The weight i is exponentially decreased according to the geodesic distance d between and as
i e;(d=)2
p
q
(15)
=
where controls the decay speed and depends on the scale of the input triangle mesh. The singular value decomposition is applied to the new tensor as
T
T = e1 e2 e3
2
4
0 0 0 2 0 0 0 3
1
32 54
eT1 eT2 eT3
3 5 (16)
y
n
Detected angle
n1
140
120
120
100
x
100
80
60
40
20
0
With orientation check
160
140
z
180
No orientation check
160
Detected angle
n2
180
80
60
40
20
0
5
10
15
20
25
0
30
0
5
10
15
L
(a)
(b)
20
25
30
L
(c)
Figure 3. (a) A crease edge with degree . (b) Angle that can be detected without orientation check. Edges with sharp angles are missed. (c) Angle that can be detected with orientation check.
where 1 2 3 . In [15], is rewritten as
And the eigenvalues are simply
T
T = (1 ; 2 )e1 e1 + (2 ; 3 )(e1 e1 + e2 e2 )
3 e1 eT1 e2eT2 e3 eT3 T
+
(
ee
T
+
+
T
=
(17)
)
ee ee
where 1 T1 describes a stick, 1 T1 + 2 T2 describes a plate and 1 T1 + 2 T2 + 3 T3 describes a ball. Here we are interested in the plate component. 2 ; 3 is related to the strength of the planar junction. The junction is detected if
ee ee ee
2 ; 3 > 1 ; 2 and 2 ; 3 > 3 :
and
= (cos
n2 ; = (
cos
sin
sin
0)
T
T
=
6 4
M
2
cos 0 0
M
2
sin 0
1 M =
if 45
2 M
sin
2 M
cos
=
2
3
= 0
2
sin
=
2
3
= 0
< < . From (18) 90
1 < 2 2
and
= 2
, the crease edge that can be detected is : <
3 2
0 0 0
(19)
we can detect crease edges with
3 0
2
45
T
cos
< or
0)
as shown in Fig. 3(a). According to (12), if the i is set to 1, the collected tensor at the vertex on the edge is 2
if 0
(18)
But this only works for junctions near 90 . To explain this, assume that the crease edge is parallel to the z axis and two planes generating the edge are symmetric according to the y axis. The normals of two surfaces are
n1
1 M
7 5
:
2
p
tan;1 p < < tan;1 L L 1
2
(20)
which is the shadow region in Fig. 3(b). Crease edge with large can be detected by increasing L properly. However, it is still not desirable because (20) can not detect sharp edges. This limit develops from the covariance matrix that contains no orientation, which
T
v
means that and problem, define
;v have the same T. To solve this
n
M X =
i=1
i n0i
(21)
n
as shown in Fig. 3(a). Observing that tends to align with 1 if > 90 or to be perpendicular with 1 if < 90 , we use
e
e
jn e1j <
(22)
as the other edge detection condition, where is a positive threshold, such as 0.3 in our experiments. (19) and the orientation check (22) make a reasonable detected angle region as shown in Fig. 3(c). We define the crease edge strength as
s
( =
1
2 ; 3 = 1
(
)
ne
if j 1 j < otherwise
(23)
so that 0 s 1 and modify (3) into
v(k+1) v(k) e;5s l n(k) =
+
(24)
to make the smoothing adaptive.
3. Surface modeling Our 3D reconstruction algorithm is based on the works of Hilton [9]. The method generates an implicit field in a volumetric grid. The field value at each voxel is computed as the signed distance to the surface and updated when a new surface is integrated. Curless and Levoy [4] also integrated multiple surfaces based on the implicit field fusion. In their work, space carving is implemented to generate watertight model. The advantage of space carving is watertight model reconstruction and the ability to remove outliers. However it does not work well in scene reconstruction where exist a lot of deep step discontinuities and range scanner’s calibration model is assumed available because space carving is based on back projecting each voxel onto the image plane. In our application, Hilton’s method is more flexible. It assumes no knowledge about the scanner and the only inputs to the algorithm are triangle meshes that are not necessarily from range scans. We used two types of range scanners in this work. For the RIEGL scanner [18] used for outdoor mapping, space carving is not good because of too many
occlusion in the scene. For the IVP Ranger Profiling System [11] used for small parts reconstruction, space carving is not feasible because the measurement is perspective in one direction and orthographic in the other. We incorporated color image integration into Hilton’s method to generate integrated model with textures. The algorithm is described as follows. 1. A volumetric grid is initialized to contain the region of interest. A surface mesh is generated from each range image. 2. The voxels near the surface mesh are located and their indices are put into a queue. 3. A k -D tree data structure is built for all the vertices of the mesh.
x
4. For each voxel in the queue, its nearest point on the surface mesh is obtained from the query of the k -D tree. The signed distance between the voxel and the surface mesh is computed as the ! with , where is the normal dot product of ; vector at . If the nearest point is on the boundary of the mesh, the signed distance is discarded due to lack of information. The 2D texture coordinate of is set the same as that of and the pointer to the corresponding texture file is stored. When a new surface is integrated, the signed distance is updated by the weighted average according to the confidence of the measurement.
p
p
x
xp
n
n
p
5. The final surface mesh is extracted using the traditional marching cube algorithm [14]. The texture coordinate of each vertex on the extracted mesh is set the same as its nearest voxel. After reconstruction, the surfaces are postprocessed by mean curvature flow using the level set method [19] in a volumetric grid. In this postprocessing stage, we choose mean curvature flow instead of the proposed area decreasing flow because the mean curvature can be easily computed in the implicit field and volumetric deformation can effectively remove the outliers. Similar mean curvature flow implementations can be found in [28, 30].
4. Computational complexity Assume the triangle mesh has N vertices and there are approximately M triangles inside the geodesic window. The computational complexity of the surface smoothing is O (N ) for each iteration. Usually several iterations are needed to smooth a triangle mesh. The complexity of computing the crease edge strength is O(NM log M ). This is computed only once before surface smoothing. The complexities for 5 steps of integrating a new range image are O (N ), O (N log Nq ), O(N log N ), Nq log N , and O(Nv ), where Nq is the number of voxels in the queue and Nv is the number of the total voxels.
5. Experimental results Fig. 4 shows the IVP Ranger Profiling System and RIEGL scanner LMS-Z210 used in this work. The output of IVP Ranger System is a single range profile. A conveyor belt is used to scan one view of each part. 512 profiles are stacked to generate a 512512 range image with 256 range bins at 0.62mm resolution. The triangle mesh is obtained based on the scanner’s calibration parameters. RIEGL scanner can capture the range and color simultaneously. It has the fixed view of 80 vertically and 0 ; 333 horizontally, with the measurement range from 2m up to 350m. The standard deviation of the measurement is less than 5cm. A triangle mesh can be easily generated from a single range image. Fig. 5 shows the result of surface mesh smoothing using area decreasing flow applied on the data from IVP Ranger Profiling System. Fig. 5(a) and 5(b) show the raw surface and Fig. 5(c) and 5(d) show the smoothed result that is obtained after two iterations. Fig. 6 shows the results of adaptive smoothing applied on a triangle mesh from RIEGL scanner. Fig. 6(a) shows the original surface. Crease edge detection result is shown in Fig. 6(b), where each vertex on the crease edge is marked by a small sphere. The window frame portion is zoomed and shown in Fig. 6(c). Fig. 6(d) and Fig. 6(e) show the non-adaptive and adaptive smoothing results, respectively (5 iterations). The geometric details such as the window frames are well preserved by the adaptive smoothing. Fig. 7 shows 3D reconstruction result of small parts
using IVP scanner. Multiple views are scanned for a full 3D reconstruction. Different scans are registered using automatic point’s fingerprint matching [22] and manual point matching. Fig. 7(a)-7(h) show the reconstruction of a crank, waterneck and a head model respectively, with corresponding original part’s photo, 3D model and the simplified model. We implemented Garland’s QEM (Quadric Error Metrics) simplification algorithm [7] for triangle mesh reduction. Fig. 8(a) and Fig. 8(c) show a pair of range images taken from two different views in front of a building using RIEGL scanner. Fig. 8(b) and Fig. 8(d) are the corresponding color images. Fig. 8(e) shows the 3D reconstruction results from the range image pairs. The model has 159,677 triangles. Fig. 8(f) shows the textured reconstruction result.
6. Conclusion Surface modeling from multi-view triangle meshes are presented. Each triangle mesh obtained from the raw range data is processed by area decreasing flow. The proposed flow has the advantage over the popular mean curvature flow in discrete mesh smoothing. It can avoid the curvature estimation and provide an optimal flowing step size. A method to preserve the crease edges on triangle mesh by adaptive smoothing is also presented. The edge strength of each vertex is computed by eigen analysis of the normal vector field in a geodesic window. The smoothed surface meshes are integrated into a single 3D model by fusing the signed distance field in a volumetric grid. Corresponding color images from different views are fused to generate a textured model. Surface modeling results using two types of range scanners are shown.
Acknowledgement This work was supported by the University Research Program in Robotics under grant DOE-DEFG02-86NE37968, by the DOD/TACOM/NAC/ARC Program, R01-1344-18, and by FAA/NSSA Program, R01-1344-48/49. Thanks to David Page for scanning small parts using IVP Ranger System and Sunho Lee’s help for scanning Ayres building using RIEGL scanner.
(a)
(b)
(a)
(b)
(c)
(d)
Figure 4. (a) IVP Ranger Profiling System. (b) RIEGL scanner LMS-Z210.
References [1] N. Amenta, M. Bern, and M. Kamvysselis. “A new Voronoi-based surface reconstruction algorithm”. In Proc. SIGGRAPH, pages 415–420, 1998. [2] F. Bernardini, J. Mittleman, H. Rushmeier, C. Silva, and G. Taubin. “The ball-pivoting algorithm for surface reconstruction”. IEEE Trans. Visualization and Computer Graphics, 5:349–359, 1999. [3] A. Blake and A. Zisserman. Visual Reconstruction. Cambridge, Mass.: MIT Press, 1987. [4] B. Curless and M. Levoy. “A volumetric method for building complex models from range images”. In Proc. SIGGRAPH, pages 303–312, 1996. [5] M. Desbrun, M. Meyer, P. Schroder, and A. H. Barr. “Implicit fairing of irregular meshes using diffusion and curvature flow”. In Proc. SIGGRAPH, pages 317–324, 1999. [6] M. DoCarmo. Differential Geometry of Curves and Surfaces. Prentice Hall, 1976. [7] M. Garland and P. S. Heckbert. “Surface simplification using quadric error metrics”. In Proc. SIGGRAPH, pages 209–216, 1997. [8] J. Gomes and O. D. Faugeras. “Level sets and distance functions”. In Proc. European Conf. on Computer Vision, pages 588–602, 2000. [9] A. Hilton, A. Stoddart, J. Illingworth, and T. Windeatt. “Implicit surface-based geometric fusion”. Computer Vision and Image Understanding, 69:273–291, 1998. [10] H. Hoppe, T. Derose, and T. Duchamp. “Surface reconstruction from unorganized points”. In Proc. SIGGRAPH, volume 26, pages 71–78, 1992.
Figure 5. Smoothing surfaces from scans by IVP Ranger Profiling System. (a)(b) Surfaces from a range scan of a waterneck and zoomed window. (c)(d) Smoothed surfaces after 2 iterations and zoomed window.
[11] Integrated Vision Products, Sweden. User Documentation: MAPP Ranger System, 2000. Version 1.6. [12] R. Kimmel and J. A. Sethian. “Computing geodesic paths on manifolds”. In Proc. National Academy of Sciences, pages 8431–8435, 1998. [13] L. Kobbelt, S. Campagna, J. Vorsatz, and H. P. Seidel. Interactive multi-resolution modeling on arbitrary meshes. In Proc. SIGGRAPH, pages 105–114, 1998. [14] W. E. Lorensen and H. E. Cline. “Marching cubes: A high resolution 3d surface construction algorithm”. In Proc. SIGGRAPH, pages 163–169, 1987. [15] G. Medioni, M. S. Lee, and C. K. Tang. A Computational Framework for Segmentation and Grouping. Elsevier Science B.V., 2000. [16] Y. Ohtake, A. Belyaev, and I. Bogaevski. “Polyhedral surface smoothing with simultaneous mesh regular-
[17]
[18]
[19]
[20]
[21]
[22]
[23]
[24]
[25]
[26]
[27]
[28]
[29]
[30]
ization”. In Proc. Geometric Modeling and Processing, pages 229–237, 2000. R. Pito. “Mesh integration based on comeasurements”. In Proc. IEEE Int’l Conf. on Image Processing, pages 397–400, 1996. RIEGL Laser Measurement Systems. Laser Mirror Scanner LMS-Z210, Technical Documentation and User’s Instructions, 2000. J. A. Sethian. Level Set Methods and Fast Marching Methods: Evolving Interfaces in Computational Geometry, Fluid Mechanics, Computer Vision and Material Sciences. Cambridge University Press, second edition, 1998. M. Soucy and D. Laurendeau. “A general surface approach to the integration of a set of range views”. IEEE Trans. Pattern Anal. Machine Intell., 17:344– 358, Apr. 1995. R. L. Stevenson and E. J. Delp. “Viewpoint invariant recovery of visual surface from sparse data”. IEEE Trans. Pattern Anal. Machine Intell., 14(9):257–270, Sept. 1992. Y. Sun and M. A. Abidi. Surface matching by 3D point’s fingerprint. In Proc. IEEE Int’l Conf. on Computer Vision, volume II, pages 263–269, 2001. Y. Sun, C. Dumont, and M. A. Abidi. “Mesh-based integration of range and color images”. In SPIE’s 14th International Symposium on Aerospace/Defense Sensing, Simulation, and Controls, 4051, pages 110– 117, 2000. Y. Sun, J. K. Paik, J. R. Price, and M. A. Abidi. Dense range image smoothing using adaptive regularization. In Proc. IEEE Int’l Conf. on Image Processing, volume II, pages 744–747, 2000. G. Taubin. “A signal processing approach to fair surface design”. In Proc. SIGGRAPH, pages 351–358, 1995. G. Turk and M. Levoy. “Zippered polygon meshes form range images”. In Proc. SIGGRAPH, pages 311–318, 1994. J. Vollmer, R. Mencl, and H. Muller. “Improved Laplacian smoothing of noisy surface meshes”. In Proc. Eurographics, pages 131–138, 1999. R. T. Whitaker. A level-set approach to 3D reconstruction from range data. Int’l J. Computer Vision, 29(3):203–231, 1998. J. H. Yi and D. M. Chelberg. “Discontinuitypreserving and viewpoint invariant reconstruction of visible surface using a first order regularization”. IEEE Trans. Pattern Anal. Machine Intell., 17(6):624–629, June 1995. H. K. Zhao, S. Osher, B. Merriman, and M. Kang. Implicit and non-parametric shape reconstruction from unorganized points using variational level set method. Computer Vision and Image Understanding, 80:295– 319, 2000.
(a)
(b)
(d)
(c)
(e)
Figure 6. Adaptive smoothing of surfaces from scans by RIEGL range scanner. (a) Raw surfaces with zoomed window, from a range scan of Ayres building, University of Tennessee, USA. (b)(c) Edge detection result and zoomed window, where vertices on crease edges are marked by blue balls. (d) Non-adaptive smoothing result with zoomed window. (e) Adaptive smoothing result with zoomed window, note the enhanced window frame.
(a)
(b)
(c)
(d)
(e)
(f)
(g)
(h)
(i)
Figure 7. Surface modeling using IVP Ranger Profiling System. (a)-(c) Photo of a crank, 35-view reconstruction with 93,752 triangles, and simplified model with 5,000 triangles. (d)-(f) Photo of a waterneck, 28-view reconstruction with 117,564 triangles, and simplified model with 5,000 triangles. (g)-(i) Photo of a mannequin, 25-view reconstruction with 80,148 triangles, and simplified model with 5,000 triangles. The reconstructed models can be downloaded at http://iristown.engr.utk.edu/ yiyong/integration/integration gallery.htm.
(a)
(b)
(e)
(c)
(d)
(f)
Figure 8. 3D reconstruction from range and color images using RIEGL scanner. (a)(c) A pair of range images captured from different views in front of the Ayres building, (b)(d) Corresponding color images. (e) 3D reconstruction from (a) and (c). (f) Reconstructed surface with texture fusion.