Image Classification and Visualization for MNIST Dataset
Utkarsh Uppal
Chandigarh, Chandigarh
- 0 Collaborators
Image Classification and Visualization on MNIST Dataset is the benchmark project for a person exploring DL. It is based on the classification of images of numbers from 0 to 9 in 10 classes and further visualization of results and filters of CNN, as to how they change as model is gradually trained. ...learn more
Project status: Published/In Market
Intel Technologies
OpenVINO
Overview / Usage
The project is based upon the image classification application and the finding the probability of input image being of a particular class from 0-9. A huge collection of images can be segregated into different classes and depending upon the work, can help in optimizing the numbers and digits separation task.
This project is primarily for research and learning purpose. I'll upload a series of projects, with this project aimed at assisting a person who has recently started Deep Learning, helping in implementation of the theoretical concepts understood and to gain more hands-on experience and further visualization of how exactly the classification takes place.
Methodology / Approach
The project uses Convolutional Neural Networks (CNN). The MNIST database contains 60,000 training images and 10,000 testing images taken from ACB employees and American high school students. Further the images have been divided into two groups for training and testing including the labels. In addition, the data is normalized by dividing the pixels by 255, as the images are grayscale only one channel is present.
The next step is to build the CNN model. The CNN model includes a Conv2D, MaxPool, Flatten and Dense Layers. As a regularization techniques, dropouts have been used in the model. For back-propagation and optimization, Adam optimizer and Cross-Entropy Loss have been used. The model is trained for 35 epochs. Matplolib is used to visualize the results.
Steps:
- Dataset Collection and Separation
- Data Pre-Processing and Augmentation
- Model Building
- Training and Testing
- Visualization
Technologies Used
- Tenserflow
- Numpy
- Scikit-learn
- Matplotlib
- Python 3.6
- OpenVINO