About the Product
ABBYY Real-Time Recognition SDK (RTR SDK) is a software development kit which provides a capability to recognize text directly on the smartphone camera preview screen.
About This Release
Purpose
This is a technical preview release. Purposes of release:
- migrate to new Compact14 technologies, get feedback from beta testers about processing speed and accuracy
Build Information
- Part Number: 1365/1
- Build Number: 5.0.2.240
Distribution Package
The distribution pack contains the following folders:
- data - this folder contains resources which are necessary for text recognition and should be distributed with your application
- help – this folder contains the product documentation (PDF file)
- lib – the folder contains the files of the library
- sample-textcapture – the folder contains the code sample which demonstrates the implementation of the basic Text Capture scenario
Additional Information
History of Releases
| Part # | Version | Release Date | Build # | Purpose |
|---|---|---|---|---|
| 1365/1 | Beta | 2017-11-23 | 5.0.2.240 | Technical preview release |
Product Specification
Hardware and Software Requirements
Supported Operating Systems
- Android 5 and later (ARMv7)
- iOS 8.x and later
Memory Requirements (RAM)
Recognition of text (3-5 text lines) takes no more than:
- European languages – 154 MB (Android), 87 MB (iOS)
- Asian languages (Chinese Simplified) – 170 MB (Android), 120 MB (iOS)
Memory Requirements (ROM)
| Main European* Languages | Cyrillic** | Japanese | Korean | Chinese | |||||
|---|---|---|---|---|---|---|---|---|---|
| Library (MB) | 59 (Android)/94 (iOS) | ||||||||
| Patterns (MB) | 9/13*** | 9/13 | 16/20 | 12/16 | 16/20 | 9/13 | 9/13 | 9/13 | 10/14 |
| Dictionaries (MB) | 3 | 1 | 1 | 1 | 0.1 | 0.1 | 0.1 | 0.1 | 0.1 |
* - Czech, Danish, Dutch, English, Finnish, French, German (old and new spelling), Greek, Hungarian, Italian, Norwegian (Bokmål), Norwegian (Nynorsk), Polish, Portuguese (Brazilian), Romanian, Spanish, Swedish and Turkish all together
** - Belarusian, Russian and Ukrainian all together
*** - the value before ‘/’ is for Android, another one is for iOS; these values also include the data for obligatory resources which are common for all languages – 9 MB/13 MB of pattern and 0.1 MB for dictionaries
Camera Requirements
- Autofocus lens
- HD preview: generally recommended frame size is 720*1080, but it can vary depending on the scenario and processing speed
Supported Languages, Types, and Formats
Supported OCR Languages
62 recognition languages are available for OCR:
- 23 languages with dictionary support: Czech, Bulgarian, Danish, Dutch (Belgian), Dutch (Netherlands), English, Estonian, Finnish, French, German (old and new spelling), Greek, Indonesian, Italian, Norwegian (Bokmål), Norwegian (Nynorsk), Polish, Portuguese, Portuguese (Brazilian), Russian, Spanish, Swedish, Turkish, and Ukrainian
- 35 additional languages with Latin, Cyrillic, or Greek characters: Afrikaans, Albanian, Basque, Breton, Belarusian, Catalan, Chechen, Crimean Tatar, Croatian, Fijian, Hawaiian, Hungarian, Icelandic, Irish, Kabardian, Latin, Latvian, Lithuanian, Macedonian, Malay, Maori, Mixed, Moldavian, Mongol, Ossetic, Provencal, Rhaeto-Romanic, Romanian, Samoan, Serbian, Slovak, Slovenian, Swahili, Tagalog, Tatar, and Welsh
- 4 Asian complex script languages: Chinese (Simplified and Traditional), Japanese and Korean
Supported Text Types
- Common typographic type of text is supported (Normal)
Key Features
Real-Time OCR
ABBYY Real-Time Recognition SDK enables mobile developers to create mobile apps with capability to recognize text on video frames from smartphone’s camera.
In comparison with ordinary OCR technologies which work with photos RTR SDK doesn’t require snapping a photo, but offers the possibility to automatically “snap text”: recognizing video frames the engine automatically estimates whether the recognition result is stable enough and can be returned to user. Also recognition in real-time provides some additional advantages:
- provides better UX and helps to save user time for taking and retaking a photo;
- proposes additional advantages for some scenarios which require confidentiality of captured data (like ID capture), because RTR doesn’t require to save image in the memory storage
Text Recognition in Real-World Scenes
ABBYY Real-Time Recognition SDK enables localization and then recognition of text in real-world scenes, like:
Recognition methods can search for text of any color on any background.
In comparison with ordinary mobile OCR technologies, which use ordinary document analysis, ABBYY Real-Time Recognition SDK demonstrates better performance and recognition accuracy on natural scenes (like signs, etc.) – the recognition results contain less noise. Thus RTR SDK better suits for computer vision applications like searching images by their textual content, assisting visually impaired, reading labels and street signs in map applications and applications for tourists.
Merging Recognition Results
Video frames and even photos often contain glare, motion blur and other defects which lead to recognition errors. To increase recognition quality and to eliminate such random recognition errors RTR SDK uses so-called Frame Merging, i.e. special statistical mechanism which aggregates, estimates and combines recognition results from several video frames.
For some contexts merging recognition results from several video frames RTR achieves even better recognition accuracy than recognizing a photo of the same context.
Upgrade and Migration
Compatibility of Serial Numbers
Serial numbers from RTR SDK 1.0 are compatible with this release.
Migrating Code
In comparison with RTR SDK 1.0 this release has limited API, which contains only those methods, which are necessary for TextCapture scenario implementation. This part of API is compatible with the corresponding methods of RTR SDK 1.0. However, recognition patterns and dictionaries have been changed. Thus, a developer needs to perform the following steps to migrate his application (which implements TextCapture scenario) to RTR SDK (Compact14) beta:
- Replace patterns and dictionaries with corresponding files from RTR SDK (Compact14) beta distribution kit
- (for Android) Add to the build.gradle the following code:
aaptOptions {
noCompress 'amm', 'amd', 'ini', 'ccjk', 'cjk', 'clc', 'ecjk', 'fcjk', 'gst', 'gtt', 'pat', 'pdi', 'pp', 'ptc', 'pts', 'slp', 'ssc', 'dlp', 'icp', 'conv'
}- (for iOS) – Add framework signing:
o In Build Phases, add a new Run Script phase.
o Paste the following script to the body of the new Run Script phase:
ps=("$BUILT_PRODUCTS_DIR/$CONTENTS_FOLDER_PATH/Frameworks/" \ "AbbyyRtrSDK.framework/Frameworks" \ "AbbyyMSDK5.framework/Frameworks"); for p in "${ps[@]}";do \ cd "${p}";for f in *.framework;do \ /usr/bin/codesign --force \ --sign "$EXPANDED_CODE_SIGN_IDENTITY_NAME" \ --preserve-metadata=identifier,entitlements \ --timestamp=none $f; done;doneNew Features and Improvements
Beta
New Recognition Languages
ABBYY Real-Time Recognition SDK (Compact14) supports the following new languages:
- Thai, Vietnamese with dictionary support
- Armenian, Azerbaijani, Bashkir, Hebrew, Kazakh, Yiddish without dictionary support
- Arabic – in technical preview mode (works only for separate short text lines)
Recognition of Special Text Types
In addition to common typographic type of text ABBYY RTR SDK supports the following text types:
- OCR A - text printed in the OCR A monospace font designed specifically for optical character recognition
- OCR B - text printed in the OCR B font designed specifically for optical character recognition
- Receipt - text of a receipt. This text type is intended for recognizing sales receipts, invoices, and similar documents. Unlike other text types, it is not related to a specific font. Rather, selecting this text type tells the recognizer that there may be text of low quality, mostly in monospaced or normal font.
The following types of text are available in technical preview mode:
- MICR E13B – special set of characters including only digits and special characters printed in magnetic ink – in the current version only digits can be recognized
- MICR CMC7 – special set of characters, which includes only digits and special characters, written in MICR barcode font (CMC-7) – in the current version only digits can be recognized; also there are some problems with text lines detection
- Matrix - text printed on a dot-matrix printer – in the current version there are some problems with text lines detection
Known Issues and Workarounds
This section contains a list of known problems for this release. Four-point scale will help you to evaluate the severity of each issue.
| Severity | Description |
|---|---|
| Critical | A bug that causes crashes or hangings of software. Critical bugs can include access violations, internal program errors, stack overflow, out of memory or other exceptions that can lead to program failure. |
| Major | A bug that does not cause program failure but affects major functionality of a feature or impairs the system’s performance. Major bugs can include disparity of the feature functionality to the internal specifications, memory leaks or data corruption. |
| Minor | A bug that leads to feature malfunctioning or affects minor functionality of the software. Minor bugs can include recognition errors, missing or lost objects, wrong color detection, incorrect document analysis, license counter errors, etc. |
| Trivial | A cosmetic issue that does not affect the functionality of the product but can cause inconveniences. Trivial bugs can include Help file errors, log errors, incomplete information in error messages, etc |
The table below contains the list of main issues sorted in descending order of the severity.
| Severity | Description | Platform |
|---|---|---|
| Major | Android 4.4 not supported | Android |
| Major | The Engine can’t recognize special characters of MICR CMC 7 font – only digits can be recognized correctly | Android, iOS |
| Major | The Engine can’t recognize special characters of MICR E13B font – only digits can be recognized correctly | Android, iOS |
| Major | The Engine can’t localize correctly text strings written in Arabic, DotMatrix, CMC 7 or E13B – some text is missing | Android, iOS |
| Minor | IPE while some text type is selected, but the corresponding patterns aren’t added to the app assets | Android |
| Minor | The Engine crashes when ‘Chinese Simplified + Arabic/Hebrew’ are selected as recognition languages | Android, iOS |
Customer Support
The ABBYY SDK Support team is ready to help you. Please use ABBYY Developers forum to contact us: http://forum.ocrsdk.com/tags/rtr