Assignment 1 of the course Artificial Neural Networks and Deep Learning at Politecnico di Milano: Deep Learning models to classify images of leafs, which are divided into categories according to the species of the plant to which they belong.
We were provided with the training dataset, while models were evaluated on a hidden test dataset.
Project realized with Keras module in Python
Authors:
- Denaldo Lapi
- Fabio Raffaeli
Details about the dataset and some exploratory data analysis are reported in the provided Python notebook dataLoading.
As can be seen in the notebook, the provided dataset is highly unbalanced. To deal with that we adopted two strategies to split the provided dataset into training and validation:
- Splitting the dataset uniformly and applying corrective class weights
- Splitting with oversampling
Moreover, we applied data augmentation by using the ImageDataGenerator class of Keras.
The notebok notebookFinal contains the best models developed to solve the task. In order:
- CNN model (without transfer learning)
- Transfer Learning model (Xception)
- Fine Tuning model (Xception)
Development steps, training plots and obtained performances are reported in the report file.