Data Analysis Details

Error values are big, we have to utilize reasonable ways to eliminate side effect in order to reduce them. By reducing the error, we hope to increase the contrast among the different layouts of the experiment.

Two major sources of error:

  1. Time Lag
    As the students performed the motion they all tended to follow behind the master to some degree. They were still doing the motion correctly, just not at the same time as the master.
  2. Yaw Offset
    If the student is not oriented in precisely the same way as the teacher, the error in yaw will add an additional error to all bones in the student's body. Even if the student performs the form perfectly, if there is a few degree offset in the orientation the student will have a large error.

Methods

  1. Time shift
    We searched for a time shift that would minimize the error. For each repetition of the motion, we considered all possible time shifts from 0 to 120 frames (0 to 2 seconds). For each value, we compared the shifted student data with the original teacher data to get the error value. Again we found that there was one clear shift value that minimized the error.
    The average time shift was approximately 610 ms.


  2. Yaw shift
    We consider the student's starting pose and find the yaw offset that minimizes this static pose error. We found that when considering all possible offset angles, from -30 to 30 degree there was one clear point where error was minimized.


  3. Dynamic time shift
    Though there is always time lag when comparing the student and the teacher motion sequences, the time lag is not constant. We found that the students always speed up to catch up with the teacher to some relatively stable pose, then slow down and observe the teacher's motion until they realize what's the next and then speed up again.
    We used dynamic programming algorithm to eliminate the non-constant time lag effect on the system. Dynamic programming algorithm can also be implemented to be an on-line algorithm for feed back mechanism.
    In order to reduce the calculation amount of dynamic programming algorithm, we applied a window constraint in the algorithm.


    Example: Subject36 New_Superimposition-Animation3 Repetition12 lradius-lhand

    Original Data

  4. Data after dynamic time shift

Conclusion

Dynamic time shift is bettet than constant time shift.

Example: Subject36 New_Superimposition-Animation3 Repetition12

 

Results

Below are graphs which shows our results using dynamic time shifting. The graphs below show that "Dynamic Time Shifting", when compared with "Constant Time Shift", reduces the error. This means that dynamic time shifting tries to compensates for the inherent lag when someone is trying to follow another person

We brought the master, from whom we captured the original motion of the virtual master, back to see how well he peforms as a student. We ran him through our system, and as expected, he had lower errors than anybody else. This shows that we are on the right track with our error measurements. We also found out that the average time shift in his data is smaller than that of common people, and dynamic time shift here doesn't reduce the error as much as what it usually performs in the data for common people.

Constant Time Shift
Dynamic Time Shift
Tai Chi Expert as Student

OVERVIEW | YIN | YANG | THE LAB
ENTERTAINMENT TECHNOLOGY CENTER
(c) 2001