In the modern era, application data processing speed and scalability are the best only if the user interface (UI) is navigational and user-friendly. In a competitive world, if the new application hits the market without any major user interface (UI) defects, the profit will be tremendous. Moreover, testing multilingual UI is time and cost intensive and requires people with native language skills. To overcome this scenario, Optical Character Recognition (OCR) can be used.
OCR was mainly designed for extracting the text from the scanned document, not from the display unit of the embedded system. The primary limitation of a commercial tool is in recognizing text from different foregrounds/backgrounds. In some cases, OCR developed for high resolution may fail to recognize the same characters/words in low resolution. Retrieving textual information from a low-resolution image is also a hindrance.
In terms of the cost-effectiveness of the tool, the consumer has to purchase the entire package of the OCR tool, even though he/she needs only a few characters/words of his/her interest in the package. Multiple OCR tools are needed for the testing operation which further increases the cost of the tool. All the commercial OCR tools have constraints on the allowed number of pages for extraction. If any new custom character needs to be recognized, the user either contacts the vendor or needs to study the process of adding the custom character to the dictionary, which is a tedious process.
So, there is a need for a tool where users can use their own logic for a faster character/word recognition. Extensive research efforts have been put forth to develop various aspects of the OCR tool with the same reading capabilities as humans. Yet, the development still remains unachieved and the reliability of the result is still far away.
A new approach is now being explored. A machine replicating the functioning of the human nervous system, the artificial neural network, can improve the mechanism to increase the efficiency and accuracy of the OCR system. The human brain extracts various features like color, shape, size, and orientation from visual images and processes those features to identify the characters/words in the image. Neuromorphic hardware is one such hardware that has neurons to process the incoming data and generate outputs based on the data gathered. This hardware, which uses an artificial neural network, can be used for OCR.
Workflow for using neuromorphic hardware for OCR
For each language, the neuron memory stores the feature vector of the character/word as a knowledge base. During testing, the neuron compares the feature vector with the existing patterns from the artificial neural network and fires the nearest neuron. Based on the fired neurons, the text is extracted from the image.
The knowledge base for each language can be loaded and tested in a neuron, which is part of the larger artificial neural network. For the addition of any new character/symbol, the user must extract only the feature vector and train the system. It can be performed both offline and online. Since the user can train the neurons, the price of the hardware is very low.