Professional Documents
Culture Documents
Abstract
This paper presents a technique for smoothing polygonal surface meshes that avoids the well-known problem of
deformation and shrinkage caused by many smoothing methods, like e.g. the Laplacian algorithm. The basic idea
is to push the vertices of the smoothed mesh back towards their previous locations. This technique can be also used
in order to smooth unstructured point sets, by reconstructing a surface mesh to which the smoothing technique is
applied. The key observation is that a surface mesh which is not necessarily topologically correct, but which can
efficiently be reconstructed, is sufficient for that purpose.
on the mesh. This process of averaging can be applied itera- (see sect. 6) that they modify the positions pi i Vvar of
tively, until the result is satisfiable. the (moveable) vertices while keeping the topology K of the
mesh unchanged. We follow the convention, that oi are the
Averaging causes a smoothing effect which is similar to
original given points, qi the current points (before the appli-
that which we desire in our application of surface mesh
cation of the algorithm) and pi the new, modified positions
smoothing. This observation can be transferred to surface
(after one iteration of the algorithm), e.g. a smoothing algo-
meshes by calculating a new location of a vertex on a sur-
rithm starts with vertex positions o : q and maps the current
face mesh by averaging the locations of the neighboring ver-
positions q onto p by one step.
tices. Figure 1 shows the result of an iterative application of
this approach to a data set. For demonstration, the originally Usually, the new position pi of any vertex i depends solely
smooth vertices were disarranged by noise. on the positions of its adjacent vertices j adj i . To avoid
problematic cases, we state the convention that if adj i
However, the example of figure 1 shows an undesirable
then i V f ix .
effect of that approach. The essential difficulty is that the ap-
plication of the Laplacian algorithm shrinks the mesh. Evi-
dently the resulting smooth skull is significantly smaller than 3. Laplacian smoothing
the original one.
In this section the original version and two modifications of
In this contribution, we present a general approach, called the Laplacian algorithm will be introduced. They belong to
HC-algorithm, which prevents the effect of shrinking, while the class of smoothing algorithms defined as above.
preserving the effect of smoothing. The key idea is to push
the vertices obtained in each step of iteration of the Lapla-
cian algorithm back into the direction of the original vertices. 3.1. The original version
Figure 2 shows the result of an application on the data set of The Laplacian algorithm is quite simple: the position pi of
figure 1. The smoothed mesh is quite similar to the original, vertex i is replaced with the average of the positions of adja-
also in size. cent vertices (figure 3). We have
After fixing the required notation in section 2, in section 3
p : q i
1
Vvar
q i
adj i j adj i j
we introduce in some more detail the Laplacian algorithm i
i V f ix
for surface meshes, including several useful variants. Sec-
tion 4 describes the HC-algorithm. In section 5, the behavior
of convergence of the iteration of the original Laplacian al- qj qj
6 6
logically correct mesh which makes the task much more easy
than the rather complex surface reconstruction problem. Figure 3: The Laplacian algorithm.
There are two techniques to calculate new positions pi .
2. Formal conventions
The first method is to modify all positions q p by one step.
In the following a mesh M with vertex set V 1 n is So every new position pi , i 1 n, depends completely
given by a tupel K p , where K 2V is a simplicial com-
on the same set of positions, namely q. This method is called
IR3 is a function, which maps every vertex
plex and p : V the simultaneous version. The second variant is to update the
i to its position pi . In general different vertices i j can new positions pi immediately. This variant is called the se-
have the same position pi p j . The "set" of points p will quential version. In this case a position pi may not solely
be represented in the following by the vertical point vector depend on the set of old positions q but can depend on
t
p1 pn . The set of vertices V is split up into two dis- a previously calculated new position p j , too. Hence the re-
joint sets of fixed vertices V f ix and movable vertices Vvar . sult of one smoothing pass through all vertices i Vvar will
The set of adjacent vertices of one vertex i is denoted by depend on the order how the vertices are considered.
algorithm solely has the property that the limits of the two An idea to avoid these disadvantages and to force conver-
techniques are the same if they exist (see 3.3 and 5). gence against a non-trivial mesh is to include the original
points oi -weighted in the calculation:
oi ' ( q i
1
Vvar
adj i j adj i j
pi :
qi i V f ix
%& qi ' ( q i
1
Vvar 4. The HC-algorithm
p $#
adj i j adj i i
The idea of the HC-algorithm (HC stands for Humphreys
i
qi i V f ix Classes and has no deeper meaning) is to push the modified
points pi (produced by the Laplacian algorithm e.g.) back
It turns out that this modification is not essential. We obtain
towards the previous points qi and (or) the original points oi
neither a better smoothing quality nor better properties con-
by the average of the differences
p +
o '
1 + q , i.e. by
cerning the shrinking effect. This modification only delays
the smoothing process in comparison with the original ver- bi : i i i
sion.
d : +
adj
i- b
1
i j
j adj i
3.3. Inclusion of the original point
In general, the Laplacian algorithm might not converge. For qi
p i+ d i
this, consider a mesh consisting of only two vertices i j joint
by one edge i j . The original simultaneous Laplacian al- di
)
bi
q j2 qj
gorithm lets the positions pi p j exchange alternately. But 3
pi b j3
in most cases the mesh converges towards one point. b j2
p j2 p j3
q j1 q j4
Figure 5: Extended Laplacian algorithm with 0 2. Figure 7: The definition of di in the case of the HC-
modification based on the Laplacian algorithm (for simplifi-
cation with 0, i.e. without influence of oi ).
/. 0
sect. 3.2) the difference bi at the center vertex i must be in-
cluded, weighted by a scalar 0 1 so that
1+
d : b '
Figure 6: Extended Laplacian algorithm with 0 4. i
adj
i b
i
j adj i
j
5. Mathematical treatment
Figure 8: From left to right: noisy mesh, four steps of Lapla-
cian smoothing only. We notice a high degree of deformation The goal of this section is to investigate the convergence be-
and shrinkage. havior of the Laplacian- and of the HC-algorithm. In sec-
tion 3.3 was mentioned that the version described there con-
verges in every case. It became clear too that convergence
Algorithmus 1 HC-algorithm (simultaneously) only does not guarantee a good smoothing algorithm. How-
p : o; // initialize points with original locations ever, it should be the minimum requirement we expect from
an algorithm that works iteratively. While the convergence
repeat
of the extended Laplacian algorithm described in 3.3 is quite
q : p;
evident, this is not the case for the HC-algorithm. We for-
1
for all i Vvar do
mulate the iteration step of the simultaneous Laplacian algo-
n : adj i ;
rithm in matrix notation, since it is the more important case
if n 0 then
pi : 1n j adj i q j ; // Laplacian operation in practice. The treatment of the sequential version is more
extensive. Both versions can be interpreted as two kinds of
+
'
+
end if
oi 1 qi ;
bi : pi numerical algorithms for solving the same matrix equation
Ax b. Additionally, this implies that the two limits are
end for
equal as mentioned above. Further details on this are not
1
for all i Vvar do
considered here.
n : adj i ;
if n 0 then
+
' ( 3
Let M K p be a mesh with vertex set V and set of
pi : pi bi 1 n j adj i b j ;
'
edges E. Without loss of generality we require that Vvar
end if 1 m and V f ix m 1 n . So the points p1 pm
2 *
end for are the interesting moveable points. One step of the Lapla-
until condition // e.g. smooth enough
456 798 456 798 564 798
cian algorithm can be represented in matrix notation:
p1 q1 r1
..
. : T ..
. : ' ..
. :
pm qm rm
It is easy to verify that the matrix T ;
t < = < > > > < is defined ij i j 1 m
by
1 AB adj
i - if i j C E
t : @? ij
0 else
Figure 9: From left to right: origin, noisy mesh, alternately and the vector r :
r D r byt
1 m
p if i l F E
a Laplacian operation and a HC-modification.
r :
adj
i = E ? 0 else
n
1 l
i
Hence, there are two steps: the given smoothing algo- l m 1
rithm, that maps q to p, and the HC-modification, that maps
'
p to p d as a kind of correction. It is remarkable that
this calculation is similar to the Laplacian operation (from
The iterations of the Laplacian algorithm provide a se-
quence of vectors t p1 pm that will be denoted by x k
where k is the index of the iteration number.
If we initialize x :
o o the sequences of the
secti. 3.2) too, not related to the points pi but to the differ-
ences bi . 0 t
1 m
points produced by the following equations
x E : Tx ' r
Four iterations of the two steps are ap-
plied to a noisy cube in figure 9. We make k 1 k
x E :G. E '
1 + T0 x '
1 + r (2)
(1)
out that the size of the cube de- and in- k 1 k
x E : G.H
1 + T0 x ' x '
1 + r
creases alternately. The last cube seems to
k 1 k 0
be shrunk a little. The right figure shows (3)
that this is not the case. The reason for this
represent the iterated point vectors of the three versions of
optical illusion are the cut edges.
the Laplacian algorithm described in sections 3.1, 3.2, and
Obviously the cubes smoothed by the Laplacian algorithm 3.3, respectively.
c The Eurographics Association and Blackwell Publishers 1999.
J. Vollmer, R. Mencl, H. Mller / Improved Laplacian Smoothing of Noisy Surface Meshes
455 adj
1 7 88
It follows from Banachs fixpoint theorem that those se- we consider
quences converge if the matrix standing in front of the itera-
2 5 88
56
0 0
tion variable x k has only eigenvalues with
adj
2
1. It can
=
..
easily be seen that the sum mj 1 ti j of values of every ma-
I
trix row is 1. Equality happens if the corresponding vertex
D: 0
.. ..
.
:
.
adj
m
. 0
JI
is joined with no fixed vertex. Since this is the general case
we only can conclude 1 for the eigenvalues of T. 0 0
The same holds for the matrix E 1 T. But in the '
+
and notice that DT is symmetric. Matrices remain symmet-
third case we can ensure convergence because 1 T has
K2 * +
B*
ric if they are multiplied from the left and the right with
eigenvalues 1 if 0. The following theorem sum-
S
T;
the same diagonal matrix. Now it is adj i 0 for all i
marizes these observations.
1 m Vvar because of the convention that adj i
( U
implies i V f ix . Therefore, it exists an inverse element and
Theorem 5.1 The sequence of points maintained by the three
versions in sections 3.1, 3.2, 3.3 of the Laplacian algorithm a square root. Hence, D 1 2 exists (not unambiguously) and
are given by the three equations (1), (2), (3), resp. Let de- ( U U
is a diagonal matrix. Multiplying DT from the left and the
right with D 1 2 results in D1 2 TD 1 2 which is symmetric ( U
L2
note the radius of the spectrum. Convergence is ensured in
all cases if T and similar to T. It follows that all eigenvalues of T are in
*
1. Since this does not hold in general, con-
vergence can be guaranteed only in the third case if 0. IR.
p
X V2 I * *
A more precise analysis shows that convergence in the This result makes it much more easy to show that
first two cases can be concluded if we only require that the 1 if X 1, 0, and 0 5. This technical task
W
will not be shown here in detail because of the lack of space.
M
mesh is connected and has at least one fixed point. However,
in the usual case V f ix for surface meshes not even this A proof can be found in 5 .
can be assumed.
The conclusion IR is important since the upper bound
XI 1. For
Y + ' '
Now, we will consider the HC-algorithm. Let T be the 1 for p X will be exceeded if X C I and X
0 6 and 0 1 is p X 0 4X 2 0 76X 0 54 and so
matrix as defined above. We can express the HC-algorithm
in terms of T, namely by
Z1 ' Z [
pi 0 94 0 76i 1 2.
E Tx ' r +
E '
1 + TJN
O O
k 1 k
x
Tx ' r + x '
1 + x D PLP
6. Discussion
k 0 k
We could see that the HC-algorithm yields quite satis-
Theorem 5.2 The HC-algorithm converges if * 0 and * fying results. However, a smoothing algorithm with HC-
0 5. modification is not completely free from shrinkage, too. So
further modifications are possible:
Proof Transforming the describing equation of the HC-
algorithms yields Smoothing algorithms map qi to pi for each vertex i
E Tx ' r +
E '
1 + TJN V , according to our definition. Immediately after a local
+
O O
k 1 k
\
x Laplacian smoothing operation at vertex i it is i : pi
Tx ' r + x '
1 + x PQP
j adj i q j 0. Clearly, after a complete treatment of all
k 0 k
vertices i 0 cannot be expected. Rather, i is a dis-
O crete normal vector and can be regarded as a measure of the
+
1 + T '
2 + -
1 + T '
1 + EP x
2 k curvature at vertex i (it even is a discrete approximation of
the Laplacian operator , which is for its part an approxima-
'
E '
1 + T x '
1 + ,
E + T r
0 tion of the mean curvature.6 ) A mesh is planar if i tends
Responsible for the convergence is the matrix in front of x ,
k
towards the zero vector for all i. On the other hand, a mesh
is smooth if neighboring normal vectors j j adj i , are
,
i.e. similar. This is an important difference. Hence, for mesh
H: +
1 + T '
2 + -
1 + T '
1 + E
2 smoothing, the i need not necessarily tend towards the
zero vector like for the Laplacian algorithm. Rather, it is ap-
The eigenvalues of H are obtained by applying the polyno- propriate to filter the high frequency parts from . For this
mial purpose, a spectral decomposition or Fourier analysis, re-
+
1 + X '
2 + ,
1 + X '
1 + ]
spectively, of would be necessary to get a filtered function
2
pX : .
to the eigenvalues of T which are known to satisfy RI 1. The HC-algorithm is a step into this direction. 0 and
Calculating the amount of p
X for X C I , X KI 1 is not
0 5 imply ] ^
0 5 , i.e. the HC-algorithm filters the
easy. Fortunately, all eigenvalues of T are real. To see this, differences of second order. Probably, there can be found a
c The Eurographics Association and Blackwell Publishers 1999.
J. Vollmer, R. Mencl, H. Mller / Improved Laplacian Smoothing of Noisy Surface Meshes
]
better choice for which perhaps can avoid deformation
and shrinkage completely.
The HC-modification can also be applied in combination
with subdivision algorithms like the Doo-Sabin- or Catmull-
Clark-algorithm.7 8 Most of the subdivision algorithms con-
tain rules that calculate averages of adjacent points. Hence,
they have a component of shrinkage, too. It is possible to ex-
pand such rules by the HC-modification in the same way as
we did with the Laplacian algorithm. Figure 11: Left: the SDG. Right: the RFS-mesh.
results than one of the two techniques only. This was exam- noisy input point set and figure 13 its corresponding RFS-
ined in the field of finite element methods, i.e. for meshes mesh. In figure 14 the RFS-mesh is smoothed. The compu-
in IR2 and tetrahedron meshes in IR3 . We found out that this tation time for the whole smoothing process was about 10
is also valid for surface meshes. The reason is, that smooth- seconds. It can be seen that the RFS-mesh is not a valid sur-
ing techniques do not change the connectivity formed by the face mesh. The smoothed point set of the RFS-mesh is de-
edges and faces (see sect. 2). All examples show that we can picted in figure 15. This smooth point set was taken as input
improve the degree of smoothness if we permit edges to ad- for the surface reconstruction algorithm of Mencl et al. 10 11
just themselves in a new manner. Note, that edge swapping and the result is shown in figure 16.
does not change any vertex position and hence the mesh does
not shrink thereby.