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.4. Automatic Motion Adaptation for Gaze<br />
4.4 Automatic Motion Adaptation for Gaze<br />
In the previous section, we explained how we define the interest points over an animation<br />
for each character. In the present section, we explain how we adapt the initial motions to<br />
obtain the desired gaze attention behaviors. Algorithm 4.2 shows the course of action at<br />
each timestep once the elementary scores have been computed.<br />
Algorithm 4.2: Simulation Loop<br />
Data: elementary scores<br />
Result: motion adjustments<br />
1 begin<br />
2 for all frame f do<br />
3 for all character C do<br />
4 for all entity E do<br />
5<br />
compute overall score<br />
6<br />
7<br />
8<br />
9<br />
10<br />
11<br />
12<br />
end<br />
select maximum score<br />
check attention threshold<br />
if maximum score above threshold then<br />
set gaze constraint<br />
check temporal contribution<br />
edit motion<br />
Each of the interest points we have calculated for a character C can be considered as<br />
a gaze constraint li in a set of gaze constraints L. C’s motion thus has to be adjusted to<br />
meet these constraints. Since the interest points can be dynamic (in the case where they<br />
are moving entities), we have to compute the joint displacements to be applied to the base<br />
motion at each frame. As this is done on a per-frame basis, the overall performance of our<br />
system critically depends on the performance of our IK solver. To this end, we propose a<br />
robust and very fast dedicated gaze IK solver.<br />
The skeletons we use are composed of 86 joints. Our method adjusts 10 of them: 5 spinal<br />
cord joints, 2 cervical joints, 1 head joint and 2 eye joints in order for the characters to align<br />
their gaze to the interest points. The eyes are swing joints and have 2 DOF. All others are ball<br />
and socket joints that have 3 DOF. This amounts to 28 DOF in all. By considering only this<br />
subset of the full skeleton, we greatly reduce the complexity of our algorithm. This allows<br />
us to have very small computational times and thus to animate a large number of characters.<br />
Our method consists of two distinct phases. The first one computes the displacement map<br />
to be applied in order to satisfy the current gaze constraint. We name this spatial resolution.<br />
At each timestep, if there is an active constraint, we launch an iterative loop starting with the<br />
bottom of the kinematic chain (lumbar vertebrae) and ending with the top of the kinematic<br />
chain (the eyes). At each iteration, we calculate the total remaining rotation to be done by<br />
the average eyes position (global eye) to satisfy the constraint and determine the ratio of this<br />
rotation to be applied to the current joint. The remaining rotation to be done by each eye joint<br />
55