Convolutional Neural Networks (CNNs) are commonly used in tasks involving image analysis as they are designed to extract complex features from images due to its hierarchical nature.
In this project, a simple CNN from scratch using TinyVGG architecture will be used to classify images into six different categories:
- Building
- Forest
- Glacier
- Mountain
- Sea
- Street
We will be using PyTorch as well as OpenCV for this computer vision task.
The dataset can be found here: https://www.kaggle.com/datasets/puneet6060/intel-image-classification
Details about the model architecture used: https://github.com/poloclub/cnn-explainer/tree/master/tiny-vgg
Other common benchmarks for image classification tasks are:
- ImageNet dataset by Fei-Fei Li: https://www.image-net.org/download.php
- CIFAR-10 and CIFAR-100 datasets by the University of Toronto: https://www.cs.toronto.edu/~kriz/cifar.html
- Caltech-101 and Caltech-256 datasets by the California Institute of Technology: