The goal of this study had been to create a simple 2D CNN (Convolutional Neural Network) able to identify a specific dataset. Check it out now.
The dataset had been choosen among those available for free on Kaggle.
From the starting dataset, we extracted five classes with reference to five different types of ball: baseballs, basketballs, beach balls, billiard balls and bowling balls. In addition, part of the samples were set aside for verification.
Data Augmentation had been applied to the orginal 110 elements for each class; the augmentation consist of rotating, changing lights to obtain new dataset elements. As a function of activation of neurons we used the RELU function which is: ππππ’(π₯) = π₯ Β· π πππ(π₯)+1 2 .
Indeed, the output function that we will use is the softmax which is: π πππ‘πππ₯(π₯π ) = π π₯π β π π₯π π , that enhances the proximity of the output to the one-hot. Finally, and as usual for the softmax, as a loss function we will use the categorical cross entropy: π(π¦, π¦Μ) = β βπ π¦π Β· πππ(π¦Μπ ).
Before analyzing results we tested several configurations of hyperparameters of the network and we stayed with the best one. Then, we ploted the evolution of accuracy and we showed the confusion matrix to analyze the results.
Contributors
Alberto MeliΓ‘n RodrΓguez
Federico Colleluori