Combining 3D Interpolation, Regression, and Body Features to build 3D Human Data for Garment: An Application to Building 3D Vietnamese Female Data Model

Modeling 3D human body is an advanced technique used in human motion analysis and garment industry. In this paper, we propose a method for forming deformation functions so that we can rebuild the 3D human body given anthropometric measurements. The advanced idea in our approach is that we split the 3D body into small parts. In that way, we can specialize different set of parameters needed to interpolate for each section. With an interpolation approach, we build a 3D human body for 593 female bodies with the corresponding body shape but require fewer input measurements than 3D laser scans.


I. INTRODUCTION
With the rapid increase in 3D technology, 3D human models have more practical applications than ever. In the field of animation, 3D virtual characters used in films or videos are much similar to a real human. Hologram call will be the next step for our telecommunications industry and especially for modern life. When people need more time for their family and work, virtual try-on technology or custom suit online will be cut off the time for shopping. However, full body 3D scanners nowadays are still unaffordable for individual [4]. Besides, scanning systems usually are complicated to set up, and there is rarely a friendly manual.
Those reasons have fueled us to propose a more convenient method for non-expert users, who want a 3D body ourselves without the 3D scanner. With the slightly greater number of key points compared to those used in traditional manners, but much smaller than those used in 3D body scanner, we can estimate 3D human models simply by using a personal computer. To achieve this work, we choose n basedslices to present the whole human body, then fine-tune sliceby-slice to adapt to any particular human body shapes. Finally, meshes are used to connect the entire body.
We rely on tailor's (circumference) measurements at specific places on the human body to construct essential shapes. We build data points with their respective shapes and perimeters to get important slices. From these data slices, we use interpolation to estimate intermediate slices that form the entire 3D body of a human. The dataset used in our experiment contains 593 3D women models which are saved under "obj" format; each model has a set of measurements that is the input of our method. This dataset is from the garment research group of Hanoi University of Technology. We use relative error to compute the error level of the proposed approach; the average square error is 11.02621202.

II. RELATED WORKS
Many techniques have been developing in the field of 3D modeling. The following approaches are vital to the 3D garment design [2].
 Parametric learning: this method creates a human template and then combines with semantic features from an individual to produce a new human model [5].
Wang et al. [1] proposed a method to create a parametric model based on the vital body sizes and Spline interpolation. To satisfy the garment or animation's requirement, the author presented two modules: the skeleton fitting and independent cross sections for each body part. After having a surrogate model, the users can manipulate the key dimensions of the surrogate model to generate their desired 3D model. Cordier et al. [3] developed an Online Clothing Store as a web application. The application requested eight primary measurements of the human body as an input to a generic model. Deforming existing model in a database will be easier to obtain a new one.
 Statistics-Based Synthesis Model: This method generates a human body based on the investigation of the body shape distribution. However, this method does not have a true technique to build a new individual model from the input constraints [1,9]. www.ijacsa.thesai.org

A. Overview
In this paper, we use the Hermite Curve Interpolation method to interpolate our model. Hermite curves are widely used in computer graphics and geometric models to obtain motion curves or orbits that pass through certain points of the plane or three-dimensional space. In these applications, each coordinate of the plane or space is interpolated using parameters which represent the tension of the curve. We use this method because the curve properties on the human body [9].
In Hermite's method, the third is determined by the first and last points with two tilt angles at those two points. Hermite curves are often used to interpolate data at given values 1 , 2 , … , to achieve a "smoth" continuous function. The data includes the value of the desired function and the derivative at each . The Hermite formula is applied to each interval ( , +1 ) separately. Polynomial interpolation of the Hermite curve is given in formula (1), and the example is shown in figure 1. (2) with 1 = ( 2 − 0 ) and 2 = ( 3 − 1 ) Then we have (3), We generalize to (4).
B. Building Model 1) General model: Diagram 1 shows our proposed framework to generate a 3D human model given a set of hand measurements.
2) Building a set of measurements for the model: The Standard measurements needed to make clothes are listed in Table 1 and 2; these are fundamental measures used in the field of costume design [3,6].    From the above basic measurements, we build a set of measuring parameters to create a suitable 3D model in the field of costume design. This set of parameters includes 9 measurements of the circumference of the body, and 7 measurements of body length/width are shown in Table 3 [1,7].
3) Building a model to locate the position of pricipal slices: The principal slices are at positions that represent the body measurements of the 3D model; we locate those slices to interact with the hand measurements. From measurements of the length of the set of parameters, we can locate the primary positions of the body parts such as calf, thigh, buttocks, abdomen, chest, and neck. It is also easy to locate the slices to be used to change the measurement in each region. A set of frames being interacted with is constructed as shown in Figure  2, and the meanings are explained in Table 4. We build algorithm 1 to locate the position of principal slices.   End 4) Building a model that identifies the key points of each slice: Each human body can be modeled simply by a set of slices, and each slice will contain points to form a curve. To create a controllable human body model, we need to identify some key points on each slice and use these points to create a curve. To find the key points of each slice, we improved the technique which was introduced by Shuxia Wang [1] as follows:  Kind 1: all slices on the body parts (except the body) have a nearly circular structure, so we will choose 4 extreme points to make the key points of the section, Figure 3 and 4.
 Kind 2: the slices on the body have the complex structure; we observe the symmetry and make statistics to find the 12 key points representing the slice as shown, Figures 5 and 6.
we designed algorithm 2 to solve this problem.

5) Building a model to adjust the key points on the slice corresponding to hand measurements:
Once having the key points which represent each slice, we adjust those points to fit the slice shape with the use of approximate circumferences based on hand measurements, algorithm 3. We conduct the following steps:

6) Building the principal slice from key points by interpolation:
After having key points on each principal slice, we interpolate more points to create the curve corresponding to the slices. We use Hermite Curve Interpolation method to perform interpolation because of three following reasons:  This curve can pass through key points of the slice smoothly and without corners.
 This curve does not need to include tangential values at points. Its slope at each point will be computed from the coordinates of the two adjacent points.
 This curve can be controlled by a tension parameter, with different tension parameter values creating different curves.     Based on the experimental results as well as the results of Shuxia Wang [1], the tension parameter of -0.4 is suitable for the curve of the human body profile. The appropriateness is shown in the figures depicted below with the red "o" points as the raw data points on the slice scanned from the 3D Scanner, the red curve with the tension parameter of 0.8, the blue curve has a tension parameter of -1.6 and a black curve with a tension parameter of -0.4, Figure 12, 13. We use Algorithm 4 to generate data points for the principal slices for the body, Figure 14.

7)
Building interpolation models from principal slices on parts of the body: Based on the constructed principal slices, we generate extra slices in different parts of the body. The greater the number of slices of each body part, the more detailed it will be, with the tradeoff computational costs. In this research, we chose the number of sections that are sufficient to represent for parts of the body, as shown in Table  5. We use Algorithm 5 to generate these intermediate slices.

C. Error Evaluating Method
To evaluate errors, we compute the circumference of the slices from the 3D built model. Formula (5) shows how we compute the circumference of slice i th .
where n is the number of points in slice i th and ( , , , , , ) are the coordinates of the j th poi nt at slice i th .
ℎ is the circumference of the real data scanned by the 3D scanner, is the circumference of slice of the 3D model that we construct from the hand measurements, and n is the number of models. There are two types of errors that we consider, they are the errors of principal slices and the errors of 3D model.
where m is the number of slices of the whole body.

A. Data and Experimental Environment
We conduct experiments on the data set of 593 3D scans of women body; each model has a set of manual measurements, and its point cloud is saved under ".obj" format. This dataset was recorded by the garment research group of Hanoi University of Technology [8].
We use Python as the main programming language. The algorithms are implemented on a computer using CPU Intel Core i5, and 4GB RAM. After generating the 3D model, we utilize Blender for visualizing.

1) Program simulating 3D mannequins corresponding to hand measurements:
We created a program that simulates the female 3D mannequin corresponding to the manual parameters given by users, as shown in Figure 20. The program helps to observe the actual 3D model and the generated model, Figure 21.

2) Errors:
The results of the square error of the principal slices and the squared error of the 3D built model are shown in Table 6 and Table 7.
There were 95 models in the dataset, which were damaged when scanning. These damaged models make the max square error significantly increase, and that leads to the high average error. Figure 22 shows a female 3D model from a defective 3D scanner. Table 8 and Table 9 show the results after eliminating faulty 3D data.

V. CONCLUSION
In this study, a method of building 3D human models is presented. We introduce a framework to decide which primary slices needed to interpolate before generating the entire 3D model. We conduct the experiments on the dataset of 3D scans of female body and investigate a set of appropriate measurements that used as the input. The proposed method mainly based on the Hermite interpolation, which has a closed form and does not require many calculations, results in a small computational cost.
The main drawback of this approach is that highly depends on the selection of primary slices. Interpolating the intermediate slices only depending on the primary slices of a particular model made a generated model seems reasonable but not practical because of the complexity of the body structure. In practice, However, we rarely have manual measurements at all positions on the human body. One novel way to overcome this drawback is using Deep Learning approach, which takes advantage of information containing in the dataset to infer the intermediate slices.