# Hand Gesture Recognition via Lightweight VGG16 and Ensemble Classifier
## 4 Experiments
### Experimental Results and Discussion  
The evaluation of the proposed model's performance in comparison with other researchers' models is summarized in Table 7 based on the datasets. In all three instances, the proposed model outperforms other methods from an accuracy perspective. Further investigation shows that the CNN model used to classify the ASL dataset can address the different illumination conditions of the image. However, the complex and inconsistent background in the NUS dataset cannot solely be handled by the CNN model. Feature extraction is relatively crucial to the accuracy of the hand gesture recognition model. However, certain features can be harder to extract due to factors such as illumination, feature selection and the number of features extracted. Each convolution layer extracts different types of features from the input image. Hence, as the convolution layer goes deeper, the more features can be extracted. The many convolutional layers of VGG16 can extract low-level features (generic features) up to high-level features (more specific features). However, the drawback associated is the computational resources (computer memory and training time) required for model training. The lightweight VGG16 as a feature extractor adopts the transfer learning approach by transferring the weights from the pre-trained VGG16 model, which was trained on a large-scale dataset (ImageNet). The depth of the proposed model is optimized based on two criteria, namely accuracy and training time. It was found that at the fourth convolutional block, the optimum balance of accuracy versus training time is achieved. Hence, the fifth convolutional block of the original VGG16 model is removed. Random forest is an ensemble meta-algorithm which consists of many decision trees and is trained through the bagging method. Bagging involves the use of different subsets \begin{table}
\begin{tabular}{c c c c c} \hline \hline \multirow{2}{*}{**No. of Estimators**} & \multirow{2}{*}{**Random State**} & \multicolumn{3}{c}{**Accuracy (\%)**} \\ \cline{3-5}  & & **Dataset 1** & **Dataset 2** & **Dataset 3** \\ \hline
100 & 42 & 99.81 & 100 & 100 \\
**100** & **50** & **99.98** & 100 & 100 \\
100 & 60 & 99.82 & 100 & 100 \\
50 & 50 & 99.70 & 100 & 100 \\
75 & 50 & 99.78 & 100 & 100 \\
200 & 50 & 99.89 & 100 & 100 \\ \hline \hline \end{tabular}
\end{table} 
Table 6: Recognition Accuracy at Different Estimators and Random State Value. \begin{table}
\begin{tabular}{c c c c} \hline \hline \multirow{2}{*}{**Method**} & \multicolumn{3}{c}{**Accuracy (\%)**} \\ \cline{2-4}  & **ASL Dataset** & **ASL Digits Dataset** & **NUS Hand Posture Dataset** \\ \hline Hu’s Moment + LBPD + Zernike moments + GFD + PNN [2] & 93.33 & 93.33 & 93.33 \\ CNN [6] & 99.96 & 94.70 & 94.70 \\ CNN [5] & 93.30 & - & - \\ EDenseNet [9] & 98.50 & 98.50 & 98.50 \\ MobileNet-Random Forest [10] & 98.12 & - & - \\ CCH + SVM [4] & 90.00 & 90.00 & 90.00 \\ HOG + LBP + SVM [3] & - & 97.80 & 97.80 \\ Gabor + SVM [1] & - & 94.60 & 94.60 \\
**Proposed Lightweight VGG16-RF** & **99.98** & **100** & **100** \\ \hline \hline \end{tabular}
\end{table} 
Table 7: Performance comparison among other models and the proposed lightweight VGG16-RF model. \begin{table}
\begin{tabular}{c c c} \hline \hline \multirow{2}{*}{**Hyperparameters**} & **Tested Value** & **Optimal Settings** \\ \hline Number of estimators & 50, 75, 100, 200 & 100 \\ Random state & 42, 50, 60 & 50 \\ Max depth & & Set to default: none \\ Max feature & Set to default: sqrt (number of estimators) \\ \hline \hline \end{tabular}
\end{table} 
Table 5: Summary of Optimal Hyperparameter Settings for Ensemble Classifier. of features which are randomly selected for each tree which solves the issue of overfitting. The proposed classifier algorithm establishes its final decision based on the majority of the decision produced by each decision tree, which in this case, features are classified into classes of up to 100 times (via a different tree network).