/Mathematical_Symbols_Recognition

Recognition and Classification of Handwritten Math Symbols using Keras

Primary LanguageJupyter NotebookGNU General Public License v3.0GPL-3.0

Project: Recognition and Classification of Handwritten Math Symbols

Project Overview

The current project is a deep learning-based web application that aims to classify mathematical symbols using Convolutional Neural Network. The user will write a character and as an output, the application should predict and classify the input from the 82 classes available in the dataset. These classes represent the different math symbols, predefined functions, digits and Latin alphanumeric symbols.

Model

  • 3 Convolutional Layers
  • Activation function : Relu
  • 3 Pooling Layers
  • 12 epochs
  • Batch size : 100
  • Optimizer : Adam
  • Accuracy : 91.5%

Install

This project requires Python 3.x and the following Python libraries installed:

to install them, run the following command:

cd Project
pip install -r requirements.txt

You will also need to have Jupyter Notebook installed to run and execute a notebook.

If you do not have Python installed yet, it is highly recommended that you install the Anaconda distribution of Python, which already has the above packages and more included.

Code

  • myModel/model.ipynb : Model architecture.
  • train.ipynb : Training the model and getting the serialized model + weights.
  • classifier.ipynb : Feeding the model a new image, gets resized to 45x45 px to get a prediction. Better use it like this :
python classifier.py --labelbin labels.pickle --model model.model --image your_image.png

Or use directly the deployed version.

Data

While no data is directly provided with the project, you will be required to download and use the Handwritten Math Symbols dataset.

Deployment

You will find the deployment in this repository