Image Classification

Image Classification#

Image classification is a foundational task in computer vision, where a model learns to assign labels to images based on their content. In this project, you will begin by collecting and annotating your own multiclass image dataset, then design and train a convolutional neural network from scratch to establish a performance baseline. After you have evaluated its accuracy and generalisation, you will select a pretrained network and replace its classification head to match your dataset’s classes. You will train the classification head on your dataset, and then fine-tune the entire network. Finally, you will compare the performance of the three models: the from-scratch CNN, the pretrained network with a frozen backbone, and the pretrained network with fine-tuning.

Difficulty

Suggested Tutorials

Easy

Convolutional Networks, Transfer Learning

Image Classification


Grading

The project will be graded based on the following criteria. Points for each activity are awarded based on quality and completeness (partial credit possible).

Activity

Points (max)

Collect and annotate a multiclass image dataset

6

Train and evaluate a CNN built from scratch

2

Transfer learning 1 - Feature extraction

2

Transfer learning 2 - Fine-tuning

3

Online Data augmentation (in training)

2

Deployment (model made usable)

2

Presentation (clarity & demo)

3

Total

0-20