Handwritten Digit Recognition Using Neural Network

The training dataset is MNIST dataset, with 60k training images and 10k testing images. But with a little ‘twisted’, it becomes 180k training images. You can Google ‘MNIST dataset’ to know more.

With 10k testing images, accuracy is more than 95%. But I don’t want to stop at that, I want to create a program that you can draw a digit, and then it will say which number that you’ve just drawn.

Here’s the demo

The program works quite well with numbers: 0,1,2,3,4,5,6,7,8 , but it can hardly recognize the number 9, because of several reasons. First reason is inside the MNIST dataset, the number 9 is the most … ugly number, it’s so small, and the second reason is the thickness of the number that we draw. I’ve used an algorithm that I came up with, to track a number in side an image. And maybe the algorithm itself is also the reason why the program didn’t work well as I expected.

The source code as well as other related information and materials will be uploaded to Github at the end of this semester  (around at the end of December) .

Update source code: