14 comments

[ 2.8 ms ] story [ 38.6 ms ] thread
Screenshots please, people! (Video probably could've been a .GIF and thus embedded in the README.)
I will jump on this project as an example of PWA using ionic2, thanks
Does this do layout detection?
It's not THAT impressive. ocrad.js is just Tesseract, an ancient OCR engine from Google (EDIT: originally from HP).

For bounded-length sequences of small alphabet sizes (e.g. digits 0-9 only), it's possible to use a convolutional neural network to get human-level 98+% accuracy (see Google's street view house numbers paper).

Even for general purpose OCR, I personally built an OCR engine from scratch in 2013 using convolutional neural networks and cuDNN that readily beat Tesseract and was competitive with ABBYY (both use ad hoc methods). Character-level segmentation and classification (with distractors) can get you pretty far with enough training data.

It did take me 6 months of time though, and I had some help along the way...

It would be really interesting to learn how you did that.

https://github.com/tesseract-ocr/docs/blob/master/das_tutori...

"Despite being designed over 20 years ago, the current Tesseract classifier is incredibly difficult to beat with so-called modern methods. (Without changing features or upping the number of training fonts) Why?"

Character classification is the easy part of OCR.

EDIT: It sounds like they were benchmarking a very constrained problem as well (only a single font, with certain features). One disadvantage with Tesseract is that it has to be trained by the user for specific fonts, my OCR was generalist (general shape-based character classification is practically designed for convolutional neural networks).

I'd love to give more details in a blog post soon.