# Ensemble Learning of Multiple Deep CNNs Using Accuracy-Based Weighted Voting for ASL Recognition
## 2 Materials and Methods
### Proposed Model
#### 2.2.2 Classification and the Proposed AWV Algorithm
\begin{table}
\begin{tabular}{c c c c} \hline \hline
**CNN Model** & **Architecture** & **Kernel Size** & **Output Shape** \\ \hline \multirow{8}{*}{M-VGGNet} & Input & - & \(224\times 224\times 1\) \\  & Convolution\_1 & \(7\times 7\), \(64\), stride = 2 & \(112\times 112\times 64\) \\  & Maxpooling\_1 & \(3\times 3\), \(64\), stride = 2 & \(56\times 56\times 64\) \\  & Convolution\_2 & \(3\times 3\), \(192\), stride = 1 & \(56\times 56\times 192\) \\  & Maxpooling\_2 & \(3\times 3\), \(64\), stride = 2 & \(28\times 28\times 192\) \\  & & \(3\times 3\), \(64\) & \(3\times 3\), \(128\) \\  & & \(3\times 3\), \(128\) & \(5\times 5\), \(32\) \\  & Convolution\_1 & \(1\times 1\), \(128\) & \(1\times 1\), \(32\) \\  & & \(3\times 3\), \(192\) & \(5\times 5\), \(96\) \\  & Maxpooling\_3 & \(3\) & \(3^{*}3\), stride = 2 & \(14\times 14\times 480\) \\  & Inception\_3 & \(1\times 1\), \(96\) & \(1\times 1\), \(16\) \\  & Inception\_3 & \(1\times 1\), \(192\) & \(1\times 1\), \(96\) \\  & & \(3\times 3\), \(208\) & \(5\times 5\), \(48\) \\  & & \(3\times 3\), \(208\) & \(5\times 5\), \(48\) \\  & Inception\_4 & \(1\times 1\), \(160\) & \(1\times 1\), \(112\) \\  & & \(3\times 3\), \(224\) & \(5\times 5\), \(64\) \\ M-GoogleNet & & \(3\times 3\), \(224\) & \(3\times 3\), \(64\) \\  & Inception\_5 & \(1\times 1\), \(128\) & \(1\times 1\), \(128\) \\  & Inception\_5 & \(1\times 1\), \(128\) & \(1\times 1\), \(128\) \\  & & \(3\times 3\), \(256\) & \(5\times 5\), \(64\) \\  & Inception\_6 & \(1\times 1\), \(112\) & \(1\times 1\), \(132\) \\  & & \(3\times 3\), \(288\) & \(5\times 5\), \(64\) \\  & Inception\_7 & \(1\times 1\), \(256\) & \(1\times 1\), \(160\) \\  & & \(3\times 3\), \(320\) & \(5\times 5\), \(128\) \\  & Maxpooling\_4 & \(3\times 3\), stride = 2 & \(7\times 7\times 832\) \\  & Inception\_8 & \(1\times 1\), \(256\) & \(1\times 1\), \(160\) \\  & Inception\_8 & \(1\times 1\), \(256\) & \(1\times 1\), \(160\) \\  & & \(3\times 3\), \(320\) & \(5\times 5\), \(128\) \\  & Inception\_9 & \(1\times 1\), \(384\) & \(1\times 1\), \(192\) \\  & & \(3\times 3\), \(384\) & \(5\times 5\), \(128\) \\  & Avgpooling\_1 & \(7\times 7\), \(1024\), stride = 1 & \(1\times 1\) \(1024\) \\ Fully connected\_1 & & - & \(1\times 1\times 1000\) \\ Output & & - & \(29\) \\ \hline \hline \end{tabular}
\end{table} 
Table 3: The architecture of M-GoogleNet. ### Evaluation Methods

The performances of the five M-CNNs were evaluated after completing the training. The performance scores [44] were compared using the receiver operating characteristics (ROC) curve, area under the ROC curve (AUC), accuracy, recall, precision, and F1-score evaluation methods. The ROC curve is a tool to examine the classifier performance. AUC is an important metric for model comparison calculated from the ROC. The ROC curve for a multi-class problem is obtained by averaging the ROC curves of each class. The accuracy, recall, precision, and F1-score are calculated as follows:

\[\text{Accuracy}=\frac{\text{TP}\;+\;\text{TN}}{\text{TP}\;+\;\text{TN}\;+\; \text{FP}\;+\;\text{FN}} \tag{4}\]

\[\text{Precision}=\frac{\text{TP}}{\text{TP}\;+\;\text{FP}} \tag{5}\]

\[\text{Recall}=\frac{\text{TP}}{\text{TP}\;+\;\text{FN}} \tag{6}\]

\[\text{F1}-\text{score}=\frac{2\text{Precision}\times\text{Recall}}{\text{ Precision}\;+\;\text{Recall}}, \tag{7}\]

where TP is true positive, FN is false negative, FP is false positive, and TN is true negative. These four evaluation methods are used to measure the effectiveness of the model.