## 5 Implementation and Results
### Experimental Results  
The experiments were performed with all three CNNs i.e., GoogleNet, MobileNet, and the custom CNN. The classification results obtained with the transferred learned pre-trained GoogleNet and MobileNet were used for comparison. The Google and MobileNets were initialised with the ImageNet weights where we used [PERSON]'s initialisation [61] technique was used for the initialisation of the custom CNN. A weight-based coarse classification was performed based on the JNB technique defined in (4) and (5)). The result based on the weight-based classification is shown in Table 5 for a GVF of 0.65. This GVF was selected based on the experimental results obtained, where an approximately equal size of classes was considered for coarse classification. However, the AdaBoost technique is considered significantly prone to imbalanced class sizes [55]. \begin{table}
\begin{tabular}{l l l l l l l l} \hline \hline  & **Layer** & **Kernel Size** & **No. of Nodes** & **Stride** & **Padding** & **Layer Weights** & **Layer Bias** & **Output Size** \\ \hline
1 & Input & - & - & - & - & - & - & \(512\times 512\times 3\) \\
2 & Conv & \(7\times 7\) & 40 & \(3\times 3\) & \(0\times 0\) & \(7\times 7\times 3\times 40\) & \(1\times 1\times 40\) & \(170\times 170\times 40\) \\
3 & Pooling & \(3\times 3\) & - & \(3\times 3\) & \(0\times 0\) & - & - & \(56\times 56\times 40\) \\
4 & Conv & \(7\times 7\) & 80 & \(3\times 3\) & \(2\times 2\) & \(7\times 7\times 40\times 80\) & \(1\times 1\times 80\) & \(18\times 18\times 80\) \\
5 & Pooling & \(3\times 3\) & - & \(1\times 1\) & \(1\times 1\) & - & - & \(18\times 18\times 80\) \\
6 & Conv & \(3\times 3\) & 120 & \(1\times 1\) & \(1\times 1\) & \(3\times 3\times 80\times 120\) & \(1\times 1\times 120\) & \(18\times 18\times 120\) \\
7 & Pooling & \(3\times 3\) & - & \(1\times 1\) & \(1\times 1\) & - & - & \(18\times 18\times 120\) \\
8 & Conv & \(3\times 3\) & 80 & \(1\times 1\) & \(1\times 1\) & \(3\times 3\times 120\times 80\) & \(1\times 1\times 80\) & \(18\times 18\times 80\) \\
9 & Pooling & \(3\times 3\) & - & \(1\times 1\) & \(1\times 1\) & - & - & \(18\times 18\times 80\) \\
10 & Conv & \(1\times 1\) & 80 & \(1\times 1\) & \(1\times 1\) & \(1\times 1\times 80\times 80\) & \(1\times 1\times 80\) & \(20\times 20\times 80\) \\
11 & Pooling & \(3\times 3\) & - & \(1\times 1\) & \(1\times 1\) & - & - & \(20\times 20\times 80\) \\
12 & FC & - & 40 & - & - & - & - & \(1\times 1\times 40\) \\
13 & FC & - & 15 & - & - & - & - & \(1\times 1\times 15\) \\
14 & Softmax & - & - & - & - & - & - & \(1\times 1\times 15\) \\
15 & Output & - & - & - & - & - & - & \(1\times 1\times 15\) \\ \hline \hline \end{tabular} Conv: represents the convolutional layer, FC: represents the fully connected layer.  
\end{table} 
Table 4: Description of the custom CNN used as the base classifier in the AdaBoost optimisation based on [60]. \begin{table}
\begin{tabular}{l l l l l} \hline \hline  & **Fruit/Vegetables** & **Avg. Weight (kg)** & **Weight. Dev** & **Class** & **\% of Dataset** \\ \hline
1 & Strawberry & 0.012 & 0.02 & & \\
2 & Continental cucumber & 0.014 & 0.07 & & \\
3 & Carrot & 0.064 & 0.02 & & \\
4 & Lady finger banana & 0.125 & 0.02 & Class 1 & 46.66 \\
5 & Tomato & 0.132 & 0.02 & & \\
6 & Mandarin & 0.138 & 0.03 & & \\
7 & Naively orange & 0.138 & 0.03 & & \\ \hline
8 & Creme potato & 0.140 & 0.03 & & \\
9 & Packham pear & 0.150 & 0.03 & Class 2 & 26.66 \\
10 & Granny Smith apple & 0.164 & 0.03 & & \\
11 & Brown onion & 0.212 & 0.04 & & \\ \hline
12 & Pink lady apple & 0.326 & 0.19 & & \\
13 & Caulfilower & 0.419 & 0.05 & Class 3 & 26.66 \\
14 & Iceberg lettuce & 0.432 & 0.03 & & \\
15 & Drumhead cabbage & 0.833 & 0.06 & & \\ \hline \hline \end{tabular}
\end{table} 
Table 5: Jenks Natural Break (JNB) based coarse classification of fruit and vegetables. GoogleNet was considered as a deep base classifier for AdaBoost optimisation.