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) xeb 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