Datamatrix barcodes play a key role in tracking and tracing both biological and compound samples. These barcodes are usually lasered onto the underside of sample tubes, and the tubes are stored in racks. Barcode reading is conducted using a barcode reader that scans the bottom of a rack of tubes and decodes all barcodes in one go. This is nice in theory, but there are regular issues with identifying the barcodes on the bottom of the tubes. Ambient lighting, background image noise, and variation in lasering and material quality yield tube barcodes that are often difficult to detect with traditional machine vision techniques. However, it can be noted that a human can always resolve these barcodes, even in adverse conditions. Therefore, it is reasoned that artificial intelligence techniques can be employed to increase the success rate for identifying datamatrix barcodes.
Convolutional Neural Networks (CNNs) are a well understood technique for feature extraction of images. In this work we take the notion of the CNN and apply it to the new application for locating 2D datamatrix barcodes on sample tubes. The chosen CNN is designed to be very lightweight allowing for quick execution. When compared to the pre-existing heuristic methods, the CNN approach was almost ten times faster to execute with virtually 100% accuracy.
The CNN is implemented on embedded technology, in this instance a Field Programmable Gate Array (FPGA). FPGAs allow for custom circuity to be created for specific application; due to the custom nature of the implementation this yields a very high-speed CNN, faster than can be achieved on a standard PC processor. The inclusion of the FPGA to the system opens new possibilities to the way in which the barcode scanners can be implemented. The power of the embedded FPGA means it is now possible to build a stand-alone mobile scanner, capable of decoding an entire rack in a sub-second timeframe while having low power requirements and outperforming a traditional high-spec laptop or desktop PC.
Future work will build on the current achievements of the project and look to introduce more artificial intelligence techniques into the decoding step of rack scanning.