| Literature DB >> 27106581 |
Tomasz Hachaj1, Marek R Ogiela2.
Abstract
The main novelty of this paper is presenting the adaptation of Gesture Description Language (GDL) methodology to sport and rehabilitation data analysis and classification. In this paper we showed that Lua language can be successfully used for adaptation of the GDL classifier to those tasks. The newly applied scripting language allows easily extension and integration of classifier with other software technologies and applications. The obtained execution speed allows using the methodology in the real-time motion capture data processing where capturing frequency differs from 100 Hz to even 500 Hz depending on number of features or classes to be calculated and recognized. Due to this fact the proposed methodology can be used to the high-end motion capture system. We anticipate that using novel, efficient and effective method will highly help both sport trainers and physiotherapist in they practice. The proposed approach can be directly applied to motion capture data kinematics analysis (evaluation of motion without regard to the forces that cause that motion). The ability to apply pattern recognition methods for GDL description can be utilized in virtual reality environment and used for sport training or rehabilitation treatment.Entities:
Keywords: Gesture description language; Motion capture; Rehabilitation data analysis; Signal classification; Sport data analysis
Mesh:
Year: 2016 PMID: 27106581 PMCID: PMC4841835 DOI: 10.1007/s10916-016-0493-6
Source DB: PubMed Journal: J Med Syst ISSN: 0148-5598 Impact factor: 4.460
Fig. 1This figure presents a class diagram for Lua implementation of GDL classifier
Fig. 2This figure presents vectors set that was used to generate example features
Fig. 3This figure presents important phases of karate actions: Hiza-Geri kick and Kiba-Dachi stance. The Mo-Cap data is visualized in 3D virtual environment
Fig. 4This figure presents features time series generated for single Hiza-Geri kick recording. The horizontal axis represents time and the vertical axis the angle. Each time series stands for one of the feature from (1). On the top of the plot there are color bars that indicate to which GDL key frame the signal sample has been classified. Color codes are the same as in Fig. 5. Number 1, 2 and 3 are key frames numbers (there are totally three key frames in this particular Hiza-Geri definition). Symbol N represents the time sample in which signals have not been classified to any key frame
Fig. 5This figure presents three-dimensional projection of six-dimensional feature space (1) using principal component analysis. Each point represents a single MoCap frame with color-coded GDL key frame
This table presents averaged execution time (in milliseconds) plus-minus standard deviation of various Lua scripts that uses GDL implementation
| 100 | 200 | 500 | 1000 | 2000 | 5000 | 10,000 | 20,000 | |
|---|---|---|---|---|---|---|---|---|
| kiba-dachi (K2) | 171 ± 26 | 290 ± 35 | 754 ± 44 | 1683 ± 51 | 3062 ± 96 | 7824 ± 191 | 15,316 ± 278 | 31,249 ± 1218 |
| karate (K2) | 1173 ± 330 | 2225 ± 299 | 5913 ± 146 | 11,627 ± 358 | 23,114 ± 458 | 60,020 ± 788 | 116,892 ± 2052 | 231,344 ± 1046 |
| 10 features (K2) | 125 ± 21 | 201 ± 22 | 505 ± 26 | 1123 ± 36 | 2064 ± 38 | 5116 ± 31 | 10,511 ± 377 | 20,566 ± 164 |
| 20 features (K2) | 220 ± 21 | 366 ± 45 | 912 ± 43 | 2069 ± 56 | 3717 ± 57 | 9234 ± 55 | 18,677 ± 252 | 37,526 ± 915 |
| 30 features (K2) | 301 ± 31 | 524 ± 65 | 1346 ± 69 | 2996 ± 83 | 5429 ± 83 | 13,550 ± 81 | 27,322 ± 374 | 54,419 ± 203 |
| 40 features (K2) | 394 ± 35 | 778 ± 100 | 1977 ± 109 | 4010 ± 125 | 7999 ± 117 | 20,018 ± 140 | 40,615 ± 618 | 80,120 ± 500 |
| jumping jacks (K1) | 104 ± 16 | 166 ± 18 | 425 ± 25 | 1099 ± 149 | 1659 ± 21 | 4220 ± 73 | 8615 ± 409 | 16,684 ± 69 |
| gym (K1) | 722 ± 260 | 1251 ± 164 | 3710 ± 185 | 8806 ± 160 | 17,655 ± 221 | 43,832 ± 187 | 88,156 ± 646 | 175,715 ± 2004 |
| 10 features (K1) | 121 ± 12 | 195 ± 22 | 498 ± 27 | 1148 ± 35 | 2024 ± 49 | 5087 ± 117 | 10,200 ± 288 | 20,211 ± 183 |
| 20 features (K1) | 215 ± 25 | 359 ± 45 | 901 ± 50 | 2097 ± 63 | 3652 ± 52 | 9092 ± 38 | 18,439 ± 253 | 36,333 ± 38 |
| 30 features (K1) | 309 ± 24 | 534 ± 67 | 1368 ± 65 | 3059 ± 100 | 5504 ± 85 | 13,744 ± 88 | 27,231 ± 500 | 55,012 ± 126 |
| 40 features (K1) | 377 ± 31 | 671 ± 84 | 1710 ± 95 | 3828 ± 112 | 6921 ± 103 | 17,249 ± 115 | 34,723 ± 157 | 69,997 ± 448 |
Each row represents various features, action and actions groups that are evaluated for different number of motion capture frames (in columns)
Fig. 6This figure visualizes data from Table 1
This table presents averaged execution time (in milliseconds) plus-minus standard deviation of various Lua scripts that uses GDL implementation for a single motion capture frame
| Feature, action or action group name | Execution time (in milliseconds) |
|---|---|
| kiba-dachi (K2) | 1.57 ± 0.08 |
| karate (K2) | 11.64 ± 0.24 |
| 10 features (K2) | 1.06 ± 0.08 |
| 20 features (K2) | 1.92 ± 0.13 |
| 30 features (K2) | 2.77 ± 0.13 |
| 40 features (K2) | 3.98 ± 0.05 |
| jumping jacks (K1) | 0.90 ± 0.10 |
| gym (K1) | 8.11 ± 0.94 |
| 10 features (K1) | 1.05 ± 0.08 |
| 20 features (K1) | 1.89 ± 0.13 |
| 30 features (K1) | 2.82 ± 0.15 |
| 40 features (K1) | 3.53 ± 0.16 |
Fig. 7This figure visualizes data from Table 2