The project deals with the use of deep learning technologies to classify images of different day-to-day objects/beings. The project is created using the Python programming language with additional libraries such as Tensorflow, Keras, and Numpy.
The dataset used is a variation of the CIFAR-10 dataset. The images are of different objects/beings and are classified into 8 categories. The categories are: airplane, automobile, bird, cat, deer, dog, frog and horse. The default image size in this dataset is 32x32 pixels of RGB values.
The following image is the ML pipeline used in the project:
The project structure is as follows:
- Data Ingestion
- Data Preprocessing
- Model Learning
- Model Evaluation
- Model Prediction
Data Ingestion: Importing the required libraries and dataset.
Data Preprocessing: The dataset is preprocessed to be used in the model. The techniques of preprocessing the dataset are:
- Grayscale Conversion
- Normalization
- Guassian Blurring
- Image Rotation
Model Learning: The model is trained using the preprocessed data. The model implemented is a convolutional neural network (CNN).
Model Evaluation: The model is evaluated using the test data. The evaluation metrics used are:
- Accuracy
- Monitoring the loss
Model Prediction: The model is used to predict the category of the image on the test data. No new images are used for prediction.
References:
- https://www.section.io/engineering-education/image-preprocessing-in-python/
- https://iq.opengenus.org/basics-of-machine-learning-image-classification-techniques/
- https://www.analyticsvidhya.com/blog/2020/02/learn-image-classification-cnn-convolutional-neural-networks-3-datasets/
- https://medium.com/@dipti.rohan.pawar/improving-performance-of-convolutional-neural-network-2ecfe0207de7
- https://github.com/y33-j3T/Coursera-Deep-Learning/blob/master/Advanced%20Computer%20Vision%20with%20TensorFlow/Week%201%20-%20Introduction%20to%20Computer%20Vision/Copy%20of%20C3_W1_Lab_2_Transfer_Learning_CIFAR_10.ipynb
- https://victorzhou.com/blog/keras-cnn-tutorial/