Micrography QR Codes

Shih-Hsuan Hung
National Taiwan University of Science and Technology
Chih-Yuan Yao
National Taiwan University of Science and Technology
Yu-Jen Fang
National Tsing Hua University
Ping Tan
Simon Fraser University
Ruen-Rone Lee
Industrial Technology Research Institute
Alla Sheffer
University of British Columbia
Hung-Kuo Chu
National Tsing Hua University

Abstract

This paper presents a novel algorithm to generate micrography QR codes, a novel machine-readable graphic generated by embedding a QR code within a micrography image. The unique structure of micrography makes it incompatible with existing methods used to combine QR codes with natural or halftone images. We exploited the high-frequency nature of micrography in the design of a novel deformation model that enables the skillful warping of individual letters and adjustment of font weights to enable the embedding of a QR code within a micrography. The entire process is supervised by a set of visual quality metrics tailored specifically for micrography, in conjunction with a novel QR code quality measure aimed at striking a balance between visual fidelity and decoding robustness. The proposed QR code quality measure is based on probabilistic models learned from decoding experiments using popular decoders with synthetic QR codes to capture the various forms of distortion that result from image embedding. Experiment results demonstrate the efficacy of the proposed method in generating micrography QR codes of high quality from a wide variety of inputs. The ability to embed QR codes with multiple scales makes it possible to produce a wide range of diverse designs. Experiments and user studies were conducted to evaluate the proposed method from a qualitative as well as quantitative perspective.


Algorithm

The proposed system takes a micrography image and a QR code as inputs to generate a micrography QR code in four stages. The system begins with naive combination, where the micrography is superimposed directly over the QR code. Machine readability is then restored by replacing the centric region of the corrupted modules with small black or white squares. In the next stage, the system exploits the intrinsic redundancy of QR code to reduce the number of corrupted modules by optimizing the encoding process. Then we perform micrography deformation in which the letters are skillfully warped and the font weights are adjusted to eliminate more of the corrupted modules. The deformation process is formulated as an optimization with two competing energy terms, QR code quality and micrography visual quality. QR code quality measures the likelihood of successfully decoding a module, codeword, and the entire QR code. Specifically, we trained a probabilistic model using decoding experiments based on open source decoders with a database of synthetic QR codes. To capture the distortion in deformed micrography, we developed a set of tailor-made visual quality metrics based on the anatomy of the micrography. The final result is obtained by blending the residual corrupted modules with the micrography using an alpha mask.

Results


Micrography QR codes generated using the proposed system, using (from left to right) the module parameters (Wa,da) at (5,3), (7,3), and (9,3) for the embedding of QR code at small-, medium-, and large-scales, respectively. A complete gallery of results along with input source and micrography images can be found in the supplementary material.

Video

Acknowledgement

We are grateful to the anonymous reviewers for their comments and suggestions. We also thank all the anonymous users for participating in the user study. The work was supported in part by the Ministry of Science and Technology of Taiwan (107-2218-E-007-047- and 107-2221-E-007-088-MY3).

Bibtex

@article{hung:2019:MQRC,
author  = {Shih-Hsuan Hung and Chih-Yuan Yao and Yu-Jen Fang and Ping Tan and Ruen-Rone Lee and Alla Sheffer and Hung-Kuo Chu},
title   = {Micrography QR Codes},
journal = {IEEE Transactions on Visualization and Computer Graphics},
volume  = {26},
issue   = {9},
pages   = {2834--2847},
year    = {2019}
}

Links