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:
- 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.
- 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
- 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.
- 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.
- 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
-
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
|
|
|
|
|