sketch-based simulated draping for indian garmentsparagc/pubs/papers/icvgip2016_2.pdf ·...

6
Sketch-based Simulated Draping for Indian Garments Sanjeev Muralikrishnan Department of Computer Scince & Engineering IIT Bombay Powai, Mumbai - 400076, India. [email protected] Parag Chaudhuri Department of Computer Scince & Engineering IIT Bombay Powai, Mumbai - 400076, India. [email protected] ABSTRACT Virtual garments like shirts and trousers are created from 2D patterns stitched over 3D models. However, Indian gar- ments, like dhotis and saris, pose a unique draping challenge for physically-simulated garment systems, as they are not stitched garments. We present a method to intuitively spec- ify the parameters governing the drape of an Indian garment using a sketch-based interface. We then interpret the sketch strokes to procedural, physically-simulated draping routines to wrap, pin and tuck the garments around the body mesh as needed. After draping, the garments are ready to be sim- ulated and used during animation as required. We present several examples of our draping technique. CCS Concepts Computing methodologies Computer graphics; Keywords Automated garment draping; Indian garment draping; sketch- based 1. INTRODUCTION Virtual garment simulation has been the topic of a lot of research in computer graphics. This is because the problem is of interest not only to character animation in animated productions, but also for the garment retail business and industry. It is because of this interest that virtual garments have traditionally been stitched from 2D patterns placed around the body mesh of the character. The stitching is simulated by adding additional forces or seams that hold the 2D patterns together. An example of this can be seen in Figure 2. In contrast, many Indian garments, like dhotis and saris, typically consist of a single piece of cloth of a certain length draped over the body. During draping, this single piece of cloth may wrapped around the body multiple times, pleats may be added to a part of the cloth, some parts may be Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full cita- tion on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or re- publish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]. ICVGIP, December 18-22, 2016, Guwahati, India c 2016 ACM. ISBN 978-1-4503-4753-2/16/12. . . $15.00 DOI: http://dx.doi.org/10.1145/3009977.3010001 (a) (b) Figure 1: A dhoti draped using our system that has multiple pleats, and they are tucked at the back. tucked, while other may be pinned. These drapes require skill, practice and dexterity from real users who put on these garments. An example of a complex simulated drape, cre- ated with our system can be seen in Figure 1. Simulating these drapes virtually poses unique challenges. Firstly, the authoring of the drape is non-trivial. An intu- itive interface is required to drape these garments over a virtual character. Next, while draping the garments is to be pleated and pinned at various places. Finally, this draping process must be implemented on a robust physically-based cloth simulation system and collision system so that the gar- ment can be animated with the character, after it has been draped. We provide a generic, intuitive sketching interface to en- able users to drape Indian garments on their characters. The drape itself is automated and a total of 6 different types of garment drapes have been implemented. The user’s sketch inputs are interpreted and mapped to one of these six types of drapes. The draping procedure is implemented on top of the cloth simulator in Blender [3]. The sketch interface and the draping procedures have been implemented as a Blender Add-On. The draping methods, however, are generic and can be implemented on top of any cloth simulator that pro-

Upload: others

Post on 31-Jan-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sketch-based Simulated Draping for Indian Garmentsparagc/pubs/papers/icvgip2016_2.pdf · Sketch-based Simulated Draping for Indian Garments Sanjeev Muralikrishnan Department of Computer

Sketch-based Simulated Draping for Indian Garments

Sanjeev MuralikrishnanDepartment of Computer Scince & Engineering

IIT BombayPowai, Mumbai - 400076, India.

[email protected]

Parag ChaudhuriDepartment of Computer Scince & Engineering

IIT BombayPowai, Mumbai - 400076, India.

[email protected]

ABSTRACTVirtual garments like shirts and trousers are created from2D patterns stitched over 3D models. However, Indian gar-ments, like dhotis and saris, pose a unique draping challengefor physically-simulated garment systems, as they are notstitched garments. We present a method to intuitively spec-ify the parameters governing the drape of an Indian garmentusing a sketch-based interface. We then interpret the sketchstrokes to procedural, physically-simulated draping routinesto wrap, pin and tuck the garments around the body meshas needed. After draping, the garments are ready to be sim-ulated and used during animation as required. We presentseveral examples of our draping technique.

CCS Concepts•Computing methodologies → Computer graphics;

KeywordsAutomated garment draping; Indian garment draping; sketch-based

1. INTRODUCTIONVirtual garment simulation has been the topic of a lot of

research in computer graphics. This is because the problemis of interest not only to character animation in animatedproductions, but also for the garment retail business andindustry. It is because of this interest that virtual garmentshave traditionally been stitched from 2D patterns placedaround the body mesh of the character. The stitching issimulated by adding additional forces or seams that holdthe 2D patterns together. An example of this can be seenin Figure 2.

In contrast, many Indian garments, like dhotis and saris,typically consist of a single piece of cloth of a certain lengthdraped over the body. During draping, this single piece ofcloth may wrapped around the body multiple times, pleatsmay be added to a part of the cloth, some parts may be

Permission to make digital or hard copies of all or part of this work for personal orclassroom use is granted without fee provided that copies are not made or distributedfor profit or commercial advantage and that copies bear this notice and the full cita-tion on the first page. Copyrights for components of this work owned by others thanACM must be honored. Abstracting with credit is permitted. To copy otherwise, or re-publish, to post on servers or to redistribute to lists, requires prior specific permissionand/or a fee. Request permissions from [email protected].

ICVGIP, December 18-22, 2016, Guwahati, Indiac© 2016 ACM. ISBN 978-1-4503-4753-2/16/12. . . $15.00

DOI: http://dx.doi.org/10.1145/3009977.3010001

(a) (b)

Figure 1: A dhoti draped using our system that hasmultiple pleats, and they are tucked at the back.

tucked, while other may be pinned. These drapes requireskill, practice and dexterity from real users who put on thesegarments. An example of a complex simulated drape, cre-ated with our system can be seen in Figure 1.

Simulating these drapes virtually poses unique challenges.Firstly, the authoring of the drape is non-trivial. An intu-itive interface is required to drape these garments over avirtual character. Next, while draping the garments is to bepleated and pinned at various places. Finally, this drapingprocess must be implemented on a robust physically-basedcloth simulation system and collision system so that the gar-ment can be animated with the character, after it has beendraped.

We provide a generic, intuitive sketching interface to en-able users to drape Indian garments on their characters. Thedrape itself is automated and a total of 6 different types ofgarment drapes have been implemented. The user’s sketchinputs are interpreted and mapped to one of these six typesof drapes. The draping procedure is implemented on top ofthe cloth simulator in Blender [3]. The sketch interface andthe draping procedures have been implemented as a BlenderAdd-On. The draping methods, however, are generic andcan be implemented on top of any cloth simulator that pro-

Page 2: Sketch-based Simulated Draping for Indian Garmentsparagc/pubs/papers/icvgip2016_2.pdf · Sketch-based Simulated Draping for Indian Garments Sanjeev Muralikrishnan Department of Computer

(a) (b) (c)

Figure 2: (a) Edges that have to be stitched areidentified on the 2D cloth patterns. (b) The clothpatterns are approximately placed around the char-acter body. (c) After stitching the garment can besimulated to get its final drape over the character’sbody. Image courtesy [12]

.

vides the ability of assigning mesh vertices as anchoringpoints.

We start with a look at the background literature in thearea of virtual garment simulation and draping in Section 2.We then present the details of our sketch-based interface anddetail the challenges involved in the draping system and oursolutions to them in Section 3. Finally we present exampledrapes created with our system in Section 4 and concludewith a discussion of future work in Section 5.

2. BACKGROUNDVirtual cloth simulation was introduced to computer graph-

ics as elastic deformable models [14] and mass-spring mod-els [11]. Baraff and Witkin [1] proposed a cloth model basedon with an fully implicit solver. Over time, cloth models thatuse semi-implicit solvers [6] or central time differencing [4]methods have also been proposed. During cloth simulation,since bending energy computations are expensive, some au-thors have proposed alternate models to compute bend en-ergy [8, 18]. Unstructured triangular meshes admit moreaccurate Lagrangian finite element solutions as presentedby [19]. Some authors have also simulated in-extensible clothusing the idea of strain limiting [7]. Perceptual control forcloth simulation has also been recently looked at by Sigal etal. [13].

The particular problem of garment draping has also beeninvestigated. Earlier interactive computer aided design ofvirtual garments bring together the editing of 2D patternsand the 3D garments themselves in one interface, for creat-ing designer friendly environments [17, 16]. Recent work byBerthouzoz et al. [2] has also focused on automatically pars-ing 2D patterns to assemble the 3D garment. There havealso been other attempts to provide more accurate collisionhandling while stitching the 2D patterns [12].

Sketch-based garment draping to simple, stitched garmentswas presented by [15]. Authors have also looked at self-dressing virtual humans. Ho and Komura [9] used topologyconstraints to animate a character stretch out its hands outof a piece of clothing. Wang et al. [20] use an electrostaticparameterization of the empty space around the character’sbody to make them pull their limbs out of the garment in thedirection of electric flux. Clegg et al. [5] animate the process

of human dressing by identifying a set of primitive actionsperformed during dressing and then using a controller to se-lect and perform each action. The controller plans the paththe limbs must follow based on current garment configura-tion at each step. This method however, uses a simulatorthat considers the cloth mass-less in comparison to the bodymass of the character. This prevents the system from han-dling the draping of tight and well fitting clothes.

Our system is complementary to these. We do not at-tempt to have the virtual character animated during drap-ing, however, the drape itself is animated. We also haveidentified a set of primitive draping actions that are com-bined to perform a full drape. Our techniques however, canbe added to any cloth simulator that can robust handle mul-tiple cloth-cloth and cloth-object collisions. To the best ofour knowledge our method offers the only solution to theproblem of Indian garment draping.

3. THE DRAPING SYSTEMA garment drape consists of two steps. First, the cloth

is placed on a target location on body, leaving one or moreloose ends. Next, the cloth is wrapped around the bodyby moving the free ends. Different Indian garment drapingsvary in either of these two steps. For example, a dupattaor scarf is placed around the neck while a dhoti is placedaround the waist. Also, the different styles of dhotis andsaris vary in the way they are wrapped around the body .

We mimic this same overall process while draping the vir-tual garments. We use a tessellated plane mesh to representa cloth. We first place it at a canonical position as identi-fied by some sketch strokes. These sketch inputs are furtherinterpreted to identify the draping procedure to be appliedon the cloth mesh. Once identified, the procedure is appliedon the mesh and the draping happens automatically. Thedraping thus depends on the underlying cloth simulator toprovide the feature of specifying mesh vertices as anchorpoints. Once defined as anchor points, these mesh verticescan be used to tug the free end of the garment and thusdrape it around the 3D model. The sketch inputs that areprovided by the user are described in the next section.

3.1 The sketch-based interfaceThe sketch stroke inputs provided by the user are used

to determine the canonical position, the size of the garmentand the draping procedure to apply. To further aid the userin specifying this drape, we allow the user to sketch on areference image of the drape of their choosing. The image ofthe garment being draped is placed in front of the charactermodel, such that the waistline of the image is aligned tothe waist of the 3D model. The limbs in the image arealso roughly aligned to the target characters body. Thisplacement is done manually. An example can be seen inFigure 3 where an image of a dhoti has been placed in frontof the 3D character.

Next the user sketches the boundaries of the garment por-trayed in the image using a sketching tool. In our particularimplementation, we do this using the grease pencil tool inBlender. The sketch strokes that the user must mark on thegarment are as follows.

• Width Stroke: The first stroke is marked along thewaist of the garment in the image. This stroke isused to determine the waist width of the garment, and

Page 3: Sketch-based Simulated Draping for Indian Garmentsparagc/pubs/papers/icvgip2016_2.pdf · Sketch-based Simulated Draping for Indian Garments Sanjeev Muralikrishnan Department of Computer

Figure 3: Position the garment image in front of thecharacter model.

height of the initial garment with respect to the charac-ter’s body. This stroke is shown below in Figure 4(a).

(a) (b) (c)

Figure 4: Examples of three strokes are marked ingreen on each image. (a) shows the width stroke, (b)shows the depth stroke and (c) shows the heightstroke

.

• Depth Stroke: The second stroke is marked alongthe depth of the character, on the waist of the 3Dmodel. This stroke is used to determine the depth ofthe waist. This stroke is shown in Figure 4(b).

• Height Stroke: The third stroke is marked along

the left or right boundary of the garment in the im-age. This stroke helps determine the height of thegarment. An example of this stroke has been shown inFigure 4(c).

• First Bottom Stroke: This stroke is drawn alongthe bottom side of the garment in the image. It couldbe along the inner side of the feet or along floor ofthe image depending on the garment. This stroke isused to determine the leg spread of the character. Italso helps identify if the bottom part of the garment issimply dropped down or tugged upwards. This latterdecision is made by checking if this particular strokefits a straight line better than a higher order curve.If this stroke is a closer fit to a higher order curve,it indicates the bottom side of the garment has beenpicked up while draping. If instead, it is closer fit to astraight line, it indicates the bottom side has been leftas is. This is used to identify the type of drape to per-form. An example of this stroke is shown Figure 5(a).

Figure 5: Examples of the two bottom strokes areshown.

• Second Bottom Stroke: This stroke is of the samecategory as the previous stroke, and is optional. Itmay or may not be required depending on the gar-ment. This stroke is used for the same purposes as thefourth stroke, and augments the information providedby the fourth stroke. Certain types of garments likea lungi may not require this stroke as the front viewof these garments, when draped do not show 2 distin-guishable boundaries along the bottom. An exampleof this stroke is shown in Figure 5(b)

3.2 The canonical drape start positionAll the strokes described above, in addition to helping

identify the required drape, also help determine the dimen-sions of the garment and it’s position in the 3D workspace.This known are the canonical drape start position. Since thedrape is started from this position it is very important toachieve correct placement of the garment around the charac-ter. The canonical position leaves one or two free ends whichare used to perform the actual drape. An example canoni-cal drape is shown Figure 6. In the example shown, thereare two free ends protruding from the front. The waist isapproximated by an ellipse based on the first two strokes as

Page 4: Sketch-based Simulated Draping for Indian Garmentsparagc/pubs/papers/icvgip2016_2.pdf · Sketch-based Simulated Draping for Indian Garments Sanjeev Muralikrishnan Department of Computer

described in the earlier. More precisely, A part of the ellipseis C-shaped curve that matches the perimeter of the ellipseis extruded along the direction of the legs of the character.We then scale the bottom of the extruded mesh outward ,along the ”floor”, to obtain a cone-like canonical position forthe garment. The bottom strokes are also used to determinethe leg spread of the humanoid. This is required to get thecorrect canonical position that encompasses the legs of thecharacter inside the cloth. The legs should not penetratethe cloth and protrude outwards before the draping starts.

Figure 6: Canonical position with free ends, poisedfor draping.

4. RESULTSWe show the various drapes that we have created using

our system. We also show the sketch inputs given for eachof the 6 drape styles. For each drape result shown in thissection, there is a depth stroke which is not visible in thefront view. The side view has been omitted for brevity, butit is important to note that the depth stroke is present foreach.

The reader should refer to the supplementary video sub-mitted with the paper for animation results of the variousdrapes presented here.

4.1 Simple, pleated dhoti drapeIn this drape the cloth mesh is starts from the canonical

position and then the extra cloth at on the free ends is foldedinto pleats and tucked at the front of the waist. Figure 7shows the sketch input and the corresponding final drapeproduced.

4.2 Lungi drapeA common household style of wearing the lungi is to drape

the cloth around the waist and pick up the bottom, fold itup and tuck at the waist. The final outcome of this drapecan be seen in Figure 8.

Figure 7: The sketch input strokes and the resultingsimple, pleated dhoti drape are shown.

Figure 8: The sketch input strokes and the resultinghousehold lungi drape are shown.

4.3 Simple wrap around drapeAnother common style is to wrap the cloth round the waist

multiple times and then tuck it at some point on the waist.An example of this style is shown in Figure 9

4.4 Pleated and tucked back drapeIn this drape, after the initial wrap around, the cloth is

left with two free ends. One end is taken from the beneathand tucked at the back. The other end is folded into pleatsand tucked at the front. An example of this drape can be

Page 5: Sketch-based Simulated Draping for Indian Garmentsparagc/pubs/papers/icvgip2016_2.pdf · Sketch-based Simulated Draping for Indian Garments Sanjeev Muralikrishnan Department of Computer

Figure 9: The sketch input strokes and the resultingsimple wrap around drape are shown.

seen in Figure 1.

4.5 Kshatriya style drapeThis dhoti drape style is similar to the previous one. There

are two free ends, which are both taken from beneath to betucked behind. In a more accurate version, one of the freeends after being tucked behind at one point, would also betaken around the waist to tighten, and then again tuckedbehind. An example of this drape can be seen in Figure 10.

Figure 10: The input sketch and the resulting Ksha-triya style drape are shown.

4.6 Monk style sariIn this drape the cloth is taken around the waist multiple

times, and then the remaining cloth is hung over the shoul-der to fall over the back, as worn by monks in monasteries.Figure 11 shows an example of this drape with the sketchstrokes we use to generate it.

4.7 DiscussionWe faced multiple challenges in creating our draping sys-

tem. There are some more features that can be implementedto allow for even more complicated drapes. We discuss thesedesired features and some implementation specific details inthis section.

4.7.1 Key frame separation

Figure 11: The input sketch and the resulting Monkstyle sari drape are shown.

Consecutive actions of a draping procedure must be sepa-rated by a sufficient number of frames. We found that if anaction of the draping procedure is done too fast, it results inthe garment being pulled to one side, giving it an asymmet-ric drape. Each action should be given enough time, to allowfor the cloth to settle and to prevent generation of suddenhigh intensity forces.

4.7.2 Dynamic vertex anchoringVertex sets can be marked as anchored usually prior to a

cloth simulation is started. Dynamic anchoring it the abil-ity to pin and unpin vertices during the simulation. More-over, pinning and unpinning of vertices can also then bekeyframed. This feature is currently absent in Blender. Forexample, while draping a sari, the part of the sari that shouldbe dropped over the shoulder has a free end that shouldfall under gravity. However, since the free end vertices arepinned at the start to allow this part to be moved over theshoulder, they cannot freely fall under gravity. The abilityto dynamically unpin these vertices would solve this prob-lem.

4.7.3 Adaptive local re-meshing of cloth mesh andadaptive time-stepping

The draping process typically involves a lot of cloth-clothinteraction. The amount these interaction vary over thecourse of a drape. It would be beneficial to be able dynam-ically reduce the time-step of the cloth simulator when finecollisions need to be resolved, and then revert back to largertime-steps. This would allow accurate yet fast simulation.

Adaptive re-meshing is the ability to locally re-mesh thecloth during the simulation to smaller or larger elements asrequired, to resolve finer geometric details on the garment.This would also help in creating finer pleats and wrinklesin the cloth without increasing the simulation substantially,as would happen if the entire cloth is re-meshed to smaller

Page 6: Sketch-based Simulated Draping for Indian Garmentsparagc/pubs/papers/icvgip2016_2.pdf · Sketch-based Simulated Draping for Indian Garments Sanjeev Muralikrishnan Department of Computer

sized elements everywhere. A possible method of doing thiskind of re-meshing is presented by Narain et al. [10].

4.7.4 Vertex management in BlenderBlender provides a raw vertex access API which allows

access to the cloth mesh vertices and their global and localcoordinates. However, for identifying the anchor points andfor manipulating them, different kinds of multi-vertex selec-tion queries are required. Typical vertex selection queriesinclude:

• Select a chain of vertices starting from current vertexalong a direction given by a vector.

• Select every nth vertex from the current vertex alonga direction given by a vector.

• Select the vertices with the top k Y coordinates.

• Select m vertices from the current vertex along a par-ticular direction vector, skipping d number of verticesafter every selection.

For these and similar queries, it was necessary to add alayer of API above Blender’s for just the vertex management.This was done by us in our implementation of the Blenderadd-on.

5. CONCLUSIONSWe present a sketch-based method for draping Indian gar-

ments. We map sketch stroke inputs to various parametersnecessary to drape Indian garments. We then animate thedraping procedure using a robust cloth simulator. We alsoshow many example drapes that demonstrate the versatilityof our proposed system.

We have also discussed in detail the limitations and chal-lenges faced by us during this work in Section 4.7 and wewould like work toward overcoming these in the future, andbe able to generate even more complex drapes.

6. REFERENCES[1] D. Baraff and A. Witkin. Large steps in cloth

simulation. In Proceedings of SIGGRAPH, pages43–54, 1998.

[2] F. Berthouzoz, A. Garg, D. M. Kaufman,E. Grinspun, and M. Agrawala. Parsing sewingpatterns into 3d garments. ACM Transactions onGraphics, 32(4):85:1–85:12, July 2013.

[3] Blender. http://www.blender.org, June 2016.

[4] R. Bridson, R. Fedkiw, and J. Anderson. Robusttreatment of collisions, contact and friction for clothanimation. ACM Transactions on Graphics,21(3):594–603, July 2002.

[5] A. Clegg, J. Tan, G. Turk, and C. K. Liu. Animatinghuman dressing. ACM Transactions on Graphics,34(4):116:1–116:9, July 2015.

[6] M. Desbrun, P. Schroder, and A. Barr. Interactiveanimation of structured deformable objects. InProceedings of Graphics Interface, pages 1–8, 1999.

[7] R. Goldenthal, D. Harmon, R. Fattal, M. Bercovier,and E. Grinspun. Efficient simulation of inextensiblecloth. ACM Transactions on Graphics, 26, July 2007.

[8] E. Grinspun, A. N. Hirani, M. Desbrun, andP. Schroder. Discrete shells. In Proceedings of the ACMSIGGRAPH/Eurographics SCA, pages 62–67, 2003.

[9] E. S. L. Ho, T. Komura, and C.-L. Tai. Spatialrelationship preserving character motion adaptation.ACM Transactions on Graphics, 29(4):33:1–33:8, July2010.

[10] R. Narain, A. Samii, and J. F. O’Brien. Adaptiveanisotropic remeshing for cloth simulation. ACMTransactions on Graphics, 31(6):152:1–152:10, Nov.2012.

[11] X. Provot. Deformation constraints in a mass-springmodel to describe rigid cloth behavior. In Proceedingsof Graphics Interface, pages 147–154, 1995.

[12] S. Sengupta and P. Chaudhuri. Virtual garmentsimulation. In Fourth National Conference onComputer Vision, Pattern Recognition, ImageProcessing and Graphics (NCVPRIPG), pages 1–4,Dec 2013.

[13] L. Sigal, M. Mahler, S. Diaz, K. McIntosh, E. Carter,T. Richards, and J. Hodgins. A perceptual controlspace for garment simulation. ACM Transactions onGraphics, 34(4):117:1–117:10, July 2015.

[14] D. Terzopoulos and K. Fleischer. Deformable models.The Visual Computer, 4(6):306–331, 1988.

[15] E. Turquin, J. Wither, L. Boissieux, M.-P. Cani, andJ. F. Hughes. A sketch-based interface for clothingvirtual characters. IEEE Computer Graphics andApplications, 27(1):72–81, Jan. 2007.

[16] N. Umetani, D. M. Kaufman, T. Igarashi, andE. Grinspun. Sensitive couture for interactive garmentmodeling and editing. ACM Transactions on Graphics,30(4):90:1–90:12, July 2011.

[17] P. Volino, F. Cordier, and N. Magnenat-Thalmann.From early virtual garment simulation to interactivefashion design. Computer Aided Design,37(6):593–608, May 2005.

[18] P. Volino and N. Magnenat-Thalmann. Simple linearbending stiffness in particle systems. In Proceedings ofthe ACM SIGGRAPH/Eurographics SCA, pages101–105, 2006.

[19] P. Volino, N. Magnenat-Thalmann, and F. Faure. Asimple approach to nonlinear tensile stiffness foraccurate cloth simulation. ACM Transactions onGraphics, 28(4):105:1–105:16, September 2009.

[20] H. Wang, K. A. Sidorov, P. Sandilands, andT. Komura. Harmonic parameterization byelectrostatics. ACM Transactions on Graphics,32(5):155:1–155:12, Oct. 2013.