论文:Text2QR: Harmonizing Aesthetic Customization and Scanning Robustness for Text-Guided QR Code Generation
Abstract
二维码通常包含很多信息但看起来并不美观。stable diffusion的出现让平衡扫描鲁棒性和美观变为可能。
 为了保证美观二维码的稳定生成,引入了QR美观蓝图(QR Aesthetic Blueprint, QAB)模块,生成蓝图图像,对整个生成过程进行控制。随后,可扫描性增强潜在细化(the Scannability Enhancing Latent Refinement, SELR)过程在潜在空间内细化输出,从而强化了可扫描的鲁棒性。
 这个方法利用了stable diffusion的强大生成能力,在图像美观性和二维码可扫描行之间进行权衡。
Github仓库
1 Introduction
现在有很多工作致力于改善二维码的美观性,但是大多导致了扫描的不稳定。
本文提出了Text2QR,提供无缝生成二维码的解决方案,平衡用户定义的美观性和强大的可扫描性。
 框架通过三个关键步骤展开:
- 用户通过使用stable diffusion生成他们喜欢的图案来启动该流程。
- 协同作用开始于QAB模块中图像的混合。这个模块生成一张蓝图,合并预先生成的图像(引导图像)中的内容,并准确反映QR码中的编码信息。然后将这张蓝图图像输入ControlNet,指导Stable Diffusion保留用户定义的美观性,并维持QR码明暗块之间的所需关系。虽然生成的结果会带来解码挑战,但是其表现出明显的明暗块分布,同时保持与用户偏好一致。
- 构建了能量方程,量化生成结果中的内容和消息的一致性。通过对潜在代码进行梯度上升迭代来优化该能量方程,逐渐增强扫描鲁棒性,同时保持内容一致性。
本文的贡献:
- Text2QR,在二维码生成中协调用户定义的美观性和强大的可扫描性。
- 引入QAB模块和SELR流程,用于保持美观的同时优化扫描稳健性。
- 更优越的效果
3 Preliminary
先阐明QR码扫描仪从美观的QR码图像中解码二进制信息的过程。
 给定带有QR码的彩色图像,首先通过提取亮度通道(YCbCr颜色空间中的Y通道),将其转化为灰度表示,表示为 
     
      
       
       
         I 
        
       
         ∈ 
        
        
        
          R 
         
         
         
           H 
          
         
           × 
          
         
           W 
          
         
        
       
      
        I\in \mathbb{R}^{H\times W} 
       
      
    I∈RH×W,包含 
     
      
       
       
         L 
        
       
      
        L 
       
      
    L个灰度级(通常为256)。
 设QR码包含 
     
      
       
       
         n 
        
       
         × 
        
       
         n 
        
       
      
        n\times n 
       
      
    n×n个模块,每个模块的大小为 
     
      
       
       
         a 
        
       
         × 
        
       
         a 
        
       
      
        a\times a 
       
      
    a×a个像素,有 
     
      
       
       
         n 
        
       
         ⋅ 
        
       
         a 
        
       
         ≤ 
        
       
         min 
        
       
          
        
       
         ( 
        
       
         H 
        
       
         , 
        
       
         W 
        
       
         ) 
        
       
      
        n\cdot a\leq \min(H, W) 
       
      
    n⋅a≤min(H,W)。这样就构建出了一个包含 
     
      
       
        
        
          n 
         
        
          2 
         
        
       
      
        n^2 
       
      
    n2个模块的网格,记作 
     
      
       
        
        
          M 
         
        
          k 
         
        
       
      
        M_k 
       
      
    Mk,其中 
     
      
       
       
         k 
        
       
         ∈ 
        
       
         [ 
        
       
         1 
        
       
         , 
        
       
         2 
        
       
         , 
        
       
         ⋯ 
         
       
         , 
        
        
        
          n 
         
        
          2 
         
        
       
         ] 
        
       
      
        k\in [1,2,\cdots,n^2] 
       
      
    k∈[1,2,⋯,n2]。这个网格将图像 
     
      
       
       
         I 
        
       
      
        I 
       
      
    I划分为 
     
      
       
        
        
          n 
         
        
          2 
         
        
       
      
        n^2 
       
      
    n2个块,表示为 
     
      
       
        
        
          I 
         
         
         
           M 
          
         
           k 
          
         
        
       
         ∈ 
        
        
        
          R 
         
         
         
           a 
          
         
           × 
          
         
           a 
          
         
        
       
      
        I_{M_k}\in\mathbb{R}^{a\times a} 
       
      
    IMk∈Ra×a。
第 
     
      
       
       
         k 
        
       
      
        k 
       
      
    k个模块被解码为1位信息 
     
      
       
        
         
         
           I 
          
         
           ~ 
          
         
        
          k 
         
        
       
      
        \tilde{I}_k 
       
      
    I~k,代表0或1,其中 
     
      
       
        
        
          I 
         
        
          ~ 
         
        
       
         ∈ 
        
        
        
          R 
         
         
         
           n 
          
         
           × 
          
         
           n 
          
         
        
       
      
        \tilde{I}\in \mathbb{R}^{n\times n} 
       
      
    I~∈Rn×n表示整张二进制图的结果。
 通常扫描仪对于每个模块的中心子区域内的像素进行采样。
 令 
     
      
       
       
         θ 
        
       
      
        \theta 
       
      
    θ为以模块 
     
      
       
        
        
          M 
         
        
          k 
         
        
       
      
        M_k 
       
      
    Mk为中心、大小为 
     
      
       
       
         x 
        
       
         × 
        
       
         x 
        
       
      
        x\times x 
       
      
    x×x的正方形区域, 
     
      
       
       
         p 
        
       
         ∈ 
        
       
         { 
        
       
         1 
        
       
         , 
        
       
         2 
        
       
         , 
        
       
         ⋯ 
         
       
         , 
        
       
         H 
        
       
         } 
        
       
         × 
        
       
         { 
        
       
         1 
        
       
         , 
        
       
         2 
        
       
         , 
        
       
         ⋯ 
         
       
         , 
        
       
         W 
        
       
         } 
        
       
      
        \mathbf{p}\in\{1,2,\cdots,H\}\times \{1,2,\cdots,W\} 
       
      
    p∈{1,2,⋯,H}×{1,2,⋯,W}表示 
     
      
       
       
         I 
        
       
      
        I 
       
      
    I的像素坐标。解码后的二进制值 
     
      
       
        
         
         
           I 
          
         
           ~ 
          
         
        
          k 
         
        
       
      
        \tilde{I}_k 
       
      
    I~k可以记作:
  
      
       
        
         
         
           v 
          
         
           k 
          
         
        
          = 
         
         
         
           1 
          
          
          
            x 
           
          
            2 
           
          
         
         
         
           ∑ 
          
          
          
            p 
           
          
            ∈ 
           
          
            θ 
           
          
         
         
         
           I 
          
          
          
            M 
           
          
            k 
           
          
         
        
          ( 
         
        
          p 
         
        
          ) 
         
        
          ; 
         
         
          
          
            I 
           
          
            ~ 
           
          
         
           k 
          
         
        
          = 
         
         
         
           { 
          
          
           
            
             
              
              
                0 
               
               
              
             
            
            
             
              
              
                if  
               
               
               
                 v 
                
               
                 k 
                
               
              
                ≤ 
               
               
               
                 T 
                
               
                 b 
                
               
              
                , 
               
              
             
            
           
           
            
             
              
              
                1 
               
               
              
             
            
            
             
              
              
                if  
               
               
               
                 v 
                
               
                 k 
                
               
              
                ≥ 
               
               
               
                 T 
                
               
                 w 
                
               
              
                , 
               
              
             
            
           
           
            
             
              
              
                − 
               
              
                1 
               
               
              
             
            
            
             
              
              
                otherwise 
               
              
                . 
               
              
             
            
           
          
         
        
       
         v_k=\frac{1}{x^2}\sum_{\mathbf{p}\in\theta}I_{M_k}(\mathbf{p});\tilde{I}_k= \begin{cases} 0 \qquad & \text{if} \ v_k\leq\mathcal{T}_b, \\ 1 \qquad & \text{if} \ v_k\geq\mathcal{T}_w, \\ -1 \qquad & \text{otherwise}. \end{cases} 
        
       
     vk=x21p∈θ∑IMk(p);I~k=⎩ 
              ⎨ 
              ⎧01−1if vk≤Tb,if vk≥Tw,otherwise.
 其中 
     
      
       
        
        
          T 
         
        
          b 
         
        
       
      
        \mathcal{T}_b 
       
      
    Tb和 
     
      
       
        
        
          T 
         
        
          w 
         
        
       
      
        \mathcal{T}_w 
       
      
    Tw是二值化的阈值。考虑到对称性,令 
     
      
       
        
        
          T 
         
        
          b 
         
        
       
         = 
        
       
         L 
        
       
         ⋅ 
        
       
         ( 
        
       
         1 
        
       
         − 
        
       
         η 
        
       
         ) 
        
       
         / 
        
       
         2 
        
       
      
        \mathcal{T}_b=L\cdot (1-\eta)/2 
       
      
    Tb=L⋅(1−η)/2, 
     
      
       
        
        
          T 
         
        
          w 
         
        
       
         = 
        
       
         L 
        
       
         ⋅ 
        
       
         ( 
        
       
         1 
        
       
         + 
        
       
         η 
        
       
         ) 
        
       
         / 
        
       
         2 
        
       
      
        \mathcal{T}_w=L\cdot(1+\eta)/2 
       
      
    Tw=L⋅(1+η)/2,其中 
     
      
       
       
         η 
        
       
         ∈ 
        
       
         ( 
        
       
         0 
        
       
         , 
        
       
         1 
        
       
         ) 
        
       
      
        \eta\in(0,1) 
       
      
    η∈(0,1)。超参数 
     
      
       
       
         η 
        
       
      
        \eta 
       
      
    η可以控制二值化过程的严格性。
 
4 Method
![![[Pasted image 20240330222807.png]]](https://img-blog.csdnimg.cn/direct/60a18b3e06f34bdcaadba02eeff89202.png)
4.1 Overall
第一阶段,用户准备 
     
      
       
        
        
          I 
         
        
          g 
         
        
       
      
        I^g 
       
      
    Ig和 
     
      
       
       
         M 
        
       
      
        \mathcal{M} 
       
      
    M(依赖关联参数 
     
      
       
       
         c 
        
       
      
        c 
       
      
    c和 
     
      
       
        
        
          z 
         
        
          0 
         
        
       
      
        z_0 
       
      
    z0)。
 第二阶段,关键一步是通过创新的QAB模块将 
     
      
       
        
        
          I 
         
        
          g 
         
        
       
      
        I^g 
       
      
    Ig和 
     
      
       
       
         M 
        
       
      
        \mathcal{M} 
       
      
    M中封装的信息无缝集成,以制定全面的蓝图,记为 
     
      
       
        
        
          I 
         
        
          b 
         
        
       
      
        I^b 
       
      
    Ib。
 随后, 
     
      
       
        
        
          I 
         
        
          b 
         
        
       
      
        I^b 
       
      
    Ib在ControlNet  
     
      
       
       
         C 
        
       
      
        \mathcal{C} 
       
      
    C中进行处理,以对stable diffusion model施加影响。这个影响涉及通过受控过程调整中间特征,定义为:
  
      
       
        
         
         
           I 
          
         
           s 
          
         
        
          = 
         
        
          G 
         
        
          ( 
         
        
          c 
         
        
          , 
         
         
         
           z 
          
         
           0 
          
         
        
          ∣ 
         
        
          C 
         
        
          ( 
         
         
         
           I 
          
         
           b 
          
         
        
          , 
         
        
          c 
         
        
          , 
         
         
         
           z 
          
         
           0 
          
         
        
          ) 
         
        
          ) 
         
        
       
         I^s=\mathcal{G}(c,z_0|\mathcal{C}(I^b,c,z_0)) 
        
       
     Is=G(c,z0∣C(Ib,c,z0))
 这种整合确保了协同输出 
     
      
       
        
        
          I 
         
        
          s 
         
        
       
      
        I^s 
       
      
    Is和谐地平衡了源自 
     
      
       
        
        
          I 
         
        
          g 
         
        
       
      
        I_g 
       
      
    Ig的审美偏好和 
     
      
       
       
         M 
        
       
      
        \mathcal{M} 
       
      
    M的结构约束。
 最后阶段, 
     
      
       
        
        
          I 
         
        
          s 
         
        
       
      
        I^s 
       
      
    Is通过SELR模块进行迭代微调,改进了扫描鲁棒性,同时保留了美术品质。
最后输出是一个美观的二维码 Q Q Q。
4.2 QR Aesthetic Blueprint
该模块旨在通过集成二维码信息和引导图像细节来创建可扫描的蓝图。
最初,从引导图像 I g I^g Ig中提取亮度通道,表示为 I y g I^g_y Iyg。为了确保可以比较的分布,分别使用直方图偏振(Histogram polarization)进行亮度调整和模块重组的方法进行像素重新排列来预处理 I y g I^g_y Iyg和 M \mathcal{M} M。最后,应用自适应半色调方法(Adaptive-Halftone)将二者混合,产生蓝图图像 I b I^b Ib。
4.2.1 Histogram polarization
该模块的主要目的是协调 
     
      
       
        
        
          I 
         
        
          y 
         
        
          g 
         
        
       
      
        I^g_y 
       
      
    Iyg的直方图分布和QR码的直方图分布。该过程增强了 
     
      
       
        
        
          I 
         
        
          y 
         
        
          g 
         
        
       
      
        I^g_y 
       
      
    Iyg的对比度,产生高对比度的图像 
     
      
       
        
        
          I 
         
         
         
           h 
          
         
           c 
          
         
        
       
      
        I^{hc} 
       
      
    Ihc。
 直方图偏振操作由查找表 
     
      
       
       
         H 
        
       
      
        \mathcal{H} 
       
      
    H表示,其将像素值从一个灰度级映射到另一个灰度级。
对于每一个像素 
     
      
       
       
         p 
        
       
      
        \mathbf{p} 
       
      
    p,令 
     
      
       
       
         τ 
        
       
         = 
        
        
        
          I 
         
        
          y 
         
        
          g 
         
        
       
         ( 
        
       
         p 
        
       
         ) 
        
       
      
        \tau=I^g_y(\mathbf{p}) 
       
      
    τ=Iyg(p), 
     
      
       
        
        
          τ 
         
        
          ′ 
         
        
       
         = 
        
        
        
          I 
         
         
         
           h 
          
         
           c 
          
         
        
       
         ( 
        
       
         p 
        
       
         ) 
        
       
      
        \tau'=I^{hc}(\mathbf{p}) 
       
      
    τ′=Ihc(p),将过程表示为:
  
      
       
        
         
         
           τ 
          
         
           ′ 
          
         
        
          = 
         
        
          H 
         
        
          ( 
         
        
          τ 
         
        
          ) 
         
        
       
         \tau'=\mathcal{H}(\tau) 
        
       
     τ′=H(τ)
 令 
     
      
       
        
        
          n 
         
        
          τ 
         
        
       
      
        n_\tau 
       
      
    nτ表示灰度级 
     
      
       
       
         τ 
        
       
         ∈ 
        
       
         [ 
        
       
         0 
        
       
         , 
        
       
         L 
        
       
         ) 
        
       
      
        \tau\in[0,L) 
       
      
    τ∈[0,L)的出现次数,为每一个灰度级 
     
      
       
       
         τ 
        
       
      
        \tau 
       
      
    τ引入累积分布函数(Cumulative Distribution Function, CDF):
  
      
       
        
        
          cdf 
         
        
          ( 
         
        
          τ 
         
        
          ) 
         
        
          = 
         
         
         
           ∑ 
          
          
          
            i 
           
          
            = 
           
          
            0 
           
          
         
           τ 
          
         
         
          
          
            n 
           
          
            i 
           
          
          
          
            H 
           
          
            × 
           
          
            W 
           
          
         
        
       
         \text{cdf}(\tau)=\sum_{i=0}^\tau \frac{n_i}{H\times W} 
        
       
     cdf(τ)=i=0∑τH×Wni
 目标是令生成的 
     
      
       
        
        
          I 
         
         
         
           h 
          
         
           c 
          
         
        
       
      
        I^{hc} 
       
      
    Ihc在 
     
      
       
       
         [ 
        
       
         0 
        
       
         , 
        
        
        
          T 
         
        
          b 
         
        
       
         ) 
        
       
         ∪ 
        
       
         [ 
        
        
        
          T 
         
        
          w 
         
        
       
         , 
        
       
         L 
        
       
         ) 
        
       
      
        [0,\mathcal{T}_b)\cup[\mathcal{T}_w,L) 
       
      
    [0,Tb)∪[Tw,L)范围内具有平坦的直方图。同时排除在 
     
      
       
       
         [ 
        
        
        
          T 
         
        
          b 
         
        
       
         , 
        
        
        
          T 
         
        
          w 
         
        
       
         ) 
        
       
      
        [\mathcal{T}_b,\mathcal{T}_w) 
       
      
    [Tb,Tw)中出现的情况。为了实现这一点,首先创建一个新图像 
     
      
       
        
        
          I 
         
         
         
           h 
          
         
           e 
          
         
        
       
      
        I^{he} 
       
      
    Ihe,其线性化CDF的值的范围为 
     
      
       
       
         [ 
        
       
         0 
        
       
         , 
        
       
         L 
        
       
         − 
        
        
        
          T 
         
        
          w 
         
        
       
         + 
        
        
        
          T 
         
        
          b 
         
        
       
         ) 
        
       
      
        [0,L-\mathcal{T}_w+\mathcal{T}_b) 
       
      
    [0,L−Tw+Tb)。令 
     
      
       
        
        
          τ 
         
        
          ~ 
         
        
       
         = 
        
        
        
          I 
         
         
         
           h 
          
         
           e 
          
         
        
       
         ( 
        
       
         p 
        
       
         ) 
        
       
      
        \tilde{\tau}=I^{he}(\mathbf{p}) 
       
      
    τ~=Ihe(p),于是有:
  
      
       
        
         
         
           τ 
          
         
           ~ 
          
         
        
          = 
         
        
          ( 
         
        
          L 
         
        
          − 
         
         
         
           T 
          
         
           w 
          
         
        
          + 
         
         
         
           T 
          
         
           b 
          
         
        
          ) 
         
        
          ⋅ 
         
        
          cdf 
         
        
          ( 
         
        
          τ 
         
        
          ) 
         
        
       
         \tilde{\tau}=(L-\mathcal{T}_w+\mathcal{T}_b)\cdot \text{cdf}(\tau) 
        
       
     τ~=(L−Tw+Tb)⋅cdf(τ)
 随后,通过添加 
     
      
       
        
        
          T 
         
        
          w 
         
        
       
         − 
        
        
        
          T 
         
        
          b 
         
        
       
      
        \mathcal{T}_w-\mathcal{T}_b 
       
      
    Tw−Tb来移动值的范围 
     
      
       
       
         [ 
        
        
        
          T 
         
        
          b 
         
        
       
         , 
        
       
         L 
        
       
         ) 
        
       
      
        [\mathcal{T}_b,L) 
       
      
    [Tb,L)从而获得 
     
      
       
        
        
          I 
         
         
         
           h 
          
         
           c 
          
         
        
       
      
        I^{hc} 
       
      
    Ihc:
  
      
       
        
         
         
           τ 
          
         
           ′ 
          
         
        
          = 
         
        
          H 
         
        
          ( 
         
        
          τ 
         
        
          ) 
         
        
          = 
         
         
         
           { 
          
          
           
            
             
              
               
               
                 τ 
                
               
                 ~ 
                
               
               
              
             
            
            
             
              
              
                if  
               
               
               
                 τ 
                
               
                 ~ 
                
               
              
                < 
               
               
               
                 T 
                
               
                 b 
                
               
              
                , 
               
              
             
            
           
           
            
             
              
               
               
                 τ 
                
               
                 ~ 
                
               
              
                + 
               
               
               
                 T 
                
               
                 w 
                
               
              
                − 
               
               
               
                 T 
                
               
                 b 
                
               
               
              
             
            
            
             
              
              
                if  
               
               
               
                 τ 
                
               
                 ~ 
                
               
              
                ≥ 
               
               
               
                 T 
                
               
                 b 
                
               
              
                . 
               
              
             
            
           
          
         
        
       
         \tau'=\mathcal{H}(\tau)=\begin{cases} \tilde{\tau} \qquad & \text{if} \ \tilde{\tau}<\mathcal{T}_b, \\ \tilde{\tau}+\mathcal{T}_w-\mathcal{T}_b \qquad & \text{if} \ \tilde{\tau}\geq\mathcal{T}_b. \\ \end{cases} 
        
       
     τ′=H(τ)={τ~τ~+Tw−Tbif τ~<Tb,if τ~≥Tb.
 ![![[Pasted image 20240331123739.png]]](https://img-blog.csdnimg.cn/direct/749b6f72548c43cdb265009438bacc07.png)
4.2.2 Module reorganization
为了将QR码 
     
      
       
       
         M 
        
       
      
        \mathcal{M} 
       
      
    M与 
     
      
       
        
        
          I 
         
         
         
           h 
          
         
           c 
          
         
        
       
      
        I^{hc} 
       
      
    Ihc混合,首先将 
     
      
       
        
        
          I 
         
         
         
           h 
          
         
           c 
          
         
        
       
      
        I^{hc} 
       
      
    Ihc二值化为二值图像 
     
      
       
        
        
          I 
         
         
         
           b 
          
         
           i 
          
         
           n 
          
         
        
       
      
        I^{bin} 
       
      
    Ibin。该二值图像指导module reorganization方法,记为 
     
      
       
        
        
          E 
         
        
          r 
         
        
       
      
        \mathcal{E}_r 
       
      
    Er,该方法在保留编码信息的同时重新排列 
     
      
       
       
         M 
        
       
      
        \mathcal{M} 
       
      
    M的模块。该过程可以表述为:
  
      
       
        
         
         
           I 
          
          
          
            b 
           
          
            i 
           
          
            n 
           
          
         
        
          ( 
         
        
          p 
         
        
          ) 
         
        
          = 
         
         
         
           { 
          
          
           
            
             
              
              
                0 
               
               
              
             
            
            
             
              
              
                if  
               
               
               
                 I 
                
                
                
                  h 
                 
                
                  c 
                 
                
               
              
                ( 
               
              
                p 
               
              
                ) 
               
              
                < 
               
               
               
                 T 
                
               
                 b 
                
               
              
                , 
               
              
             
            
           
           
            
             
              
              
                1 
               
               
              
             
            
            
             
              
              
                if  
               
               
               
                 I 
                
                
                
                  h 
                 
                
                  c 
                 
                
               
              
                ( 
               
              
                p 
               
              
                ) 
               
              
                > 
               
               
               
                 T 
                
               
                 w 
                
               
              
                , 
               
              
             
            
           
          
         
        
       
         I^{bin}(\mathbf{p})=\begin{cases} 0 \qquad & \text{if} \ I^{hc}(\mathbf{p})<\mathcal{T}_b, \\ 1 \qquad & \text{if} \ I^{hc}(\mathbf{p})>\mathcal{T}_w, \\ \end{cases} 
        
       
     Ibin(p)={01if Ihc(p)<Tb,if Ihc(p)>Tw,
  
      
       
        
         
         
           M 
          
         
           r 
          
         
        
          = 
         
         
         
           E 
          
         
           r 
          
         
        
          ( 
         
        
          M 
         
        
          , 
         
         
         
           I 
          
          
          
            b 
           
          
            i 
           
          
            n 
           
          
         
        
          ) 
         
        
       
         \mathcal{M}^r=\mathcal{E}_r(\mathcal{M},I^{bin}) 
        
       
     Mr=Er(M,Ibin)
4.2.3 Adaptive-Halftone blending
考虑第 k k k个模块区域 M k M_k Mk,我们输入经过histogram polarization后的图像块 I M k h c I_{M_k}^{hc} IMkhc和一个目标值 M k r = 0 or 1 M_k^r=0\ \text{or} \ 1 Mkr=0 or 1。目标是获得蓝图 I b I^b Ib,其中 I M k b I_{M_k}^b IMkb可以被解码为正确的信息,同时保留尽可能多的图像内容。
为了达成这个目标,引入了全新的blending method:Adaptive-Halftone blending(自适应半色调混合)。
 具体地,对于每个模块 
     
      
       
        
        
          M 
         
        
          k 
         
        
       
      
        M_k 
       
      
    Mk,令 
     
      
       
        
        
          θ 
         
        
          k 
         
        
       
      
        \theta_k 
       
      
    θk是一个大小为 
     
      
       
       
         u 
        
       
         × 
        
       
         u 
        
       
      
        u\times u 
       
      
    u×u的方形区域,以图像块 
     
      
       
        
        
          I 
         
         
         
           M 
          
         
           k 
          
         
         
         
           h 
          
         
           c 
          
         
        
       
         ( 
        
       
         u 
        
       
         ≤ 
        
       
         a 
        
       
         ) 
        
       
      
        I^{hc}_{M_k}(u\leq a) 
       
      
    IMkhc(u≤a)为中心。用 
     
      
       
        
        
          M 
         
        
          k 
         
        
          r 
         
        
       
      
        \mathcal{M}_k^r 
       
      
    Mkr来填充 
     
      
       
        
        
          I 
         
         
         
           θ 
          
         
           k 
          
         
         
         
           h 
          
         
           c 
          
         
        
       
      
        I_{\theta_k}^{hc} 
       
      
    Iθkhc以生成 
     
      
       
        
        
          I 
         
         
         
           M 
          
         
           k 
          
         
        
          b 
         
        
       
      
        I_{M_k}^b 
       
      
    IMkb。通过最小化该模块内的编码距离来优化放行区域大小 
     
      
       
       
         u 
        
       
      
        u 
       
      
    u。 
     
      
       
       
         u 
        
       
      
        u 
       
      
    u对应的该模块的模拟解码值定义为 
     
      
       
        
        
          E 
         
        
          k 
         
        
       
         ( 
        
        
        
          I 
         
         
         
           M 
          
         
           k 
          
         
        
          b 
         
        
       
         ∣ 
        
       
         u 
        
       
         ) 
        
       
      
        E_k(I_{M_k}^b|u) 
       
      
    Ek(IMkb∣u):
  
      
       
        
         
          
          
           
            
             
             
               E 
              
             
               k 
              
             
            
              ( 
             
             
             
               I 
              
              
              
                M 
               
              
                k 
               
              
             
               b 
              
             
            
              ∣ 
             
            
              u 
             
            
              ) 
             
            
           
          
          
           
            
             
            
              = 
             
             
             
               1 
              
              
              
                a 
               
              
                2 
               
              
             
            
              [ 
             
             
             
               ∑ 
              
              
              
                p 
               
              
                ∈ 
               
               
               
                 θ 
                
               
                 k 
                
               
              
             
            
              L 
             
            
              ⋅ 
             
             
             
               M 
              
             
               k 
              
             
               r 
              
             
            
              + 
             
             
             
               ∑ 
              
              
              
                p 
               
              
                ∉ 
               
               
               
                 θ 
                
               
                 k 
                
               
              
             
             
             
               I 
              
              
              
                M 
               
              
                k 
               
              
             
               b 
              
             
            
              ( 
             
            
              p 
             
            
              ) 
             
            
              ] 
             
            
           
          
          
          
         
         
          
          
           
            
           
          
          
           
            
             
            
              = 
             
             
             
               1 
              
              
              
                a 
               
              
                2 
               
              
             
            
              [ 
             
             
             
               u 
              
             
               2 
              
             
            
              ⋅ 
             
            
              L 
             
            
              ⋅ 
             
             
             
               M 
              
             
               k 
              
             
               r 
              
             
            
              + 
             
             
             
               ∑ 
              
              
              
                p 
               
              
                ∉ 
               
               
               
                 θ 
                
               
                 k 
                
               
              
             
             
             
               I 
              
              
              
                M 
               
              
                k 
               
              
             
               b 
              
             
            
              ( 
             
            
              p 
             
            
              ) 
             
            
              ] 
             
            
           
          
          
          
         
        
       
         \begin{align} E_k(I_{M_k}^b|u)&=\frac{1}{a^2}[\sum_{\mathbf{p}\in\theta_k} L\cdot \mathcal{M}_k^r+\sum_{\mathbf{p}\notin\theta_k} I_{M_k}^b(\mathbf{p})] \\ &=\frac{1}{a^2}[u^2\cdot L\cdot\mathcal{M}_k^r+\sum_{\mathbf{p}\notin\theta_k} I_{M_k}^b(\mathbf{p})] \end{align} 
        
       
     Ek(IMkb∣u)=a21[p∈θk∑L⋅Mkr+p∈/θk∑IMkb(p)]=a21[u2⋅L⋅Mkr+p∈/θk∑IMkb(p)]
 特别地,当 
     
      
       
       
         u 
        
       
         = 
        
       
         a 
        
       
      
        u=a 
       
      
    u=a时,有 
     
      
       
        
        
          E 
         
        
          k 
         
        
       
         ( 
        
        
        
          I 
         
         
         
           M 
          
         
           k 
          
         
        
          b 
         
        
       
         ∣ 
        
       
         u 
        
       
         ) 
        
       
         = 
        
       
         L 
        
       
         ⋅ 
        
        
        
          M 
         
        
          k 
         
        
          r 
         
        
       
      
        E_k(I_{M_k}^b|u)=L\cdot\mathcal{M}_k^r 
       
      
    Ek(IMkb∣u)=L⋅Mkr。目标是最小化编码距离:
  
      
       
        
         
         
           u 
          
         
           k 
          
         
        
          = 
         
         
          
           
           
             argmin 
            
           
              
            
           
          
            v 
           
          
         
        
          ∣ 
         
        
          ∣ 
         
         
         
           E 
          
         
           k 
          
         
        
          ( 
         
         
         
           I 
          
          
          
            M 
           
          
            k 
           
          
         
           b 
          
         
        
          ∣ 
         
        
          u 
         
        
          ) 
         
        
          − 
         
        
          L 
         
        
          ⋅ 
         
        
          ( 
         
        
          η 
         
        
          ⋅ 
         
         
         
           M 
          
         
           k 
          
         
           r 
          
         
        
          + 
         
         
          
          
            1 
           
          
            − 
           
          
            η 
           
          
         
           2 
          
         
        
          ) 
         
        
          ∣ 
         
        
          ∣ 
         
        
       
         u_k={\underset{v}{\operatorname{arg min}}}||E_k(I_{M_k}^b|u)-L\cdot(\eta\cdot\mathcal{M}_k^r+\frac{1-\eta}{2})|| 
        
       
     uk=vargmin∣∣Ek(IMkb∣u)−L⋅(η⋅Mkr+21−η)∣∣
 根据 
     
      
       
        
        
          T 
         
        
          b 
         
        
       
      
        \mathcal{T}_b 
       
      
    Tb和 
     
      
       
        
        
          T 
         
        
          w 
         
        
       
      
        \mathcal{T}_w 
       
      
    Tw的定义,可以简写上式:
  
      
       
        
         
         
           s 
          
         
           k 
          
         
        
          = 
         
         
         
           { 
          
          
           
            
             
              
               
                
                 
                 
                   argmin 
                  
                 
                    
                  
                 
                
                  s 
                 
                
               
              
                ∣ 
               
              
                ∣ 
               
               
               
                 E 
                
               
                 k 
                
               
              
                ( 
               
               
               
                 I 
                
                
                
                  M 
                 
                
                  k 
                 
                
               
                 b 
                
               
              
                ∣ 
               
              
                u 
               
              
                ) 
               
              
                − 
               
               
               
                 T 
                
               
                 b 
                
               
              
                ∣ 
               
              
                ∣ 
               
               
              
             
            
            
             
              
              
                if  
               
               
               
                 M 
                
               
                 k 
                
               
                 r 
                
               
              
                = 
               
              
                0 
               
              
                , 
               
              
             
            
           
           
            
             
              
               
                
                 
                 
                   argmin 
                  
                 
                    
                  
                 
                
                  s 
                 
                
               
              
                ∣ 
               
              
                ∣ 
               
               
               
                 E 
                
               
                 k 
                
               
              
                ( 
               
               
               
                 I 
                
                
                
                  M 
                 
                
                  k 
                 
                
               
                 b 
                
               
              
                ∣ 
               
              
                u 
               
              
                ) 
               
              
                − 
               
               
               
                 T 
                
               
                 w 
                
               
              
                ∣ 
               
              
                ∣ 
               
               
              
             
            
            
             
              
              
                if  
               
               
               
                 M 
                
               
                 k 
                
               
                 r 
                
               
              
                = 
               
              
                1 
               
              
                , 
               
              
             
            
           
          
         
        
       
         s_k=\begin{cases} {\underset{s}{\operatorname{arg min}}}||E_k(I_{M_k}^b|u)-\mathcal{T}_b|| \qquad & \text{if} \ \mathcal{M}_k^r=0, \\ {\underset{s}{\operatorname{arg min}}}||E_k(I_{M_k}^b|u)-\mathcal{T}_w|| \qquad & \text{if} \ \mathcal{M}_k^r=1, \\ \end{cases} 
        
       
     sk=⎩ 
              ⎨ 
              ⎧sargmin∣∣Ek(IMkb∣u)−Tb∣∣sargmin∣∣Ek(IMkb∣u)−Tw∣∣if Mkr=0,if Mkr=1,
 为每个模块都填充了合适尺寸的同心方形块后,继续将标记(包括查找器和对齐标记)粘贴到最终的蓝图 
     
      
       
        
        
          I 
         
        
          b 
         
        
       
      
        I^b 
       
      
    Ib上。
下图展示了从不同的蓝图生成不同的 
     
      
       
        
        
          I 
         
        
          s 
         
        
       
      
        I^s 
       
      
    Is:
 
此调整涉及当 
     
      
       
        
        
          I 
         
         
         
           h 
          
         
           c 
          
         
        
       
      
        I^{hc} 
       
      
    Ihc有效封装模块信息以保留更多图像内容时缩小块的大小。
 相反,当需要更明显的控制信号来确保模块在 
     
      
       
        
        
          I 
         
        
          s 
         
        
       
      
        I^s 
       
      
    Is中的可扫描性时,它会扩大块的大小。
4.3 Scannability Enhancing Latent Refinement
生成的 I s I^s Is遵循施加的 M r \mathcal{M}^r Mr的结构约束,但因为仍有大量错误的模块,因此不可扫描。为了解决此问题,可扫描性增强潜在细化(Scannability Enhancing Latent Refinement, SELR)提供了很细致的强化过程来增强扫描鲁棒性。
包括取景器和对其图案的标记对于确定QR码的位置和角度至关重要,从而影响其扫描性。因此,在细化之前将它们的外观整合到 
     
      
       
        
        
          I 
         
        
          s 
         
        
       
      
        I^s 
       
      
    Is上,记作 
     
      
       
        
         
         
           I 
          
         
           s 
          
         
        
          ^ 
         
        
       
      
        \hat{I^s} 
       
      
    Is^。
 
使用VAE将增强图像 
     
      
       
        
         
         
           I 
          
         
           s 
          
         
        
          ^ 
         
        
       
      
        \hat{I^s} 
       
      
    Is^编码为潜在代码 
     
      
       
        
        
          z 
         
        
          s 
         
        
       
      
        z_s 
       
      
    zs,将VAE的模型记作 
     
      
       
        
        
          E 
         
        
          V 
         
        
       
      
        \mathcal{E}_V 
       
      
    EV。总体目标函数 
     
      
       
       
         L 
        
       
      
        L 
       
      
    L可以被分为三项之和:标记损失 
     
      
       
        
        
          L 
         
        
          m 
         
        
       
      
        \mathcal{L}_m 
       
      
    Lm,编码损失 
     
      
       
        
        
          L 
         
        
          c 
         
        
       
      
        \mathcal{L}_c 
       
      
    Lc,协调损失 
     
      
       
        
        
          L 
         
        
          h 
         
        
       
      
        \mathcal{L}_h 
       
      
    Lh。
  
      
       
        
         
          
           
            
            
              L 
             
            
              ( 
             
            
              z 
             
            
              ) 
             
            
           
          
          
           
            
             
            
              = 
             
             
             
               λ 
              
             
               1 
              
             
             
             
               L 
              
             
               m 
              
             
            
              ( 
             
             
             
               D 
              
             
               V 
              
             
            
              ( 
             
            
              z 
             
            
              ) 
             
            
              , 
             
             
             
               I 
              
             
               b 
              
             
            
              ) 
             
            
           
          
         
         
          
           
            
           
          
          
           
            
             
            
              + 
             
             
             
               λ 
              
             
               2 
              
             
             
             
               L 
              
             
               c 
              
             
            
              ( 
             
             
             
               D 
              
             
               V 
              
             
            
              ) 
             
            
              ( 
             
            
              z 
             
            
              ) 
             
            
              , 
             
             
             
               I 
              
             
               b 
              
             
            
              ) 
             
            
           
          
         
         
          
           
            
           
          
          
           
            
             
            
              + 
             
             
             
               λ 
              
             
               3 
              
             
             
             
               L 
              
             
               h 
              
             
            
              ( 
             
             
             
               D 
              
             
               V 
              
             
            
              ) 
             
            
              ( 
             
            
              z 
             
            
              ) 
             
            
              , 
             
             
             
               I 
              
             
               s 
              
             
            
              ) 
             
            
           
          
         
        
       
         \begin{aligned} \mathcal{L}(z)&=\lambda_1\mathcal{L}_m(\mathcal{D}_V(z),I^b) \\ &+\lambda_2\mathcal{L}_c(\mathcal{D}_V)(z),I^b) \\ &+\lambda_3\mathcal{L}_h(\mathcal{D}_V)(z),I^s) \end{aligned} 
        
       
     L(z)=λ1Lm(DV(z),Ib)+λ2Lc(DV)(z),Ib)+λ3Lh(DV)(z),Is)
 其中, 
     
      
       
        
        
          λ 
         
        
          1 
         
        
       
      
        \lambda_1 
       
      
    λ1到 
     
      
       
        
        
          λ 
         
        
          3 
         
        
       
      
        \lambda_3 
       
      
    λ3用于平衡各项之间的权重。 
     
      
       
        
        
          D 
         
        
          V 
         
        
       
      
        \mathcal{D}_V 
       
      
    DV代表VAE编码器的解码器。 
     
      
       
       
         z 
        
       
      
        z 
       
      
    z是由 
     
      
       
        
        
          z 
         
        
          s 
         
        
       
      
        z_s 
       
      
    zs初始化并在不断迭代中通过最小化目标函数来微调的潜变量,控制生成的QR码 
     
      
       
       
         Q 
        
       
         = 
        
        
        
          D 
         
        
          V 
         
        
       
         ( 
        
       
         z 
        
       
         ) 
        
       
      
        Q=\mathcal{D}_V(z) 
       
      
    Q=DV(z)的可扫描性和美观质量。代码损失 
     
      
       
        
        
          L 
         
        
          c 
         
        
       
      
        \mathcal{L}_c 
       
      
    Lc是通过Artcoder: an end-to-end method for generating scanning-robust stylized qr codes这篇文章提出的方法计算的,该方法采用SSLayer提取模块值,通过竞争机制计算基于模块的代码损失。
4.3.1 Marker loss
扫描仪根据标记区域中的特定像素比来识别QR码。
 引入一个二元掩码 
     
      
       
        
        
          K 
         
         
         
           c 
          
         
           c 
          
         
        
       
      
        \mathcal{K}_{cc} 
       
      
    Kcc,专门用于过滤标记的交叉中心区域,目的是保护基本标记功能免受因美学定制而造成的潜在损害。形式上,标记损失函数 
     
      
       
        
        
          L 
         
        
          m 
         
        
       
      
        \mathcal{L}_m 
       
      
    Lm定义如下:
  
      
       
        
         
         
           L 
          
         
           m 
          
         
        
          ( 
         
        
          Q 
         
        
          , 
         
         
         
           I 
          
         
           b 
          
         
        
          ) 
         
        
          = 
         
         
         
           K 
          
          
          
            c 
           
          
            c 
           
          
         
        
          ⋅ 
         
        
          ∣ 
         
        
          ∣ 
         
         
         
           Q 
          
         
           y 
          
         
        
          − 
         
         
         
           I 
          
         
           b 
          
         
        
          ∣ 
         
         
         
           ∣ 
          
         
           2 
          
         
        
       
         \mathcal{L}_m(Q,I^b)=\mathcal{K}_{cc}\cdot||Q_y-I^b||^2 
        
       
     Lm(Q,Ib)=Kcc⋅∣∣Qy−Ib∣∣2
 其中 
     
      
       
        
        
          Q 
         
        
          y 
         
        
       
      
        Q_y 
       
      
    Qy表示二维码 
     
      
       
       
         Q 
        
       
      
        Q 
       
      
    Q的亮度通道。
 这个公式确保了标记的完整性,同时允许对QR码的非标记区域进行美观修改。重点是优化视觉质量,同时保持原始扫描能力。
这个损失函数计算了 
     
      
       
        
        
          L 
         
        
          2 
         
        
       
      
        L^2 
       
      
    L2-Wasserstein距离,记为 
     
      
       
        
        
          W 
         
        
          2 
         
        
       
      
        W_2 
       
      
    W2,计算 
     
      
       
       
         Q 
        
       
      
        Q 
       
      
    Q的特征图和 
     
      
       
        
        
          I 
         
        
          s 
         
        
       
      
        I^s 
       
      
    Is的距离。
 特别地,
4.3.2 Harmonizing Loss
解决了与标记和代码相关的可扫描性问题后,要进一步确保通过协调损失来保留美学品质。特征图 
     
      
       
        
        
          f 
         
        
          i 
         
        
       
      
        f_i 
       
      
    fi通过预训练的VGG-19网络的 
     
      
       
       
         i 
        
       
         ∈ 
        
       
         [ 
        
       
         1 
        
       
         , 
        
       
         6 
        
       
         , 
        
       
         11 
        
       
         , 
        
       
         18 
        
       
         , 
        
       
         25 
        
       
         ] 
        
       
      
        i\in[1,6,11,18,25] 
       
      
    i∈[1,6,11,18,25]层提取而出,损失可以被计算为:
  
      
       
        
         
         
           L 
          
         
           h 
          
         
        
          = 
         
         
         
           ∑ 
          
         
           i 
          
         
         
         
           W 
          
         
           2 
          
         
        
          ( 
         
         
         
           f 
          
         
           i 
          
         
        
          ( 
         
        
          Q 
         
        
          ) 
         
        
          , 
         
         
         
           f 
          
         
           i 
          
         
        
          ( 
         
         
         
           I 
          
         
           s 
          
         
        
          ) 
         
        
          ) 
         
        
       
         \mathcal{L}_h=\sum_i W_2(f_i(Q),f_i(I^s)) 
        
       
     Lh=i∑W2(fi(Q),fi(Is))
 令 
     
      
       
        
        
          P 
         
        
          1 
         
        
       
         , 
        
        
        
          P 
         
        
          2 
         
        
       
      
        P_1,P_2 
       
      
    P1,P2分别为 
     
      
       
        
        
          R 
         
        
          n 
         
        
       
      
        \mathbb{R}^n 
       
      
    Rn上具有 
     
      
       
        
        
          μ 
         
        
          1 
         
        
       
         , 
        
        
        
          μ 
         
        
          2 
         
        
       
         ∈ 
        
        
        
          R 
         
        
          n 
         
        
       
      
        \mu_1,\mu_2\in\mathbb{R}^n 
       
      
    μ1,μ2∈Rn的平均值、非奇异协方差矩阵 
     
      
       
        
        
          C 
         
        
          1 
         
        
       
         , 
        
        
        
          C 
         
        
          2 
         
        
       
         ∈ 
        
        
        
          R 
         
         
         
           n 
          
         
           × 
          
         
           n 
          
         
        
       
      
        C_1,C_2\in\mathbb{R}^{n\times n} 
       
      
    C1,C2∈Rn×n。 
     
      
       
        
        
          L 
         
        
          2 
         
        
       
      
        L^2 
       
      
    L2-Wasserstein距离 
     
      
       
        
        
          W 
         
        
          2 
         
        
       
         ( 
        
        
        
          P 
         
        
          1 
         
        
       
         , 
        
        
        
          P 
         
        
          2 
         
        
       
         ) 
        
       
      
        W_2(P_1,P_2) 
       
      
    W2(P1,P2)可以被定义为:
  
      
       
        
        
          A 
         
        
          = 
         
        
          trace 
         
        
          ( 
         
         
         
           C 
          
         
           1 
          
         
        
          + 
         
         
         
           C 
          
         
           2 
          
         
        
          − 
         
        
          2 
         
        
          ( 
         
         
          
          
            C 
           
          
            1 
           
          
         
         
         
           C 
          
         
           2 
          
         
         
          
          
            C 
           
          
            1 
           
          
         
         
         
           ) 
          
          
          
            1 
           
          
            2 
           
          
         
        
          ) 
         
        
       
         A=\text{trace}(C_1+C_2-2(\sqrt{C_1}C_2\sqrt{C_1})^{\frac{1}{2}}) 
        
       
     A=trace(C1+C2−2(C1C2C1)21)
  
      
       
        
         
         
           W 
          
         
           2 
          
         
        
          ( 
         
         
         
           P 
          
         
           1 
          
         
        
          , 
         
         
         
           P 
          
         
           2 
          
         
        
          ) 
         
        
          = 
         
         
          
          
            ∣ 
           
          
            ∣ 
           
           
           
             μ 
            
           
             1 
            
           
          
            − 
           
           
           
             μ 
            
           
             2 
            
           
          
            ∣ 
           
           
           
             ∣ 
            
           
             2 
            
           
          
            + 
           
          
            A 
           
          
         
        
       
         W_2(P_1,P_2)=\sqrt{||\mu_1-\mu_2||^2+A} 
        
       
     W2(P1,P2)=∣∣μ1−μ2∣∣2+A
 协调损失的集成确保优化的输出不仅满足功能要求,而且保留美学品质。本质上,SELR模块利用标记、编码、协调损失来优化生成的QR码的可扫描性和美观性。



















