Starting from:

$35

CSE4/510: Applied Deep Learning -- Image Classification Project 3 Solved

CSE4/510: Applied Deep Learning 
Project 3 -- Image Classification 


Description  
In this assignment we will practice to train Convolutional Neural Networks on Fashion-MNIST and ImageNet datasets. The goals of this assignment is to explore

CNN models, techniques for preventing overfitting and various data augmentation tools. We will also get practice on working with one of the key datasets in computer vision.

 

 

Dataset
For this project we will be working with two datasets:

Fashion-MNIST
  

Fashion-MNIST​ consists of a training set of 60,000 examples and a test set of 10,000 examples. Each example is a 28x28 grayscale image, associated with a label from 10 classes.  

Getting the data: 

●     Keras API: ​https://keras.io/api/datasets/fashion_mnist/ 

Example:  

from keras.datasets import fashion_mnist 

(trainX, trainy), (testX, testy) = fashion_mnist.load_data() 

●     Pytorch: https://pytorch.org/docs/stable/torchvision/datasets.html#fashion-mnis​    t ●       Direct download: https://github.com/zalandoresearch/fashion-mnis​        t 

 

ImageNet 
  

ImageNet is a large visual database with more than 14 million human annotated images​  and 20k classes designed for developing computer vision algorithms. ImageNet Large Scale Visual Recognition Challenge (ILSVRC) led to developing a number of state-of-the-art algorithms. For the project we would work on a limited number of classes.

Getting the data: 

●     List of all classes can be found her​        e  

●     Linux/MacOS: https://github.com/mf1024/ImageNet-Datasets-Downloade​  r

●     Windows: https://github.com/skaldek/ImageNet-Datasets-Downloade​        r 

●     Direct download ​ (~150GB). For the Project 3 full dataset is not needed, we will be working with a limited number of classes.

 

Tasks
Part I: Fashion-MNIST Classification [20 points]
1.    Upload Fashion-MNIST dataset and prepare for training (normalize, split between train/test/validation).

2.    Build a ConvNet with at least 3 convolutional layers.

3.    Discuss the results and provide the graphs, e.g. train vs validation accuracy and loss over time. Show the confusion matrix.

 

Part II: Data augmentation and CNN improvements [40 points]
1.    Increase the dataset by x4 using any data augmentation techniques (rotations, shifting, mirroring, etc). You can use a combination of these techniques simultaneously.

2.    Apply tools that help to prevent overfitting (regularisers, dropouts, early stopping, etc). Discuss each of them and how they impact the testing performance.

3.    Discuss the results and provide the graphs, e.g. train vs validation accuracy and loss over time. Show the confusion matrix.

 

Part III: ImageNet Classification [40 points]
1.    Choose at least 20 classes from ImageNet. Each class has to contain at least 500 images.

2.    Download the dataset (see above for the links to downloader scripts).  

3.    Preprocess the dataset for training (e.g. removing missing images, normalizing, split between training/testing/validation)

4.    Build a CNN classifier with at least 3 convolutional layers to train on an ImageNet dataset that you have collected. You may use the same model as for Part 2.

5.    Discuss the results and provide the graphs, e.g. train vs validation accuracy and loss over time. Show the confusion matrix.

 

Submit the Project  
●     Submit at UBLearns Assignments​    

●     The code of your implementations should be written in Python. You can submit multiple files, but they all need to have a clear name.  

●     All project files should be packed in a ZIP file named

TEAMMATE#1_UBIT_TEAMMATE#2_UBIT_project3.zip (e.g.​      avereshc_neelamra_project3.zip).​

●     Your Jupyter notebook should be saved with the results. If you are submitting python scripts, after extracting the ZIP file and executing command python main.py in the first level directory, all the generated results and plots you used in your report should appear printed out in a clear manner.  

●     In your report include the answers to questions for each part. You can complete the report in a separate pdf file or in Jupyter notebook along with your code.

●     Include all the references that have been used to complete the project.

Important Information  
This project can be done in a team of up to two people. The standing policy of the Department is that all students involved in an academic integrity violation (e.g. plagiarism in any way, shape, or form) will receive an F grade for the course. Refer to the Academic Integrity websit​ e ​  for more information.



More products