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 |
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 |