TopOCR's OCR Engines
TopOCR is equipped with three different OCR engines!
You can select between TopOCR OCR, which is the best choice for reading PDF files and for use with traditional image scanners, or you can select Tesseract OCR, which provides much higher accuracy on camera images.
Tesseract OCR also supports a new plug-in OCR engine called TAO OCR.
TAO OCR is a very high performance English only recognition engine optimized for document cameras that can read with greater than 99.8% accuracy, even on lower quality camera images!
TAO OCR is derived from Microsoft's Windows.Media.Ocr from the Universal Windows Platform or UWP, and until now was reserved exclusively for UWP applications.
Whichever OCR engine you select, you can rely on the fact that the accuracy of each individual OCR engine is greatly enhanced by TopOCR's image processing and document layout analysis functions. This gives each OCR engine the same capability of supporting auto-rotation and reading curled book pages.
TopOCR (Shape Analysis Static Classifier Architecture)
TopOCR can read eleven different languages (English, Danish, Dutch, Finnish, French, German, Italian, Norwegian, Portuguese, Spanish, Swedish) and is the fastest OCR engine on the planet!
It works on the principle of analyzing the shape of characters and using a high speed decision tree for classification.
If you have good quality images without a lot of character distortion or noise, TopOCR can be an effective choice, especially if you're running on a low powered CPU.
TopOCR is also your best choice for extracting text from PDF files where its high speed will allow you to read several pages per second on a fast PC!
Tesseract OCR (LSTM Recurrent Neural Network Architecture)
The primary character classifier function in Tesseract OCR is based on an implementation of a Long Short-Term Memory neural network or LSTM network.
LSTM neural networks outperform all other alternative neural network architecture models for this type of pattern recognition and also outperform the more "classical" character recognition algorithms used by the top selling commerical OCR products.
For example, an LSTM network achieved the best known results in unsegmented connected handwriting recognition, and in 2009 won the ICDAR handwriting competition.
The accuracy of an LSTM network is heavily dependent on the training data.
The training data used in the new Tesseract LSTM included a significant amount of degraded images produced by cameras.
If Tesseract's LSTM recognizer fails on a particular character sequence, it can "fall-back" to its generic static shape classifier to make the determination.
The amount of computation required for LSTM network character recognition is about 50 times greater than for character recognition performed using a static classifier. To help speed up the processing, we are utilizing SSE2 instructions for the inner neural network calculations. We have also achieved a significant performance increase by making extensive use of hyper-threading (running on multiple-CPUs) in the most CPU intensive portions of the OCR and image processing functions. To optimize hyper-threading, TopOCR will automatically scale the number of threads based on the number of processors or "cores" on your PC. On a standard DeskTop PC using a 4-core Intel 3.4GHz i7-6700 CPU, our implementation of Tesseract's LSTM neural network OCR engine takes about 6 seconds to read a 5.0 MP image and TopOCR's image pre-processing (binarization, straighten columns) adds about another second. For comparison, one of the new 8-core Ryzen CPUs from AMD will read a page in under 3 seconds! Because of the enormous performance improvement achieved by using multi-processing, we recommend ONLY running TopOCR on a 4-core or better CPU. As 8-core and even 16-core(!) CPUs become more mainstream, TopOCR will already be equipped to maximize performance for these CPUs.
TAO OCR - Tesseract Accelerated OCR (Windows 10/English Only!)
TAO OCR is a new high performance English-only recognition engine that has been integrated into the Tesseract OCR System at the classifier level.
TAO OCR produces a very significant increase in OCR accuracy and speed, especially on lower quality camera images.
If you are using an English version of Windows 10, (region: eng-US, eng-CA, eng-GB, eng-AU), Tesseract OCR will always use the TAO OCR classifier for recognizing English text, and use the standard LSTM OCR classifier for all other languages.
Using a 4-core Intel 3.4GHz i7-6700 CPU, TAO OCR has an average reading speed of about 2.5 seconds per page (2.0 MP/second) for a 5.0 MP document camera, which includes all pre-processing and document lay-out analysis.
TAO OCR has a skew tolerance of plus or minus 12 degrees, and may reject pages that have skew angles greater than that. TAO OCR can read curled book pages as well as pages that have multiple shadows or other types of poor lighting or poor contrast. For maximum efficiency, TAO OCR has been directly integrated with the core UVC video stream frame buffer. As a result, TAO OCR is available for camera scanning ONLY.
TAO OCR takes document camera OCR to a whole new level by achieving scanner level accuracy at up to 4 times the speed of a scanner! This will catapault document cameras to the number one spot for the best text reading image capture device.
TAO OCR requires windows software libraries that are only available with Windows 10, and so TAO OCR will not run on earlier versions of Windows. Instead, earlier versions of Windows will automatically default to Tesseract's LSTM classifier for all languages. However, if you are running on an English version of Windows 10 (region: eng-US, eng-CA, eng-GB, eng-AU), Tesseract will automatically select the TAO OCR classifier for English recognition and the standard LSTM OCR classifier for all other languages.
Note: We currently only have a partial integration with the front-end document lay-out analysis system. However, this partial integration is sufficient to support the auto-rotation feature. Our next release will support a complete integration which will provide much better skew tolerance and better tolerance of all "difficult" images. We also hope to add better exception handling for increased stability, and we believe that there are still many more optimizations to be made that will lead to even faster performance! In addition, TAO OCR will extend support to all eleven Tesseract/TopOCR supported languages (English, Danish, Dutch, Finnish, French, German, Italian, Norwegian, Portuguese, Spanish, Swedish).
Why not try our Demo and see for yourself the impressive performance that TAO OCR has to offer!
This feature was introduced with TopOCR Reader 1.5/TopOCR 35.0.