ashish493 / alphanumeric_recognition

A web app for recognizing handwritten characters and digits.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Alphanumeric Recognition

Contributions Welcome

Alphanumeric Logo

Aplhanumeric Recognition is a web application for detecting handwritten characters as well as digits, which is trained on the EMNIST dataset.

Installation

  1. Clone the Repo:-

git clone https://github.com/ashish493/alphanumeric_recognition.git

  1. Install the dependencies:-

pip install -r requirements.txt

  1. Run the flask server in the app directory:-

python -m flask run

Note: We recommend installing the application in a virtual environment to prevent conflicts with other projects or packages.

If u want to train the dataset yourself, then simply run:-

python cnn_train.py

Demo

Because of the larger slug size, I was not able to host on Heroku. If anyone knows a better hosting site for deployment, u can simply create a issue.

-----> Discovering process types
       Procfile declares types -> (none)
-----> Compressing...
 !     Compiled slug size: 731M is too large (max is 500M).
 !     See: http://devcenter.heroku.com/articles/slug-size
 !     Push failed

Meanwhile, I have attached some screenshots of application, after running the server locally.

flask_host

Outputs

prediction for 2 prediction for H

Deployment Options

I have provided the Dockerfile in the repo. U can manually build it to get the Dockerimage and then deploy it on the cloud or on your respective server.

How to Contribute

Since this is a very new project, I would really love your input whether it's :-

  • Reporting a bug
  • Discussing the current state of the code
  • Submitting a fix
  • Proposing new features
  • PR from the To-Do section

For bugs,discussions or propasing features, simply open/raise an Issue.

For PR's of fixes or new features describe about the fix or feature and then add a screenshot of the working output.

To-Do/Future Improvements

  • Hyperparameter optimization
  • Neural network pruning
  • Displaying top-n predictions
  • Load balancer in a cluster
  • Add correction and submit options
  • Improving the frontend web design

Acknowledgements

  • My model is based on this notebook.

  • I took the logo from this website.

About

A web app for recognizing handwritten characters and digits.


Languages

Language:Python 59.6%Language:JavaScript 23.8%Language:HTML 10.7%Language:CSS 3.0%Language:Dockerfile 2.9%