# Dual Adaptive Adjustment for Customized Garment Pattern

Authors: Yuxiang Zhu; Yanjun Peng; Arsineh Boodaghian Asl
Journal: Scientific Programming
 (2019)

---

## Abstract

We present a dual adaptive garment slice adjustment technique for automatic resizing of apparel products with variant body shapes, and this technique can quickly generate clothed characters. Our first contribution is to propose a novel fit evaluation method. When a 2D garment pattern and a 3D draped garment have the same triangle topology connection, we calculate the shape variable of each triangle and output heat map simultaneously. For sewing a pattern to a newly targeted human body, we propose a fully automatic adjustment method that conforms to the body structure and is composed of two stages. In the coarse auto adjustment (CAA) stage, we propose a method of controlling the size of a garment by the length of a bounding box in five parts of the human body. Then, the garment pattern is automatically adjusted using the measured dimension, by stretching or shrinking. In the fine auto adjustment (FAA) stage, boundary vertices control the shape in the adjustment process. For better matching with the body, the vertices of the garment pattern boundary are relocated with the calculated moving distance and moving direction. As demonstrated in the results, our method enables fully automatic adjustment, preserving the original pattern style of garments between characters with vastly body shapes. Compared with the state-of-art 2D editing method, our proposed approach leads to time saving, and it achieves realistic garment effect compared to auto fitting methods.


---

## Body

## 1. Introduction

Clothed virtual characters having varied sizes and shapes are necessary for gaming, film, and online fashion applications. The generation of these clothed characters is one of the most tedious and difficult tasks for computer artists. An essential solution is to automatically resize a designed product worn by a model to fit the variant body shapes of individual customers. The conventional garment design method is the 2D pattern grading [1, 2]. The pattern grader transforms the pattern from the base size to other existing sizes, but could not satisfy the requirements of all the disproportionate virtual characters. The interactive garment modeling method [3, 4], which iterates adjusting patterns and parameters, could achieve the desired effect for disproportionate characters, while it heavily relies on the experience of designers and is time-consuming.Recently, a great number of researchers focused on auto adjustment that automatically adapts to new bodies. Unfortunately, these auto adjustment methods either fail to preserve the original design [5] or make sever penetrations for vastly different body shapes and proportions [6]. In this study, we focus on automatic adjustment design, which could quickly produce realistic garments that fit the proportions of a new wearer while retaining the original design as much as possible. And the contribution of this study can be summarized as follows: (1) we propose a fitting evaluation method to calculate the shape variable or L2 stretch that evaluates the fitting quality of a garment dressed on a target body and outputs the heat map simultaneously; (2) we propose a dual adaptive garment slice auto adjustment method that is fully automatic and can preserve the style of garment between characters with vastly different body shapes. First, we take the measurement size of the virtual human body and automatically adjust the size of the garment. Then, we use the rules of pattern boundary to achieve a better fit for the virtual garment after FAA.The structure of this paper is as follows: Section2 reviews the related work, including fit evaluation, garment fitting method, and garment pattern design. In Section 3, the entire auto adjustment process is described in detail and a list of symbols is defined. Section 4 introduces the fit evaluation method before adjusting the garment pattern. CAA and FAA are also introduced, including plane intersection with human model and generation of bounding box in CAA and boundary triangle marking and boundary node relocation in FAA. In Section 5, we introduce our virtual dressing system at first. Then, our garment auto adjustment method is applied on different pattern designs among characters with vastly different body shapes. Auto adjustment method is further compared with manual adjustment method and auto fitting method, respectively. Conclusion and future work are discussed in Section 6.


## 2. Related Work

Our work is built on previous efforts including fit evaluation, garment fitting method, and garment pattern design.


### 2.1. Fit Evaluation

As is well-known, virtual try-on applications are strongly dependent on mathematical models and cannot give a fully accurate evaluation of garment fit [7, 8]. Based on these, estimating the garment fit without an actual try-on is still an issue for researchers.Liu et al. [9] proposed a machine learning-based model to evaluate garment fit. The inputs of the proposed model are digital clothing pressures, and the output is the predicted result of garment fit. However, 72 samples are not enough to train the proposed model, and two fit levels are too simplified. Ease allowance is another crucial parameter for comfort. Thomassey and Bruniaux [10] provided a template of ease allowance in a 3D environment. First, the distance of the garment from the body is investigated. Then, these distances are used to evaluate four discrete values required to design the garment in 3D. By contrast, our method can easily determine whether the fit is comfortable without a template, and the nature of fabric material is also taken into account.


### 2.2. Garment Fitting Method

Designing an elegant 3D virtual garment model is labor-intensive and is not an easy task for nonprofessionals [11, 12]. It requires the expertise of an experienced pattern maker to design, and the results are specific to a particular body model. For improving the efficiency of pattern maker, various types of fitting methods that automatically adapt to new bodies have emerged.Li et al. [5] proposed a fitting method that was accomplished by deforming the garment mesh to match the shapes of the human models. Huang and Yang [6] proposed and designed a method to automatically align virtual humans with 3D garment models. However, 3D garment and posture of virtual humans both need to be altered in the process of alignment. Peng et al. [13] provided a parameterized model of the human body with known shape and pose parameters and described an algorithm that allows customizing any garment such that it can be used to cloth any body shape. Unnatural wrinkle patterns may be generated when they are composed during synthesis. Recently, Zhang et al. [14] proposed a topology-independent fitting method, which adopted proxy mesh to fit a 3D garment on another human model. However, it often fails to preserve the original design and requires manual editing to recover the garment’s original style.Machine learning methods for product design and modeling could be learned in this study. In [15], principal component analysis and cross-parameterization method was applied to human face model with a small set of measureable parameters. And the generated face model facilitates personalized design of the eyeglasses frame. In [16], a parametric design of human body modeling with deep neural network and linear regression method is proposed, which could be utilized for generative design, such as virtual try-on system.


### 2.3. Garment Pattern Design

The easiest way to transfer a garment from one character to another is to apply a physical simulation to place the garment on new characters [17, 18]. The results look like a person wearing someone else’s garment in the wrong size.There are two solutions to solve this problem. The traditional method is interactive garment modeling, which involves manual adjustment. The interactivity helps resolve contacts and intersections in an interactive modeling environment but leaves the design task up to the user. For example, Umetani et al. [19] provided an interface that enables users to immediately customize the parsed patterns via manipulation and editing, while users had to manually specify the seed position. To conveniently reuse existing designs as a starting point for creating new garments, Bartle et al. [20] proposed a new framework that allows designers to directly apply the changes they envision in 3D space.Until recently, several researchers focused on auto adjustment. Meng et al. [21] provided a flexible shape control technique, which uses feature curves to control the shape of the garment for the automatic resizing of apparel products. Brouet et al. [22] adopted the constrained optimization method, which satisfied certain predefined criteria, to formulate garment transfer. Wang [23] achieved a system that customizes sewing patterns for a few targets, by using a series of generic cost functions that formulate pattern adjustment into a parameter optimization problem.We propose a model which automatically reshapes the garment to fit the body using the body structure and the garment pattern boundary rules. It will not only improve the realism of the virtual try-on system in the entertainment industry but also enables mass production of made-to-measure garments.


## 2.1. Fit Evaluation

As is well-known, virtual try-on applications are strongly dependent on mathematical models and cannot give a fully accurate evaluation of garment fit [7, 8]. Based on these, estimating the garment fit without an actual try-on is still an issue for researchers.Liu et al. [9] proposed a machine learning-based model to evaluate garment fit. The inputs of the proposed model are digital clothing pressures, and the output is the predicted result of garment fit. However, 72 samples are not enough to train the proposed model, and two fit levels are too simplified. Ease allowance is another crucial parameter for comfort. Thomassey and Bruniaux [10] provided a template of ease allowance in a 3D environment. First, the distance of the garment from the body is investigated. Then, these distances are used to evaluate four discrete values required to design the garment in 3D. By contrast, our method can easily determine whether the fit is comfortable without a template, and the nature of fabric material is also taken into account.


## 2.2. Garment Fitting Method

Designing an elegant 3D virtual garment model is labor-intensive and is not an easy task for nonprofessionals [11, 12]. It requires the expertise of an experienced pattern maker to design, and the results are specific to a particular body model. For improving the efficiency of pattern maker, various types of fitting methods that automatically adapt to new bodies have emerged.Li et al. [5] proposed a fitting method that was accomplished by deforming the garment mesh to match the shapes of the human models. Huang and Yang [6] proposed and designed a method to automatically align virtual humans with 3D garment models. However, 3D garment and posture of virtual humans both need to be altered in the process of alignment. Peng et al. [13] provided a parameterized model of the human body with known shape and pose parameters and described an algorithm that allows customizing any garment such that it can be used to cloth any body shape. Unnatural wrinkle patterns may be generated when they are composed during synthesis. Recently, Zhang et al. [14] proposed a topology-independent fitting method, which adopted proxy mesh to fit a 3D garment on another human model. However, it often fails to preserve the original design and requires manual editing to recover the garment’s original style.Machine learning methods for product design and modeling could be learned in this study. In [15], principal component analysis and cross-parameterization method was applied to human face model with a small set of measureable parameters. And the generated face model facilitates personalized design of the eyeglasses frame. In [16], a parametric design of human body modeling with deep neural network and linear regression method is proposed, which could be utilized for generative design, such as virtual try-on system.


## 2.3. Garment Pattern Design

The easiest way to transfer a garment from one character to another is to apply a physical simulation to place the garment on new characters [17, 18]. The results look like a person wearing someone else’s garment in the wrong size.There are two solutions to solve this problem. The traditional method is interactive garment modeling, which involves manual adjustment. The interactivity helps resolve contacts and intersections in an interactive modeling environment but leaves the design task up to the user. For example, Umetani et al. [19] provided an interface that enables users to immediately customize the parsed patterns via manipulation and editing, while users had to manually specify the seed position. To conveniently reuse existing designs as a starting point for creating new garments, Bartle et al. [20] proposed a new framework that allows designers to directly apply the changes they envision in 3D space.Until recently, several researchers focused on auto adjustment. Meng et al. [21] provided a flexible shape control technique, which uses feature curves to control the shape of the garment for the automatic resizing of apparel products. Brouet et al. [22] adopted the constrained optimization method, which satisfied certain predefined criteria, to formulate garment transfer. Wang [23] achieved a system that customizes sewing patterns for a few targets, by using a series of generic cost functions that formulate pattern adjustment into a parameter optimization problem.We propose a model which automatically reshapes the garment to fit the body using the body structure and the garment pattern boundary rules. It will not only improve the realism of the virtual try-on system in the entertainment industry but also enables mass production of made-to-measure garments.


## 3. Methodology

### 3.1. Process of the Auto Adjustment Method

Our garment auto adjustment method operates directly on 3D garments and finds a satisfactory balance based on fit criteria. The specific process of our system is shown in Figure1. The input for our method is a character model Θ, possibly with a base garment pattern Φ, which is represented by manifold triangular meshes. We assume that the input character model Θ is standing still. The dual adaptive auto adjustment method would generate a target garment pattern Φ°, which preserves the shape of the base garment pattern.Figure 1
Flow of auto adjustment process.We complete the auto adjustment process in three steps. The first step is the fit evaluation method that measures the garment pattern with a real-time heat map, the second step is the coarse auto adjustment method that generates a transition garment patternΦ∗, and the last step is the fine auto adjustment method that produces a target garment pattern Φ° to satisfy character model Θ. In the process of coarse auto adjustment, in order to auto adjust base garment pattern to adapt the character model Θ, we propose a method of controlling the size of the garment by the length of a bounding box in five parts of the human body. For generating these bounding boxes, we first define the seven key section planes of the character model, then generate the contour line with section planes, achieving five bounding boxes at last. This method is adapted for all standing character models. In the process of fine auto adjustment, for constructing the transitional garment pattern Φ∗ to satisfy the character model, the changes of the boundary line segments Φ∗ and Ω∗ are compared based on the rule of pattern boundary, and then fine adjustment is performed on Φ∗. We mark the boundary triangle of Φ∗ and Ω∗ at first, and then calculate the length of each boundary segment of Φ∗ and Ω∗. Finally, we reposition the boundary node of Φ∗ with the moving direction and distance.


### 3.2. Symbol Definition

A list of symbols used in auto adjustment system is presented in Table1.Table 1
Symbol list.
Φ: mesh of garment pattern
Φ
∗: mesh of garment pattern after CAA
Φ
°: mesh of garment pattern after FAA
Θ: mesh of human model
Ω: mesh of draped garment
Ω
∗: mesh of draped garment after CAA
Ω
°: mesh of draped garment after FAA
R: heat map after draped on
R
∗: heat map after CAA
R
°: heat map after FAA
X: bounding box
λ: contour line
P: boundary of garment pattern
Γ: boundary line segment
τ: boundary triangleThe planar patternΦ, human model Θ, and heat map R are triangulated meshes. These triangulated meshes are composed using the vertex collection N and triangle topology connection information W, according to the key plan I of human model to fetch the bounding box X, which is generated by contour lines λ. The boundaries of the garment pattern P are composed of boundary line segments Γ, while boundary line segments Γ are composed of boundary triangles τ.


## 3.1. Process of the Auto Adjustment Method

Our garment auto adjustment method operates directly on 3D garments and finds a satisfactory balance based on fit criteria. The specific process of our system is shown in Figure1. The input for our method is a character model Θ, possibly with a base garment pattern Φ, which is represented by manifold triangular meshes. We assume that the input character model Θ is standing still. The dual adaptive auto adjustment method would generate a target garment pattern Φ°, which preserves the shape of the base garment pattern.Figure 1
Flow of auto adjustment process.We complete the auto adjustment process in three steps. The first step is the fit evaluation method that measures the garment pattern with a real-time heat map, the second step is the coarse auto adjustment method that generates a transition garment patternΦ∗, and the last step is the fine auto adjustment method that produces a target garment pattern Φ° to satisfy character model Θ. In the process of coarse auto adjustment, in order to auto adjust base garment pattern to adapt the character model Θ, we propose a method of controlling the size of the garment by the length of a bounding box in five parts of the human body. For generating these bounding boxes, we first define the seven key section planes of the character model, then generate the contour line with section planes, achieving five bounding boxes at last. This method is adapted for all standing character models. In the process of fine auto adjustment, for constructing the transitional garment pattern Φ∗ to satisfy the character model, the changes of the boundary line segments Φ∗ and Ω∗ are compared based on the rule of pattern boundary, and then fine adjustment is performed on Φ∗. We mark the boundary triangle of Φ∗ and Ω∗ at first, and then calculate the length of each boundary segment of Φ∗ and Ω∗. Finally, we reposition the boundary node of Φ∗ with the moving direction and distance.


## 3.2. Symbol Definition

A list of symbols used in auto adjustment system is presented in Table1.Table 1
Symbol list.
Φ: mesh of garment pattern
Φ
∗: mesh of garment pattern after CAA
Φ
°: mesh of garment pattern after FAA
Θ: mesh of human model
Ω: mesh of draped garment
Ω
∗: mesh of draped garment after CAA
Ω
°: mesh of draped garment after FAA
R: heat map after draped on
R
∗: heat map after CAA
R
°: heat map after FAA
X: bounding box
λ: contour line
P: boundary of garment pattern
Γ: boundary line segment
τ: boundary triangleThe planar patternΦ, human model Θ, and heat map R are triangulated meshes. These triangulated meshes are composed using the vertex collection N and triangle topology connection information W, according to the key plan I of human model to fetch the bounding box X, which is generated by contour lines λ. The boundaries of the garment pattern P are composed of boundary line segments Γ, while boundary line segments Γ are composed of boundary triangles τ.


## 4. Auto Adjustment Method

### 4.1. Fit Evaluation

In the phase of fit evaluation, mathematical models cannot give a fully accurate garment fit evaluation. We adopted the simulated stretch and strain which could give designers information about the fit for fit improvement. A kind of obvious metrics for fit is the ones measured by the deformation between the dense meshes of 2D garment pattern and 3D draped garment. In the fit evaluation process, the shape variable orL2-stretch could be used to evaluate the fitting quality of a garment while outputting the associated heat map. The metric based on shape variable or L2-stretch on these dense meshes are presented below.


#### 4.1.1. Shape Variable

The principle of this algorithm is that the 2D garment pieces before sewing and the 3D dressed garment after sewing are composed of a 2D triangle mesh and a 3D triangle mesh, respectively. The input is the 2D garment patchΦN,W and the 3D garment model ΩN′,W′, where N is the set of vertices of the garment patch, N=v1,v2,…,vn. W=T1,T2,…,Tn is the topology connection information of the garment pattern Φ and Ts=vi,vj,vk is a triangle of garment pattern, vi, vj, and vk are three vertices of triangle Ts. In a similar way, N′ is the set of vertices of garment model, N′=v1′,v2′,…,vn′. W′=T1′,T2′,…,Tn′ is the topology connection information of the garment model, and Ts′=vi′,vj′,vk′ is a triangle of garment model. The shape variables of each triangle in the garment surface are compared before sewing and after sewing. The variables are calculated as follows:(1a)γs=Lvi,vj,vk−Lvi′,vj′,vk′,(1b)ωs=γs∗Ki,i=1,2,3,…,n,where Lvi,vj,vk represents the perimeter of triangle Tvi,vj,vk. As for equation (1b), ωs represents the shape variable for different fabric, n represents the number of fabric types, and Ki is the elastic coefficient of the fabric. The output is heat map Rω,N′,W′, while the vertex set information and topology connection information of the heat map are the same as those of the 3D garment model ΩN′,W′. The effects of output heat map R, R∗, and R° are shown in Figure 1. It can be seen that heat map R∗, after the CAA, is smoother than the heat map R, while the heat map R°, after the FAA, is smoother than the heat map R∗.


#### 4.1.2.L2-Stretch

Another widely used method for measuring the distortion of surface is theL2-stretch introduced by Sander et al. For a triangle Ts∈W and its corresponding shape defined by the mapping Λ as ΛTs, the L2-stretch is defined by computing the Eigen values of Jacobian formed by partial derivatives of a unique affine mapping between Ts and ΛTs. To ease the computation, for Ts with three vertices vi,vj,vk in ℜ3, we define a local planar frame on ΛTs to obtain the planar coordinates of its three vertices as sk,tk(k=1,2,3). Then, the L2 norm defined on the triangle Ts based on the cross parametrization is(2a)L2Ts=δs⋅δs+δt⋅δt2,with(2b)δs=t2−t3vi+t3−t1vj+t1−t2vk2AΛTs,(2c)δt=s2−s3vi+s3−s1vj+s1−s2vk2AΛTs.A defines the area of a triangle. We could use the shape variable γs or L2-Stretch L2Ts as the fitting evaluation guideline.


### 4.2. Coarse Auto Adjustment

The garment templateΦ provided in this paper is suitable for a specific human body model without satisfying the input character model Θ. We need to get the size of the bounding box fetched by the body part of the human model, to adjust the size of garment template Φ. We divided the body of human model Θ into five parts, including upper body, left thigh, left calf, right thigh, and right calf. The calculation of bounding box with fetched body parts for human model Θ and the adjustment of Φ are completely automated without any interactive operation.


#### 4.2.1. Plane Intersect with Human Model

The planeI intersecting with the human model will generate multiple contour lines, and the contour line generation algorithm is divided into the following steps: (1) Intersecting the plane I and the triangular face of the character model Θ to obtain unordered points p. (2) Grouping the points, and generating the intersection sets Y=λ1,λ2,…,λn. (3) Take a corresponding contour line λ for each plane.The input of the human contour line generation algorithm is a planeIu,d and a 3D character model ΘN,W, where u is the unit normal vector of the plane and d is the distance from the origin to the plane. The intersection set Y=λ1,λ2,…,λn, which consists of the planes intersecting with the character model. Among them, λi=p1,p2,…,pn is a set of points sorted counterclockwise. As shown in left part of Figure 2, the plane intersects with the plane. As shown in right part of Figure 2, pi and pi+1 are ordered intersections.Figure 2
Contour line of human model.Given a planeIu,d and a triangle Tv0,v1,v2, we perform a plane test on vi to determine whether it is on the same side of plane I. If it is, plane I will not intersect with T. Otherwise, the three sides that make up T will be intersected with the plane, and the intersection point p will be recorded. The intersection rules are as follows:(3a)∂=γiγj,(3b)θ=∂1+∂,(3c)p=vi+vj−vi∗θ.Among them,γi and γj are distances between the two endpoints of the line segment to the plane. If γi and γj of line segment svi,vj are greater than 0 or less than 0, there are no intersections. Otherwise, there is an intersection and the calculation of intersection p is based on equations (3a)–(3c).


#### 4.2.2. Generation of Bounding Box

The size of garment fabric is related to the volume of body parts. Based on this point of view, we first propose the use of bounding boxes to obtain the size of various body parts. In this study, seven key section planes are selected to obtain the human body bounding boxX=B1,B2,…,B5. B=a,b,h is one of the them, as shown in the right part of Figure 3. The key section planes determined by the human body characteristics are shown in the left part of Figure 3. Iw1, Iw2, Iw3, Id1, Id2, Il1, and Il2, corresponding to the underarm, abdomen, buttocks, ankles, under knees, after knees, and ankles of the human body, respectively. To effectively detect the characteristics of the human body, the human body stands vertically and the hands are slanted downwards 45°.Figure 3
Bounding box of human model. (a) Key cut face. (b) Human bounding box.
(a)
(b)The specific method for calculating the bounding box is as follows. First, the required contour linesλ for key section planes are obtained based on Section 4.2.1. Then, the required contour line composed of Β1 is generated between Iw1, Iw2, Iw3 and upper body. While B2 is generated between Id1, Id2, and left leg, B3 is generated between Id1, Id2, and right leg, B4 is generated between Il1, Il2, and left leg and B5 is generated between Il1, Il2, and right leg. The blue wire frame in Figure 4 shows the specific information about the bounding box B1.Figure 4
Bounding box of upper body.Three section planesIw1, Iw2, and Iw3 of the upper body define three contour lines λ1, λ2, and λ3. The bounding box B1=a1,b1,h1 can be determined by the coordinates of the point p on the contour line. Among them,(4a)h1=pλ1z−pλ3z,(4b)a1=maxp1λiy,p2λiy,…,pnλiy−minp1λiy,p2λiy,…,pnλiy,i=1,2,3,(4c)b1=maxp1λix,p2λix,…,pnλix−minp1λix,p2λix,…,pnλix,i=1,2,3,pλi is defined by the point p on contour line λi. In addition, the bounding boxes of other parts of the human model can be calculated using the same method, based on key section planes of the human body.


### 4.3. Fine Auto Adjustment

The garment patternΦ∗ is generally fit for the character model, but it can be seen from the corresponding heat map R∗ that the boundary of Φ∗ is unsuitable for the character model. And FAA operations are best solution for fine-tuning in the second stage.However, if the adjustment parametrization includes all of the vertices, the pattern interior would contain self-intersection caused by overfitting. For better controlling the shape ofΦ∗, we define the vertex on boundary as VB for controlling and the vertex on the internal position as VI for passive control. Our simulation, based on physical system, stretch, and strain on the boundary, is the best way to fit accurately [24]. For these reasons, we propose fine-tuning to adjust the sewing pattern by its boundary vertices based on boundary pattern rule. The steps for FAA adjustment are as follows: (1) mark boundary triangle on pattern Φ∗ and garment Ω∗, (2) calculate the length of each boundary in Φ∗ and Ω∗, and (3) reposition the vertices of the garment polygon boundary of Φ∗ based on the calculated moving distance and moving direction.


#### 4.3.1. Mark Boundary Triangle

Define the boundary ofΦ∗ as P=Γ1,Γ2,…,Γn, where Γ=τ1,τ2,…,τn. Γ is a boundary line segment, and τ is a boundary triangle. Boundary triangles are the composition of boundary line segment, we should mark the boundary triangles before calculating the length of each boundary segment Γ. The principle of judging a boundary triangle is that its boundary edge has no common side with other triangles. If each edge of a triangle T has a common side, it is an inner triangle; otherwise, it is a boundary triangle. We know that Φ∗=N,W, where N is the node information and W is the topology connection information of Φ∗. The method of generating the boundary P of Φ∗ is as follows: (1) traverse each triangle T in W and filter out the boundary triangle and mark it; (2) classify the marked boundary triangle τ into the corresponding boundary segment Γ. Repeat steps (1) and (2) until all triangles in W are traversed. Then, the boundary P corresponding to Φ∗ is generated. The boundary P′ of Ω∗ is also achieved using this method. The left part of Figure 5 is a graphic of Φ∗ with boundary triangles marked, while the right part of Figure 5 is a graphic of Ω∗ with boundary triangles marked.Figure 5
2D and 3D garment with boundary triangles marked.
(a)
(b)


#### 4.3.2. Boundary Node Location

We could calculate the boundary segment length ofΦ∗ and Ω∗ using marked boundary triangles. The moving direction and distance are two prerequisites for repositioning boundary node to fine-tune Φ∗.The boundary ofΩ∗ is P′=Γ1′,Γ2′,…,Γn′, where Γ′=τ1′,τ2′,…,τn′, which is calculated by the method described in Section 4.3.1. Then, each line segment Γ on the boundary P of Φ∗ needs to be fine-tuned, and the formula for calculating the fine adjustment length d is as follows:(5a)LΓ=∑i=1nτi,(5b)LΓ′=∑i=1nτi′,(5c)d=LΓi−LΓi′,i=1,2,…,n.To maintain the symmetry of the garment style, the line segmentΓ is bidirectional during moving adjustment. The moving distance is t=d/2.The curvature ofΓ determines its moving adjustment direction and should be obtained first. The calculation method is to measure the slopes of the boundary edges of any two boundary triangles in Γ. If they are equal, Γ is a straight line. Otherwise, it is a curve.(1)
IfΓ is a straight line, as shown in the right part of Figure 6.(1) Define endpoint coordinates of segmentΓ. (2) In the illustration, the moving direction of point A′ is −A′B′, while the moving direction of point B′ is A′B′.(2)
IfΓ is curve, as shown in the left part of Figure 6.(1) Determine the triangleτ at the end of segment Γ, and its definite endpoints coordinates. (2) In the illustration, the moving direction of point A is BA, and point B is another vertex of triangle τ.Figure 6
Moving direction of boundary node.Λ
=
υ
1
,
υ
2
,
…
,
υ
n is the boundary node of Φ∗. We adopt moving distance and direction to reposition boundary node υ, and the final pattern Φ° after FAA is achieved.


## 4.1. Fit Evaluation

In the phase of fit evaluation, mathematical models cannot give a fully accurate garment fit evaluation. We adopted the simulated stretch and strain which could give designers information about the fit for fit improvement. A kind of obvious metrics for fit is the ones measured by the deformation between the dense meshes of 2D garment pattern and 3D draped garment. In the fit evaluation process, the shape variable orL2-stretch could be used to evaluate the fitting quality of a garment while outputting the associated heat map. The metric based on shape variable or L2-stretch on these dense meshes are presented below.


### 4.1.1. Shape Variable

The principle of this algorithm is that the 2D garment pieces before sewing and the 3D dressed garment after sewing are composed of a 2D triangle mesh and a 3D triangle mesh, respectively. The input is the 2D garment patchΦN,W and the 3D garment model ΩN′,W′, where N is the set of vertices of the garment patch, N=v1,v2,…,vn. W=T1,T2,…,Tn is the topology connection information of the garment pattern Φ and Ts=vi,vj,vk is a triangle of garment pattern, vi, vj, and vk are three vertices of triangle Ts. In a similar way, N′ is the set of vertices of garment model, N′=v1′,v2′,…,vn′. W′=T1′,T2′,…,Tn′ is the topology connection information of the garment model, and Ts′=vi′,vj′,vk′ is a triangle of garment model. The shape variables of each triangle in the garment surface are compared before sewing and after sewing. The variables are calculated as follows:(1a)γs=Lvi,vj,vk−Lvi′,vj′,vk′,(1b)ωs=γs∗Ki,i=1,2,3,…,n,where Lvi,vj,vk represents the perimeter of triangle Tvi,vj,vk. As for equation (1b), ωs represents the shape variable for different fabric, n represents the number of fabric types, and Ki is the elastic coefficient of the fabric. The output is heat map Rω,N′,W′, while the vertex set information and topology connection information of the heat map are the same as those of the 3D garment model ΩN′,W′. The effects of output heat map R, R∗, and R° are shown in Figure 1. It can be seen that heat map R∗, after the CAA, is smoother than the heat map R, while the heat map R°, after the FAA, is smoother than the heat map R∗.


### 4.1.2.L2-Stretch

Another widely used method for measuring the distortion of surface is theL2-stretch introduced by Sander et al. For a triangle Ts∈W and its corresponding shape defined by the mapping Λ as ΛTs, the L2-stretch is defined by computing the Eigen values of Jacobian formed by partial derivatives of a unique affine mapping between Ts and ΛTs. To ease the computation, for Ts with three vertices vi,vj,vk in ℜ3, we define a local planar frame on ΛTs to obtain the planar coordinates of its three vertices as sk,tk(k=1,2,3). Then, the L2 norm defined on the triangle Ts based on the cross parametrization is(2a)L2Ts=δs⋅δs+δt⋅δt2,with(2b)δs=t2−t3vi+t3−t1vj+t1−t2vk2AΛTs,(2c)δt=s2−s3vi+s3−s1vj+s1−s2vk2AΛTs.A defines the area of a triangle. We could use the shape variable γs or L2-Stretch L2Ts as the fitting evaluation guideline.


## 4.1.1. Shape Variable

The principle of this algorithm is that the 2D garment pieces before sewing and the 3D dressed garment after sewing are composed of a 2D triangle mesh and a 3D triangle mesh, respectively. The input is the 2D garment patchΦN,W and the 3D garment model ΩN′,W′, where N is the set of vertices of the garment patch, N=v1,v2,…,vn. W=T1,T2,…,Tn is the topology connection information of the garment pattern Φ and Ts=vi,vj,vk is a triangle of garment pattern, vi, vj, and vk are three vertices of triangle Ts. In a similar way, N′ is the set of vertices of garment model, N′=v1′,v2′,…,vn′. W′=T1′,T2′,…,Tn′ is the topology connection information of the garment model, and Ts′=vi′,vj′,vk′ is a triangle of garment model. The shape variables of each triangle in the garment surface are compared before sewing and after sewing. The variables are calculated as follows:(1a)γs=Lvi,vj,vk−Lvi′,vj′,vk′,(1b)ωs=γs∗Ki,i=1,2,3,…,n,where Lvi,vj,vk represents the perimeter of triangle Tvi,vj,vk. As for equation (1b), ωs represents the shape variable for different fabric, n represents the number of fabric types, and Ki is the elastic coefficient of the fabric. The output is heat map Rω,N′,W′, while the vertex set information and topology connection information of the heat map are the same as those of the 3D garment model ΩN′,W′. The effects of output heat map R, R∗, and R° are shown in Figure 1. It can be seen that heat map R∗, after the CAA, is smoother than the heat map R, while the heat map R°, after the FAA, is smoother than the heat map R∗.


## 4.1.2.L2-Stretch

Another widely used method for measuring the distortion of surface is theL2-stretch introduced by Sander et al. For a triangle Ts∈W and its corresponding shape defined by the mapping Λ as ΛTs, the L2-stretch is defined by computing the Eigen values of Jacobian formed by partial derivatives of a unique affine mapping between Ts and ΛTs. To ease the computation, for Ts with three vertices vi,vj,vk in ℜ3, we define a local planar frame on ΛTs to obtain the planar coordinates of its three vertices as sk,tk(k=1,2,3). Then, the L2 norm defined on the triangle Ts based on the cross parametrization is(2a)L2Ts=δs⋅δs+δt⋅δt2,with(2b)δs=t2−t3vi+t3−t1vj+t1−t2vk2AΛTs,(2c)δt=s2−s3vi+s3−s1vj+s1−s2vk2AΛTs.A defines the area of a triangle. We could use the shape variable γs or L2-Stretch L2Ts as the fitting evaluation guideline.


## 4.2. Coarse Auto Adjustment

The garment templateΦ provided in this paper is suitable for a specific human body model without satisfying the input character model Θ. We need to get the size of the bounding box fetched by the body part of the human model, to adjust the size of garment template Φ. We divided the body of human model Θ into five parts, including upper body, left thigh, left calf, right thigh, and right calf. The calculation of bounding box with fetched body parts for human model Θ and the adjustment of Φ are completely automated without any interactive operation.


### 4.2.1. Plane Intersect with Human Model

The planeI intersecting with the human model will generate multiple contour lines, and the contour line generation algorithm is divided into the following steps: (1) Intersecting the plane I and the triangular face of the character model Θ to obtain unordered points p. (2) Grouping the points, and generating the intersection sets Y=λ1,λ2,…,λn. (3) Take a corresponding contour line λ for each plane.The input of the human contour line generation algorithm is a planeIu,d and a 3D character model ΘN,W, where u is the unit normal vector of the plane and d is the distance from the origin to the plane. The intersection set Y=λ1,λ2,…,λn, which consists of the planes intersecting with the character model. Among them, λi=p1,p2,…,pn is a set of points sorted counterclockwise. As shown in left part of Figure 2, the plane intersects with the plane. As shown in right part of Figure 2, pi and pi+1 are ordered intersections.Figure 2
Contour line of human model.Given a planeIu,d and a triangle Tv0,v1,v2, we perform a plane test on vi to determine whether it is on the same side of plane I. If it is, plane I will not intersect with T. Otherwise, the three sides that make up T will be intersected with the plane, and the intersection point p will be recorded. The intersection rules are as follows:(3a)∂=γiγj,(3b)θ=∂1+∂,(3c)p=vi+vj−vi∗θ.Among them,γi and γj are distances between the two endpoints of the line segment to the plane. If γi and γj of line segment svi,vj are greater than 0 or less than 0, there are no intersections. Otherwise, there is an intersection and the calculation of intersection p is based on equations (3a)–(3c).


### 4.2.2. Generation of Bounding Box

The size of garment fabric is related to the volume of body parts. Based on this point of view, we first propose the use of bounding boxes to obtain the size of various body parts. In this study, seven key section planes are selected to obtain the human body bounding boxX=B1,B2,…,B5. B=a,b,h is one of the them, as shown in the right part of Figure 3. The key section planes determined by the human body characteristics are shown in the left part of Figure 3. Iw1, Iw2, Iw3, Id1, Id2, Il1, and Il2, corresponding to the underarm, abdomen, buttocks, ankles, under knees, after knees, and ankles of the human body, respectively. To effectively detect the characteristics of the human body, the human body stands vertically and the hands are slanted downwards 45°.Figure 3
Bounding box of human model. (a) Key cut face. (b) Human bounding box.
(a)
(b)The specific method for calculating the bounding box is as follows. First, the required contour linesλ for key section planes are obtained based on Section 4.2.1. Then, the required contour line composed of Β1 is generated between Iw1, Iw2, Iw3 and upper body. While B2 is generated between Id1, Id2, and left leg, B3 is generated between Id1, Id2, and right leg, B4 is generated between Il1, Il2, and left leg and B5 is generated between Il1, Il2, and right leg. The blue wire frame in Figure 4 shows the specific information about the bounding box B1.Figure 4
Bounding box of upper body.Three section planesIw1, Iw2, and Iw3 of the upper body define three contour lines λ1, λ2, and λ3. The bounding box B1=a1,b1,h1 can be determined by the coordinates of the point p on the contour line. Among them,(4a)h1=pλ1z−pλ3z,(4b)a1=maxp1λiy,p2λiy,…,pnλiy−minp1λiy,p2λiy,…,pnλiy,i=1,2,3,(4c)b1=maxp1λix,p2λix,…,pnλix−minp1λix,p2λix,…,pnλix,i=1,2,3,pλi is defined by the point p on contour line λi. In addition, the bounding boxes of other parts of the human model can be calculated using the same method, based on key section planes of the human body.


## 4.2.1. Plane Intersect with Human Model

The planeI intersecting with the human model will generate multiple contour lines, and the contour line generation algorithm is divided into the following steps: (1) Intersecting the plane I and the triangular face of the character model Θ to obtain unordered points p. (2) Grouping the points, and generating the intersection sets Y=λ1,λ2,…,λn. (3) Take a corresponding contour line λ for each plane.The input of the human contour line generation algorithm is a planeIu,d and a 3D character model ΘN,W, where u is the unit normal vector of the plane and d is the distance from the origin to the plane. The intersection set Y=λ1,λ2,…,λn, which consists of the planes intersecting with the character model. Among them, λi=p1,p2,…,pn is a set of points sorted counterclockwise. As shown in left part of Figure 2, the plane intersects with the plane. As shown in right part of Figure 2, pi and pi+1 are ordered intersections.Figure 2
Contour line of human model.Given a planeIu,d and a triangle Tv0,v1,v2, we perform a plane test on vi to determine whether it is on the same side of plane I. If it is, plane I will not intersect with T. Otherwise, the three sides that make up T will be intersected with the plane, and the intersection point p will be recorded. The intersection rules are as follows:(3a)∂=γiγj,(3b)θ=∂1+∂,(3c)p=vi+vj−vi∗θ.Among them,γi and γj are distances between the two endpoints of the line segment to the plane. If γi and γj of line segment svi,vj are greater than 0 or less than 0, there are no intersections. Otherwise, there is an intersection and the calculation of intersection p is based on equations (3a)–(3c).


## 4.2.2. Generation of Bounding Box

The size of garment fabric is related to the volume of body parts. Based on this point of view, we first propose the use of bounding boxes to obtain the size of various body parts. In this study, seven key section planes are selected to obtain the human body bounding boxX=B1,B2,…,B5. B=a,b,h is one of the them, as shown in the right part of Figure 3. The key section planes determined by the human body characteristics are shown in the left part of Figure 3. Iw1, Iw2, Iw3, Id1, Id2, Il1, and Il2, corresponding to the underarm, abdomen, buttocks, ankles, under knees, after knees, and ankles of the human body, respectively. To effectively detect the characteristics of the human body, the human body stands vertically and the hands are slanted downwards 45°.Figure 3
Bounding box of human model. (a) Key cut face. (b) Human bounding box.
(a)
(b)The specific method for calculating the bounding box is as follows. First, the required contour linesλ for key section planes are obtained based on Section 4.2.1. Then, the required contour line composed of Β1 is generated between Iw1, Iw2, Iw3 and upper body. While B2 is generated between Id1, Id2, and left leg, B3 is generated between Id1, Id2, and right leg, B4 is generated between Il1, Il2, and left leg and B5 is generated between Il1, Il2, and right leg. The blue wire frame in Figure 4 shows the specific information about the bounding box B1.Figure 4
Bounding box of upper body.Three section planesIw1, Iw2, and Iw3 of the upper body define three contour lines λ1, λ2, and λ3. The bounding box B1=a1,b1,h1 can be determined by the coordinates of the point p on the contour line. Among them,(4a)h1=pλ1z−pλ3z,(4b)a1=maxp1λiy,p2λiy,…,pnλiy−minp1λiy,p2λiy,…,pnλiy,i=1,2,3,(4c)b1=maxp1λix,p2λix,…,pnλix−minp1λix,p2λix,…,pnλix,i=1,2,3,pλi is defined by the point p on contour line λi. In addition, the bounding boxes of other parts of the human model can be calculated using the same method, based on key section planes of the human body.


## 4.3. Fine Auto Adjustment

The garment patternΦ∗ is generally fit for the character model, but it can be seen from the corresponding heat map R∗ that the boundary of Φ∗ is unsuitable for the character model. And FAA operations are best solution for fine-tuning in the second stage.However, if the adjustment parametrization includes all of the vertices, the pattern interior would contain self-intersection caused by overfitting. For better controlling the shape ofΦ∗, we define the vertex on boundary as VB for controlling and the vertex on the internal position as VI for passive control. Our simulation, based on physical system, stretch, and strain on the boundary, is the best way to fit accurately [24]. For these reasons, we propose fine-tuning to adjust the sewing pattern by its boundary vertices based on boundary pattern rule. The steps for FAA adjustment are as follows: (1) mark boundary triangle on pattern Φ∗ and garment Ω∗, (2) calculate the length of each boundary in Φ∗ and Ω∗, and (3) reposition the vertices of the garment polygon boundary of Φ∗ based on the calculated moving distance and moving direction.


### 4.3.1. Mark Boundary Triangle

Define the boundary ofΦ∗ as P=Γ1,Γ2,…,Γn, where Γ=τ1,τ2,…,τn. Γ is a boundary line segment, and τ is a boundary triangle. Boundary triangles are the composition of boundary line segment, we should mark the boundary triangles before calculating the length of each boundary segment Γ. The principle of judging a boundary triangle is that its boundary edge has no common side with other triangles. If each edge of a triangle T has a common side, it is an inner triangle; otherwise, it is a boundary triangle. We know that Φ∗=N,W, where N is the node information and W is the topology connection information of Φ∗. The method of generating the boundary P of Φ∗ is as follows: (1) traverse each triangle T in W and filter out the boundary triangle and mark it; (2) classify the marked boundary triangle τ into the corresponding boundary segment Γ. Repeat steps (1) and (2) until all triangles in W are traversed. Then, the boundary P corresponding to Φ∗ is generated. The boundary P′ of Ω∗ is also achieved using this method. The left part of Figure 5 is a graphic of Φ∗ with boundary triangles marked, while the right part of Figure 5 is a graphic of Ω∗ with boundary triangles marked.Figure 5
2D and 3D garment with boundary triangles marked.
(a)
(b)


### 4.3.2. Boundary Node Location

We could calculate the boundary segment length ofΦ∗ and Ω∗ using marked boundary triangles. The moving direction and distance are two prerequisites for repositioning boundary node to fine-tune Φ∗.The boundary ofΩ∗ is P′=Γ1′,Γ2′,…,Γn′, where Γ′=τ1′,τ2′,…,τn′, which is calculated by the method described in Section 4.3.1. Then, each line segment Γ on the boundary P of Φ∗ needs to be fine-tuned, and the formula for calculating the fine adjustment length d is as follows:(5a)LΓ=∑i=1nτi,(5b)LΓ′=∑i=1nτi′,(5c)d=LΓi−LΓi′,i=1,2,…,n.To maintain the symmetry of the garment style, the line segmentΓ is bidirectional during moving adjustment. The moving distance is t=d/2.The curvature ofΓ determines its moving adjustment direction and should be obtained first. The calculation method is to measure the slopes of the boundary edges of any two boundary triangles in Γ. If they are equal, Γ is a straight line. Otherwise, it is a curve.(1)
IfΓ is a straight line, as shown in the right part of Figure 6.(1) Define endpoint coordinates of segmentΓ. (2) In the illustration, the moving direction of point A′ is −A′B′, while the moving direction of point B′ is A′B′.(2)
IfΓ is curve, as shown in the left part of Figure 6.(1) Determine the triangleτ at the end of segment Γ, and its definite endpoints coordinates. (2) In the illustration, the moving direction of point A is BA, and point B is another vertex of triangle τ.Figure 6
Moving direction of boundary node.Λ
=
υ
1
,
υ
2
,
…
,
υ
n is the boundary node of Φ∗. We adopt moving distance and direction to reposition boundary node υ, and the final pattern Φ° after FAA is achieved.


## 4.3.1. Mark Boundary Triangle

Define the boundary ofΦ∗ as P=Γ1,Γ2,…,Γn, where Γ=τ1,τ2,…,τn. Γ is a boundary line segment, and τ is a boundary triangle. Boundary triangles are the composition of boundary line segment, we should mark the boundary triangles before calculating the length of each boundary segment Γ. The principle of judging a boundary triangle is that its boundary edge has no common side with other triangles. If each edge of a triangle T has a common side, it is an inner triangle; otherwise, it is a boundary triangle. We know that Φ∗=N,W, where N is the node information and W is the topology connection information of Φ∗. The method of generating the boundary P of Φ∗ is as follows: (1) traverse each triangle T in W and filter out the boundary triangle and mark it; (2) classify the marked boundary triangle τ into the corresponding boundary segment Γ. Repeat steps (1) and (2) until all triangles in W are traversed. Then, the boundary P corresponding to Φ∗ is generated. The boundary P′ of Ω∗ is also achieved using this method. The left part of Figure 5 is a graphic of Φ∗ with boundary triangles marked, while the right part of Figure 5 is a graphic of Ω∗ with boundary triangles marked.Figure 5
2D and 3D garment with boundary triangles marked.
(a)
(b)


## 4.3.2. Boundary Node Location

We could calculate the boundary segment length ofΦ∗ and Ω∗ using marked boundary triangles. The moving direction and distance are two prerequisites for repositioning boundary node to fine-tune Φ∗.The boundary ofΩ∗ is P′=Γ1′,Γ2′,…,Γn′, where Γ′=τ1′,τ2′,…,τn′, which is calculated by the method described in Section 4.3.1. Then, each line segment Γ on the boundary P of Φ∗ needs to be fine-tuned, and the formula for calculating the fine adjustment length d is as follows:(5a)LΓ=∑i=1nτi,(5b)LΓ′=∑i=1nτi′,(5c)d=LΓi−LΓi′,i=1,2,…,n.To maintain the symmetry of the garment style, the line segmentΓ is bidirectional during moving adjustment. The moving distance is t=d/2.The curvature ofΓ determines its moving adjustment direction and should be obtained first. The calculation method is to measure the slopes of the boundary edges of any two boundary triangles in Γ. If they are equal, Γ is a straight line. Otherwise, it is a curve.(1)
IfΓ is a straight line, as shown in the right part of Figure 6.(1) Define endpoint coordinates of segmentΓ. (2) In the illustration, the moving direction of point A′ is −A′B′, while the moving direction of point B′ is A′B′.(2)
IfΓ is curve, as shown in the left part of Figure 6.(1) Determine the triangleτ at the end of segment Γ, and its definite endpoints coordinates. (2) In the illustration, the moving direction of point A is BA, and point B is another vertex of triangle τ.Figure 6
Moving direction of boundary node.Λ
=
υ
1
,
υ
2
,
…
,
υ
n is the boundary node of Φ∗. We adopt moving distance and direction to reposition boundary node υ, and the final pattern Φ° after FAA is achieved.


## 5. Experimental Results

All our experiments were performed on an Intel Core i7-5820K 3.3 GHz processor, with 4 GB of RAM, and an NVIDIA GeForce GTX TITAN X Graphics Card. For cloth simulation, we employ a standard mass-spring cloth system, with position-based strain limiting and collision processing. We implement the dual adaptive garment adjustment method using the CUDA library for GPU computation.


### 5.1. Virtual Dressing

Our 3D garments are created from 2D panels. 2D panels are triangulated using Delaunay algorithm as we use triangular meshes to represent garment surfaces. Seam lines are explicitly specified by choosing pairs of panel boundary edges. The designed coats are assembled and linked by seaming lines to simulate clothing behavior on the 3D mannequin, as shown in Figure7(a). By applying elastic force among the seams, two clothing pieces in the pattern can be attached to each other during the sewing process, as shown in Figure 7(b). The clothing patterns can be therefore connected to the 3D mannequin. After several seconds, the virtual human will be dressed in a 3D garment (Figure 7(c)).Figure 7
Virtual dressing process.
(a)
(b)
(c)During the evolution of draping simulation [25], collision detection between the cloth and human body is a requisite for the system. If our human model is standing still, distance field can be computed beforehand [26]. This makes it a suitable solution that can be resolved correctly when a collision is detected.


### 5.2. Garment Adjustment and Fit Evaluation

To test how effective of our approach is, we performed experiments with several garment patterns and human models. In the first group of experiments, we choose the existing skirt pattern, which is suitable for a standard human model. The skirt pattern represented by a set of 2D polygons with triangulated mesh is shown in Figure8(b). A female model with a thinner body was selected for the virtual try-on. Figure 8(a) shows the effect of the female model after the garment is draped on it, and it is obvious that the garment is too large for the female model. Figure 8(e) is an effect of the 2D garment pattern after automatic CAA, and Figure 8(d) shows the effect of the 2D garment pattern draped on the human body. Figure 8(g) is the effect of the 2D garment pattern draped on the human body after going through FAA. Figure 8(h) is the 2D pattern after FAA, and the resulting 2D pattern is also for production at the same time. Figures 8(c), 8(f), and 8(i) are heat maps of fit evaluation corresponding to Figures 8(a), 8(d), and 8(g), respectively. From these heat maps, we conclude that the effect of the draped garment after dual adaptive is improved significantly.Figure 8
Auto adjustment method on skirt.
(a)
(b)
(c)
(d)
(e)
(f)
(g)
(h)
(i)In the second group, we selected the existing trousers pattern for a standard model carry-on experiment, as shown in Figure9(b). Then, a male model with a fat body was selected for the try-on. Figure 9(a) shows the effect after the garment is draped on the model. It is obvious that the trousers are too tight for the model and the size needs to be adjusted. Figure 9(e) shows a 2D pattern after CAA adjustment. Figure 9(h) shows a 2D pattern after adjustment by FAA. The 2D pattern of this type preserves the original pattern style after dual adjustment and can be used for trousers production of this human model.Figure 9
Auto adjustment method on trousers.
(a)
(b)
(c)
(d)
(e)
(f)
(g)
(h)
(i)


### 5.3. Comparison with Manual Adjustment

To compare our auto adjustment method with the manual adjustment method, we select Sensitive Couture, proposed by Umetani et al. in [19], as the manual operation tool. Sensitive Couture provides synchronized, interactive editing of 2D garment patterns and their corresponding physically simulated 3D garment. It enables users to immediately customize the parsed patterns via manipulation and editing. However, its weaknesses are obvious. The designed garment needs manual operation to satisfy all kinds of body shapes, which is time-consuming.We implement the SC manual method and our auto adjustment method on the same experimental platform. And the detail statistical comparison results are shown in Table2. Our input garment meshes contain 15K–22K triangles. This number is consistent with those used in commercial garment design software, e.g., Marvelous Designer. η is the smooth of draped simulation garment. The calculation is as follows:(6)η=∑i=1nSvi,vj,vk∑i=1nSvi′,vj′,vk′.Table 2
Statistics comparing auto adjustment with manual adjustment.
Example name (#vert, #tri, #patches)
Method
Human body
Smoothη before adjustment (%)
Smoothη after adjustment (%)
Operation time (s)
Vest (15K, 22K, 2)
Manual
Fat man
80.23
90.56
30.21
Auto
88.76
1.42
Skirt (11K, 15K, 2)
Manual
Thin woman
81.76
92.68
35.56
Auto
87.96
1.5
Trousers (13K, 20K, 4)
Manual
Fat man
76.43
89.93
38.26
Auto
86.31
1.34Among them,Svi,vj,vk represents triangle area of Tvi,vj,vk in Φ, while Svi′,vj′,vk′ represents triangle area of Tvi′,vj′,vk′ in Φ°. Take a vest, for example, the value of smooth η before adjusting is 80.23%. We choose a CAD artist with several years of garment editing experience. After 30.21 s of manual operation by him, the value of smooth η reaches 90.56%. By contrast, our auto adjustment system only takes 1.42 s, and the value of smooth η reaches 88.76% with similar effect.


### 5.4. Comparison with Auto Fitting Method

To compare our auto adjustment method with the auto fitting method, we select Topology-independent 3D garment fitting, proposed by Zhang et al. in [14], as the auto fitting tool. It enables to auto fit 3D garment on another human model whose topology or shape is different from the garment’s reference human model.We select four sizes of human model for virtual dressing, which are size 2, size 4, size 6, and size 8. The first line of Figure10 shows the effect of auto fitting method try-on on different body sizes, which generate penetration. And the cloth mesh penetrates into the body, especially on human model of size 8. The second line of Figure 10 shows the effect of our auto method adjust garment pattern on different body sizes, which achieve proper garment on vastly different body shapes.Figure 10
Comparing auto adjustment with auto fitting method on T-shirt.
(a)
(b)
(c)
(d)
(e)
(f)
(g)
(h)We use statistics to compare our auto adjustment with auto fitting method, as shown in Table3. Take a trouser, for example, the value of smooth η after first simulation is 73.01% for human model of size 8. After 0.91 s of auto fitting process, the value of smooth η reaches 82.20%. And penetration is also obvious, as shown in Figure 11(d). While, our method takes 1.38 s, the value of smooth η reaches 90.51%. From the result, our auto adjustment method realizes more realistic virtual garment on vastly different body shapes compared to auto fitting method.Table 3
Statistics comparing auto adjustment with auto fitting.
Example name (#vert, #tri, #patches)
Human model
Smoothη after simulation (%)
Smoothη after auto adjustment (%)
Smoothη after auto fitting (%)
Process time of adjustment (s)
Process time of fitting (s)
T-shirt (12K, 18K, 2)
Size 2
80.21
92.64
87.25
1.53
0.87
Size 4
82.45
90.53
88.35
1.35
0.95
Size 6
75.84
89.21
84.72
1.33
0.82
Size 8
70.61
88.97
81.51
1.49
0.93
Trousers (13K, 20K, 4)
Size 2
82.97
90.05
86.13
1.20
0.86
Size 4
85.21
91.87
89.27
1.43
0.97
Size 6
78.49
88.44
84.39
1.51
0.82
Size 8
73.01
90.51
82.20
1.38
0.91Figure 11
Comparing auto adjustment with auto fitting method on Trousers.
(a)
(b)
(c)
(d)
(e)
(f)
(g)
(h)


## 5.1. Virtual Dressing

Our 3D garments are created from 2D panels. 2D panels are triangulated using Delaunay algorithm as we use triangular meshes to represent garment surfaces. Seam lines are explicitly specified by choosing pairs of panel boundary edges. The designed coats are assembled and linked by seaming lines to simulate clothing behavior on the 3D mannequin, as shown in Figure7(a). By applying elastic force among the seams, two clothing pieces in the pattern can be attached to each other during the sewing process, as shown in Figure 7(b). The clothing patterns can be therefore connected to the 3D mannequin. After several seconds, the virtual human will be dressed in a 3D garment (Figure 7(c)).Figure 7
Virtual dressing process.
(a)
(b)
(c)During the evolution of draping simulation [25], collision detection between the cloth and human body is a requisite for the system. If our human model is standing still, distance field can be computed beforehand [26]. This makes it a suitable solution that can be resolved correctly when a collision is detected.


## 5.2. Garment Adjustment and Fit Evaluation

To test how effective of our approach is, we performed experiments with several garment patterns and human models. In the first group of experiments, we choose the existing skirt pattern, which is suitable for a standard human model. The skirt pattern represented by a set of 2D polygons with triangulated mesh is shown in Figure8(b). A female model with a thinner body was selected for the virtual try-on. Figure 8(a) shows the effect of the female model after the garment is draped on it, and it is obvious that the garment is too large for the female model. Figure 8(e) is an effect of the 2D garment pattern after automatic CAA, and Figure 8(d) shows the effect of the 2D garment pattern draped on the human body. Figure 8(g) is the effect of the 2D garment pattern draped on the human body after going through FAA. Figure 8(h) is the 2D pattern after FAA, and the resulting 2D pattern is also for production at the same time. Figures 8(c), 8(f), and 8(i) are heat maps of fit evaluation corresponding to Figures 8(a), 8(d), and 8(g), respectively. From these heat maps, we conclude that the effect of the draped garment after dual adaptive is improved significantly.Figure 8
Auto adjustment method on skirt.
(a)
(b)
(c)
(d)
(e)
(f)
(g)
(h)
(i)In the second group, we selected the existing trousers pattern for a standard model carry-on experiment, as shown in Figure9(b). Then, a male model with a fat body was selected for the try-on. Figure 9(a) shows the effect after the garment is draped on the model. It is obvious that the trousers are too tight for the model and the size needs to be adjusted. Figure 9(e) shows a 2D pattern after CAA adjustment. Figure 9(h) shows a 2D pattern after adjustment by FAA. The 2D pattern of this type preserves the original pattern style after dual adjustment and can be used for trousers production of this human model.Figure 9
Auto adjustment method on trousers.
(a)
(b)
(c)
(d)
(e)
(f)
(g)
(h)
(i)


## 5.3. Comparison with Manual Adjustment

To compare our auto adjustment method with the manual adjustment method, we select Sensitive Couture, proposed by Umetani et al. in [19], as the manual operation tool. Sensitive Couture provides synchronized, interactive editing of 2D garment patterns and their corresponding physically simulated 3D garment. It enables users to immediately customize the parsed patterns via manipulation and editing. However, its weaknesses are obvious. The designed garment needs manual operation to satisfy all kinds of body shapes, which is time-consuming.We implement the SC manual method and our auto adjustment method on the same experimental platform. And the detail statistical comparison results are shown in Table2. Our input garment meshes contain 15K–22K triangles. This number is consistent with those used in commercial garment design software, e.g., Marvelous Designer. η is the smooth of draped simulation garment. The calculation is as follows:(6)η=∑i=1nSvi,vj,vk∑i=1nSvi′,vj′,vk′.Table 2
Statistics comparing auto adjustment with manual adjustment.
Example name (#vert, #tri, #patches)
Method
Human body
Smoothη before adjustment (%)
Smoothη after adjustment (%)
Operation time (s)
Vest (15K, 22K, 2)
Manual
Fat man
80.23
90.56
30.21
Auto
88.76
1.42
Skirt (11K, 15K, 2)
Manual
Thin woman
81.76
92.68
35.56
Auto
87.96
1.5
Trousers (13K, 20K, 4)
Manual
Fat man
76.43
89.93
38.26
Auto
86.31
1.34Among them,Svi,vj,vk represents triangle area of Tvi,vj,vk in Φ, while Svi′,vj′,vk′ represents triangle area of Tvi′,vj′,vk′ in Φ°. Take a vest, for example, the value of smooth η before adjusting is 80.23%. We choose a CAD artist with several years of garment editing experience. After 30.21 s of manual operation by him, the value of smooth η reaches 90.56%. By contrast, our auto adjustment system only takes 1.42 s, and the value of smooth η reaches 88.76% with similar effect.


## 5.4. Comparison with Auto Fitting Method

To compare our auto adjustment method with the auto fitting method, we select Topology-independent 3D garment fitting, proposed by Zhang et al. in [14], as the auto fitting tool. It enables to auto fit 3D garment on another human model whose topology or shape is different from the garment’s reference human model.We select four sizes of human model for virtual dressing, which are size 2, size 4, size 6, and size 8. The first line of Figure10 shows the effect of auto fitting method try-on on different body sizes, which generate penetration. And the cloth mesh penetrates into the body, especially on human model of size 8. The second line of Figure 10 shows the effect of our auto method adjust garment pattern on different body sizes, which achieve proper garment on vastly different body shapes.Figure 10
Comparing auto adjustment with auto fitting method on T-shirt.
(a)
(b)
(c)
(d)
(e)
(f)
(g)
(h)We use statistics to compare our auto adjustment with auto fitting method, as shown in Table3. Take a trouser, for example, the value of smooth η after first simulation is 73.01% for human model of size 8. After 0.91 s of auto fitting process, the value of smooth η reaches 82.20%. And penetration is also obvious, as shown in Figure 11(d). While, our method takes 1.38 s, the value of smooth η reaches 90.51%. From the result, our auto adjustment method realizes more realistic virtual garment on vastly different body shapes compared to auto fitting method.Table 3
Statistics comparing auto adjustment with auto fitting.
Example name (#vert, #tri, #patches)
Human model
Smoothη after simulation (%)
Smoothη after auto adjustment (%)
Smoothη after auto fitting (%)
Process time of adjustment (s)
Process time of fitting (s)
T-shirt (12K, 18K, 2)
Size 2
80.21
92.64
87.25
1.53
0.87
Size 4
82.45
90.53
88.35
1.35
0.95
Size 6
75.84
89.21
84.72
1.33
0.82
Size 8
70.61
88.97
81.51
1.49
0.93
Trousers (13K, 20K, 4)
Size 2
82.97
90.05
86.13
1.20
0.86
Size 4
85.21
91.87
89.27
1.43
0.97
Size 6
78.49
88.44
84.39
1.51
0.82
Size 8
73.01
90.51
82.20
1.38
0.91Figure 11
Comparing auto adjustment with auto fitting method on Trousers.
(a)
(b)
(c)
(d)
(e)
(f)
(g)
(h)


## 6. Conclusion and Future Work

We have presented a dual adaptive garment slice auto adjustment method that is fully automatic and can preserve the style of garment between characters with vastly different body shapes. Compared with the traditional 2D editing approaches, our method is dramatically faster to use for novice users who have no experience with 2D patterns. And it achieves realistic garment effect compared to auto fitting method. During the dual adaptive process, first, we obtain the bounding box of the five parts of the human body according to the seven section rings of the human body, and automatically adjust the size of the garment. Then, we use rules of pattern boundary to achieve a better fit for the virtual character garment after FAA. In addition, a novel fit evaluation method is proposed for evaluation. Our evaluation confirms that our method can perform garment automatic try-on for a variety of body shapes.Although our method is easy to implement and make the adaptive garment look pleasing, there are still some limitations to be approached in the future. The first limitation is that the character model needs to stand still to be able to satisfy automatic adjustment. Another limitation is that such complex pattern garments cannot be achieved with our auto adjustment method. In future, we will focus on removing the two limitations to get realistic garments that suit a variety of body shapes.



---

*Source: 8069373-2019-03-10.xml*