# Real-Time Arm Gesture Recognition Using 3D Skeleton Joint Data
## 4 Experimental Results
### Experiments
The results of both experiments are compared in Figure 4. As expected the overall accuracy of the system without the mischievous user was considerably higher, but as we included more users the difference between the performances of the aforementioned case, it decreased. It is important to note that we were able to train a classifier with adequate performance using only 3-4 users. In Figures 5 and 6 we plot the mean classification accuracy for each gesture separately as a function of the number of users used for training with and without the mischievous user, respectively. This information can be used to design more effectively a natural user interface (NUI) e.g., by assigning gestures with better recognition rate to most common operations. Finally, since the ultimate goal of the presented approach was to recognize gestures in real time, we performed a series of experiments with different architectures, considering two cases where the classifier may run (a) on powerful desktop processor and (b) on a system with limited resources, like e.g., a Raspberry Pi. We constructed a benchmark where 80% of the dataset is used as training data and 20% as test data. We performed classification for every sample in the test data 1000 times and calculated the average time each classifier needed for a sample. Results are illustrated in Figure 7. We may observe that the most accurate classifiers, i.e., ET and RF, were considerably slower than the rest with approx. 100 ms classification time on a desktop system and 300 ms on a Raspberry Pi 2. However, we believe that although \begin{table}
\begin{tabular}{c c c c c c c c c c} \hline \hline  & **User 1** & **User 2** & **User 3** & **User 4** & **User 5** & **User 6** & **User 7** & **User 8** & **User 9** & **User 10** \\ \hline LH-SwipeDown & 0.76 & 0.83 & 1.00 & 0.82 & 1.00 & 0.80 & 1.00 & 1.00 & 1.00 & 0.96 \\ LH-SwipeIn & 0.38 & 0.92 & 0.84 & 1.00 & 1.00 & 0.92 & 1.00 & 1.00 & 1.00 & 1.00 \\ LH-SwipeOut & 0.61 & 0.93 & 0.86 & 1.00 & 1.00 & 0.89 & 1.00 & 1.00 & 0.97 & 1.00 \\ LH-SwipeUp & 0.69 & 0.90 & 1.00 & 0.84 & 1.00 & 0.83 & 1.00 & 1.00 & 0.97 & 0.96 \\ RH-SwipeDown & 0.78 & 1.00 & 0.95 & - & 1.00 & 1.00 & 0.92 & 1.00 & 0.87 & 1.00 \\ RH-SwipeIn & 0.64 & 1.00 & 0.67 & - & 1.00 & 1.00 & 1.00 & 1.00 & 0.89 & 0.96 \\ RH-SwipeOut & 0.61 & 1.00 & 0.80 & - & 1.00 & 1.00 & 0.95 & 1.00 & 1.00 & 0.95 \\ RH-SwipeUp & 0.40 & 1.00 & 0.95 & - & & 1.00 & 1.00 & 1.00 & 0.96 & 1.00 \\ \hline Average & **0.62** & **0.94** & **0.88** & **0.92** & **1.00** & **0.92** & **0.99** & **1.00** & **0.96** & **0.97** \\ \hline \hline \end{tabular}
\end{table} 
Table 4: \(F_{1}\) score for each gesture separately and mean \(F_{1}\) score for all gestures for leave one (user) out experiment. \begin{table}
\begin{tabular}{c c} \hline \hline
**Classifier** & **Parameters** \\ \hline ABDT & \(e=103\), \(\alpha=621.6\) \\ ABET & \(e=82\), \(\alpha=241.6\) \\ DT & \(d=48\), \(f=49\) \\ ET & \(d=17\), \(f=70\), \(e=70\) \\ KNN & \(n=22\), \(s=kd\_tree\), \(m=\sum_{i=1}^{n}(|p_{i}-q_{i}|)\) \\ LSVM & \(C=0.0091\) \\ QDA & \(r=0.88889\) \\ RBFSVM & \(C=44.445\), \(\gamma=0.0001\) \\ RF & \(d=27\), \(f=20\), \(e=75\) \\ \hline \hline \end{tabular}
\end{table} 
Table 3: Optimal classifier parameters (\(\alpha\): learning rate; \(n\): number of neighbors; \(e\): number of estimators; \(s\): search algorithm; \(d\): max depth; \(m\): metric between point \(p\) and \(q\); \(f\): max number of features; \(r\): regularization parameter). these classification times are slower that the rest of the algorithms, the ET classifier can still be used in a real time scenario without having an impact on the user experience. Figure 4: Mean accuracy vs. number of users in training set, with/without the mischievous user. Figure 5: Mean accuracy per gesture vs. number of users in training set, with the mischievous user.