Having gained a strong footing in the supply chain since the 1970s, barcodes can well be called veterans of logistics automation. Throughout this time, LED and laser-based scanners have been used to read them. The underlying technology seems to be well-established and rather straightforward. So, should anyone reinvent the wheel and introduce new, more complex approaches?
The thing is, the performance of standard LED and laser readers is limited by the very simplicity of the technology, and these limitations slow down the decoding process and shorten the list of possible applications.
A more innovative approach to barcode scanning is based on the use of digital cameras and software for automated visual inspection. This solution not only showed better performance in barcode reading but also created new opportunities in logistics.
How a standard barcode reader works
The scanner shines LED or laser light across a barcode, and the beam is reflected back into a light-detecting photoelectric cell. White areas of the barcode reflect a lot of light, while the black bars mostly absorb it. Then, the resulting pattern of impulses corresponding to the black and white stripes is converted into respective decimal numbers.
What can possibly go wrong?
Conventional scanners are pretty straightforward systems. Literally, all their functions have been described above. Unable to recognize a barcode in a complex scene, they require previous knowledge of its location. Besides that, they cannot read several barcodes at once, which is a major disadvantage, as, according to Phil Siewert, Senior Director of Business Development at Exel, serialization makes multiple codes of different formats more and more widespread. LED and laser scanners also are prone to errors when processing low-quality barcodes (damaged, distorted, low-contrasted, improperly positioned etc.). All these limitations can lead to serious losses in money, time, and reputation.
Cameras do better than flashlights
Scanners based on image analysis systems are much more efficient. Unlike LED and laser readers, camera-based barcode scanners perform complex operations when reading a barcode.
After acquiring an image, a digital camera sends it to the software. Here, a program preprocesses the image to prepare it for a further analysis. This stage usually includes converting to grayscale and applying various filters to reduce image noise and enhance barcode edges. After that, in most cases, binarization is performed, which means that only black and white pixels remain in the image.
The decoding process consists of two major steps: the barcodes location and decoding as such. During the first step, software recognizes and extracts the barcode part from the complex image acquired by the camera. It means that, on the one hand, image analysis-based scanners do not need prior knowledge of barcode location; and on the other hand, they can locate multiple barcodes at once.
These days, optical barcode scanners start to push LED and laser-based solutions aside, as the underlying technology is developing rapidly, making image-based barcode scanners more and more efficient.
Making machines see barcodes
Barcode reading techniques based on computer vision appeared to be the breeding ground for a variety of research works. Scientists propose different approaches to both location and decoding steps. Preprocessing techniques also vary depending on the methods used for image analysis.
Locating a barcode
Localization is considered to be the most challenging part of barcode reading. The basic idea is to detect the area containing a barcode and extract it without either losing any parts of the barcode or capturing unnecessary regions. There are several challenges that can influence the accuracy of barcode segmentation, such as insufficient or excessive illumination, axis rotation, perspective distortion, or low focus of the camera. Researchers continue improving the techniques of barcode extraction to minimize these problems, and their solutions show great performance. Methods based on mathematical morphology have been successfully used in barcode image analysis systems for many years. A recent study revises this approach, adding several preprocessing steps (such as Gaussian and bottom-hat filtering to reduce noise and enhance edges respectively) to ensure the highest accuracy of barcode recognition, and showing the accuracy between 94% and 100% on images with different noise levels.
Interpreting the information
Much work has been done in the area of barcode reading as well. Here, scientists also have proposed several ingenious approaches. Among them is a Bayesian algorithm suggested by Ender Tekin and James Coughlan from SKERI. This algorithm appeared particularly robust to noise and geometrical distortion. A team of Italian researchers proposed the use of a multilayer perceptron neural network, which showed great results in detecting rotation angles and bounding boxes of partially occluded or twisted barcodes. Another collaboration from UCSC developed an innovative method significantly diverging from the others, in the sense that it doesn't require binarization, which facilitates the preprocessing stage. This method, as well as the Bayesian approach mentioned above, is based on deformable templates matching, and it has shown high performance on blurred and noisy images with low resolution.
Barcode scanners based on image analysis technologies can completely replace standard laser readers in warehouses, at the checkout, and in the shopping area. But this approach also creates new opportunities in logistics. For example, Amazon already employs this technology in the robot-operated warehouses where robots use 2D barcodes to navigate between the shelves. One more possible application of computer vision in logistics concerns the potential use of drones for delivery. Although barcode reading will constitute only a small part of this process, the opportunity is so amazing that it is definitely worth mentioning.
Image-based readers shoot ahead
Barcode scanners based on image analysis technologies show much better performance on low-quality codes. They are also more reliable and provide more opportunities, such as barcode location and reading of multiple barcodes. They utilize a simple digital camera and could be integrated into an ERP system via mobile app. All this definitely makes the computer vision approach the thing of the future in logistics.