Performance Driven-biped Control for Animated Human Model with Motion Synthesis Data

Games and 3D movies are mostly supported by realistic character animation performance. The behaviour of the humanoid character it is depend on the motion data itself. Therefore the complexity of character movement will determine the realism of their behaviour. Generally, Motion Capture device will provide the raw data that previously recorded from human/actor movement. However there are some problems remains challenges such as controller, physic effect, or motion combination. Our proposed approach will read the data from motion capture device then transformed into realistic behaviour in virtual environment. However, there are few difficulties on realizing this idea, such as user objective and the appropriate behaviour of virtual human. Therefore, we solve this issue by providing the biped control to overcome the complexity of motion synthesis data when it will be applied into character animation. The controller is capable to perform motion blending with inverse and forward kinematics, as a result it able to generate the realistic behaviour along with user intention. There is three main behaviour walking, steady and jogging that has value 0-100. As a result of experiment, the biped interface control is able to read data from motion capture then load and control the virtual human by manipulating the joint forces power in every movement of the characters. As future works, the external physical forces can be added as additional forces in humanoid model to provide certain effect such as: falling down, jumping or kicking and punching to generate realistic motion synthesis.


I. INTRODUCTION
Animation is the transition of picture in order to produce a realistic movement.Animation can be produced in the form of two-Dimensional (2D) or three-Dimensions (3D).Among the examples of animated films like Toy Story that uses 100 percent computer-animated characters and Transformers character which is combining between human and computer animated characters.Some of previous research builds human models using the concept of hierarchical geometric modelling of objects.This is bound to change the model of human aims to be simple so that it can perform different movements.The process to animate human model based on hierarchy concept can be done by distributing each human body toward certain node according to the tree level as described in hierarchy model.Each node position will be transformed from local coordinate toward its parent [1].The first position for each node has been determined according to the appropriate position that can connect all body parts correctly [2].
Even though each human body parts can be controlled or moved using transformation, all these movement are indirectly affect human body that connected with the moving body parts.This due to all connected body parts linked each other as node where children movement are following its parent [3].On the other hand, Motion capture (Mocap) device is a kind of tools that capable on recording human movement that will be used for digital industry.
Animation industry used motion capture to observe the movement of actors.Afterwards, all collected data will be used to animate human model whether in 2D or 3D.These days, motion capture technology can be classified as optic system, magnetic or mechanical [4].For optical tracking usually passive marker will be attached to the subject skin or Velcroed cloth.
Furthermore, some researcher focused on presenting method to do estimation of motion on character fingers.Their movement data already processed in the beginning handled in real-time.They used hierarchical hidden markov model (HMM) to train system on learning the gesture sequence of finger during motion [5].While, the others researchers aim to investigate the effect of character animation and its movement toward expressive response of students [6].By using HMD , the participants were asked to evaluate two male and female zombie character during certain period.Beside character animation, augmented reality with realistic facial expression and vision sensor are studied as well to improve the current technology which is used in industry and public sector widely.The wayfinding technology in safety in pilgrim also investigated using augmented reality technology [7][8][9] [10].Furthermore, studying brain human interface and haptic for enhancing the realism of human character also play important roles in the research of character animation.It can help user to feel the existence of character animation inside virtual environment [11] The collision handling for virtual agent can also help to perform better interaction between virtual character [19].The other researcher focused on tracking the arm and human hand to help doctor on viewing the human body data and displayed the 3D model [20][21].Whilst, the other researcher also used facial expression to improve the learning process of student in E-learning system [22] or creating muscle based control to manipulate the humanoid character.Based on the previous observation, some researcher has focused on studying the virtual human behaviour in virtual environment, especially character animation with expressive response, or even muscle based control for animating the virtual human.This paper aims to solve the research gap on animation control by providing an interface called biped control that can transform the motion capture data into playable action of humanoid character such as walking, jogging or even strut behaviour.

II. METHODS
Human body is following the T-Shape.This T position is used due to its distance are relatively same toward other body parts.This body parts consist of 17 body parts that can be tracked and used as joint reference for humanoid character motion as shown in Fig. 1.This section will disclose the methodology and technique that used for animating the human character, each technique will be discussed briefly according to its behaviour.Every movement that generated by Mocap contain all data movement that contains nodes coordinate of body joint where the movement of this node saved inside movement data file as shown in Fig. 2. Fig. 2. Motion capture data files adopted from [4] In order to render the movement based on data that stored inside bvh file format, the local transformation for each bone is calculated with (1): Bvh file did not hold data that can be used for scaling, therefore scaling can be done by focusing data on rotation matrix and translation to produce local transformation.Rotation matrix R can be done with multiplying each rotation matrix for each channel based on sequence inside "HIERARCHY" of bfh file.As an example, channel for bone is described as follow:

CHANNELS 3 Zrotation Xrotation Yrotation
This mean, the rotation of R matrix can be computed by using equation 2:

=
(2) Heterogeneous matrix rotation will be computed using homogeneous coordinate together with translation coordinate to produce matrix equation as described in equation 3: By using (3), the global position for each bone can be computed then the position of bone initialization can be drawn via data inside hierarchy.
Equation 4 and 5 show the sample of computation for Leg foot.V0 and V1 are the last point for bone that have local orientation that given by V and MI.Both matrices are local transformation for bone that involved in hierarchy chain.The vector for right side is described in equation 4 as [0,0,0,1] T its represent the beginning of leg localization for left foot where it can be transformed become global position.There are two main techniques that used widely in character animation [4];

A. Inverse and Forward Kinematics
Kinematics is one of the techniques that be used in the animation process.This technique can be divided into two parts, inverse kinematics and forward kinematics.Forward kinematics is to specify the state vector of the model in a certain time.For example in the use of the human frame, this means that it determines directly to the rotation of the joints that you choose and the possibility of holding joint position will be translated to produce a new position.To avoid this problem, each animation frame to determine the specific position on a different key frame.Inverse kinematics provides direct control of the end-effectors.End-effectors are a joint that located in the last position of the chain.This could be solving the problem of rotation of the joint that allows it to be place in the required position.

B. Motion Blending
In order to produce numerous motions concurrently, it can be achieved by merger several motion together.This process is conducted while merging all active motion.Every edge in the ultimate motion is originated by merging every joint of the human character with associated linkage in other movement.Two linkages are merged by merging rotation and location of the joint via mass to resolve how the linkage should be valued in communal confidence.If there two motions, Mi and Mj, which are to be merged, two: weight w and weight w , after that the merged location of the k joint of the two motions ( J and J ) are computed by (6).
Uniformly for N animations merged collectively the location of the k joint is computed by equation 7.
Quaternion is representation of joint rotation, therefore it can help to build linear blending by using sphere-shaped linear interpolation.If quaternion q and a quaternion q merged with q , then linear Interpolation q is computed by equation 8. q = q ( q q ) (8) w is the weight (0-1) that decide how great q ought be valued based on q .If there are two quaternion, it will started by q for two quaternion and after that put q .= q and carry out equation 1 for the subsequently quaternion.
It will be repeated until every quaternion has been merged.

III. RESULTS
Interface control is one of the elements in the concept of interaction between humans and computers.This is because, a medium for human interact with computers.The best interface is an interface that can be easily understood by users.Therefore, to build a good interface requires the implementation of a good flow.Interface designed no need to be simple and too complex, but should be easily understood by users.Fig. 3 shows the interface of biped control.The main interface is an interface that will displayed when a user enters the system.In addition, other interface is the interface for input and for the output.The input biped control consist of several parameters of character motion such as walk, strut and jog.It also has start and stop button along with rendering mode option.Fig. 4 shows the output menu that was designed for rendering the humanoid character.Some of the buttons are used to facilitate user interaction with the system.Each button is provided each has its own function to accept input from the user to generate different output.The Prototypes that have been generating animations are from three different motion data.The motion data used in this prototype is jog.bvh,walk.bvh and strut.bvhas shown in Fig. 5.As described in previous chapters, to use animation produced by this data, this data should be exported into a format that can be read by cal3d library.

IV. DISCUSSION
Based on several testing we can provide an evaluation toward certain result during rendering process.The motion data was loaded as an input for movement, while state transition animation is conducted through biped control that provided as an interface.There are three main samples of testing during rendering as shown in Table 1.
Table 1 shows the results of tests performed using different input that manipulated through biped control interface.The animation is mostly determined by highest value in the control.In the first row, the humanoid model performs strut animation in running style (Walking semi jogging), walking and jogging have maximum value that is 100.It is because the value of walking and jogging controllers are high.Afterward, the second testing portray humanoid model conduct running animation due to jogging properties has the highest value:100, while walking:50   The proposed biped control interface has demonstrated its capability and usefulness to some extent successfully; it can help to animate the humanoid model without specifying the position of body parts for each key frame.The animation can be done by loading the data from motion capture then manipulate its property through biped interface control.As shown in the previous section, biped interface control has able to demonstrate some behaviour such as brisk walk, running or even with struts semi jog.All these movement can be easily manipulated through biped control interface.The future work of this research is the involvement of the external physical forces to be used as supplementary forces into animated character to provide certain effect such as falling down, jumping or kicking and punching to generate realistic motion synthesis. [12][13][14][15][16][17][18][19].

Fig. 5
Fig.5shows the forms of animation that are presented in the prototype.These animations are based on the movement data which was previously exported.Fig.5 (a), represent walking animation that generated using motion data of walk.Fig.5 (b), showing a prototype model in the animation strut using strut motion data.Whilst, Fig.5 (c)shows the 3D model of jogging style based on jogging motion data.

10 .
If the value of strut is increase then, humanoid model will perform strut behaviour with quite powerful run (jogging 50).