Getting Started

Importance of High Recognition Rate

What is a barcode, barcode processing, and barcode reader?

Barcodes are a cost-saving tool for document processing automation. When attached to a physical object or electronic document, a barcode conveys machine-readable information that can:

  • Retrieve additional information about an object from a database (e.g., barcode retrieves data and displays information to an operator, like the price of a good in the supermarket)
  • Direct how the document is processed (e.g., barcode obtains the account number on a document to enable proper filing)
  • Deliver self-contained information (e.g., the driver's license barcode holds information about the owner)

A typical barcode-based document processing system follows two stages:

Image generation steps

  1. A barcode generator takes input data and generates images of the barcode according to the selected type and geometrical parameters.
  2. A barcode printer transfers this image to a physical object (e.g., a printed document).
  3. Document handling, where documents can be damaged (crumpled, dirtied, scratched)
  4. A document scanner or a camera acquires the image of a document
  5. Scanning software pre-processes documents (e.g., convert to bitonal) and compresses images (e.g., to JPEG or PDF) and saves them in a file/database. In some workflows, steps 2 to 5 are replaced by software that generates an electronic document stored in a file/database.

Barcode Recognition steps

  1. A barcode reader obtains saved images, detects the barcode on the images, and returns output data equivalent to the input data.
  2. Computerized processing of output data, e.g., inserting information into a database.

So a Barcode Reader is software that extracts data from a barcode data from an image and delivers data into a computerized system.

Why does failure to read barcodes cost you money?

Production barcode recognition is typically a part of unattended back-end processing. The automated nature of such a process is a cost-saving and business-optimizing mechanism. Failure to reliably read barcodes is very costly since human action is involved in mitigating the results of failure. Such human actions can be:

  • Manual data entry from an image or physical document if barcode value is present as human-readable text.
  • Identify and rescan pages with failed barcodes.
  • Down-the-line workflow actions to deal with incorrectly processed documents.

Why should you worry about the failure rate?

Oftentimes, barcode reader recognition rates are measured by the percentage of recognized barcodes (e.g., 98% recognition rate). Measuring the failure rate, however, is more indicative of performance as it is directly proportional to operating costs.

For example, compare the barcode recognition rates of Reader A at 99% and Reader B at 99.9%. While the recognition rate difference is only 0.9%, the failure rate of Reader A is 1% as compared to Reader B's, which is 0.1%. The failure of Reader B is ten times higher.

You should strive for a 100% recognition rate to minimize operating costs. While a document can be damaged beyond to recover a barcode, a good target is the five nines or a 99.999% recognition rate.

How can I minimize the failure rate?

The failure rate is a function of the following:

  • Distortion of the barcode on an image introduced by image generation steps.
  • The ability of the barcode reader to recover output data in the presence of the above distortions.

Minimizing the failure rate requires one to:

  1. Minimize distortions during image generation. See these recommendations (TODO LINK).
  2. Select a barcode reader capable of recovering valid data with the maximum amount of distortions.

In many real-life operations, one often has very limited control over image generation. Therefore, choosing the best barcode reader is the only reliable solution to reduce the failure rate.

How to ensure the lowest production failure rate?

Identification of the true failure rate at the time of development presents a few challenges:

  • Barcodes are typically a small part of much larger application development. Developers expect a smooth integration of the barcode reader into applications rather than being the point of failure or delay.
  • Expertise in barcode-based processes and recognition is not part of a typical developer's skillset.
  • The image test set used during development and pre-production is limited and does not reflect the type of distortion encountered in high-volume production use.

In the production environment, batches of images may oftentimes appear with distortions that were not present in the test run. This might be caused by the following:

  • Changes in the process of generating and printing barcodes
  • Changes in the scanners or scanner's configuration
  • Receiving images from a new source, where one has no control over the image generation process

Selecting the wrong barcode reader leads to an increased failure rate or failed batches of images.