2023:OCR Profile (Object)

From Grooper Wiki

This article is about an older version of Grooper.

Information may be out of date and UI elements may have changed.

202520232.80
An example of a configured OCR Profile's property settings

library_books OCR Profile node objects configure the settings for optical character recognition (OCR) leveraged by the Recognize activity. OCR converts images of text into machine-encoded text. OCR Profile objects influence how effectively text content is recognized and from contract Batch Pages.

This includes:

  • Setting which OCR Engine is used
  • Determining whether a temporary IP Profile is used for image cleanup before the OCR engine runs
  • Grooper's unique Synthesis settings
    • Determining if and how multiple OCR results are pre-processed and re-processed
  • If and how results are filtered, to toss out undesirable results.
  • Any configurable settings available from the OCR Engine

You may download the ZIP(s) below and upload it into your own Grooper environment (version 2023). The first contains a Project with resources used in examples throughout this article. The second contains one or more Batches of sample documents.

About

At first glance, an OCR profile may look like a wall of properties, and in some ways, it is. They are a way to save a collection of properties that determine how OCR results are obtained. Let's break these properties down, using a configured OCR Profile as an example.

Below you will see one of the default OCR Profiles that ship with Grooper named "Full Text - Accurate", with these settings highlighted in each tab.


Below you will see one of the default OCR Profiles that ship with Grooper named "Full Text - Accurate", with these settings highlighted in each tab.

Here, you will list which OCR Engine will perform character recognition.

This OCR Profile is set to Transym OCR 4, using the Transym 4.0 OCR software to recognize characters.

One of the things that sets Grooper apart from other document processing platforms is the high degree of configuration options when it comes to image processing. The basic idea, here, is to give the OCR engine a "cleaned up" version of the document to use for OCR. When configured on an OCR Profile this is "temporary" in that the archival version of the document is not changed. Once OCR is finished, the document will revert to its original form. The image will only be altered for the purposes of obtaining OCR results.

These image processing settings are defined with a different type of profile called an IP Profile, which is then referenced by the OCR Profile's IP Profile property.

This OCR Profile uses a pre-built IP Profile called "OCR Cleanup"

Another thing that sets Grooper apart when it comes to OCR is our suite of Synthesis operations. These are different capabilities Grooper has to pre-process and re-process OCR results to improve the OCR engine's results.

This OCR Profile uses a variety of these Synthesis properties, all of which are highlighted in yellow. To learn more about this suite of properties, what they do, how they improve OCR results, and how to configure them, visit the Synthesis article.

The Result Filtering settings allow you to isolate certain characters and remove them from your results. Maybe you want to discard any characters that do not meet a minimum confidence score. Maybe you want to discard all characters below a certain font size. Maybe you want to discard all characters within a certain distance to the edge of the page. You can do those things (and more) using these Result Filtering settings.

This OCR Profile does not use any of settings. However, they are highlighted below.

Each OCR Engine has its own set of properties available to Grooper as well. These properties change from OCR engine to OCR engine, depending on which settings are exposed to Grooper from the OCR engine's software. However, they are always in the right window panel of the OCR Profile

This OCR Profile uses Transym 4.0, whose settings are seen in the highlighted portion.


The OCR Testing Tab

When you select them in the Node Tree, OCR Profiles also contain an "OCR Testing" tab to verify results of the profile. This will pull up a testing module, allowing us to select documents from a Test Batch, OCR individual pages, and view some extra diagnostic information that will help fine tune your property settings.

  1. To access this testing module, first select an OCR Profile in the Node Tree. Here, we've selected the "Full Text - Accurate" OCR Profile that comes with all Grooper installations.
    • You can follow this path in the Node Tree to find this OCR Profile:
    • Root Node > Projects > Essentials > Profiles > Full Text - Accurate
  2. Click the "Tester" tab.
  1. From here, click the Batch selection icon.
  1. Select a Test Batch from the dropdown list. Here, we're selecting a Test Batch named "Application for Cow Ownership".

  1. Click the test icon.
  2. You will see the selected page appear in the "Document Viewer" window.

Once OCR is finished you will see OCR results appear in the "Layout View" tab in the bottom of the screen. You can look at the "Text View" or "Character View" by selecting the corresponding tabs.

  1. After testing the OCR, you can click the "Diagnostics" icon to take a look at the diagnostic tools available.

  1. The "Diagnostics" window that opens in a new tab provides a variety of diagnostics images just as the "IP Image" selected here. This shows you the pre-processed version of this page handed to the OCR engine (as altered by the IP Profile set on the OCR Profile).

As you can see here, this diagnostic image does not contain any table lines, whereas the actual page does. This table lines were removed temporarily by a Line Removal step in the IP Profile (a very common temporary image processing adjustment to improve OCR results).

The other diagnostic images have to do with Grooper's Synthesis settings. You can learn more about these settings and these diagnostics images by visiting the Synthesis article.

Last but certainly not least, there is always an "Execution Log" file at the bottom of this diagnostics panel. This file is a text file detailing information about the OCR operation. This file can be particularly helpful when configuring Grooper's Synthesis settings as well.

Click here to return to the top of this section

Use Cases

OCR Profiles are required to obtain machine readable text from any image based content. Based on the image quality or source document quality, this may range from a relatively simply configured OCR Profile, perhaps just setting the OCR engine to be used, to a more complex one, taking advantage of temporary image processing, Grooper's Synthesis suite, or Result Filtering settings.

The only time you won't use an OCR Profile to obtain machine readable text is if you are only processing documents with full native text. These would be digital documents like a PDF created with encoded text already present that can be extracted via the Native Text Extraction functionality of the Recognize activity.

How To

Create an OCR Profile

Add a New OCR Profile to the Node Tree

Creating an OCR Profile is fairly straight forward. OCR Profiles may be created and stored in a Content Model's local resources folder.

  1. Navigate to the Local Resources folder in your Content Model folder in the Node Tree. Feel free to add folders under your Local Resources folder for organization. Here we have created a folder called "OCR Profiles". Right click on the folder.
  2. Mouse over "Add"...
  3. ...and click "OCR Profile..."

  1. Name the OCR Profile whatever you like.
  2. Click "EXECUTE" to create it.
    • For this exercise we just named ours "OCR Profile Example."

This will create a blank OCR Profile in the OCR Profiles folder.

Configure the OCR Profile

  1. Bare minimum, you will need to select an OCR engine in order to obtain OCR results. To do this, select the OCR Engine property and choose an OCR engine from the dropdown menu.

Configure the rest of the OCR Profile's properties according to your documents' needs. General information about these properties can be found in the About section of this article.

Click here to return to the top of this section

Execute an OCR Profile

Now that you have made and configured an OCR Profile, how do you execute it? OCR results are obtained by the Recognize activity. This activity will perform OCR on documents based on the settings in an OCR Profile. You will run this activity in one of two ways in Grooper:

  1. Manual or "ad hoc" while testing and configuring within Grooper Design Studio.
  2. As a step in a Batch Process.

At any point you can get to a Batch Viewer in Grooper, you can execute various activities manually on a page, folder or entire batch. This manual execution of activities is typical when building and testing your solution design in Grooper Design Studio.

To manually apply an OCR Profile to a single page:

  1. Navigate to a page in a Batch and right click it.
  2. Select "Activities" and then "Cleanup & Recognition" from the selection list.
  3. Click "Recognize" from the final selection list.

On the following pop up window:

  1. Click the hamburger menu icon next to the OCR Profile property.
  2. Select the OCR Profile you wish to apply from the dropdown list.
  3. Click the "EXECUTE" button to run the Recognize activity using the selected OCR Profile on the page.

For automated Batch Processing, you'll want to add a Recognize step and configure it to use the OCR Process.

  1. Right click on a Batch Process.
  2. Hover over "Add Activity" and then "Cleanup & Recognition".
  3. Click on "Recognize..." to add a Recognize step.

  1. When the "Add Activity" window pops up, click "EXECUTE".

  1. In the "Activity Properties" panel, click the hamburger menu next to the OCR Profile property.
  2. Select the OCR Profile desired from the drop down menu.
Click here to return to the top of this section