Physically Based Tracking of Cloth · logically independent blocks. Their interrelation-ship is...

9
Physically Based Tracking of Cloth Nils Hasler * , Mark Asbach + , Bodo Rosenhahn * , Jens-Rainer Ohm + , Hans-Peter Seidel * * Max-Planck-Institut f ¨ ur Informatik Department 4: Computer Graphics Stuhlsatzenhausenweg 85, 66123 Saarbr ¨ ucken, Germany Email: {hasler,rosenhahn,hpseidel}@mpi-inf.mpg.de + Chair and Institute of Communications Engineering of RWTH Aachen 52056 Aachen, Germany Email: {asbach,ohm}@ient.rwth-aachen.de Abstract In this work a method for tracking fabrics in videos is proposed which, unlike most other cloth tracking algorithms, employs an analysis-by-synthesis ap- proach. That is tracking consists of optimising a set of parameters of a mass-spring model that is used to simulate the textile, defining on the one hand the fabric properties and on the other the positions of a limited number of constrained points of the simu- lated cloth. To improve the tracking accuracy and to overcome the inherently chaotic behaviour of the real fabric several methods to track features on the cloth’s surface and the best way to influence the simulation are evaluated. 1 Introduction Due to its applicability in the film industry, and more recently in computer games, cloth simulation has become an important subject of research. Most of the proposed systems, however, focus on produc- ing believable animations, rather than realistic sim- ulations. For tracking of textiles, however, the cloth simulation should be as realistic as possible. Yet, in this work the possibility of tracking fabrics by synthesising an observed scene with a mass-spring simulation is demonstrated. Unfortunately, it was found that, as a result of the inherently instable be- haviour of cloth, it was necessary to introduce non- physical forces to bias the simulation towards fol- lowing the observed behaviour. The general approach to synthesising a scene can be split into three steps. First silhouettes are * We gratefully acknowledge funding by the Max-Planck Cen- ter for Visual Computing and Communication. extracted and features on the cloth’s surface are tracked. An optimisation algorithm then adjusts cloth properties and the positions of constrained points of the fabric to fit the simulation to the ob- served silhouettes and tracked features. A configu- ration is evaluated by simulating the configuration and using the difference between captured and sim- ulated silhouettes as the error function. Section 2 continues by summarising the state of the art in cloth tracking and the developments of the cloth simulation literature. Section 3 outlines the contributions presented in this work. Section 4 con- trasts several tracking procedures. The employed optimisation strategy is detailed in section 5 and a summary is given in section 6. 2 Previous Work Despite strong interest has been shown in cloth sim- ulation on the one hand and cloth tracking and in reconstruction on the other only little effort has been put into combining the efforts by employing analysis-by-synthesis approaches to cloth tracking. One algorithm was presented by Jojic and Huang [8] which estimates the hidden points a cloth is resting on. They do require 3D-range data of the real cloth to achieve this goal and the two-phased nature of their algorithm restricts its application to static situations only. An analysis-by-synthesis approach was also em- ployed by Bhat et al. [2] but their goal was funda- mentally different. Instead of detecting the drape of the fabric they attempted to extract the static and dynamic fabric parameters from video images. A simulated annealing optimiser was used to demon- strate that a wide variety of cloth types could be re-

Transcript of Physically Based Tracking of Cloth · logically independent blocks. Their interrelation-ship is...

Page 1: Physically Based Tracking of Cloth · logically independent blocks. Their interrelation-ship is summarised in gure 1. An optimisation. module attempts to t a simulated piece of fabric

Physically Based Tracking of Cloth

Nils Hasler∗, Mark Asbach+, Bodo Rosenhahn∗, Jens-Rainer Ohm+, Hans-Peter Seidel∗

∗Max-Planck-Institut fur InformatikDepartment 4: Computer Graphics

Stuhlsatzenhausenweg 85, 66123 Saarbrucken, GermanyEmail: {hasler,rosenhahn,hpseidel}@mpi-inf.mpg.de

+Chair and Institute of Communications Engineering of RWTH Aachen52056 Aachen, Germany

Email: {asbach,ohm}@ient.rwth-aachen.de

Abstract

In this work a method for tracking fabrics in videosis proposed which, unlike most other cloth trackingalgorithms, employs an analysis-by-synthesis ap-proach. That is tracking consists of optimising a setof parameters of a mass-spring model that is usedto simulate the textile, defining on the one hand thefabric properties and on the other the positions of alimited number of constrained points of the simu-lated cloth. To improve the tracking accuracy andto overcome the inherently chaotic behaviour of thereal fabric several methods to track features on thecloth’s surface and the best way to influence thesimulation are evaluated.

1 Introduction

Due to its applicability in the film industry, andmore recently in computer games, cloth simulationhas become an important subject of research. Mostof the proposed systems, however, focus on produc-ing believable animations, rather than realistic sim-ulations. For tracking of textiles, however, the clothsimulation should be as realistic as possible. Yet,in this work the possibility of tracking fabrics bysynthesising an observed scene with a mass-springsimulation is demonstrated. Unfortunately, it wasfound that, as a result of the inherently instable be-haviour of cloth, it was necessary to introduce non-physical forces to bias the simulation towards fol-lowing the observed behaviour.

The general approach to synthesising a scenecan be split into three steps. First silhouettes are

∗We gratefully acknowledge funding by the Max-Planck Cen-ter for Visual Computing and Communication.

extracted and features on the cloth’s surface aretracked. An optimisation algorithm then adjustscloth properties and the positions of constrainedpoints of the fabric to fit the simulation to the ob-served silhouettes and tracked features. A configu-ration is evaluated by simulating the configurationand using the difference between captured and sim-ulated silhouettes as the error function.

Section 2 continues by summarising the state ofthe art in cloth tracking and the developments of thecloth simulation literature. Section 3 outlines thecontributions presented in this work. Section 4 con-trasts several tracking procedures. The employedoptimisation strategy is detailed in section 5 and asummary is given in section 6.

2 Previous Work

Despite strong interest has been shown in cloth sim-ulation on the one hand and cloth tracking and inreconstruction on the other only little effort hasbeen put into combining the efforts by employinganalysis-by-synthesis approaches to cloth tracking.

One algorithm was presented by Jojic andHuang [8] which estimates the hidden points a clothis resting on. They do require 3D-range data of thereal cloth to achieve this goal and the two-phasednature of their algorithm restricts its application tostatic situations only.

An analysis-by-synthesis approach was also em-ployed by Bhat et al. [2] but their goal was funda-mentally different. Instead of detecting the drapeof the fabric they attempted to extract the static anddynamic fabric parameters from video images. Asimulated annealing optimiser was used to demon-strate that a wide variety of cloth types could be re-

Page 2: Physically Based Tracking of Cloth · logically independent blocks. Their interrelation-ship is summarised in gure 1. An optimisation. module attempts to t a simulated piece of fabric

constructed. Their research, however, lacks verifi-cation with a mechanical cloth property extractionmethod such as the Kawabata Evaluation System(KES) [10]. The method has also been criticised be-cause it is apparently unable to accurately estimatethe bend resistance parameter [17].

Other cloth tracking and reconstruction ap-proaches do not make use of a cloth simulationto guide the reconstruction. The algorithm byPritchard and Heidrich [17] can be divided intothree stages. First, stereo correspondence is usedto reconstruct most of the textured cloth. Secondly,holes are interpolated and Lowe’s SIFT descrip-tor [12] is employed to map points on the world-space cloth to points on the two dimensional refer-ence cloth. Identified points are then connected by aseed-and-grow algorithm, rejecting spurious pointsin the process.

Several other algorithms to recover the three di-mensional layout of a cloth were published. Scholzand Magnor [18] presented one approach that usedoptical flow to calculate the three dimensional sceneflow. Holes in the model are not interpolated as inPritchard’s approach. Instead a deformable clothmodel is matched to the surface, minimising thedeformation energy of the patch. Drift is coun-tered by constraining the edge of the simulationto the silhouette of the real cloth. Unfortunately,their algorithm was only demonstrated on syntheticdata. Their work was continued with a publica-tion on tracking cloth marked with a pseudo randomcoloured dots pattern [19]. The proposed algorithmdetects coloured ellipses using colour and bright-ness information and identifies the exact position onthe cloth by examining their local neighbourhood.The identified locations are connected in a way sim-ilar to Pritchard’s approach. Three dimensional co-ordinates are reconstructed by using a multi-camerasetup. As a last step holes are filled by meansof a thin-plate spline interpolation technique. Re-cently, an extension to the approach was presentedby White et al. [22] who proposed a stereo-setup toreconstruct a random pattern of coloured trianglesprinted on a cloth. Their principal contributions arean extension to the seed-and-grow algorithm intro-duced by Pritchard and a strain minimisation tech-nique that allows them to reconstruct points that arevisible in one camera only.

The other important area of research employedin this work, particle system based cloth simula-

tion, was pioneered by Terzopoulos et al. [20]. Intheir work a number of techniques that are com-mon now such as semi-implicit integration, hierar-chical bounding boxes, and adaptive time-step con-trol were proposed. Until Baraff and Witkin reintro-duced semi-implicit integration [1], decreasing thecomputational cost of cloth simulation significantly,explicit integration techniques were common.

In the last few years two major strands of de-velopment can be made out in the cloth simula-tion community. One, aiming for real-time simu-lation, focusses on computation speed alone, sac-rificing expressiveness and accuracy if necessary.Desbrun et al. simplified the equation system thatneeds to be solved every step by precomputingparts of it [6]. Kang and Choi used a coarsemass-spring discretisation and added wrinkles in apost-processing step by interpolating with a cubicspline [9]. Oh et al. introduced a new semi-implicitintegration technique that, besides side-stepping theunnatural damping of Baraff and Witkin’s integra-tor, is reportedly able to run in real-time [15].

The other strand attempts to simulate cloth as re-alistically as possible. The use of nonlinear clothproperties has been introduced by Eberhardt et al.[7]. Simplified nonlinearities have since been in-tegrated into a number of systems such as [5, 3].Impressive results have been presented by Volinoand Magnenat-Thalmann [21]. The fabric proper-ties employed in their system are not only nonlinearbut exhibit hysteretic behaviour.

3 Contributions

The method proposed here makes the novel as-sumption that the best way to capture scenes con-taining dynamic cloth motion is to fit a simulatedmodel of the cloth to the observed data. This ap-proach has several advantages. Firstly, parts of thereal cloth that are temporarily hidden are still mod-elled by the simulation. Secondly, no interpolationof holes has to be performed. Thirdly, since a fullcloth simulation is implemented strain release as in-troduced by White et al. [22] becomes superfluous.A full cloth simulation has the additional advantagethat the dynamic behaviour of the textile is inte-grated automatically into the reconstruction.

The resulting procedure can be divided into threelogically independent blocks. Their interrelation-ship is summarised in figure 1. An optimisation

Page 3: Physically Based Tracking of Cloth · logically independent blocks. Their interrelation-ship is summarised in gure 1. An optimisation. module attempts to t a simulated piece of fabric

module attempts to fit a simulated piece of fabricto video data. The quality of the fit is measuredby comparing the silhouettes of the real and thesimulated cloth. Additionally, points on the sur-face of the cloth can be tracked and incorporatedinto the evaluation function. Thus, the ‘Tracking& 3D-Reconstruction’ module feeds these informa-tions into the ‘Optimiser’. The third block, entitled‘Cloth Simulation’, communicates closely with theoptimiser. The optimiser instructs the cloth simula-tion to evaluate a set of parameters. The resultingerror values are passed back to the optimiser whichuses them to choose the next parameter set.

Tracking &3D−Reconstruction

Cloth Simulation

Optimiser

Figure 1: Overview

Unfortunately, even if the cloth simulation wasideal and the initial configuration was known ex-actly, the simulation and the real world would even-tually diverge. This is a result of the inherentlychaotic behaviour of cloth. This problem, whichwas first pointed out by Choi and Ko [5], is demon-strated in figure 2. Consider, for example, the cross-section of a cloth. If the cloth is compressed alongits major axis it is undefined in which direction itwill buckle to evade the stress. A minimal pertur-bation of the configuration can in this case causemacroscopically different outcomes. The differ-ences between real world and simulation can be aresult of a number of influences such as numer-ical accuracy, inaccurate initial condition, locallyvarying fabric properties, coarse quantisation of thecloth, or physical effects that are not simulated.

Several ways to handle this dilemma can be de-vised but only one was implemented.

The problem can be solved by attaching virtualsprings to points detected on the simulated surface,attracting them to tracked world space coordinates.This technique is reasonably fast and fairly easyto implement. Nonetheless, it does has its draw-backs too. First of all it cannot be dismissed thatnon-physical forces are introduced into the simula-tion. Yet, if the magnitude of the force is kept smallenough it is expected that no negative impact can be

? f

Figure 2: Instable configurations can arise in clothwhen it is compressed. A small force ~f acting onthe displayed mass-spring arrangement can causemacroscopically significantly different outcomes.

observed. On the other hand if the attraction forcesare too small then the desired effect of influencingunstable conditions may not be present.

The next dilemma encountered after committingto non-physical forces is to decide on the type ofspring inserted. Regular linear or damped linearsprings as used in the cloth simulation increase theattraction force ~f proportional to the distance dbetween the point on the simulated cloth and themarker (~f ∼ d). This approach does not provide foroutliers. It would thus require additional handlingand more importantly detection of these cases if thesimulation is to be prevented from being dominatedby outliers. Reciprocal ( ~f ∼ 1/d) or quadrati-cally reciprocal forces ( ~f ∼ 1/d2) do not havethis problem and automatically provide for outlierrejection. Only, another sensitive parameter is in-troduced when entwining these forces into the clothmodel and unfortunately, it cannot be optimised au-tomatically because greater attraction forces pro-duce better fitting results. The spring stiffness, how-ever, should be chosen as small as possible whileinfluencing the simulation sufficiently.

4 Tracking

In order to provide a set of points the simulationcan be attracted to, these points have to be extractedfrom the captured videos. Several variants of twofundamentally different tracking approaches, oneworking in world space and the other one in two di-mensional image coordinates are compared in thissection.

First of all, a feature detector and descriptorhave to be chosen that allow the stable redetec-tion and recognition of features even in the pres-

Page 4: Physically Based Tracking of Cloth · logically independent blocks. Their interrelation-ship is summarised in gure 1. An optimisation. module attempts to t a simulated piece of fabric

ence of severe affine transformations. The ScaleInvariant Feature Transform (SIFT) as introducedby Lowe [13] was chosen because of its invari-ance to scale and rotation and its excellent robust-ness to arbitrary affine transformations while keep-ing the dimension of the feature descriptor compar-atively low. So as a first step to tracking, featuresare detected in the Laplace pyramid and SIFT fea-ture descriptions are computed independently on allframes of all cameras.

For some of the tracking algorithms, detailed inthe following, it is essential that the initial configu-ration of the cloth is known. For all experiments itis assumed that the cloth is originally resting flatlyon the ground. Thus, the initial configuration canbe characterised by the position of the corners ofthe fabric. Using this assumption an unambiguousmapping from camera coordinates into world coor-dinates with y = 0 can be defined. That way 2D-coordinates in cloth space (u, v) can be assigned tofeatures detected in the initial frame. These featuresin world space, derived from different cameras, canthen be combined into markers by combining thosewith minimal SIFT descriptor differences, whoseworld coordinates fall within some small fixed ra-dius of each other.

These markers can then be reidentified in subse-quent frames either using the first frame as the refer-ence or by tracking them from one frame to the next.Either way the problem is that only a small numberof markers is left by the end of the sequence. Inthe first case the deformation of the cloth can be toostrong to reliably reidentify the exact same featureand in the second alternative features are lost grad-ually. That is, if a marker could not be redetectedin the next frame it is dropped and lost to all subse-quent frames.

For these approaches several additional con-straints can be defined to improve tracking. Theprimary goal of these filters is to identify outliers,most of which are a result of confusing instances ofthe repetitive pattern printed on the cloth.

Restricting the maximum distance a marker maymove between consecutive frames eliminates a fewspurious markers. This filter can be applied either inworld coordinates to markers or in camera coordi-nates to features tracked from one frame to the nextor to both.

When identifying features to be combined intomarkers the differences of the SIFT descriptors

Figure 3: 3D-markers are generated by intersect-ing rays shot from camera origins through the cor-responding image planes into the scene.

are the main criterion to be minimised. However,several constraints can be developed which, whenenforced, significantly improve the results. Rayscast from camera origins through the correspond-ing image planes identifying features that are tobe merged, ideally intersect at exactly one pointin world space. In practice however, due to inac-curacies capturing the images, calculating cameraparameters, and detecting the features, they do notnecessarily do so. For two involved rays the closestpoints on these lines can be computed instead. The3D-marker is then placed in the middle betweentheir respective closest points. If more than twofeatures are involved the marker is, as visualised infigure 3, placed at the average of the middle pointsof the shortest connecting lines of all possible raycombinations.

An additional useful constraint can be appliedwhen at least three features are considered. Evenif the mutual minimum distances between all pos-sible line pairs are small the average of the mid-dle points may be far apart. If this happens thegenerated marker point is not localised very accu-rately in space. Thus, the variances of these middlepoints along coordinate system axes are used to re-ject spread out markers.

4.1 2D-Tracking

Due to the excessive loss of markers which is pri-marily a result of the difficulty of combining fea-tures from different cameras a different approach isdescribed here which completely avoids this step.The difficulty of identifying features between cam-eras is predominantly a result of the large angles be-

Page 5: Physically Based Tracking of Cloth · logically independent blocks. Their interrelation-ship is summarised in gure 1. An optimisation. module attempts to t a simulated piece of fabric

tween the utilised cameras which causes substantialchanges to the local feature descriptors when theyare transformed from one camera into an other.

Thus, a different class of approaches is proposedhere which entirely omits the explicit formation of3D-markers. The result is that considerably morefeatures can be tracked. Although each of them onlyconstrains a point on the cloth’s surface to lie on aray, the increased number of features and thus con-straints improves the result nonetheless.

The procedure works as follows: For the firstframe the same method for identifying the cloth-space coordinates of the identified features is usedas introduced above for the three dimensionaltracker. Namely, under the assumption that the clothis lying flat on the ground an unambiguous transfor-mation from camera coordinates into cloth-space iscomputed and cloth coordinates are assigned to allfeatures identified in the frame.

Due to the weaker constraint of this algorithma possibly less intuitive approach has to be takenwhen calculating attraction forces. Simulatedpoints are not attracted to fixed world coordinatesany more but to arbitrary rays in world space. How-ever, when using Plucker Coordinates to representthe feature rays the calculation of forces perpendic-ular to these rays becomes achievable. Assume forexample that the ray, a feature at world coordinates~p is attracted to, in Plucker Coordinates is repre-sented by a normalised direction ~d0 and a moment~m0. The shortest vector ~v pointing from the ray to

the point can then simply be calculated by

~v = ( ~m0 − ~p × ~d0) × ~d0

As interest points that are tracked are not necessar-ily located at the positions of mass points of thecloth simulation, forces acting on them have to bedistributed to the surrounding mass points. Let ω1,ω2, and ω3 represent the barycentric coordinates ofa point contained in a triangle and ~x1, ~x2, and ~x3

the corners of the triangle then the position of thepoint ~x can be expressed as

~x = ω1 · ~x1 + ω2 · ~x2 + ω3 · ~x3

The force ~f can be distributed continuously to trian-gle corners as visualised in figure 4 and suggestedby Bridson et al. in [4] in the context of collisionhandling

~fi = ωi

2~f

1 + ω21 + ω2

2 + ω23

i ∈ 1, 2, 3

Figure 4: Forces acting on points on the simulatedcloth’s surface have to be distributed to the cornersof the surrounding triangle.

4.2 uv-less Tracking

The 2D-tracking technique described above can befurther generalised by skipping the initialisationstep. That means the 2D-coordinates (u, v) of a fea-ture on the surface of the cloth are not known duringtracking. This constraint on the one hand signifi-cantly decreases the complexity of the tracker be-cause it has to work on consecutive frames only. Soany sparse optical flow algorithm is suitable for cal-culating the attractions.

On the other hand the complexity rises on thecloth simulation side as it is no longer possible toattract fixed cloth coordinates to feature rays. In-stead, the ray identifying one feature in the videohas to be cast at runtime to intersect the simulatedcloth. This point is then attracted to the ray iden-tifying the same feature from the same camera inthe next frame. Utilising the bounding box hierar-chy that is already used for collision detection, ray-triangle intersections can efficiently be calculated asdescribed by Mahovsky and Wyvill in [14].

4.3 Results

Figures 5 and 6 display the number of features ormarkers tracked with different algorithms of a typi-cal sequence. While the procedures in figure 5 trackpoints in three-dimensional world coordinates thosedisplayed in figure 6 track them independently inevery view.

Page 6: Physically Based Tracking of Cloth · logically independent blocks. Their interrelation-ship is summarised in gure 1. An optimisation. module attempts to t a simulated piece of fabric

0 100 200 300 400 500 600 700 800 900 10000

100

200

300

400

500

600

frames

num

ber o

f fea

ture

s

multitrack

frame to frame tracking

reference tracking

Figure 5: Number of features tracked in 3D

0 100 200 300 400 500 600 700 800 900 10000

2000

4000

6000

8000

10000

12000

14000

16000

18000

frames

num

ber o

f fea

ture

s

2D−tracking

uv−less tracking

Lucas Kanade

uv−less Lucas Kanade

Figure 6: Number of features tracked in 2D

The algorithm here called ‘reference tracking’detects features in the first frame, combines theminto markers and then attempts to detect these mark-ers by identifying their SIFT-descriptors in sub-sequent frames similar to the approach Pritchardand Heidrich take in [17]. Unfortunately, due tothe strong deformation of the cloth and the repet-itive pattern of the cloth only few markers can berecognised. By tracking from one frame to thenext slightly better results can be achieved. How-ever, the attainable results are still not satisfactory.This changes when more than one reference frameis used. The method ‘multitrack’ uses the last 20frames as a reference for the current frame whichexplains the warm-up period observed in the firstframes.

In figure 6 four variants of a 2D-tracking algo-rithm are compared. While ‘2D-tracking’ and ‘Lu-cas Kanade’ detect features in the first frame and

track them throughout the whole sequence the othertwo trackers track features from one frame to thenext independent of whether these features werepreviously detected or not. The well-known LucasKanade tracker seems to perform best but, unfor-tunately, features that get covered by folds are notdropped but accumulate along the crests of the foldsas shown in figure 7.

Figure 7: Features tracked by the Lucas Kanadetracker accumulate along folds instead of beingdropped.

5 Optimisation

In this section the employed optimisation strategy isintroduced and overall results of the proposed tech-nique are presented.

While fabric properties obviously do not changeduring a sequence the positions of the constrainedpoints of the cloth are valid for a single frame only.Consequently, a two layered optimisation strategyas displayed in figure 8 is chosen. In the outer loopscene parameters, that is parameters that are sceneinvariant, are optimised. The inner loop optimisesparameters that change every frame. Both optimis-ers employ asynchronous parallel pattern search asdescribed by Kolda [11].

The error function employed in the inner opti-misation loop is calculated by summing the differ-ences between the silhouettes of the simulated clothand the measured silhouettes of all used cameras.The outer optimisation uses an error function thatsimply sums the error of the inner function for allframes.

As the cloth is initially lying flat on the groundit is easy to apply a simulated annealing opti-

Page 7: Physically Based Tracking of Cloth · logically independent blocks. Their interrelation-ship is summarised in gure 1. An optimisation. module attempts to t a simulated piece of fabric

ParametersFrame

SimulatorScene

OptimiserFrame

Parameters

Optimiser

Scene

Figure 8: Two layered optimisation

miser [16] to finding the initial position of the sim-ulated cloth.

It is assumed that the initial condition of the ac-tual optimisation run is known a priory. It is alsoassumed that the basic experiment such as ‘lift atone corner’ is known. This is unfortunately nec-essary because the positions of the points that arelifted or dragged have to be added to the local setof parameters and must be marked to be immovableby the cloth simulation.

5.1 Results

In figures 9 and 10 the residual errors are shown.The results were obtained employing different at-traction forces normalised to the error attained whenoptimising without using attraction forces.

10−1 100 101 102 1030.8

0.85

0.9

0.95

1

1.05

1.1

1.15

attractor stiffness

erro

r

no attractorsmultitrackLucas−Kanadeuv−less Lucas−Kanade

Figure 9: Residual error of optimisation usingquadratic reciprocal attraction forces normalised bythe optimisation error using no attraction forces.

It is apparent that using attraction forces resultsin all cases in better fits than without them. The

10−1 100 101 102 1030.4

0.6

0.8

1

1.2

1.4

1.6

1.8

attractor stiffness

erro

r

no attractorsmultitrackLucas−Kanadeuv−less Lucas−Kanade

Figure 10: Residual error of optimisation using lin-ear attraction forces normalised by the optimisationerror using no attraction forces.

one exception in figure 9 is probably a result of theoptimiser’s inability to find a better solution. In fig-ure 10 some configurations are missing because thesimulation sometimes becomes instable if stronglinear attraction forces are employed. When com-paring figures 9 and 10 it becomes apparent that thelinear attraction forces produce significantly betterfitting results but strong attraction forces, in particu-lar the linear variant, negatively influences the abil-ity of the system to estimate underlying geometry.This is not a problem for the current project but forfuture research this is a critical feature.

6 Conclusion

In this paper an analysis-by-synthesis frameworkwas introduced that demonstrated its applicabilityto tracking simple textiles. During developmentspecial care was taken that the system can easilybe extended to more general tracking problems thanwere investigated here. The performance of a num-ber of different tracking algorithms was evaluatedand a few were applied to supporting the optimisa-tion process by introducing different non-physicalforces into the simulation.

Overall, the proposed procedure is deemed suc-cessful as the tracking results are visually appealing(see figure 11). Only the optimisation is computa-tionally too expensive and in some cases the simula-tion becomes unstable if strong attraction forces areemployed. A single optimisation takes from 10h to

Page 8: Physically Based Tracking of Cloth · logically independent blocks. Their interrelation-ship is summarised in gure 1. An optimisation. module attempts to t a simulated piece of fabric

30h if it is run in parallel on 7 AMD Opteron pro-cessors at 2.2GHz. So further effort will have to gointo improving the speed of the procedure.

References

[1] D. Baraff and A. Witkin. Large steps incloth simulation. In Proceedings of ACM SIG-GRAPH 98, pages 43–54. ACM Press, 1998.

[2] K. Bhat, C. Twigg, J. Hodgins, P. Khosla,Z. Popovic, and S. Seitz. Estimating cloth sim-ulation parameters from video. In Proceed-ings of ACM SIGGRAPH/Eurographics Sym-posium on Computer Animation (SCA 2003),pages 37–51. ACM Press, 2003.

[3] R. Bridson. Computational aspects of dy-namic surfaces. PhD thesis, Stanford Univer-sity, 2003.

[4] R. Bridson, R. Fedkiw, and J. Anderson. Ro-bust treatment of collisions, contact and fric-tion for cloth animation. ACM Transac-tions on Graphics (ACM SIGGRAPH 2002),21(3):594–603, July 2002.

[5] K.-J. Choi and H.-S. Ko. Stable but responsivecloth. ACM Transactions on Graphics (ACMSIGGRAPH 2002), 21(3):604–611, July 2002.

[6] M. Desbrun, P. Schroder, and A. Barr. Inter-active animation of structured deformable ob-jects. In Proceedings of Graphics Interface(GI 1999), pages 1–8. Canadian Computer-Human Communications Society, 1999.

[7] B. Eberhardt, A. Weber, and W. Straßer. Afast, flexible, particle-system model for clothdraping. IEEE Computer Graphics and Appli-cations, 16(5):52–59, September 1996.

[8] N. Jojic and T. Huang. On analysis of clothdrape range data. In ACCV ’98: Proceed-ings of the Third Asian Conference on Com-puter Vision-Volume II, pages 463–470, Lon-don, UK, 1997. Springer-Verlag.

[9] Y.-M. Kang and H.-G. Cho. Bilayered approx-imate integration for rapid and plausible ani-mation of virtual cloth with realistic wrinkles.In Proceedings of Computer Animation, pages203–214. IEEE Computer Society, 2002.

[10] S. Kawabata. The standardization and analy-sis of hand evaluation. The Textile MachinerySociety of Japan, 1980.

[11] T. Kolda. Revisiting asynchronous parallelpattern search. Technical Report SAND2004-

8055, Sandia National Laboratories, Liver-more, CA 94551, February 2004.

[12] D. Lowe. Object recognition from local scale-invariant features. In International Confer-ence on Computer Vision, pages 1150–1157,Sep 1999. SIFT first introduced.

[13] D. Lowe. Distinctive image features fromscale-invariant keypoints. International Jour-nal of Computer Vision, 60(2):91–110, 2004.

[14] J. Mahovsky and B. Wyvill. Fast ray-axis aligned bounding box overlap tests withplucker coordinates. The Journal of GraphicsTools, 9(1):37–48, 2004.

[15] S. Oh, J. Ahn, and K. Wohn. Low dampedcloth simulation. The Visual Computer (to ap-pear), 2005.

[16] W. Press, W. Vetterling, S. Teukolsky, andB. Flannery. Numerical Recipes in C++: theart of scientific computing. Cambridge Uni-versity Press, 2nd edition, 2002.

[17] D. Pritchard and W. Heidrich. Cloth mo-tion capture. Computer Graphics Forum (Eu-rographics 2003), 22(3):263–271, September2003.

[18] V. Scholz and M. Magnor. Cloth motion fromoptical flow. In B. Girod, M. Magnor, and H.-P. Seidel, editors, Proc. Vision, Modeling andVisualization 2004, pages 117–124, Stanford,USA, November 2004. Akademische Verlags-gesellschaft Aka GmbH.

[19] V. Scholz, T. Stich, M. Keckeisen, M. Wacker,and M. Magnor. Garment motion cap-ture using color-coded patterns. ComputerGraphics Forum (Proc. Eurographics EG’05),24(3):439–448, August 2005.

[20] D. Terzopoulos, J. Platt, A. Barr, and K. Fleis-cher. Elastically deformable models. In Com-puter Graphics (Proceedings of ACM SIG-GRAPH 87), pages 205–214. ACM Press, July1987.

[21] P. Volino and N. Magnenat-Thalmann. Ac-curate garment prototyping and simula-tion. Computer-Aided Design Applications,2(5):645–654, 2005.

[22] R. White, D. Forsyth, and J. Vasanth. Cap-turing real folds in cloth. Technical Re-port UCB/EECS-2006-10, EECS Department,University of California, Berkeley, February2006.

Page 9: Physically Based Tracking of Cloth · logically independent blocks. Their interrelation-ship is summarised in gure 1. An optimisation. module attempts to t a simulated piece of fabric

(a) camera 2 (b) camera 4

(c) silhouette difference of camera 2 (d) silhouette difference of camera 4

(e) reconstructed cloth (approx. camera 2) (f) reconstructed cloth (approx. camera 4)

Figure 11: Reconstruction of two views