Texte intégral / Full text (pdf, 20 MiB) - Infoscience - EPFL
Texte intégral / Full text (pdf, 20 MiB) - Infoscience - EPFL
Texte intégral / Full text (pdf, 20 MiB) - Infoscience - EPFL
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
4.2. Walking Motion Reconstruction<br />
follow and the eyes partially re-center with respect to the head. Indeed, when we look at<br />
something, our eyes move before the head, which itself moves before the spine joints. The<br />
motion of each character is thus adapted for him/her to attend to the automatically defined<br />
interest points in a smooth and natural way.<br />
However, since our method uses character trajectories only in order to remain generic,<br />
our first step is to reconstruct the character walking motions from those trajectories and<br />
motion captured walking cycles.<br />
4.2 Walking Motion Reconstruction<br />
As basis to the motion, we use a walking cycle which was recorded by motion capture. The<br />
motion we use is of a person walking on a treadmill at 3 km/h. The trajectories obtained<br />
from the crowd simulation engine are recorded at a sample rate of approximately 30 fps but<br />
this amount varies slightly from one frame display to another. In order to solve this problem<br />
for the reconstruction of the walking motion, we first proceed to a temporal normalization.<br />
Moreover, during the simulation, the characters do not always walk around at the same speed.<br />
Their pace varies throughout the simulation, in particular during collision avoidance. To<br />
remedy to this problem, we thus proceed to a speed resolution.<br />
4.2.1 Temporal normalization<br />
In order to obtain the trajectories at exactly 30 fps, we first calculate the slope of the straight<br />
line going from the first position in time to the next one for each of the coordinates (x, y, z).<br />
We do the same for each of the orientation coordinates. By using the equation of the straight<br />
line, we can then determine which would be the value of the second coordinate at a specific<br />
time t (every 30 th of a second in our case).<br />
xi = a(ti − ti−1)+xi−1<br />
xi being the interpolated value to be found, a, the slope, ti, the next non-normalized time<br />
value, ti−1, the previous normalized time value, and xi−1, the value at the previous normalized<br />
time. We then repeat this process between each pair of consecutive points. The first<br />
point being, in each case, the one which has just been calculated.<br />
4.2.2 Speed resolution<br />
The trajectories that we output from the crowd simulator vary in time in the matter of speed.<br />
As an example, when a collision is to be avoided between two pedestrians, one can slow<br />
down and the other speed up. Since we use a base motion of someone walking at 3 km/h,<br />
the movement of the legs does not match with the displacement to be done. In order to solve<br />
this, we have to determine, at each time step, at which speed the character is moving from<br />
the trajectory values. Then, as we know the distance which is traveled within one walking<br />
cycle at 3 km/h, we can determine the distance which should be traveled at the calculated<br />
49