Graphics Reference
In-Depth Information
Figure 4.6 Model Fitting. Four face instances S comp , are constructed during the model-fitting process
each with the focus on a smaller subset of vertices. The composition of these components provides an
accurate fit. Copyright C
2009, IEEE
Because components can overlap more than several millimeters, Laplacian smoothing of
the vertices at the borders would not suffice. The selection of a larger region of triangles
and vertices to smooth causes a non statistical shape deformation and local features may not
be preserved. In particular, the places were three or more components overlap, it is hard to
regularize the vertex positions using smoothing techniques. Surface stitching techniques as
by Turk and Levoy (1994) could be applied to stitch the components, but this would distort
the point-to-point correspondences. Mesh fairing using Gaussian curvatures, as done by Zhao
and Xu (2006) for instance, could smooth some of the border triangles properly. However,
these techniques focus on the preservation of sharp features, whereas we want to remove sharp
creases caused by overlapping components.
To repair the discontinuities at the borders, we have developed an algorithm that uses the
vertex positions of the intermediate face instances S comp , local neighborhood properties and the
PCAmodel. Because all instances S comp were acquired with the same PCAmodel, their vertices
are all in full correspondence. In case two connected vertices cause a discontinuity in S fine , one
can assume that moving each vertex toward the center of mass of its adjacent vertices (as in
Laplacian smoothing) slightly improves on the situation. However, propagating this smoothing
locally causes the border discontinuities to attract well positioned vertices instead of solving
the discontinuity. Propagating such smoothing globally, changes the statistical shape of the
face (Fig. 4.8 h ). Instead, we morph each vertex S fine [ v i ] toward its c corresponding positions
S comp [ v i ]. For that we need to (1) detect the local distortions, (2) know which components lie
close to which vertices, (3) have for each vertex a weight for each close by component, and
(4) recompute the vertex positions.
First, to detect the local distortion, we determine for each vertex S fine [ v i ] its maximum
displacement error to one of its c corresponding positions S comp [ v i ], using
mde[ v i ]
=
c comp ( e ( S fine [ v i ]
max
,
S c [ v i ]))
,
where e ( p
q ) is the Euclidean distance between two 3D coordinates p and q . When a vertex
has approximately the same 3D position in all face instances S comp , its displacement error is
small. In that case, we have consensus on its position and thus less need for a repositioning.
Second, close by vertices are selected ( S fine [ v j ]) using a sphere of radius r [ v i ] around S fine [ v i ],
where radius r [ v i ] equals the displacement error times three, r [ v i ]
,
mde[ v i ]. For a vertex
S fine [ v i ] on a component border, this set of close-by vertices include vertices from different
=
3
·
Search WWH ::




Custom Search