Data Driven Avatars Roaming in Digital Museum

This paper describes a motion capture (mocap) data-driven digital museum roaming system with high walking reality. We focus on three main questions: the animation of avatars; the path planning; and the collision detection among avatars. We use only a few walking clips from mocap data to synthesize walking motions with natural transitions, any direction and any length. Let the avatars roam in the digital museum with its Voronoi skeleton path, shortest path or offset path. And also we use Voronoi diagram to do collision detection. Different users can set up their own avatars and roam along their own path. We modify the motion graph method by classify the original mocap data and set up their motion graph which can improve search efficiency greatly.



Abstract-This paper describes a motion capture (mocap) data-driven digital museum roaming system with high walking reality.We focus on three main questions: the animation of avatars; the path planning; and the collision detection among avatars.We use only a few walking clips from mocap data to synthesize walking motions with natural transitions, any direction and any length.Let the avatars roam in the digital museum with its Voronoi skeleton path, shortest path or offset path.And also we use Voronoi diagram to do collision detection.Different users can set up their own avatars and roam along their own path.We modify the motion graph method by classify the original mocap data and set up their motion graph which can improve search efficiency greatly.
Index Terms-Motion Capture, Motion Graph, Digital Museum, Virtual Touring

I. INTRODUCTION
With the fast development of network and virtual reality techniques, more and more virtual museums have been created to show exhibits (items on display).They are points of special interests and provide real-time journeys which offer online multimedia guided tours on the Web.More than 20 digital museums in Chinese Universities have been set up.In digital archaeology museum of Shandong University [1], a walkthrough system was constructed to guide the virtual journey.Although many virtual museums provide the roaming function, but the roaming is either the change of the viewpoint or an avatar transiting here and there without the actual animation of the body.In this paper we implement a data driven roaming system with real walking motions, along the particular paths and avoid colliding to each other(see Fig. 1).To realize the roaming system with high reality, this paper focuses on three aspects: how to design the animation of avatars vividly; how to plan the appropriate paths in digital museum; and how to avoid collision in the scene.
In order to animate the avatar with real person's motions, we use several simple walking clips of motion capture data, including stand-go, go forward, go-stand, turn left 90 degree, turn right 90 degree, turn left 45 degree and turn right 45 degree, totally 26 seconds.Using motion graph (MG) method [2], find the most similar transition points between different motion clips or the same clip, and blend the neighborhoods of the transition points in the motions to form phases of new transition motions.This method can connect motions together seamlessly.After the process of searching transition points in MG and synthesizing new motions, we can get continuous natural walking motions.
If the original mocap data are ample and various, we firstly classify the original data into several classes, each class has a MG and a coefficient between classes which represents their similarity.If the following motion does not change much, we only need to search in the same MG.Otherwise, according to the degree of the motion changed, we search the correlative MGs but not all of the classes.This method reduces the searching range greatly.
Suppose the transition points are selected randomly among all satisfied points without any constraint, the roaming will be an aimless screen saver at most.So the path planning is an important question in roaming.In our digital museum, the exhibits are located along the wall and the 2D Voronoi diagram (VD) of the museum is constructed.Avatars can walk along a Voronoi skeleton path, shortest path or offset path.
When multiple avatars roam in digital museum along their own paths, collision detection must be considered.To avoid collision, we use Voronoi diagram to determine avatars' locations quickly.
The main contribution of this paper is: only 26 seconds mocap data is used to complete the continuous roaming in the museum.Improve the MG method by classifying the original mocap data to reduce searching time.And we introduce VD into the digital museum to form the visiting path and avoid collision.
Sections 3 details how to search transition points in motion clips and synthesize transition motions, in order to naturally connect short clips into long motion; in section 4, we construct the Voronoi skeleton path, shortest path and offset path of the museum; in section 5, we use Voronoi diagram to settle the collision detection question quickly in a multi-avatar system; and at last we give some results and analysis，and discuss the limitation and future works.

II. RELATED WORK
Roaming with reality is an animation problem.Physically based character animation can be divided into three classes: continuous constrained optimization, simulation and data driven method.Continuous constrained optimization adapts to simple characters or physical simplified situations [3].When applied to high degree objects such as human, its formula is too complex to be settled.Simulation is focused on Robotics [4] and Biomechanics [5], but the dynamic theory is too complicated, until now there is still not a perfect body control system and the simulation of human body is far from good enough.The simulation has vast potential however, with the deeper understanding of dynamic theory, real motion can be devised [6].Data driven method [7] has been popularized because of the motion capture device, and is used to modify, synthesize and analyze motions.Because the data is captured from human's action, this method has most reality.Also it has the disadvantage of hard to modify and reuse.Combining simulation and data driven method [8], getting full use of their advantages is a hotspot in recent years.
In this paper we use data driven MG method [2] to animate avatar.MG is a directed graph and its edge is a clip of motion (one or more frames) and a point is a feasible transition.Its basic theory is to find the similar frames (points in MG) between motions as transition points and add a phase of new motion into them (a new line between two transition points).Find out all these points and connected, we can get a MG.
VD has been widely used in computer graphics, robot and so on [9].The VD of a polygon divides the polygon into a series of cells (Voronoi region,VR) reasonably.Each VR corresponds to an edge or a concave vertex of the polygon, and points inside the VR are closest to this edge or concave vertex.Thus, VD offers a good sort of the points in 2D space according to vicinity, which can finely describe the objects' space adjacency relation in the scene.In VD of the polygon, the common edge of two VRs is called a Voronoi edge.Here we construct the VD of the museum and use the Voronoi edges in path planning.
Collision detection is an inevitable problem in virtual reality [10].The common method is to use bounding box and we can use Voronoi region to help decision-making.

Motion Graph
To animate the avatar, we first setup the MG.A motion graph is built by creating transition motions that connects different parts of a data set.Try to find the most similar frames in the mocap data and connect them to form a new synthesized transition motions.Green point is the current frame and green line is the coming transition line.

Nomenclature
First, we give some denotations used in this paper: P is a path in MG, which can be complex path (include circle),.
T is the track produced by an avatar in virtual environment according to a path coming from MG.
P result is the path synthesis result which initial value is null.P opt is the optimal path which initial value is null.
T opt is the optimal track which initial value is null.D opt is the difference between the current track and the optimal track.Its initial value is +infinite.
L opt is the length of optimal path which initial value is 0. L step is the incremental step in synthesis which initial value is 1.00.For example, current L opt =3.5m, then next step will detect to L opt + L step = 4.5m.
L over = L opt + L step is the stop length in incremental synthesis.R use is the ratio of incremental synthesis result used and its initial value is 0.25.If a synthesis has 12 points, only 12*0.25=3 points will be added to P opt .
V start is the start of each step in incremental synthesis which initial value is V ini .
P start is the initial path, only contains V start at first.S p is the stack used to save the candidate path which initial path is P ini .
A path P in MG is related to a track T in virtual environment.After the MG is constructed, face to the avatar's objective track T obj , the next step is to find the optimal path P opt and let the P opt related T opt has minimal difference with T obj .

Algorithm implementation
Firstly we get the initial transition matrix M i according to avatar's initial pose and location and find the start point V ini in MG (the simple way is to start with the stand-go clip).Synthesizing the whole path T opt directly needs vast solution space, so we use incremental synthesis.The basic idea is starting from the initial motion to go forward, after an interval, determine whether the current track deviate the objective track, if not, continue this motion; otherwise try to transit to another appropriate motion, in order to match the objective track.
Combined branch and bound with DFS, the pseudocode is as follows: while Length(T opt ) < Length(T obj ) // the length of synthesis is not long enough D opt = +infinite S p .clear() // clear stack S p .push(P start ) // push the initial path into stack while S p not empty // stack is not empty S p .pop(P x ) // pop stack T x = pathToTrack( P x ) // convert path to track if Length(T x ) < L over // length is shorter than stop length V tail = P x .lastVertex()// get the last point in the path for each neighbour V of V tail // traverse its neighbors S p .push(P x + V ) // form new candidate path and push into the stack end for else // the length is enough D x = D(T x , T obj ) // compute the difference between T x and T obj if D x < D opt // find the better synthesis P opt = P x // renew the optimal synthesis path D opt = D x // renew the value of D opt T opt = T x // get the optimal track end if end if end while P result .append(P opt .head(R use ) ) // use a part of P opt as result V start = P result .lastVertex()// renew the start of next step P start = <V start > // renew the initial path L over = Length( T opt ) + L step // go forward if L over > Length( T obj ) // too long L over = Length( T obj ) // truncate L over end if end while

Analysis
The experiment environment used in our programming is: Windows 2003、AMD Athlon64 X2 3600+、NVIDIA 7900、 1G RAM, developed by C++.The construction of MG needs preprocess and the time of motion synthesis varied greatly according to the path and parameters.There are several factors infected the speed greatly: the length of the mocap data; the shape of the path; L step and R use ; the original position and direction between the avatar and the path.Given more source data, better synthesis result can be realized which matches the objective path better, but the preprocess time is increased in O(n 2 ).L step stands for the length detected ahead in each step, and the bigger it is, the match is better, but the time is increasing rapidly.R use is the ratio we used the synthesis result in each step, the smaller, the better and more slowly.If the start position is in the path and the original direction is along the path, the time cost used to motion synthesis are small than other situations.Table 1 gives 9 result of different parameters when walking along a 33 meters elliptic arc. Figure 3(1)-( 9) are the shapes of path synthesis.When realize motion transition, it's not transiting from one frame into another in fact.Although in MG, a line connects two transition points, the transition is not a point, but a neighborhood around the transition point.This is because even the two frames are exactly the same the two motions' tendency may be very different.If these two motions are connected, it will lead to false motion.
Suppose the start of the transition section is the S p frame in motion S m , and the end is the D p frame in motion D m , represented as (S m , S p , D m , D p ).The radius of the transition section is L, so the source transition section is R s ,: [S p -L, S p + L] and the destination transition section is R d : [D p -L, D p + L].There's an important thing we should pay attention to, R s may contains the current frame or the last feasible transition point in S m .In the latter situation, if transit from S p -L to S p + L without consideration, it will lead to no transition point to use or motion retreat and the motion cannot be continued.So we need to adjust the radius of transition section in this situation.If the following motion does not change much, we only need to search in the same MG.Otherwise, according to the degree of the motion changed; we search the correlative MGs but not all of the classes.This method reduces the searching range greatly.

IV. PATH PLANNING
In this system, avatar can roam in digital museum along Voronoi skeleton path, shortest path or offset path(see Fig. 4).

Voronoi skeleton path
When the viewer walks from exhibit A to B direction, he can look through the museum along Voronoi skeleton path [11].Voronoi skeleton path is the middle axis of the polygon, so viewers walk through the middle part of the virtual environment and can see exhibits on both sides of the path(see Fig. 5).

Shortest path
If we are familiar with the exhibits and only want to visit the special one we are interested in, the shortest path (see Fig. 6) is the most appropriate.Using the Dijkstra algorithm to compute the shortest path, the time complexity is O(n 2 ) in the worst case; here we can use a new algorithm with O(n) running time to compute the shortest path by VD [11].

Offset path
When the viewer wants to visit exhibits one by one, offset path (see Fig. 7) can be used.Users can define the offset value in the scene [11].

Analysis
Studying the shape of the Voronoi path, shortest path and offset path, we found they are mainly constructed by some basic patterns shown in Figure 8.And our method can settle these situations well if given appropriate parameters.This ensures the avatars walking naturally along the objective path without big deviation.

V. COLLISION DETECTION BETWEEN AVATARS
When there are many avatars, the collision detection computing between each two is large.We can decrease computing by restrict computing in a local part, that is, one avatar only need to detect avatars in the same or neighbor Voronoi regions through computing every avatar's Voronoi regions that its bounding box covers.In addition, if the two center points of the two avatars are not visible to each other, then they will not collide in next moment.To speed up, we use circle as the bounding box and deal with it combining with visibility computing described in another paper [12].Let the center points of the two avatars be p 1 and p 2 , r 1 and r 2 be the circle's radius, respectively.We can determinant whether the two avatars collide according to the relation of d(p 1 , p 2 ) and r 1 + r 2 .

VI. FUTURE WORK
Animation of avatars is an important function to add reality of digital museum.In our work, a data driven roaming system is designed.The animation of avatars is synthesized using MG based method, walking along the Voronoi skeleton path, shortest path, offset path or random path without collide to each other.We will study dynamics of the hand, companying with continuous motions, to do some gestures such as opening the door, feeling objects and shaking hands in the future.

Fig. 1 .
Fig. 1.Avatars roam in digital museum.The colored curves on the ground stand for the random walking path of the same colored avatars.

Figure 2 (
a) is the new transitions synthesis from two motion clips and Figure 2(b) gives an example of MG representing the 7 walking clips and their new synthesized transition motions used in this paper.The frame rate is 120 fps and the frames are 444, 441, 285, 424, 503, 520, 471 separately, totally 3088 frames, 26 seconds.

Fig. 2 .
Fig. 2.An example of MG.(a) The schematic diagram (b) Red lines indicate 7 walking clips and white lines are new synthesized transition motions.Green point is the current frame and green line is the coming transition line.
Fig. 3(1) This method is appropriate to motion which belongs to one kind of class.If the original mocap data includes several kinds of motions, the workload of search is too heavy.So we firstly classify the original data into several classes, each class has a MG and a coefficient between classes which represents their similarity.The algorithm to calculate the coefficient between class A and class B is: Identify a basic gait sequence a 1 ,a 2 ,…,a n from A; Identify a basic gait sequence b 1 ,b 2 ,…,b n from B;The similarity value is Σ

Fig. 5 .
Fig. 5.The scene of digital museum and its Voronoi skeleton path.

Fig. 8 .
Fig. 8. Shape patterns in Voronoi path, shortest path and offset path.The white line is the objective path and the black line is the real track.

TABLE 1 :
RESULT OF DIFFERENT PARAMETERS.