  Barcodes are ubiquitous and have been used in most of critical daily
activities for decades. However, most of traditional decoders require
well-founded barcode under a relatively standard condition. While wilder
conditioned barcodes such as underexposed, occluded, blurry, wrinkled and
rotated are commonly captured in reality, those traditional decoders show
weakness of recognizing. Several works attempted to solve those challenging
barcodes, but many limitations still exist. This work aims to solve the
decoding problem using deep convolutional neural network with the possibility
of running on portable devices. Firstly, we proposed a special modification of
inference based on the feature of having checksum and test-time augmentation,
named as Smart Inference (SI) in prediction phase of a trained model. SI
considerably boosts accuracy and reduces the false prediction for trained
models. Secondly, we have created a large practical evaluation dataset of real
captured 1D barcode under various challenging conditions to test our methods
vigorously, which is publicly available for other researchers. The experiments'
results demonstrated the SI effectiveness with the highest accuracy of 95.85%
which outperformed many existing decoders on the evaluation set. Finally, we
successfully minimized the best model by knowledge distillation to a shallow
model which is shown to have high accuracy (90.85%) with good inference speed
of 34.2 ms per image on a real edge device.
