This is the implementation of an assignment from the Master of Science's course "Artificial Neural Networks and Deep Learning" of Politecnico di Milano. The project was done in a group of 3, in collaboration with my colleagues Davide Mantegazza and Gabriele Bozzetto.
In this homework we were required to design and train a model to classify images of leafs, which are divided into categories according to the species of the plant to which they belong. Being a classification problem, given an image, the goal is to predict the correct class label. A sample of each class is shown in the image below.
We implemented various CNNs and explored aspects such as regularization, dropout, data augmentation, bias-variance tradeoff, transfer learning, and fine tuning. Our best model exceeded 90% accuracy on the test set.
Each notebook contains a particular model, with images of the architecture and its performance on the validation set. Further details are found in the "AN2DL HW01 report.pdf" file.
![samples](https://private-user-images.githubusercontent.com/61745838/285262196-a24a107b-daf7-4ad4-bbfc-bbf9a81e3d25.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjI3OTg1NzIsIm5iZiI6MTcyMjc5ODI3MiwicGF0aCI6Ii82MTc0NTgzOC8yODUyNjIxOTYtYTI0YTEwN2ItZGFmNy00YWQ0LWJiZmMtYmJmOWE4MWUzZDI1LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MDQlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODA0VDE5MDQzMlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWJlNzc0N2ExNzVjMDRiNjk1YmZmMDkyMDg4YWI1NDRjOTRlZTQ2ODUzZmNlYmFlNmQwNjg5NTY3NDhjNWI4OTMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0._lAMmX7qk89LqZRACfqICZu2s7EWPP76tKHt62hCn1k)