Where to start Handwritten Recognition using Neural Network?
Have a look at some of the project floating around the net:
- Neural Network Handwriting Recognition Applet
- Handwriting Recognition in Java Technology
- Handwriting recognition
To list just the three first links Google spits out for "java handwriting recognition"
Some hints to get you started:
If you can, work with vectors instead of bitmap graphics. Ideally, you should have the speed and direction of each stroke. It's often more simple to recognize a letter by the way in which a curve bends plus the speed at which it was drawn instead of the form.
Attack the problem with several approaches. Use neural networks, shape recognition, size, previous and next letter, dictionaries. All of them will give you different results with different error levels. This can help greatly to improve the results.
Good luck!
Start simple with character recognition on the Unipen database.
You will need to extract pertinent features out of raw trajectory data in order to form what's commonly called a "feature vector". For instance you could resample the data using an interpolation scheme to end up with n tuples, each tuple containing information such as:
- position
- orientation
- velocity
- acceleration
- curvature
- etc
Once you have a fixed size feature vector, you use it as the input to your neural network. Try MLP networks for a start.
You will have to experiment in order to decide which features are best.
If you need to get started on extracting features from Ink data, have a look at HP's Lipi Toolkit (note that their recognizers don't use neural networks though).
You can also have a look at this 15 Steps to Implement a Neural Network tutorial.
Introduction To Neural Networks for Java is a good introductory book and includes a handwriting recognition example.