The use of color in QR codes brings extra data capacity, but also inflicts tremendous challenges on the decoding process due to chromatic distortion, cross-channel color interference and illumination variation. Particularly, we further discover a new type of chromatic distortion in high-density color QR codes, cross-module color interference, caused by the high density which also makes the geometric distortion correction more challenging. To address these problems, we propose two approaches, namely, LSVM-CMI and QDA-CMI, which jointly model these different types of chromatic distortion. Extended from SVM and QDA, respectively, both LSVM-CMI and QDA-CMI optimize over a particular objective function to learn a color classifier. Furthermore, a robust geometric transformation method and several pipeline refinements are proposed to boost the decoding performance for mobile applications. We put forth and implement a framework for high-capacity color QR codes equipped with our methods, called HiQ. To evaluate the performance of HiQ, we collect a challenging large-scale color QR code dataset, CUHK-CQRC, which consists of 5390 high-density color QR code samples. The comparison with the baseline method [2] on CUHK-CQRC shows that HiQ at least outperforms [2] by 188 in decoding success rate and 60 in bit error rate. Our implementation of HiQ in iOS and Android also demonstrates the effectiveness of our framework in real-world applications.
@cite_9: The use of colors increases the information storage capacities in barcodes. Increasing the number of colors to encode information makes the decoding a challenging task due to the dependency of the surface color on the illuminant spectrum, viewing parameters, printing device and material, color fading in addition to other nuisance parameters. A popular solution is the use of a color palette of reference colors printed with barcode. The decoding becomes more challenging if a mobile phone as a decoding device is used due to the capture of images from different distances as well as angles. In addition, the barcode images are often blurry because of incorrect focus or camera shake. We present an iterative decoding algorithm that decodes the colors of all barcode patches across the barcode by minimizing the overall observation error. Our method is able to decode colors in presence of blur using a small number of colors yet ensuring high information density.
@cite_18: There is increased interest in the use of color barcodes to encode more information per area unit than regular, black-and-white barcodes. For example, Microsoft's HCCB technology uses 4 or 8 colors per patch. Unfortunately, the observed color of a surface depends as much on the illuminant spectrum (and other viewing parameters) as on the surface reflectivity, which complicates the task of decoding the content of the barcode. A popular solution is to append to the barcode a “palette” with the reference colors. In this paper, we propose a new approach to color barcode decoding, one that does not require a reference color palette. Our algorithm decodes groups of color bars at once, exploiting the fact that joint color changes can be represented by a low-dimensional space. Decoding a group of bars (a “barcode element”) is thus equivalent to searching for the nearest subspace in a dataset. We also propose algorithms to select subsets of barcode elements that can be decoded with low error probability. Our experimental results show that our barcode decoding algorithm enables substantial information rate increase with respect to system that display a color palette, at a very low decoding error rate.
@cite_15: Colorizing two–dimensional (2-D) barcodes is a promising modality for improvement on design and data capacity. The number of colors employed in recent 2-D color barcodes is limited less than 8. To increase the number of recognizable colors, we propose a color recognition method which classifies 64 colors, using an extended color space and pattern recognition techniques. The proposed method employs 4 seed colors embedded within 64-color code to prevent influences from environment illumination. In the proposed method, we extend the color representation for each code color in 2-D barcode from three components to higher number component. And a classifier is trained using the extended colors captured from several environmental lighting conditions. The classifier is selectable. In this paper, artificial neural network (ANN), support vector machine (SVM) and nearest neighbor (NN) are employed as the classifier. The experimental results shows that the proposed method achieves MSER less than 3.0 . Comparing the number of seed colors, 4 seed color is comparable to that using 8 seed color. SVM achieves the best recognition performance of 1.17 SER. These results suggest that 64-color recognition is possible by the proposed method.
H. Bagherinia and R. Manduchi @cite_18 propose to model color variation under various illuminations using a low-dimensional subspace, e.g., principal component analysis, without requiring reference color patches. T. Shimizu et. al. @cite_15 propose a 64-color 2D barcode and augment the RGB color space using seed colors which functions as references to facilitate color classification. Their method uses 15-dim or 27-dim feature both in training and testing which is prohibitively time-consuming for mobile devices in real-world applications. To decode color barcodes from blurry images, H. Bagherinia and R. Manduchi @cite_9 propose an iterative method to address the blur-induced color mixing from neighboring color patches. However, their method takes more than 7 seconds on a desktop with Intel i5-2520M CPU @ 2.50GHz to process a single image, which is completely unacceptable for mobile applications.