Image Classification of Cats and Dogs using Convolutional
Neural Networks
Semester Project
Presented to:
Dr. Aisha Batool
Presented by:
Soban Khan (UW-22-AI-BS-052)
Shahzaib Khan (UW-22-AI-BS-028)
Image Classification of Cats and Dogs using Convolutional
Neural Networks
Problem Description
Objective: The aim of this project is to develop a Convolutional Neural Network (CNN) model
for classifying images of cats and dogs. This problem is important because it serves as a
foundational task in the field of computer vision, with applications in areas such as animal
welfare and pet adoption.
Benefits:
Animal Welfare Organizations: Can use the model to automate the identification of pets in
shelters.
Pet Owners: Can help in identifying breeds for potential adopters.
Research Community: Provides a basis for further exploration into more complex image
classification tasks.
Dataset Description:
Name of Dataset: Kaggle Cats and Dogs Dataset
Dataset Source: Available on Kaggle: Kaggle Cats and Dogs Dataset
Dataset Size and Features:
Number of Samples: 25,000 images (12,500 cats and 12,500 dogs)
Number of Features: Images (features derived from pixel values)
Types of Features: Image data (RGB, varying sizes)
Description of Dataset:
The dataset consists of images in a tabular format, where each image is labeled as either a cat
or a dog. The images vary in size and resolution.
Potential Work
Machine Learning Approaches:
Models: CNN architectures such as VGGNet, ResNet, or custom architectures can be utilized.
Pre-processing:
Resize images to a uniform size (128x128 pixels).
Normalize pixel values to a range of 0-1.
Apply data augmentation techniques (e.g., rotation, shearing, zooming) to enhance the
dataset and prevent overfitting.
Evaluation Metrics:
Accuracy
Precision
Recall
F1-score
Methodology
Data Acquisition
Download the dataset using the Kaggle API or wget.
Unzip and load the data into a suitable format (e.g., Pandas DataFrame).
Data Preprocessing
Resize images to 128x128 pixels.
Normalize pixel values.
Implement data augmentation using Keras' ImageDataGenerator.
Deep Learning Model
Architecture:
Convolutional layers followed by max-pooling layers.
Fully connected layers with ReLU activation and dropout for regularization.
Training and Evaluation
Use stochastic gradient descent with a batch size of 32 and a learning rate of 0.001.
Optimize with binary cross-entropy loss.
Evaluate using 5-fold cross-validation.
Expected Results
Aim for an accuracy of at least 97.5% on the test set.
Anticipate strong performance metrics (precision, recall, F1-score) across both classes
(cats and dogs).
Conclusion
This project aims to leverage CNNs for effective image classification of cats and dogs using the
Kaggle dataset. The expected outcomes can significantly benefit animal welfare initiatives and
further research in image classification tasks.
References
Krizhevsky, A., Sutskever, I., & Hinton, G. E. (2012). ImageNet classification with deep
convolutional neural networks.
Goodfellow, I., Bengio, Y., & Courville, A. (2016). Deep Learning. MIT Press.
Bishop, C. M. (2006). Pattern Recognition and Machine Learning. Springer.