特征空间注意力微小二维码重构算法
2022-05-25张碧秋杨大伟
张碧秋,杨大伟,毛 琳
(大连民族大学 机电工程学院,辽宁 大连 116605)
随着追溯机制越来越受到重视[1],智能手机、手表等设备上的小电子零件也需喷赋二维码,因此微小二维码得到越来越广泛的应用[2]。现有二维码识别算法对微小二维码的识别条件要求严格,且识别率低。
目前,提高二维码识别正确率的方法主要有以下三种:基于二值化处理的方法;定位校正二维码图像的方法;基于二维码重构的方法。文献[3]提出基于背景灰度的二值化算法,使用灰度估算公式计算二维码分块灰度值,联合插值算法产生背景灰度图像,提高了二维码图像前景和背景的对比度,但该方法需人为设定阈值且需循环计算每个像素差值,分割结果不准确,计算复杂度高。文献[4]在对模糊、光照不均情况下的二维码图像进行处理时,通过多重规则选取不同阈值进行二值化处理,能够得到比Otsu算法与Bernsen算法细节更丰富的图像,但当出现非线性畸变时,该算法的处理效果不理想。文献[5]提出一种基于三轴交叉检测定位探测图形QR码的校正算法,通过分析线性畸变QR码的角点和位置对探测图形定位,再根据非线性映射变换关系进行QR码的校正,能够有效对非线性畸变的QR码进行精确定位。文献[6]利用曲线拟合自适应阈值法分割图像,采用Hough变换和控制点变换方法校正图像形变,通过模板对QR码进行匹配,Hough直线检测对残缺直线和非直线噪声有较强的抗干扰能力,但易受直线噪声干扰。文献[7]提出一种QR二维码重构方法,提高了二维码识别的准确率,但该方法采用固定权重,不能根据图像实际情况调整权重,因此适应性不强。
综上所述,本文提出一种特征空间注意力微小二维码重构算法(Feature Space Attention Micro QR Code Reconstruction,FSAR),算法利用超分辨率放大技术增加小二维码图像像素,通过特征空间注意力机制调整不同层级的权重,在保证二维码识别正确率的同时,重构出符合人类审美特点的清晰二维码图像。
1 FSAR算法
FSAR算法致力于将微小二维码放大为现有二维码识别算法能准确识别的清晰二维码图像。获取到的微小二维码图像经去模糊、畸变校正、超分辨率放大等步骤,基本形状已经放大,但此时的二维码由于噪声干扰,会出现黑白码块交替边缘有锯齿、凹凸不平等不规则形变,这些噪声和形变严重影响特征信息的正确表达。使用目前放大效果较好的基于深度学习的超分辨率方法放大后的二维码所出现的不规则形变和噪声的示图如图1。
图1 微小二维码超分辨率放大示图
针对超分辨率等操作的输出结果,本文提出FSAR算法可有效解决二维码图像放大后出现的扭曲变形、噪声干扰等问题。图像放大技术主要包括插值法、图像重建法以及学习类方法,本文使用目前放大效果最优的基于深度学习的超分辨率方法对微小二维码图像进行放大处理。该算法将超分辨率放大处理后的二维码图像作为输入,通过特征空间注意力机制确定环形权重滤波器每一环级特征权重分量,利用权重滤波器计算每个图像块的加权平均灰度值。经过权重滤波器计算得到图像块的灰度值,充分考虑二维码图像的特征信息,能够增强有效信息的表达能力。通过OTSU算法[8]计算得到二维码图像的全局阈值和图像块局部阈值,融合这两部分阈值,从而得到二维码图像块的最佳分割阈值。将二维码图像的全局阈值和图像块的局部阈值进行融合,能够减少光照不均对图像阈值分割的影响,保证获取到的阈值有较好的图像分割质量。依次比较二维码图像中每个图像块的灰度值以及该图像块对应的最佳分割阈值完成二维码重构。FSAR算法逻辑结构图如图2。
图2 FSAR算法逻辑结构图
1.1 特征空间注意力
1.1.1 二维码图像块
在QR二维码重构中,为去除噪声及不规则形变,同时不破坏二维码图像的几何结构,本文以图像块作为二维码重构的最小单位。图像块的尺寸设计直接影响重构图像的恢复效果。
QR二维码的寻像图形包括三个位置探测图形,分别位于二维码图像的左上、左下和右上三个角落,通过三个位置探测图形能够快速定位二维码,并明确符号方向,从任何方向扫描总能得到位置探测图形的深浅模块的宽度比例为1:1:3:1:1,具有较强的抗干扰能力,环形位置探测图形如图3。
图3 环形位置探测图形
根据二维码图像及二维码位置探测图形的特点,可以得出图像块的尺寸应为一个码块的大小,其计算公式如下:
(1)
式中:h∈N*表示二维码图像块大小;p∈N*表示定位符的像素值;7由位置探测图形深浅模块宽度比例1:1:3:1:1得出。
1.1.2 环形特征空间权重滤波器
为减少超分辨率二维码图像中扭曲变形特征的干扰,保证特征信息的正确表达,本文设计了环形特征空间注意力权重滤波器。环形权重滤波器模板(Filter template)的形状可看作重叠的大小不同的同心正方形,所形成环级的宽度比例相同,同一环级上的权重大小一致,权重滤波器的权重由初始权重和特征空间权重两部分融合而成,5×5滤波单元的滤波器包含3个环级,称为3级环形滤波器。环形滤波器模板分别作用于二维码图像经过分块处理后的每一个块(Image Block),滤波器模板单元作用于二维码图像块上的子块(Sub-block),每个子块包含若干像素值。环形特征空间权重滤波器工作原理如图4。
图4 环形特征空间滤波器工作原理
环形滤波器的分级数决定着滤波单元的个数,n级环形滤波器有(2n+1)个滤波单元,例如5×5个滤波单元被称为3级环形滤波器。
(1)Ⅰ型权重。环形权重滤波器的初始权重有效突出了图像块中心区域的特征信息,弱化了边缘区域的特征信息,增强了中心区域特征信息的表达,解决了深色模块和浅色模块的分界边缘受噪声干扰以及不规则形变带来的特征信息错误表达的问题。滤波器的不同环级赋予不同的权重数学描述如下:
(2)
(2)Ⅱ型权重(特征空间注意力权重)。为弱化图像特征信息受噪声干扰程度,保证特征信息能够最大限度表达,特征空间权重根据图像实际受干扰情况动态调整权重大小,当特征较为清晰受噪声干扰较小时增加该部分特征的信息表达能力,反之则减少该部分特征的信息表达能力,有效抑制噪声信息的干扰。
步骤1:计算图像灰度值对应的概率密度函数,求出概率最高的两个值对应的灰度值,数学描述如下:
Gi=E{MAX[F(g)]}。
(3)
式中:F(g)表示图像灰度值g对应的概率密度分布函数;MAX(·)为求最大值函数;E(·)为概率对应的灰度值函数;Gi为概率最高值对应的灰度值。
二维码图像由深色模块和浅色模块两部分组成,其灰度值的概率密度分布函数中,深色模块和浅色模块对应的灰度值概率最高,当概率密度分布函数中出现其他灰度值时,表明该灰度值受到了噪声干扰,在一定程度上,灰度值偏离频率最高的灰度值越远,则受到的干扰越严重。在单个深色码块或浅色码块中,平均灰度值越接近频率最高的两个灰度值,说明此码块特征表达越清晰、完整,反之则受噪声干扰严重。
步骤2:根据图像灰度值概率密度分布函数,对环形权重滤波器的不同环级特征空间注意力权重分配不同等级,平均灰度值越接近峰值权重等级越高,反之越低。随着等级不断升高,所占权重不断增大。
(4)
步骤3:环形权重滤波器的最终权重由初始权重和特征空间注意力权重两部分融合而成,数学描述如下:
(5)
W=Z(Fi)。
(6)
1.2 阈值分割
OTSU使用的聚类思想将图像按照灰度特性分为两类,使得这两类间的方差最大,此时的阈值便为图像的分割阈值。实际的二维码图片,由于光照不均以及噪声干扰等原因[9],实际的分割效果无法达到应用要求,本文在OTSU算法的基础上考虑干扰因素,融合二维码图像的全局阈值和以图像块为基础的局部阈值,得到受光照不均干扰较小,达到对图像块有较好分割效果的最佳分割阈值。具体计算过程如下:
步骤1:根据图像块的位置和大小,计算得到该图像块对应的局部窗口位置和大小,计算公式:
(7)
式中:m表示图像块;h表示图像块m的大小;x、y表示图像块中心点的坐标;M表示图像块m对应的局部窗口;H表示局部窗口的大小;i、j表示局部窗口中心点的坐标;Δ表示局部窗口的中心点相对于图像块的中心点的偏移量;α表示局部窗口的大小相对于图像块大小的比例关系。
步骤2:将通过OTSU算法计算得到的二维码图像的全局阈值与图像块的局部阈值融合,得到图像块的最佳分割阈值,数学描述如下:
(8)
式中:μ表示利用OTSU算法计算得到的全局阈值;μM表示图像块m对应的局部窗口M利用OTSU算法计算得到的局部阈值;Tm表示图像块m对应的最佳分割阈值;φ表示阈值融合函数。
根据最佳阈值的计算结果对图像块进行阈值分割,数学描述如下:
Bm=D(Tm+Gm)。
(9)
式中:Gm表示图像块m通过特种空间注意力机制计算得到的加权灰度值;Tm表示图像块m通过阈值融合得到最佳分割阈值;Bm表示图像块m的阈值分割结果;D为阈值分割函数。
1.3 二维码重构
图像块加权灰度值的大小和权重滤波器的权重系数密切相关,其数学描述如下:
(10)
式中:Gm表示图像块通过环形权重滤波器计算得到的平均灰度值;h表示图像块的尺寸;W由特征空间注意力机制得到的环形权重滤波器的权重矩阵;f(x,y)表示当前像素坐标点(x,y)的灰度值。
比较二维码图像块的加权灰度值与之相对应的最佳分割阈值,确定二维码图像块是深色码块或浅色码块,根据结构对每一个图像块进行重构,从而完成整张二维码图像的重构。
2 实验结果
为验证本方法的有效性以及适用范围,本文使用不同恢复手段对微小二维码进行放大处理,再经FSAR算法对放大后的二维码进行重构。FSAR算法运行环境硬件配置NVIDIA GeForce1080 Ti显卡,Intel core i7处理器,64位Ubuntu16.04操作系统,编程环境为python3.7。实验使用微小二维码数据集进行测试,其中包含150张微小二维码图像,实验结果见表1。
表1 不同处理方法识别正确率对比 %
从表1实验数据可以看出,对比其他二维码处理方法,本文提出的FSAR算法重构出的二维码正确率显著提升,相较于直接识别正确率提高75%,相较于非线性畸变校正算法正确率提升18.75%。FSAR算法使用不同权重的滤波模板,满足二维码图像的特点,在一定程度上提高了清晰特征的信息表达能力,弱化了噪声信息的干扰,使得重构出的二维码图像与原真值二维码相比,错误模块的数量能够控制在二维码的校正容错范围内,故二维码识别正确率得到显著提升。
实验使用本文提出的三级环形特征空间注意力权重滤波器,对经过超分辨率重建算法拟合出的放大二维码图像完成重构任务,重构结果如图5。从微小二维码数据集中随机挑选数据,行(1)是二维码的完整图像;行(2)是对行(1)中局部放大后的图像。图5a为二维码的真值图像;图5b为只使用Ⅰ型权重的重构结果,从图中可以看出其有两个小方框,该方框表明与真值图像的差异,即图5b中有两个模块没有构建正确;图5c为使用Ⅱ型权重(特征空间注意力权重)的重构结构,从图中可以看出其中的深浅模块分布与原真值图像完全相同。
图5 重构结果对比
不同权重重构的结果见表2。从中可以看出,使用Ⅱ型权重(特征空间注意力权重)比使用Ⅰ型权重重构结果的正确率有所提升。环形滤波器的Ⅰ型权重中每一环级的权重值仅使用对数函数形式,而Ⅱ型权重中每一环级的权重值使用对数函数形式和特征空间注意力权重融合,在考虑二维码图像整体结构特征的同时能够兼顾每一张二维码图像的不同特征,使得环形滤波器每一环级的权重随着二维码图像特征改变做出动态化调整,能够更好地利用二维码图像中每一个码块的特征信息,减少噪声干扰。
表2 不同权重重构结果
为进一步验证该方法的有效性以及适用范围,实验分别使用双线性插值方法和最近邻插值方法对于微小二维码进行放大处理,将放大后的二维码使用本文提出的FSAR算法重构出标准二维码,比较重构的标准二维码与原二维码真值的不同,并测试重构出的标准二维码的正确识别率。经过双线性插值方法和最近邻插值方法放大的二维码图像如图6。
a)双线性插值 b)最近邻插值
经过双线性插值方法和最近邻插值方法放大的二维码图像都出现了不同程度的模糊现象,该模糊图像直接用于二维码识别无法得到正确的结果,经本文提出的FSAR算法重构得出二维码如图6c,其中小框形标记为错误码块,625个黑白码块中共5块重构错误,错误率在二维码的容错范围内,该重构图像用于二维码识别,能够得出正确结果。实验对于微小二维码数据集中的150张图像使用双线性插值和最近邻插值方法进行放大处理后,通过FSAR方法进行重构,识别正确率为90%,虽然略低于使用超分辨率重建算法处理的微小二维码图像,但相比其他算法仍有显著提升。
实验中经过双线性插值放大的二维码有明显的模糊现象,经过最近邻插值放大的二维码出现较为严重的马赛克现象,经过本文算法重构出的标准二维码图像不仅清晰且能被二维码识别算法正确识别,表明该算法对于二维码图像处理有着广泛的应用领域。
3 结 语
针对微小二维码直接识别准确率较低问题,本文提出特征空间注意力微小二维码重构算法FSAR。通过对目标区域设置不同的特征空间注意力权重,提高有用信息的特征表达能力。实验结果表明,与Ⅰ型权重机制相比,特征空间注意力机制能够更充分地利用特征信息,对图像的适应性更强,显著提高二维码识别的准确率。FSAR算法为二维码识别提供了一种新的思路,为微小二维码识别提供参考。