Obtuze - A Neural Network for OCR
"Obtuze" is our working title for a new project that explores the possibilities of using a simple Neural Network for the purposes of OCR.
Project Lead Developer: Emil
Developer & Linux support: Adam
This project is brand new, over the next few weeks, this thread will build into a timeline of development milestones and targets.
Request:
If you have some experience with Neural Networks and/or Pattern Recognition and think you may be able to assist us, then we would be very grateful for your input. You would be credited by name in the final release of the project and worshipped thenceforth by all and sundry :D
Current Goals:
- A class to generate a simple training dataset. In essence this means generating many small bitmaps, each containing a single character, rendered in AA greyscale with several randomised metrics (size, rotation, font, x-y offset).
- Refitting the current NN to accept more "fuzzy" input as it's dataset.
Re: Obtuze - A Neural Network for OCR
Hey Adam. Thought I'd make use of our project communication thread a little.
As I mentioned to you earlier today, I'm currently training (yes, still!) a very simple net (80 input nodes and 37 output nodes, no hidden layers), on images of the characters:
A B C D E F G H I J K L M N O P Q R S T U V X Y Z 1 2 3 4 5 6 7 8 9 0 [Space].
I've been adjusting the settings on the net to have it train as good as possible, I think i have found the best combination of settings for now, but its still getting slow towards the end.
Tomorrow I will do a test-run of the newly trained net to see if it passes the test:
http://img10.imageshack.us/img10/1733/inputl.png
This will only be a minor test though, as I believe we'd need to use a hidden layer to be able to capture the "diversity" (is that the right word?) off all the different kinds of inputs it'll be getting later.
Just a thought. What characters should we try to support? Full ASCII would of course be neat, but it'd create a massive training set (not a problem as such, seeing as our training set will in practise be infinite already!), and large ANN, which consequently would mean longer training times (and possibly hard to find a good ANN setup).
Re: Obtuze - A Neural Network for OCR
I think we should earn just the commonly used set A-Z, 0-9, space and also !?<>,.#@'-+=_£$%^&*()[]{"} ;\:/
Getting it to spot the difference between "." and "," will probably be very hard though I reckon.
At the weekend I'll try to set aside to get my class finished and also figure out how we're going to compile this thing for mono as well.
Re: Obtuze - A Neural Network for OCR
wow guys, this sounds really cool. I had to 'wiki' "Neural Network" and "OCR" :)
What exactly will this do? I've always been interested in character recognition based on graphics (I do work with DVRs and Loss Prevention)
Is there anything I can help with? Does "Obtuze" need a website?
Re: Obtuze - A Neural Network for OCR
Definitely an awesome project idea, I'll certainly be checking back to thread to see progress updates.
Re: Obtuze - A Neural Network for OCR
Sorry for not replying, stateofidleness and Bopo.
The project has been put on hold for a little while. I cant seem to adjust the network to complete its training in a reasonable time ( i.e, during my lifetime! ;) ), which is very aggravating, although I'll resume work sometime soon.
As for your question, stateofidleness;
What we'd ultimately like project to do is to have the ability to be given a picture of a letter and have it spit out what letter the picture actually represents. If we manage to make it "noise-tolerant" enough, it could in theory be able to read hand-written text for instance (altough you'd have to write reasonably clear!).
I don't think we'd need a website, especially not just yet, thanks for the offer though.
Re: Obtuze - A Neural Network for OCR
Any updates on this? This really will be an awesome project once it is accomplished.
Re: Obtuze - A Neural Network for OCR
Hmmm. I don't know how you guys are going about this. Some more information on how you are planning to recognize characters would be nice.
Thanks,
- Micro Farad
Re: Obtuze - A Neural Network for OCR
Hi Micro Farad.
The project has been put on "hold", simply because there has been no time, and I suppose also because we had some problems training our ANN in our first attempts.
As mentioned above, we are trying to train an artificial neural network into recognizing a letter when given an image representation of the letter.
Re: Obtuze - A Neural Network for OCR
This sounds really great and I'd love to see it in action when it's done :) I don't know much about Neural Networks or making OCR work, but I would gladly help if I can :) Just give me a shout :)