5 ms·
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 alpha
by Hydraulix989 10y ago
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...
- avmich 10y agoIt would be really interesting to learn how you did that. https://github.com/tesseract-ocr/docs/blob/master/das_tutorial2016/6ModernizationEfforts.pdf 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?"
- Hydraulix989 10y agoCharacter 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.
- pilooch 10y agotesseract 4 comes with LSTM and pre trained models.
- avmich 10y agohttps://github.com/tesseract-ocr/tesseract/blob/master/README.md https://github.com/tesseract-ocr/tesseract/blob/master/READM... "The latest stable version is 3.04.01, released in February 2016." Was version 4 ever released?
- Hydraulix989 10y agoTo be fair, I haven't run my comparison since 2014.