SmartZone in a Forms Processing Workflow
A forms processing workflow can be achieved by using FormSuite. FormSuite is a collection of Accusoft components that together fully cover a typical forms processing workflow.
What's Included
Trial versions of Accusoft products include Accusoft components licensed for evaluation.
Overview of the Forms Processing Workflow
While it is not required to use each of these components to process forms, you need to understand the role that each component can play in your forms processing workflow.
The workflow can be divided into the following phases:
- FormSet Creation (FormDirector, FormAssist)
- Image Acquisition (ImagXpress, PDF Xpress)
- Image Enhancement (ScanFix Xpress, ImagXpress)
- Form Identification, Alignment, and Dropout (FormDirector, FormFix)
- Recognition (SmartZone OCR, SmartZone ICR, FormFix OMR)
These are more options for your forms processing workflow that are not required but can be very helpful:
A. Presentation (ImagXpress, NotateXpress)
B. High Level Forms Processing (FormAssist, FormsAPI)
Component Workflow Matrix
The following table shows where each component falls in the phases of the FormSuite workflow:
1. FormSet Creation
A FormSet is a collection of FormDefinitions where each FormDefinition is representative of a single page form that can be processed. A FormDefinition contains fields which are regions on a page to recognize and extract data from. Each field can have associated with it various recognition and image clean up operations to be carried out at forms processing time. FormSet creation is carried out by either FormDirector or the FormAssist Application:
- FormDirector - Given a template of a form, say an unfilled IRS 1040 form, the FormDirector API allows you to define what data will be extracted and where on the form it will be extracted from each time we process a filled out version of the form later on.
- FormAssist Application - FormAssist puts all of the features of FormDirector into an easy to use graphical interface which helps to expedite and visualize the forms creation process. With it, you can load an image of a blank form, specify and draw fields over the form using the GUI controls, declare and customize what kind of recognition and clean up operations to perform on each individual field, and then save your work to persistent storage as FormSet (*.frs) and FormDefinition (*.frd) files.
While you are able to create forms programmatically using the FormDirector API, we recommend using FormAssist to simplify the process.
2. Image Acquisition
The acquisition of filled forms to be processed can be handled by the following FormSuite components:
- PDF Xpress - The PDF Xpress component can be used to load forms from pdf files.
- ImagXpress - The ImagXpress component can be used to load a large number of image file formats.
Otherwise, various image formats are supported and can be processed without the use of these components
3. Image Enhancement
With images of filled forms we want to process, you can perform image enhancements and clean up operations to get the most out of your identification and recognition results.
- ScanFix Xpress - ScanFix Xpress can perform a number of image operations such as binarization, despeckling, deskewing, line removal, and content clarification. Employing these can greatly improve recognition results when dealing with scanning defects or inconsistencies.
During the FormSet Creation phase, ScanFix Xpress operations can be defined at any level of the FormSet > FormDefinition > Field hierarchy:
- FormSet level operations - Any form image to be processed will go through these enhancements. This is useful, for example, if you know that most/all images coming in have a consistent scanning defect, such as being slightly skewed.
- FormDefinition level operations - Enhancements that should apply to a specific form when it is encountered. For example, a contrast adjustment operation that is needed on some forms within the FormSet but not on others.
- Field level operations - When it comes to the fields on a form, you may want to treat each one uniquely or treat them based on how they will be recognized. For example, giving your ICR fields more enhancements than your OCR fields.
- ImagXpress - ImagXpress can perform many of the same image operations as ScanFix Xpress however, ImagXpress operations are not currently supported by FormDirector and cannot be added to FormSets.
Although ImagXpress has similar image enhancement options as ScanFix Xpress, we recommend using ScanFix Xpress for enhancement as it is designed primarily for the purpose of cleaning up scanned images.
4. Form Identification, Alignment, and Dropout
Once we have acquired our images and performed general enhancements on them as defined in the FormSet, the image can now be analyzed to determine which of the FormDefinitions in the FormSet matches the input image. It will also undergo an alignment and dropout process which further normalizes the image and ensures the recognition engines get the cleanest field clips possible. This effort is carried out by the previously mentioned FormDirector and FormFix.
- FormDirector - FormDirector loads the FormSet file (*.frs) and its child FormDefinition files (*.frd) as objects in memory. Embedded within each FormDefinition object is a compressed image data of a form template. The form template is the blank version of the form that we chose back in the FormSet creation phase.
- FormFix - FormFix handles:
- Identification - FormFix uses its identification processor to analyze the input image and determine, out of the FormDefinitions within the FormSet, which has the embedded template image that matches the input image. FormFix provides its decision and confidence values for all identification candidates.
- Alignment - With the correct match, the FormFix alignment algorithm will then overlay the input image on the template and make alignment adjustments so that the fields on both line up exactly. The document regions for which recognition and enhancement operations were defined on the template, are superimposed accurately to the input image.
- Dropout - Once the field regions are affixed to the input image, there may be some content within the fields that was present in the template but not intended to be carried over for recognition. Some examples would be printed bubbles on a scantron, a signature line, boxes where letters or numbers get inserted. The FormFix drop out engine allows one to rid a field of any extraneous guiding content that, while native to the form, gets in the way when only the marks made to the form are of interest.
The form has now been identified and aligned. Any image clean up operations defined at the FormDefinition level are applied. Focus now narrows to the fields within the FormDefinition where their pre-printed content is dropped out and if they have any enhancement operations assigned, those will be applied as well.
5. Recognition
Each field in a FormDefinition can have assigned to it a dropout operation, a number of enhancement operations, and usually one recognition operation. The fields are clipped from the form based on the rectangle area to which the field was originally defined in the FormSet Creation phase. After the dropout is handled by FormFix and the Field-level enhancements are made by ScanFix Xpress, the cleaned up image clips are passed to the recognition engine that is specified in the field’s recognition operation.
The following are recognition engines that can be used on form fields:
- SmartZone OCR - SmartZone OCR handles Optical Character Recognition for machine printed text fields in various languages and fonts.
- SmartZone ICR - SmartZone ICR handles Intelligent Character Recognition for handwritten text fields in various languages and handwriting styles.
- FormFix OMR - FormFix handles Optical Mark Recognition. This includes bubble, checkbox, and signature fields.
Our recognition engines will provide you with the highest confidence results. From here, you can pass the resulting data along to the next stage of your business or development process.
A. Presentation
Alongside your forms processing workflow, you may want to visualize certain elements. Included with FormSuite are several components that provide these presentational options:
- ImagXpress - ImagXpress is not only used for loading and editing images, but also presenting them on-screen in a viewer. If at a point in your workflow it is necessary to view images in a GUI, ImagXpress can be used.
- NotateXpress - In addition to presenting an image with the ImagXpress viewer, NotateXpress gives the ability to add markups or annotations to an image presented in your workflow.
B. High Level Forms Processing
FormSuite includes higher level solutions to forms processing for those who do not want to manage code against multiple components. With these solutions, you can get to processing forms easier and faster and still be able to fine tune and customize if needed.
- FormAssist - As mentioned previously, FormAssist is a great visual tool to create your own FormSet. Not only does it demonstrate how to use all of the components discussed on this page, it can also just as easily be used for processing forms and examining results without touching any code. We also include the FormAssist source code so that you can make changes to fit your use case.
- FormsAPI - Alternatively, for developers who need to implement a forms processing workflow but don’t want to code against several libraries, FormSuite includes FormsAPI. FormsAPI encapsulates all components involved in processing a form in one, easy to use library. Specifically, this includes:
- FormFix
- FormDirector
- SmartZone ICR
- SmartZone OCR
- ScanFix Xpress
- PDF Xpress