Priyanshu Zihowa View code on GitHub (opens in a new tab)

Deep learning · Computer vision

Hindi Handwriting Recognizer

Draw a Devanagari letter or digit below. A convolutional neural network, running entirely in your browser, will guess which of 46 characters it is.

Draw here

Draw one character, for example क

Tip: draw one character, big and in the middle, with steady strokes.

Prediction

Loading model…
?

Waiting for a drawing

The model's best guess appears here.

    What the model sees. Your drawing is cropped, centred and shrunk to 32 × 32 pixels, the same format as the training images.

    Characters it knows

    Tap one to see what to draw. It doesn't know vowels (अ, आ…) or matras yet.

    How it works

    1. 1

      Trained on real handwriting

      The model learned from 78,200 handwritten images in the UCI Devanagari Handwritten Character Dataset, with random rotations, shifts and zooms added so it copes with different writing styles.

    2. 2

      A small CNN

      Five convolution layers find strokes, curves and the top line, then two dense layers pick one of 46 classes. About 0.6 million parameters, built with PyTorch.

    3. 3

      Runs in your browser

      The trained model is exported to ONNX and runs with ONNX Runtime Web. Your drawing never leaves your device.