dc.description.abstract | Abstract
As trade grows more and more frequently, every product needs to use a barcode to ensure that the process of manufacturing and shipping is correct. However, the recognition of barcodes can easily be affected by factors such as uneven lighting and noise. In addition, the numerous categories of barcodes also make the barcode localization difficult. Traditional methods are limited for the detection capability with different types of barcodes and for the detection accuracy under noisy conditions. In order to solve these problems, we apply deep learning to localize various types of barcodes.
This research consists of three parts. Firstly, a deep learning neural network was trained to find out barcodes. FasterRCNN was adopted in this research because of its faster and more accurate detection results compared to the older neural network such as RCNN. The training data used were captured by the barcode scanner made by CipherLab. A total of 10008 images were divided into the training data, the verification data and the test data by a ratio of 8:1:1 with the verification and the test date in a ratio.
Secondly, this research proposed two algorithms based on the results of FasterRCNN. Neural network pruning was used to find the feature of barcodes. However, the result was unsatisfactory. Hence, a weight visualization method, Gradcam, was used to get the saliency maps at some layers of the neural network. By using the result of Gradcam, two traditional image processing approaches was proposed for barcode detection. Method 1 used the image entropy to enhance the region of barcodes. Method 2 detected barcodes by morphology. Testing barcode images provided by CipherLab were used to validate the performance of the two methods. We used recall and precision for our evaluation method, and focused on the performance of recall.
The recall value of FasterRCNN was 0.89 and precision value was 0.65. Method 1 obtained the recall value of 0.86 and the precision value of 0.53, while Method 2 was with the recall value of 0.88 and the precision value of 0.52. The result showed that our method can detection barcode well.
Finally, we choose method 2 and implemented it on the PDA simulator. On PDA simulator we can detect all the barcodes of an image within 1.2 seconds. Although we do not have very good barcode detection speed, our method can successfully detect various kind of barcodes and achieve good detection results. | en_US |