[Will Forfang] found a app that lets you take a picture of a math equation with a phone and ask for a solution. However, the app wouldn’t read handwritten equations, so [Will] decided to see how hard that would be, using a neural network.
The results are pretty impressive (you can also see the video below). [Will] used his own handwriting on a chalkboard and had the network train on that. He also went even further and added some heuristics to identify fraction bars and infer the grouping from the relative size of the bars.
The neural net code is simple, but there are a lot of nodes. The capture image is 75×75 or 5,626 pixels in total. Each pixel has a neuron. Those feed into 50 intermediate neurons. There there is one neuron for each of the eighteen symbols the software can recognize (the digits, math operators, and so on).
The programming is just to get the neuron algorithm. The actual character recognition is handled by training the net using example input data — writing numbers over and over again on the chalkboard. Once the equation is recognized, it isn’t hard to solve the actual equation (which is not done via neural net, as far as we can tell).
Thanks for the tip [John].