# A Real-Time Dynamic Gesture Variability Recognition Method Based on Convolutional Neural Networks
## 3 Materials and Methods
### Preprocessing Module
Localization: * Upper body--gestures involving movements of the arms and hands above the waist; for example, waving, clapping, or stretching the hand. * Lower body--gestures related to the movements of the legs and feet; for example, walking, running, or jumping. 3. Trajectory of movement: * Parallel to the camera--gestures in which the hand moves in the same plane as the camera; for example, waving or gesticulating horizontally. * Perpendicular to the camera--gestures in which the hand moves towards or away from the camera; for example, points or stretches. Considering the above properties, four groups of dynamic gestures were selected, ten words were chosen from each group (i.e., 40 words--Table A1), and each word was recorded 50 times by demonstrators of different ages and genders. As a result, a training sample of 30,960,000 elements was obtained. The principal component method was utilized to visualize the data, which comprised a total of 30,960,000 elements. The dataset consisted of 40 dynamic gestures (words), which were further divided into 2000 records. Each gesture was recorded in 50 instances, with each instance comprising 60 frames. The gestures were characterized by 258 parameters, including pose coordinates and visibility values. The pose coordinates consisted of 33 values each for the x, y, and z coordinates, while the visibility values indicated the visibility of each pose point. This resulted in a total of \(33*4=132\) pose parameters. Additionally, the hand coordinates included 22 values each for the x, y, and z coordinates for both hands, totaling \(22*2*3=126\) hand parameters. Each video file consists of 60 frames (Equation (1), and information about each frame is represented as a vector matrix (Equation (2) comprising 258 elements:  
\[V=\{f_{1},\;f_{2},f_{3}\ldots f_{60}\} \tag{1}\]  
\[f_{1}=\{x_{p1},\;y_{p1},z_{p1},v_{p1}\ldots\;x_{p33},\;y_{  
PCA model was to examine predefined groups of gestures based on their demonstration form. The input data for PCA (Figure 2) consisted of the dimensions of the data, including the number of samples and variables, which were divided into four gesture clusters. Once 40 observations were obtained, the data were then inputted into the K-means algorithm to further divide the observations into four distinct clusters (as depicted by different colors in Figure 2: blue, purple, orange, and yellow). Each observation was assigned to the cluster with the closest mean value. Group 1 (blue color in Figure 2, Figure 3a): gesture groups where the orientation of the palm is directed to the camera or the demonstrator, the connections are as readable as possible, and the trajectory of movement is parallel to the camera or static. Group 2 (purple color in Figure 2, Figure 3b): gesture groups where the orientation of the palm is parallel to the camera, but the movement is perpendicular to the camera since the movement's trajectory for the camera is a sequence of the skeleton of the hand. Group 3 (orange color in Figure 2, Figure 3c): gesture groups where the orientation of the palm is not directed at the cameras or the demonstrator, the connections are not all readable, and the movement is parallel relative to the camera. The orientation of the palm and the movement is perpendicular to the camera. Group 4 (yellow color in Figure 2, Figure 3d): gesture groups in which the palm orientation and movement are perpendicular to the camera or interlocutor when demonstrating. By grouping gestures in this way, the authors seek to account for the variations and complexities in gesture languages and to improve the accuracy and efficiency of recognition systems. Figure 2: Clusters of gesture groups.