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.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjI4MDY2NTUsIm5iZiI6MTcyMjgwNjM1NSwicGF0aCI6Ii82MTc0NTgzOC8yODUyNjIxOTYtYTI0YTEwN2ItZGFmNy00YWQ0LWJiZmMtYmJmOWE4MWUzZDI1LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MDQlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODA0VDIxMTkxNVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTEzODBhMmVhMzU0YTMyYTI4MjgyODVkMjc4OWFhMmU5OTFkNjEwNTdkNmQzNzAwMDJjZmRjOGU2YjhiNDg3MGImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.bvmLj1HWCHTwuXUUHD-KuDop3FSUhgjKzJBhcRVhKbI)