ON =25 would correspond to the value of K given above. OS: Maximum standard deviation of points from their cluster center along each axis. Take the absolute value of difference of the various joints between the two frames (Fi and Fi+1) corresponding to DT. Here, the OS is dynamically set according to the new classification after splitting sellckchem or merging such that the following is true: Os=��t=1n|Fi,t?Fi+1,t| (4) OC: Minimum required distance between two cluster centers, value of DT in the first step. If the two frames (Fi and Fi+1) corresponding to DT, then this value must also be changed dynamically after splitting or merging again. DT=��t=1n��t(Fi,t?Fi+1,t)2 (5) L: Maximum number of cluster pairs that can be merged per iteration.

In this paper, adjacent frames are dealt with by using the rule of splitting or merging according to the order of the frames. I: Maximum number of iterations. The classification number after each iteration is at the most half the number of the last classification. In this way, after a large number of experiments, the adequate number of iterations for certain motion capture data can be obtained. I=?N/(2*K)? (6) The values of ON and L are independent of the motion types and can take the same values in different motion sequences. However, the values of K, OS, OC, and I are obtained from the current movement. The method described above ensures that the thresholds are adaptively set to avoid the artificial setting. A flowchart of the proposed key-frame extraction algorithm is provided in Figure 1.

Figure 1 Proposed key-frame extractor The following rules are used to split and merge the data: Class splitting: If the dispersion within a certain class is greater than the mean dispersion of various classes, and its maximum standard deviation is also greater than OS, split the class into two classes. If the classification number is less than K/2 or if the number of iterations is odd and the classification number is between K/2 and 2*K, then go to split. Class merging: If the similarity measure of the centers of adjacent two categories is less than OC or the number of a certain class is less than ON, merge the two categories into one category. Again, if the classification number is greater than 2*K or if the number of iterations is even and the classification number is between K/2 and 2*K, then go to merge.

When the expected number of clusters is achieved or the number of iterations reaches the maximum limit for the number of iterations I, end the cycle. After the final cluster, extract the frames closest to the centers of current categories for use as the key-frames of the motion sequence. Results More than 100 real human motion sequences GSK-3 of different motion types were captured at a frame rate of 120 Hz from CMU as our testing collection and our method was implemented in Matlab? which runs on a Core(TM) 2 2.4 GHz computer with 4G memory (http://mocap.cs.cmu.edu).