Building a framework for a Machine Learning algorithm that can recognize handwriting - Great Learning

Building a framework for a Machine Learning algorithm that can recognize handwriting

Manually transcribing large amounts of handwritten data is an arduous process that’s bound to be fraught with errors. Automated handwriting recognition can drastically cut down on the time required to transcribe large volumes of text, and also serve as a framework for developing future applications of machine learning.

Handwritten character recognition is an ongoing field of research encompassing artificial intelligence, computer vision, and pattern recognition. An algorithm that performs handwriting recognition can acquire and detect characteristics from pictures, touch-screen devices and convert them to a machine-readable form.

There are two basic types of handwriting recognition systems – online and offline. Both types can be implemented in applications to progressively learn based on the user’s feedback while performing offline learning on data in parallel. Several approaches have been used for online and offline handwriting recognition fields, such as statistical methods, structural methods, neural networks and syntactic methods. Some recognition system identifies strokes, others apply recognition on a single character or entire words.

Neural Network based Handwritten Character Recognition system with feature extraction

Character Recognition Algorithms

The algorithms used in character recognition can be divided into three categories: Image Pre-processing, Feature Extraction, and Classification. They are normally used in sequence – image pre-processing helps makes feature extraction a smoother process, while feature extraction is necessary for correct classification. Here’s how they work:

Image pre-processing

Image pre-processing is crucial in the recognition pipeline for correct character prediction. These methods typically include noise removal, image segmentation, cropping, scaling, and more. The recognition system first accepts a scanned image as an input. The images can be in JPG or BMT format.

Digital capture and conversion of an image often introduces noise, which makes it hard to identify what is actually a part of the object of interest. Considering the problem of character recognition, we want to reduce as much noise as possible, while preserving the strokes of the characters, since they are important for correct classification.


In the segmentation stage, a sequence of characters is segmented into a sub-image of an individual character. Each character is resized into 30×20 pixels.

Classification and Recognition

This stage is the decision making stage of the recognition system. The classifier contains two hidden layers, using a log sigmoid activation function to train the algorithm.

Feature extraction

The features of input data are the measurable properties of observations, which is used to analyse or classify these instances of data. The task of feature extraction is to identify relevant features that discriminate the instances that are independent of each other.

Neural Network System for Continuous Handwritten Word Recognition

A method for continuous handwritten word recognition is derived when the word is segmented into triplets (containing 3 letters). Two subsequent triplets have 2 common letters. The biggest challenge for recognition systems is to perform operations on a continuous word. In this, each word is subdivided into triplets, each containing three letters. Figure 10a shows triplet “aba” and figure 10b shows triplet “ban”. Two neighbour triplets always contain two common letters which represent the overlapping between letters. This kind of overlapping results is a higher recognition rate.

What is OCR?

OCR stands for Optical Character Recognition. It is used to recognize text inside images, such as scanned documents and photos. OCR technology is used to convert virtually any kind of image containing written text into machine-readable text data.

OCR Technology became popular in the early 1990s while attempting to digitise historic newspapers. Since then the technology has undergone several improvements. Nowadays solutions deliver almost perfect OCR accuracy. Advanced methods like Zonal OCR are used to automate complex document based workflows.

The advantage of OCR software handwriting recognition is considerable. Now, with advances in technology, it is possible to scan a page of structured handwritten text and the converting engine can quickly use OCR software handwriting recognition to convert it to a machine-readable document

Popular use-cases for OCR technology

Probably the most well-known use case for OCR is converting printed paper documents into machine-readable text documents. Once a scanned paper document goes through OCR processing, the text of the document can be edited with word processors like Microsoft Word or Google Docs. Before OCR technology was available, the only option to digitise printed paper documents was to manually re-type the text. Not only was this massively time consuming, it also came with typing errors.

OCR is often used as a hidden or silent technology, powering many well-known systems and services in our daily life. It’s used in data entry automation, indexing documents for search engines, automatic number plate recognition, as well as assisting blind and visually impaired people.

Subscribe to Our Blog