# Keyframe Extraction from Human Motion Capture Data Based on a Multiple Population Genetic Algorithm

^{*}

## Abstract

**:**

## 1. Introduction

## 2. Multiple Population Genetic Algorithm

#### 2.1. Structure of MPGA

#### 2.2. Description of MPGA

**Step 1.**Generate the initial population. Using a binary coding to generate MP initial populations Chrom, each initial population Chrom contains N individuals. Different populations are endowed with different control parameters (e.g., mutation probability and crossover probability).

**Step 2.**Calculate the fitness of each individual in each initial population Chrom and then sort the fitness values from highest to lowest within the scope of the various groups.

**Step 3.**Apply selection, crossover, and mutation operations to each separate population. Different populations are independent but co-evolution occurs.

**Step 4.**Immigration operations. Each initial population is relatively independent but the exchange of information occurs between populations via the immigration operation, where the worst individual in the target population is replaced by the best individual in the source population.

**Step 5.**Artificial selection operations. During each generation of evolution, select the best individual in other populations with an artificial selection operator and maintain the best individuals in the essence population.

**Step 6.**Find the best individual in the essence population. Check whether the current optimal value and the previous optimal value are the same. If this is not the case, update the optimal values.

**Step 7.**Check whether the evolutionary process satisfies the termination condition. If it meets the condition, the algorithm proceeds to Step 8. If it is not satisfied, then return to Step 2.

**Step 8.**End of the evolutionary process. Output the optimal value and the best individual to obtain the optimal value.

## 3. Extracting Keyframes Based on MPGA

#### 3.1. Motion Capture Data

_{i}(1) represents the translation data from the ROOT node, R

_{i}(1)represents the rotation of the ROOT node, and R

_{i}(t)(t = 2, …, 31) is the local rotation, excluding the ROOT node.

#### 3.2. Encoding and Initialization of the Population

_{k}represents an individual in the population (i.e., a motion sequence) and α

_{ki}(i = 1,…,n) is a coded location of an individual (a frame in the movement sequence). We take all the binary code 1 which is in the encoded motion sequence as the keyframe. Namely, when α

_{kn}takes 0, this means that the frame is not the keyframe; when it takes 1, the frame is the keyframe. In addition, since the key-frames are generally not adjacent, if α

_{ki}and α

_{k}

_{(}

_{i+}

_{1)}are both 1(namely, they are adjacent), only one of them is taken as the keyframe. Furthermore, if α

_{k}

_{(}

_{i−}

_{1)}, α

_{ki}and α

_{k}

_{(}

_{i+}

_{1)}all are 1, α

_{k}

_{(}

_{i−}

_{1)}and α

_{k}

_{(}

_{i+}

_{1)}are taken as the keyframes. In this way, we make sure that the selected keyframes are not adjacent in the corresponding encoded motion sequences.

#### 3.3. Calculation of the Motion Sequence Reconstruction Error

#### 3.4. Fitness Function

_{total}is the number of frames in the original motion sequence.

_{keyArray}is the reconstruction error when the keyframe is keyArray and E

_{max}is the reconstruction error when the keyframe simply takes the first frame and the last frame.

#### 4. Experimental Analyses

**Experiment 1.**Comparison with different values of the weight w. We selected five representative motions: walk, jump, kick the ball, dance, and walk–jump–walk. The value of the weight w was increased at intervals of 0.1 in the range of 0–1. The results are shown in Figure 3.

**Experiment 2.**Comparison of motion capture sequence keyframe extraction from data with different physical characteristics. We selected four types of waking motion data with the same logic (the number of frames was the same, i.e., 129). However, their physical characteristics were different (different speeds and different styles). With the same number of keyframes (seven), the extraction results were as shown in Figure 4.

**Experiment 3.**Comparison of the compression ratio and reconstruction error. We tested five different types of motion data, i.e., walking, jumping, kicking a ball, dancing, and walk–jump–walk, where we use the proposed method to extract the keyframes from the different motion sequences. According to the number of keyframes determined by our method, we then used four other methods to extract the keyframes from the motion capture data.

**Experiment 4.**Comparison of using the MPGA and a genetic algorithm to extract the keyframes. In this experiment, the value of w was 0.5, the crossover ratio value was 0.95, and the mutation rate value was 0.05. Two different motions were tested in this experiment: walking (343 frames) and jumping (439 frames).

**Experiment 5.**We also compared the performance of our proposed method and other methods using an irregular exercise, i.e., kicking a ball (801 frames), where the number of keyframes was 40, and the results are shown in Figure 7.

## 5 Conclusions

## Acknowledgments

## Author Contributions

## Conflicts of Interest

## References

- Liu, F.; Zhuang, Y.T.; Wu, F.; Pan, Y. Motion retrieval with motion index tree. Comput. Vis. Imag. Underst.
**2003**, 92, 265–284. [Google Scholar] - Park, M.J.; Shin, S.Y. Example-based motion cloning. Comput. Animat. Virtua. Worlds.
**2004**, 15, 245–257. [Google Scholar] - Zhu, D.M.; Wang, Z. Extraction of keyframe from motion capture data based on motion sequence segmentation. J. Comput.-Aided Des. Comput. Graph.
**2008**, 20, 787–792, In Chinese. [Google Scholar] - Halit, C.; Capin, T. Multiscale motion saliency for keyframe extraction from motion capture sequences. Comput. Animat. Virtua. Worlds.
**2011**, 22, 3–14. [Google Scholar] - Lim, I.S.; Thalmann, D. Key-posture extraction out of human motio. data., In Proceedings of the 23rd Annual International Conference of the IEEE Engineering in Medicine and Biology Society Istanbul, Turkey, 25–28 October 2001; pp. 1167–1169.
- Togawa, H.; Okuda, M. Position-based keyframe selection for human motio. animation., In Proceedings of 11th International Conference on Parallel and Distributed Systems, Fukuoka, Japan; 2005; pp. 182–185.
- Assa, J.; Caspi, Y.; Cohen, D. Action synopsis: Pose selection and illustration. ACM Trans. Graph.
**2005**, 24, 667–676. [Google Scholar] - Yang, T.; Xiao, J.; Wu, F.; Zhuang, Y.T. Extraction of keyframe of motion capture data based on layered curve simplification. J. Comput.-Aided Des. Comput. Graph.
**2006**, 18, 1692–1697, In Chinese. [Google Scholar] - Peng, S. Key frame extraction using central distance feature for human motion data. J. Syst. Simul.
**2012**, 3, 1–5. [Google Scholar] - Zhang, Q.; Xue, X.; Zhou, D.; Wei, X. Motion Key-frames extraction based on amplitude of distance characteristic curve. Int. J. Comput. Intell. Syst.
**2013**, 7, 1–9. [Google Scholar] - Liu, Y. Keyframe extraction from motion capture data by optimal reconstruction error. J. Comput.-Aided Des. Comput. Graph.
**2010**, 22, 670–675, In Chinese. [Google Scholar] - Lee, T.-Y.; Lin, C.-H.; Wang, Y.-S.; Chen, T.-G. Animation key-frame extraction and simplification using deformation analysis. IEEE Trans. Circuits Syst. Vide. Technol.
**2008**, 18, 478–486. [Google Scholar] - Liu, X.; Zhao, D.; Zhao, Y. Survey on keyframe technology of data-driven human animation. Comput. Eng. Des.
**2011**, 32, 1006–1009. [Google Scholar] - Liu, X.; Hao, A.; Zhao, D. Optimization-based keyframe extraction for motion captures animation. Vis. Comput.
**2013**, 29, 85–95. [Google Scholar] - Cai, M.; Zou, B.; Xin, G. Extractions of keyframe from motion capture data based on pre-selection and reconstruction error optimization. J. Comput.-Aided Des. Comput. Graph.
**2012**, 24, 1485–1492, In Chinese. [Google Scholar] - CMU Graphics Lab Motion Capture Database. Available online: http://mocap.cs.cmu.edu/ accessed 7 July 2014.
- Bulut, E.; Capin, T. Keyframe extraction from motion capture data by curve saliency. Available online: http://www.cs.rpi.edu/~bulute/casa.pdf accessed 7 November 2014.

**Figure 6.**Comparison of the reconstruction error with five methods for five sampling motions: (

**a**) error for walking; (

**b**) error for jumping; (

**c**) error for kicking a ball; (

**d**) error for dancing; and (

**e**) error for walk–jump–walk.

**Figure 7.**Results obtained using: (

**a**) our method; (

**b**) curve saliency; (

**c**) uniform sampling; and (

**d**) distance curve.

Motion type | Total frames | Number of keyframes | Compression ratio (%) | Reconstruction error
| ||||
---|---|---|---|---|---|---|---|---|

Curve saliency [17] | Uniform sampling | Quaternion | Distance curve [10] | Our method | ||||

Walking | 343 | 20 | 5.83 | 551.5709 | 144.0324 | 219.8285 | 142.8489 | 130.5158 |

Jumping | 439 | 16 | 3.64 | 620.7511 | 567.3376 | 530.1455 | 361.0555 | 161.7257 |

Kicking a ball | 801 | 40 | 4.99 | 1374.7 | 375.5223 | 291.2531 | 184.7565 | 131.1673 |

Dancing | 1033 | 45 | 4.36 | 663.4626 | 445.0226 | 476.2979 | 487.1763 | 225.1592 |

Walk–jump–walk | 1199 | 45 | 3.75 | 828.8955 | 595.2192 | 1410.6 | 538.4884 | 388.2128 |

Multiple population Genetic algorithm | Genetic algorithm | |||
---|---|---|---|---|

Motion type | Walking | Jumping | Walking | Jumping |

Total frames | 343 | 439 | 343 | 439 |

Number of keyframes | 55 | 72 | 97 | 135 |

Compression ratio | 16.03% | 16.40% | 28.28% | 30.75% |

Reconstruction error | 54.389 | 36.110 | 21.8254 | 21.8020 |

© 2014 by the authors; licensee MDPI, Basel, Switzerland This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution license (http://creativecommons.org/licenses/by/4.0/).

## Share and Cite

**MDPI and ACS Style**

Zhang, Q.; Zhang, S.; Zhou, D.
Keyframe Extraction from Human Motion Capture Data Based on a Multiple Population Genetic Algorithm. *Symmetry* **2014**, *6*, 926-937.
https://doi.org/10.3390/sym6040926

**AMA Style**

Zhang Q, Zhang S, Zhou D.
Keyframe Extraction from Human Motion Capture Data Based on a Multiple Population Genetic Algorithm. *Symmetry*. 2014; 6(4):926-937.
https://doi.org/10.3390/sym6040926

**Chicago/Turabian Style**

Zhang, Qiang, Shulu Zhang, and Dongsheng Zhou.
2014. "Keyframe Extraction from Human Motion Capture Data Based on a Multiple Population Genetic Algorithm" *Symmetry* 6, no. 4: 926-937.
https://doi.org/10.3390/sym6040926