TopOCR

Intelligent OCR for Document Cameras

by TopSoft, Inc. info@topocr.com

TopOCR Has Three OCR Engines!

TopOCR is equipped with three different OCR engines!
The first, TopOCR OCR, is our own specialized OCR engine used only for reading images from traditional TWAIN image scanners and from multi-page PDF files.
The second OCR engine used in TopOCR is Tesseract OCR.
This is a more general purpose OCR engine that can be used either directly with a UVC Video Interface device or through the File Interface or through pasting a file from the clipboard.

Tesseract also supports a third "plug-in" OCR engine we developed called TAO OCR.
TAO OCR is a very high performance multilingual recognition engine optimized for document cameras that can read with greater than 99.8% accuracy!
TAO OCR is derived from the same OCR engine used in Microsoft's "Seeing AI" application!
However, instead of an Android or iPhone app, it is available as a Windows DeskTop Application with OCR processing that executes directly on your PC instead of through a "cloud" interface.

TopOCR allows you to select either the LSTM OCR engine or the TAO OCR engine as Tesseract's main recognition engine.
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 advanced multi-core image pre-processing functions.

TopOCR OCR (Shape Analysis Static Classifier Architecture)

TopOCR OCR 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.
TopOCR OCR can extract text from PDF image files at the rate of 3-4 pages per second on a high-end PC!

Tesseract LSTM 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 be automatically equipped to maximize performance for these CPUs.

TAO OCR - Tesseract Accelerated OCR (Windows 10 Only!)

TAO OCR is a high performance multilingual recognition engine that has been integrated into the Tesseract OCR System at the classifier level.
TAO OCR takes document camera OCR to a whole new level by achieving scanner level accuracy at up to 10 times the speed of a scanner!
It relies upon Tesseract's low-level document layout analysis functions to collect fundamental page information that helps it perform operations like column straightening and automatic text orientation correction.
Compared to Tesseract's standard LSTM classifier, TAO OCR is significantly faster and more accurate, especially on lower quality camera images.
If you are using Windows 10, you can select either the TAO OCR classifier or the LSTM OCR classifier in the DocCam dialog or the OCR Settings dialog.
With a 4-core Intel 3.4GHz i7-6700 CPU, TAO OCR has an average reading speed of about 1.8 seconds per page for a 5.0 MP image.
This figure includes all image pre-processing and low-level document layout analysis.

The current version of 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 poor lighting or poor contrast.

TAO OCR requires windows software libraries that are only available with Windows 10, so TAO OCR will not run on earlier versions of Windows.
Earlier versions of Windows will instead automatically use Tesseract's LSTM classifier for all languages which is multi-platform.

TAO OCR supports all eleven TopOCR supported languages (English, Danish, Dutch, Finnish, French, German, Italian, Norwegian, Portuguese, Spanish, Swedish).
However, it generally will only initially support the system language used by your OS.
To add additional languages to TAO OCR, please see how to install a language pack for Windows 10.

Why not try our Demo and see for yourself the impressive performance that TAO OCR has to offer!