130 likes | 312 Views
ADVANCED MOBILE SYSTEMS ENGINEERING RESEARCH PROJECT BY NITYATA N KUMAR AND AASHRAY ARORA. INTELLIGENT EDITOR FOR ANDROID MOBILES PHASE 1 : HANDWRITING RECOGNITION. PROBLEM STATEMENT:.
E N D
ADVANCED MOBILE SYSTEMS ENGINEERING RESEARCH PROJECT BY NITYATA N KUMAR AND AASHRAY ARORA INTELLIGENT EDITOR FOR ANDROID MOBILES PHASE 1 : HANDWRITING RECOGNITION PROBLEM STATEMENT: Intelligent editor with context sensitive handwriting recognition: Make a handwriting recognizer, measure the accuracy for the given domain, modify the algorithm to get better accuracy, integrate it with a language specific editor.
Intelligent editor with context sensitive handwriting recognition: Make a handwriting recognizer, measure the accuracy for the given domain, modify the algorithm to get better accuracy, integrate it with a language specific editor. • Need for an Intelligent Editor • “Todays tablets are the desktops of tomorrow”. • Need for a Handwriting Recognizer • A handwriting recognizer would allow the user to be fast and write in his/her own handwriting. This would be much more comfortable as well as quick when compared to standard touch screen device keyboards. • Need for Context Sensitivity • The handwriting recognizer can be made Intelligent if it knew the context of the user. For Example, the developer could be using the intelligent editor for writing a JAVA program. In that case: the handwriting recognizer could be able to tweak is recognition towards recognizing JAVA keywords, class names, attributes and methods the user has already define
2 EXISTING RESEARCH
CELL WRITTER vsENCOG Encog is an advanced neural network and machine learning framework. Encog contains classes to create a wide variety of networks, as well as support classes to normalize and process data for these neural networks. Encog trains using multithreaded resilient propagation. Cell Writer : Efficient, for Linux only, uses libraries that do not exist in android -> will need to re-invent the wheel.
3 APPROACH
USE ENCOG AND PORT TO ANDROD Study Heaton's research, understand basics and move towards porting. It uses a type of neural network called a Self-Organizing Map (SOM), also sometimes called a Kohonen neural network. As you draw characters into the rectangular area, they are down sampled into the grid . This forms the input into the neural network. The output of the neural network is the “winning neuron” that recognized the input. The number output neurons matches the number of input samples you have. Why we preferred an unsupervised learning algorithm is because there is no specific input to decide exactly the letter that should be derived. Very often an “a” of the same person could be written closer to a “d”. Also, the handwritings of various people is different and the input cannot be categorized but rather can be divided into “clusters” based on the similarity in inputs (topographic organization) (training) and the sample input can be matched to one of these clusters (mapping).
RESULTS OBTAINED HANDWRITING RECOGNITION : approx. 80-90% efficiency. Auto completion to word, needs contextual improvements. Auto Recognize once user has entered a character Usage of multiple neural networks depending on input set. Ability to adapt to users handwriting. Adding new user defined letters and storing them persistently. A minimal editor is now in place with basic functionality like load, save and create new files. Keywords are differently colored as a real editor.
CONCLUSION • Although we used an existing research as reference, basics are same but otherwise it is quite different. • We have learnt new concepts, we hope to extend our knowledge and make a valuable contribution. DIFFICULTIES CONQUERED • Storing permanently a previous user-defined handwriting and loading it each time the neural network loads, so that it adapts to the users handwriting. The original Encog project that we decided to port does not implement this. A new letter trained only lasts for that session of use. • Doing away with the recognize button: originally we have to click on a button to recognize the letter. Now we have made this automatic and it recognizes the letter if the users finger has left the area to draw; with content on it to recognize.
CONTRBUTIONS Shortage of open source Handwriting recognizers for android. We like to contribute this towards open source to help others like us and also help in not re-inventing the wheel. As we make improvements we’d put up better versions of this.