I've been learning about neural nets for a few months now. I've managed to piece a simple net for prime numbers. Works fairly well, but not a good problem for nets. So I've been slowly writing an OCR program for a little bit now, unfortunately I'm still on the image processing and character isolating. I've developed some algorithms for vertical and horizontal scanning of an image. However I feel these are still very elementary and quirky. I've scoured the internet for good places about OCRing and more specifically character isolation. Anyone have any good sites to look into? I could also give some better explaination of the functions.
If it matters, the language I'm mainly using for now is c#.
I would break down the problem into a normal program that finds bits to send to nets. For example if everything was a neat fixed width font computer printed, then you could break it up into a grid and send each grid cell to a net capable of recognizing a single character.
In practice we often get more accurate results when using a net designed for a specifc language and usage set. In this case, the net is often trained to recognize full words at once. This has the added property that because nets are biased toward sets of letters they are trained against that if you enter a word that is slightly misspelled, the net may recognize it as the correctly spelled word. This requires a *much* larger training set (ie the whole dictionary) in order to be accurate on all words though.
In any case, use a simple algorithm to break the text up into lines, and then into chunks you can feed into a net. They may be characters or full words, or for one that can analyze grammar you might even try full sentences. (hint: dont actually try this, but realize the implications if you could get this to work and think about this as an advanced topic)
My thoughts were just to isolate individual characters, scale them to something pre-determined and throw the bits at it, however I have not reached that part yet. I'm trying to find good ways of breaking apart the lines. I have come up with a fairly simple way, but it does not work as well as I want/need since some characters do not leave an easily identifiable break. I've searched around and haven't really come up with much to help with the image analysis.
I have considered breaking into words and using that, but being as I have formal training with nets, I doubt I could pull that one off, especially with how big the training data would be. But it seems it would be fundamentally the same.
Thank you for your response. Would anyone know other boards that deal with OCR-specific information?