Reconstruction and Interpretation of 3D Whole

advertisement
A Model-Based Procedure for Fitting a Surface to Scans of
Clothed People
Maria Consuelo Ruiz
Bernard Buxton
Department of Computer Science
University College London
Gower Street
London WC1E 6BT
United Kingdom
Tel: ++44 20 7679 7329
Fax: ++44 20 7387 1397
e-mail: {m.ruiz, b.buxton,}@cs.ucl.ac.uk
A Model-Based Procedure for Fitting a Surface to Scans of Clothed People
We present a procedure for reconstructing the surface of 3D scans of clothed people. The
method is model-based and is designed to cope with an un-organised cloud of 3D data points,
which may be noisy, irregularly sampled, and suffer from missing data owing to the scanner
geometry, data pre-processing, and, in particular, creases and folds in the clothing. The
method utilises techniques developed for clothing simulation to deal with the fabric’s
deformation and drape and a procedure based on the principles of robust statistics to fit a
simulated cloth surface to point-cloud data obtained from a whole-body 3D scanner. It
produces results for reconstructing the surface of a lady’s blouse that are both quantitatively a
good fit and visually pleasing with realistic looking creases and folds in the fabric. A number
of experiments were carried out to show convergence of the procedure which is initiated from
a simulation of the garment on a scan of the subject in underwear. Additional experiments
were performed to illustrate how the method copes with missing data, how clothing pieces
may be assembled to produce the whole garment, and to include the effect of gravity on the
garment drape.
Une Procédure à Base de Modèle pour Adapter une Surface à des Scans de
Personnes Habillées
Nous présentons une procedure pour reconstruire la surface d’acquisitions 3D de personnes
habillées. La méthode s’appuie sur un modèle et est élaborée de tell sorte qu’elle puisse
prendre en compte une nuage de points (3D) non-organisés, parfois bruités, échantillonés de
manière irrégulière, avec des données manquantes. Ce dernier point est dû à la géométrie du
scanner, au pré-traitement des données, et en particulier au plis et arêtes des vêtements. La
méthode utilise des techniques développées pour les simulations de vêtements, afin de
pouvoir prendre en compte la déformation des tissus, et une procédure utilisant les principes
des statistiques robustes pour adapter une surface de vêtement simulée á un nuage de points
issu d’un scanner 3D corps-entier. La méthode produit des résultats pour la reconstruction de
la surface d’un chemisier de femme qui sont à la fois bon quantitativement et satisfaisant
visuellement, avec des plis réalistes du tissu. Un certain nombre d’expériences ont été
effectuées pour montrer la convergence de la procédure, initialisée à partir de la simulation
d’un vêtement sur le scan d’un sujet en sous-vêtements. D’autres expériences furent
effectuées pour illustrer de quelle manière la méthode fait face à des données manquantes, de
quelle manière plusieurs habits peuvent être assemblés pour former un ensemble, ainsi que
pour introduire les effets de la gravité dans l’habillage du vêtement.
2
1. Introduction
As a wide range of human whole-body scanners has become available over the past few years
(eg from: Cyberware, Hamamatsu, TC2, TCT International, Wicks and Wilson, Vitronics,
etc), a great deal of research has been carried out on developing techniques for the
description, processing and analysis of the data obtained [see for example, 2-5,14,15,21].
Simultaneously, there has also been a great deal of interest in creating, manipulating and
animating life-like models of human beings, for applications in the entertainment, film,
games, and fashion industries, as well as on the web and in virtual environments [9,16,17].
Such simulations usually necessarily include not only simulation of the human body and its
movement, but also of clothing [1,16,20,24]. In this paper, we exploit the existence of good
models of the properties of fabric, in particular that implemented by Vassilev et al [22] which
is known to produce good simulations of clothing drape, to develop a model-based technique
to fit a surface, corresponding to a particular type of garment, to an unorganised set of 3D
points obtained from a scan of a person wearing an example of such a garment. The results
obtained show that the procedure works well, giving accurate results with a realistic
appearance and capable of reconstructing the creases and folds of fabric drape and of solving
a number of common problems for this type of fitting, such as: presence of high levels of
noise, irregular sampling of the surface, and missing data.
Such effects may also, of course, be present in scans of naked or nearly naked subjects (see
for example [32]), but they are usually less severe than for scans of clothed people. For
example: the colour and texture of clothing can be highly variable and lead to increased noise
in the sensor data; the cut and drape of clothing leads to a less regular surface with the result
that, whatever the scanner geometry, data points will sample the surface less uniformly;
whilst the higher noise level and creasing and folding of the clothing surface mean that data
points are more likely to be missing, either because they are too unreliable and therefore
removed by pre-processing [10,11], or obscured. It is thus difficult to apply methods
developed for reconstructing the skin surface of scans of naked or nearly naked subjects [see
for example 2-5], to scans of clothed people.
Previous work on the fitting of surfaces to 3D whole-body scans have usually been based on
standard surface reconstruction techniques such as triangulation, development of a quad mesh
[2-4], the fitting of spline patches [5,6,28], or on the deformation of a computer graphics
avatar comprised for example of metaballs [33]. Many of these techniques (see for example,
[2-5]) require scanner 3D point data to be pre-processed to segment body parts, such as the
limbs, head and torso, or to organise the data into a regular mesh. However, such preprocessing cannot reliably be carried out for scans of clothed people.
In addition, it is difficult to reconstruct a surface that may be creased and folded. Many
techniques rely on the existence of a smooth underlying surface, for example, either to fit
spline patches [5,6,28] or to allow the introduction of regularisation terms to reduce the effect
of noise. Although it may be possible, for example with conventional image data that can be
treated as a height function of two variables, to detect features and discontinuities (see for
example [34]) and thus to lift these smoothness constraints at such locations, or to carry out
the two processes simultaneously by use of Markov random fields [35,36] or weak constraints
[37], such schemes are more difficult to formulate and implement in 3D. Furthermore, a
surface reconstructed by such techniques would still not behave correctly at creases and folds
where there was self-obscuration.
We thus instead use a fabric model and notions derived from robust statistics [7,13] combined
with a physical force model and geometrical analysis to fit a surface directly to the scanner
data. This model-based approach ensures that the cloth surface is correctly continuous, and
3
behaves in the way expected from the material’s properties at creases and folds or where data
is missing. The only pre-processing operations used are independent of the scanned object,
such as for example, using a threshold to remove unreliable, very low-intensity data points
according to the scanner design [10].
In the following, we commence in section 2 by very briefly reviewing some previous
approaches to surface reconstruction and by showing some examples of human body surface
models obtained from 3D scanner data. Such models are used in simulations of the drape of
garments, in particular, in the calculations of Vassiliev et al [22,38] that are used as the
starting point for our fitting procedure. We then describe our model-based fitting procedure
(section 3), including in particular discussion of the data-fitting force used (section 3.2).
Section 4 contains results illustrating convergence of the procedure, and some additional
experiments in which data points were deliberately removed, a whole garment assembled
from pieces of cloth, and the effects of gravity included. In section 5, we give our conclusions
and discuss, very briefly, areas for future work.
2. Surface Reconstruction Techniques
In general, a range image of an arbitrary object consists of a cloud of 3D points that, because
of the unknown nature of the surface of the object being scanned, does not have any specific
organization or structure, and points correspond to an irregular sampling of the surface.
Several techniques for reconstruction of surfaces from range images have thus been proposed.
Hoppe [12] for example, developed a technique in which very little knowledge about the
original surface is needed. It attempts to infer the surface connectivity by use of a signed
distance function from the data points to tangent planes, which are local, linear
approximations to the underlying real surface, estimated from neighboring points. In order to
obtain a good approximation to the topology and topography of the object’s surface, a fairly
uniform sampling density on the surface is required and noise levels need to be known quite
accurately. Although the shape of the human body is not arbitrary and subjects are usually
scanned in a standard pose [32], the technique does not work well on body scan data such as
that obtained in our work from the Hamamatsu Body Lines scanner [10,11]. In such scans, the
data density varies considerably over the body area, so that, for example, the density is lower
on the neck than on the chest and legs, and there may be very little data available on the inside
of the arms and between the legs, in particular close to the armpits and crotch where the body
is self occluding.
A rather different technique, based on the use of the medial axis transform, Voronoi diagrams
and Delaunay triangulation, has been proposed by Amenta et al [26], and they have shown
that an accurate reconstruction can be obtained from a set of unorganized vertices as long as
there is a “good sampling” of the surface of the object and, in particular, a dense sampling and
low noise levels where there are small features. Though these are obviously reasonable
restrictions in principle, in practice, even when scanning a well-known object such as the
human body, these conditions are not met and, given the wide variation of human body sizes
and shapes, it would seem impractical to develop a scanner capable of doing so. In addition,
the medial axis transform of a whole human body scan is complicated and sensitive to noise.
Nevertheless, much use can be made of the general shape of the normal, healthy human
subject, especially when scanned in a standard pose or stance, as in the work of Dekker et al
[2-4]. In this case, methods based on known aspects of human anthropometry are used to
detect key landmark points on the body and an interpolation procedure is used to turn the
unorganized cloud of 3D points into a regular mesh from which a surface may be created by
triangulation, meshing or by using polynomial spline curves. For example, Douros [5,6] used
4
such techniques to obtain a regular mesh to which B-spline surface patches were finally fitted.
Examples of these are shown in Figure 1, reproduced from Dekker et al [32].
(a)
(b)
(c)
(d)
Figure 1. Surface reconstruction using various geometrical primitives: a) Initial cleaned point
cloud, b) Points interpolated and rearranged with their connectivity established so as to form a
wireframe mesh, c) a set of smooth contour curves used to define the boundaries of smooth Bspline surface patches, d) the final smooth surface composed of B-spline patches.
These techniques have two main characteristics. First, there is prior knowledge of the surface
to be reconstructed, in this case, a typical, healthy human body. A number of assumptions can
therefore be made that make segmentation of the torso and limbs, for example, easy and
reliable and therefore lead to a successful surface reconstruction. Second, the reconstruction is
carried out after several pre-processing steps have been performed on the raw data, which lead
to loss of noisy data, missing data in areas of difficult geometry, and the possibility of
unwanted artifacts where data is sparse. Although, the results can, as illustrated in figure 1, be
visually pleasing, issues such as unnecessary smoothing of the surface, completeness of the
surface, and reconstruction of the surface in areas of missing data need to be further
addressed.
3. Model-based surface fitting
We first follow the traditional formulation for fitting surfaces to noisy data by means of
minimising a fitting functional or energy, E , composed of two terms:

min E  E data  E model

.
(1)
The first term expresses the closeness of fit of the model to the data and is usually represented
by a least squares term derived from the distance of model point x(m) in 3-space1 from its
corresponding data point x(i ) . If the weight, or confidence of the i th data point is w(i ) , the
data energy is, on summing over all the corresponding model and data points, m  i :
E data  1
N
2 m
i
w(i )x(m)  x(i )
2
.
(2)
It is well known that such least squares approximations are efficient, but very sensitive to the
presence of outliers in the data, and it is for exactly this reason that pre-processing steps are
often carried out to clean the data by removing such points. Removal of data points in this
1
That is, x (m) denotes a position vector describing the location of model node
5
m in ordinary, Euclidean space.
way is formally equivalent to setting their weight w(i ) to zero. It can only strictly be carried
out if the data point is not part of the model since, if the one-to-one correspondence between
model and data points is to be preserved, points removed in this way from the data also have
to be removed from the model. Alternatively, a soft weighting factor can be used which
reduces the effect of an erroneous point and allows it to remain part of the model. It is
important that the confidence used in such a thresholding or down-weighting procedure is
derived solely from the data, independently of the model to be fitted. Down-weighting of
points which it turns out do not agree well with the model is better accommodated by use of a
2
robust statistic [7,13] that reduces the influence of the term x(m)  x(i ) at large values of
x(m)  x(i) by replacing the x 2 function in (2) by a function  (x) that increases less rapidly
at large x . A variety of such functions have been suggested in the literature; see for example
Huber [13] and Geman and Belhumeur [7] for examples based on statistical considerations.
We shall return, in section 3.2 to choice of a function well-suited to our fitting problem, in
particular one that allows us to relax the constraint that there should be a one-to-one
correspondence between model and data points, after consideration of the second, model term
in (1).
The traditional approach for the model energy is to use a regularization term that balances
accurate fitting to the data with, for example, smoothness of the surface, but such measures
are not appropriate here as, for fitting a clothing surface, we specifically want to allow the
surface to fold and crease. As noted in section 1, more sophisticated models such as Markov
random fields with hidden variables [35] and weak constraint methods [37] could enable us to
allow the surface to be discontinuous or to have a discontinuous gradient. However, in order
to preserve the required topological equivalence of all three cartesian co-ordinates, such
models would be complicated2 and still fail to address the other issues of importance here, in
particular that we should obtain a continuous surface capable of folding and creasing like real
cloth. Since they are available, the obvious solution is to use one of the models developed for
realistic clothing simulation [20,24,25]. The essential ingredients of the model we used, that
developed by Vassilev [22,38] are described next.
3.1
The Cloth Model
The locations of the model points used in our fitting procedure are thus constrained by forces
that have been used to model cloth properties. In addition, since energy minimisation
problems such as (1) usually have to be solved iteratively it is convenient to adopt the
complete dynamics of such simulations via the appropriate Newtonian equations of motion
and to introduce the data fitting via a set of “data-fitting forces” or “data forces” for short.
In the cloth and garment simulations, the cloth surface is represented by a quad mesh, where
each node m  1...M of the mesh model has a mass3  with a position x(m) , velocity x (m) ,
and acceleration x(m) at time t whose motion is governed by Newton’s law of dynamics:
x(m)  x (m)  F (m)
,
(3)
2
Formulating a smoothness measure, for example, from the trace of the square of the curvature tensor over the
surface, that has the required topological invariance, is easy, but the equations that have to be solved in
implementing the resulting model are complicated.
3
We shall treat all model nodes, springs etc as equivalent. It is easy however to relax this constraint, provided
that care is taken appropriately to adjust the Euler time step used in numerical solution of Newton’s equations of
motion. See [22] for details.
6
in which we have included a damping term proportional to the velocity. In clothing
simulations, such terms may be used to mimic the effects of air resistance. Here, they are
particularly useful to ensure that, in principle, our garment evolves to an equilibrium position
at rest in which the total force F (m) on each node is zero. In general, the total force F (m) on
each node is comprised of three components
F (m)  F model (m)  F data (m)  F ext (m)
,
(4)
where:
(i)
F model (m) is the net force on node m of the cloth model due to other nodes n in the
model;
(ii)
F data (m) is the net force on node m of the cloth model due to the data;
(iii)
F ext (m) represents any external forces that may be acting on the cloth.
External forces are usually used to allow for the effects of gravity and may also be used to
take account of frictional forces between layers of clothing and between clothing and the skin
or, more simply, to anchor a garment to the body at important drape points [22]. Since our
garments will be anchored to the body by the data fitting forces which are much stronger than
gravity, and since we are not interested in movement of the cloth, we shall, for the most part,
ignore the external forces in what follows (but see section 4.2).
The important term in the cloth model for our fitting procedure is the force F model (m) which
is characteristic of the material from which the garment has been made. These internal forces
are simulated by an arrangement of non-linear, massless springs that connect the masses in
three different ways as illustrated in Figure 2, each simulating a different fabric property.
Structural
Shear
Bend
Figure 2. Spring arrangement in the cloth model.
The structural springs maintain the integrity of the cloth by constraining it under tension or
compression and preventing tearing. These springs are strongly non-linear, it being relatively
easy, for example, to stretch the material against the bending moduli of the threads until the
threads are straight and taught, at which point the much higher elastic moduli of the threads
become important. This may be approximately modelled as a cut-off beyond which the
material will not stretch without tearing. Similarly, since cloth behaves differently along the
warp and weft directions, these springs are anisotropic and, finally since cloth behaves
differently under compression than it does under tension, the springs are directional and, in
particular, have no limit on the extent to which they can be compressed. The shear springs
connect nodes diagonally across the quad mesh and reflect the way the shear resistance of the
cloth depends on the twisting of the interwoven threads one over the other. These are also in
general non-linear and anisotropic. Finally, the springs connecting nodes to next nearest
neighbours in the warp and weft directions are used to model the cloth’s resistance to
bending. These springs obey a linear Hooke’s Law.
The properties of threads and fabrics have themselves been studied and measured, and we are
fortunate to be able to use a model in which the spring elasticity laws and parameters are
7
consistent, within the above approximations, with the properties of the cloth material as
determined by experimental work at DeMontford University [31].
Since only one spring connects any two nodes in the model, the internal model forces are thus
calculated from:










x(m)  x(n) 
F mod el (m)   k (m, n) x(m)  x(n) l (0)

n
x(m)  x(n) 
,
(5)
where, x(m) and x (n) , are the positions of nodes m and n , x(m)  x(n) is the vector from node
n to m , l (0) is the natural length of the spring that joins m and n , and k (m, n) its stiffness.
The linear law, (5) is, as mentioned above, applied only up to a maximum extension of about
15-20%.
For further details of this clothing model, see [22,38]. These also describe the method used to
solve the Netwonian equations of motion by an Euler integration procedure which, when
applied to each of the co-ordinate axes in turn, turns out to be more efficient than RungeKutta methods and, if care is taken with the non-linearities and, if present, any
inhomogeneities, appears to be stable provided a sufficiently small time step is used. This
model has been shown [22,32] (and see Figure 3(a)) to generate realistic cloth simulations and
to be able to simulate the drape of garments on a scanned body model of a naked or nearly
naked person. As described further below, this model is used in exactly the same way to
initialize our fitting procedure. It is also used, as indicated at the beginning of this section, as
the dynamical model from whose final, equilibrium state; we obtain the fit of the clothing
model to our scanner data. For this last calculation, we need now to specify the data
force, F data (m) , that defines how a 3D scan of the clothed person is used in the fitting.
3.2
The Data-Fitting Force
As indicated at the beginning of section 3, we replace the squared term in the data energy by a
function  (x) that increases less rapidly at large x . The force between model node m and
data point i obtained from the gradient of the energy with respect to x(m) ,
E data 
 w(i) x(m)  x(i) 
,
(6)
,
(7)
m i
is thus
F data (m)   m E data  w(i) x(m)  x(i) xˆ(m, i)
where  (x ) denotes the derivative of the function  (x) with respect to its argument, x , and
xˆ (m, i) is the unit vector,to
xˆ(m, i)  x(m)  x(i) x(m)  x(i)
.
(8)
Since, in equilibrium, the fitting and model forces balance, it is important to choose a
function  (x) that generates a data force (7) that, via the influence function  (x ) , has the
appropriate properties. A number of possible influence functions are listed in table 1 below. In
particular, since, in the absence of outliers, a least-squares error metric is efficient, the force
F data (m) should be proportional to x(m)  x(i ) whenever a model point is close to a data
point and x(m)  x(i) is small. All the models derived from the functions listed in table 1
below behave in this manner, but they differ in their behavior at large distances. Some, like
the force derived from a smooth Huber norm, tend to a constant (first row) and, like those
derived from the Geman-McClure norm (second row) and from the Lorentz norm (third row)
8
which decay slowly at large distance, may be regarded as long-ranged, whilst others, like
those derived from an exponential function (fourth row) and a Gaussian (fifth row), may be
regarded as short-ranged. The final two rows, derived from second and third order piecewise
continuous polynomials respectively, as described below, are finite ranged.
To see what behavior is appropriate at large distances, we note that, when fitting a model to a
scan of a clothed person, we do not know which data point corresponds to which model node.
In fact, since the clothing model and scanner data will usually be at different resolutions and
the latter is sampled at varying densities on different parts of the surface, it is impossible to
establish such a one-to-one correspondence. One way to proceed which overcomes this
difficulty, is to allow each model node to interact with every data point in its vicinity:
E data   w(i )  x(m)  x(i ) 
,
(9)
F data (m)   w(i )  x(m)  x(i ) xˆ (m, i )
,
(10)
M
N
m 1 i 1
M
=>
i 1
but to ensure that this interaction falls to zero over a distance comparable to the spacing of the
nodes in the cloth model. This strongly suggests that we use one of the short or finite ranged
models in the last four rows of table 1.
Name
smooth Huber
Geman-McClure
Lorentz
(Cauchy)
exponential
Gaussian
spline
Influence function
 ( x) 
ax
Surface force
long
infinite
(divergent)
long
infinite
(divergent)
a2  x2
a2x
 ( x)  2
a  x2
 ( x) 
Range
long
a4x
(a 2  x 2 ) 2
1
 ( x)  sech( bx) tanh( bx)
b
 ( x)  xeb
short

short
2 2
x /2
 ( x)  x( x m  x) x m
finite
x , z  xm
smooth spline

 ( x)  x( x m  x) 2 x m2
finite
x , z  xm


z
3x m

a 4 z

2 a2  z2
z
b2

sec h(bz )
2 b 2 z 2 / 2
ze
b2
( x m  2 z )( x m  z ) 2
z
6 x m2
( x m  3z )( x m  z ) 3
Table 1. Influence functions, force type and resulting force from a flat surface sampled at
density  .
In fact, the long-ranged models can immediately be ruled out since, if we have a large number
of scanned data points uniformly sampled with density  , say, on a plane at z  0 , the force
on each model point becomes infinite. The Lorentz model leads to a long-range force
attracting each model point to the plane, which, as shown in the last column of table 1, is of
similar form to the force between the model and data points. It too can be ruled out. The
9
exponential and Gaussian models lead to short ranged forces attracting the model point to
such a plane, whilst the two polynomial models lead to finite ranged forces that vanish
beyond a distance x m . In principle, we could thus use any of the last four models for the datafitting force. Since, in practice, it is computationally much simpler to use a fitting-force that is
finite ranged and strictly vanishes beyond a distance x m the polynomial forces are preferred.
We thus used the smooth spline force model as it vanishes smoothly at x  x m whilst the
corresponding surface force vanishes very smoothly (ie, as a cubic factor) at the limit of its
range, which is also x m .
The influence function for the smooth spline force is sketched in Figure 2 below. As noted
above, we chose its range xm  D, the distance between neighboring model nodes, so as to
ensure that there is little or no overlap in the sets of data points influencing the position of
each model node, and that each data point affects a model point, ie. that there is an
approximate many to one correspondence of data points to model nodes.
 (x )
xm/3
xm
x
Figure 3. Sketch of the influence function for the smooth spline data force.
4. Fitting to a scan of a clothed person
A female subject was scanned in underwear and then, in the same pose, wearing a blouse. The
shape and design of the blouse was modelled on a CAD system and fitting initialised by using
the system developed by Vassilev [22,38] to simulate the blouse on the unclothed subject. The
cloth was constructed as a quad mesh with 700 model points set a distance of (on average)
24.6 mm in the horizontal direction and 26.4 mm in the vertical direction. The scan of the
clothed subject was segmented by hand to approximately delineate the blouse so that points
on other garments or parts of the body would not interfere with the fitting. Finally, the
range, x m of the data-fitting force was taken to be the diagonal distance between model points,
approximately 36.0 mm.
4.1
Convergence
The initial clothing simulation [22] brings the garment to within a few cm of the body,
ensuring that the blouse model nodes are close enough to the data points from the clothed
scan for the attractive fitting force to be effective. The appearance of the simulated blouse is
shown in Figure 4(a). At this stage, 73% of the 700 garment nodes were within distance x m of
a data point as indicated by the histogram above the simulation in Figure 4(a). Snapshots of
the fitting procedure are shown in Figure 4(b-f), together with histograms of the distance of
each data point from its closest model node. The attractive data-fitting force pulls the model
to the data points, usually commencing at the sides (Figure 4(b)) and progressively pulling
more of the garment to the data points (Figures 4(c) & (d)) until, after 80 iterations,
integration may be stopped as almost all the data points have a model point closer than the
distance of around 13.0 mm at which the data fitting force is a maximum. After 80 iterations
there is very little further change as shown in Figure 5.
10
10 Iterations
0
100
200
300
400
20
60
15
10
5
0
100
200
20
10
400
500
0
600
100
300
400
500
600
72% of model points within force range
(c)
400
distance mm x 10 -1
99% of model points within force range
80 Iterations
40
Number of poi nts
30
25
20
15
10
5
0
300
200
distance mm x 10 -1
60 Iterations
Number o f p oin ts
Number of poi nts
30
(b)
40 Iterations
(d)
300
78% of model points within force range
(a)
200
40
distance mm x 10 -1
73% of model points within force range
100
50
0
0
500
Distance mm x 10 -1
0
20 Iterations
Number of points
Number of points
Number of model points
Initial State
10
9
8
7
6
5
4
3
2
1
0
30
20
10
0
0
50
100
150
distance mm x 10-1
100% of model points within force range
(e)
35
30
25
20
15
10
5
0
0
50
100
150
200
distance mm x 10-1
100% of model points within force range
(f)
Figure 4. Stages in the fitting procedure. (a) initial simulation, (b)-(f) after 10, 20, 40 60 and 80
iterations respectively.
As can be seen from Figure 4, creases and folds are created in the cloth as model nodes are
progressively attracted to the data points. This is particularly noticeable at the sides of the
blouse and under the armpits as shown in Figure 6. The cloth is also folded down the centre of
the blouse where, in the real garment, there was a row of buttons. There is a higher density of
scanned points in the vicinity of the buttons and the scanned surface is uneven. Both effects
tend to cause the cloth to fold and crumple and, in addition, the fitting force has pulled excess
cloth into this area.
11
s
100% model points within the force range
Figure 5. Fitted blouse after 100 iterations.
4.2
Experiments
In order to see how the procedure copes with missing data, we deliberately removed data
points from a strip down the centre of the scan, between the vertical lines in Figure 6(a). The
model interpolates across the area of missing data, but the cloth is crumpled because, as noted
above, there is again excess material in this region.
(a)
(b)
(c)
(d)
Figure 6. Effect of deliberately removing data points (a). Details from the fitted blouse of Figure
5 to show creases near the armpits (b) and a fold (c), and crumpling down the front (d) where
the real garment had buttons.
(a)
(b)
(c)
(d)
Figure 7. Results obtained when the front of the garment (a) was joined to the back (b) along
the seams down the sides, and a similar experiment in which the effect of gravity was also
included (c) and (d).
In a second experiment, we used two pieces of material, joined along seams down the side, to
model the whole blouse as in [22]. The results are shown in Figure 7 (a) and (b). Again there
12
are realistic folds and creases under the armpits. Finally, we included the effect of gravity on
the drape via an appropriate external force in (4). The results are shown in Figure 7 (c) and
(d). They are very similar to Figures 7 (a) and (b) because gravity is very weak in comparison
to the data-fitting force.
5. Conclusions and Further Work
A model-based procedure for fitting a surface to scans of clothed people has been developed
by utilising an existing model for clothing simulation in combination with a finite-ranged,
attractive force for the data-fitting. Experiments on several scans indicate that the modelbased fitting procedure is quite robust, and that it allows the surface to deform, crease and
fold where necessary. The resulting garment, fitted to the scan data thus has a very realistic
appearance. In addition, it was shown that the model can interpolate over areas where data is
sparse or missing, that a whole garment surface could be fitted by joining pieces of cloth at
seams and, since it is weak in comparison to the fitting force, that gravity has little effect on
the appearance.
The success of this work suggests that, if a suitable skin or flesh model were available, similar
techniques could be very effective in reconstructing the skin surface of scans of naked or
nearly naked subjects.
6. References
[1]
D. Baraff and A. Witkin. “Large Steps in Cloth Simulation”. Computer Graphics Proceedings, Annual
Conference Series: 43-54, SIGGRAPH 1998.
[2]
Dekker L, Khan S, West E, Buxton B, Treleaven P, “Models for Understanding the 3D Human Body
Form”, IEEE International Workshop on Model-Based 3D Image Analysis, IEEE, 1998.
[3]
Dekker L., “3D Human Body Modelling from Range Data”, Thesis for a degree of Doctor of
Philosophy in Computer Science at UCL, 2000.
[4]
Dekker L., Douros, B.F. Buxton, Treleaven P, “Bulding Symbolic Information for 3D Human Body
Modelling from Range Data”, 1999.
[5]
Douros I., “B-Spline surface reconstruction of the human body from 3D scanner data”, Master Research
in CVIPGS at UCL, 1998.
[6]
Douros I, L. Dekker, B.F. Buxton, “An improved Algorithm for reconstruction of the surface of the
Human Body from 3D Scanner data using local B-Spline patches”, Proceedings of the Second International
Conference on 3D Digital Imagining and Modelling, IEEE Computer Society, 1999
[7]
Geman G, Belhumeur P, “Statistical methods for tomographic image reconstruction”, Bull. Int. Statis.
Inst, 1987.
[8]
Hilton A, Stoddart A, Illingworth J, and Windeatt T, "Implicit surface-based geometric fusion",
Computer Vision and Image Understanding, Vol. 69, pp 273-291, 1998.
[9]
Hilton A. ”Towards Model-Based Capture of Persons Shape, Appearance and Motion”, Centre for
Vision, speech and Signal Processing, University of Surrey, UK, IEEE International Workshop on Modeling
People, Greece, 1999.
[10]
Horiguchi C, “BL ( Body Line) Scanner”, International Archives of Photogrammetry and Remote
Sensing, Vol XXXII, Part 5, Hakodate 1998.
[11]
Horiguchi C, "Sensors that Detect Shape", J. Adv. AutomationTechnology Vol. 7 No. 3, 1995, pp. 210216.
[12]
Hoppe H, DeRose T, Duchamp T, McDonald J, Stuetzle W,”Surface Reconstruction from Unorganised
Points”, SIGGRAPH ’92,.
[13]
Huber P, “Robust statics”, John Wiley and Sons, 1981.
[14]
Li P, and Jones P, "Anthropometry-Based Surface Modelling of the Human Torso", Computers in
Engineering, Amer. Soc. Mech. Eng., Minneapolis, 1994, pp. 469-474.
[15]
Li P, Corner B.D., Paquette S.,” Extracting surface area coverage by superimposing 3D scan data”,
GEO-Centers, Inc., Newton, U.S. Army Natick Research, Development & Engineering Center, Natick, Three
Dimensional Image Capture and Applications, Proceedings of Spie, San Jose California, 1999.
13
[16]
Magnenat Thalmann N, Yang Y, Thalman D, “The problematic of Cloth Modelling and Animation”,
Proceeding of the 2nd Conference on CAD on Computer Graphics”, International Academic Publishers, 1998.
[17]
Magnenat Thalmannn N, Carion S, Courchesne M., Volino P., Yin w., “ Virtual Clothes, Hair, and
Skin for Beautifil Top Models”, MIRALab, University of Geneva, 1998.
[18]
Volino P, Courchesne M, and Magnenat Thalmann, N, "Versatile and efficient techniques for
simulating cloth and other deformable objects", Computer Graphics (SIGGRAPH), annual Conference Series,
1995, pp137-144.
[19]
Terzopoulos D, J. Platt, A.Barr and K. Fleischer, “Elastically Deformable Models”, Computer
Graphics Procedures SIGGRAPH, Vol.21 No. 4, 1987..
[20]
Provot X, “Deformation Constraints in a Mass-Spring Model to Describe Rigid Cloth Behavior”,
Institut National de Recherche en Informatique et Automatique (INRIA)
[21]
Pargas Roy, Chhatriwala M., Mulfinger D. Deshmukh P_, Vadhiyar S, “Generating animated sequences
from 3D whole body scans”, Department of Computer Science, Clemson University, Three Dimensional Image
Capture and Applications, Proceedings of Spie, San Jose California, 1999.
[22]
Vassilev, T., Spanlang, B., Chrysanthou,Y, “Efficient Cloth Model and Collision Detection for
Dressing Virtual People”, (in CD proc. GeTech Hong Kong), January 2001.
[23]
Stoddart AJ, Hilton A, Illingworth J, “Slime A new deformable surface”, Proceedings of the British
Machine Vision Conference BMVA Press, 1994.
[24]
Ng HN, Grimsdale RL, “Computer Graphics Techniques for Modelling Cloth”, IEEE Computer
Graphics and Applications, Vol. 16 No. 5, 1996.
[25]
Tsopelas N, “Modelling Thin-Walled Objects in Computer Graphics and Animation”, thesis for the
degree of Doctor of Philosophy in Computer Science at Queen Mary and Westfield College, 1993.
[26]
Amenta N, Bern M, Kamvselis M, “ A new Voronoi-Based Surface Reconstruction Algorithm”,
SIGGRAPH ’98, ACM, 1998.
[27]
Daanen HAM, Van de Water GJ, “Whole body scanner”, Displays, Vol 19. Elsevier Science 1998.
[28]
West, E, "B-spline surface skinning for body scanner data", MRes Thesis, Department of Computer
Science, University College London, September 1997.
[29]
Ray Harwood, DeMontford University, private communication, May 2000.
[30]
Nurre JH, “Locating Landmarks on Human Body Scan Data”, International Conference on Recent
Advances in 3D Digital Imaging and Modeling, IEEE, 1997, pp. 289-295.
[31]
Floater S. Michael, “MeshLess Parametrization and B-Spline Surface Approximation”. Proceedings of
the Ninth IMA Conference on the Mathematics of Surfaces. The Mathematics of Surfaces IX, Cambridge, June
2000.
[32]
Csakany P, Wallace M, “Computation of Local Differential Parameters on Irregular Meshes”,
Proceedings of the Ninth IMA Conference on the Mathematics of Surfaces. The Mathematics of Surfaces IX,
Cambridge, June 2000
[32]
Laura Dekker, Bernard Buxton, Ioannis Douros, Tsvetomir Vassilev, “Reconstruction and
Interpretation of 3D Whole Body Surface Images”, Numerisation 3D Scanning 2000 Conference Proceedings.
April 2000.
[33]
N.Thalmann,, P Kalra, “The Simulation of a Virtual TV Presenter”, PG95,Geneva, Switzerland, 1995.
[34]
Canny J F. “A Computational Approach to Edge Detection”, IEEE Transactions on Pattern Analysis
and Machine Intelligence, Vol PAMI-8, No.6, Nov, 1986.
[35]
J E Besag, “Spatial interaction and the statistics of lattice systems”, Journal of the Royal Statistical
Society, series B, 192-236, 1974.
[36]
S Geman and D Geman, “Stochastic relaxation, Gibbs distributions and the Bayesian restoration of
images”, IEEE PAMI 6, 721-741, 1984. Reprinted in Advances in Applied Statistics, 20(5/6), Statistics and
Images: 1, edited by K V Mardia and G K Kanji, pp 25-62, 1993.
[37]
Blake, A, and Zisserman, A, “Visual Reconstruction”, MIT Press, Cambridge, 1987.
[38]
Vassilev T, “Dressing Virtual People”, SCI'2000 Conference, Orlando, July 23-26, 2000.
14
Download