張碧秋,楊大偉,毛 琳
(大連民族大學(xué) 機(jī)電工程學(xué)院,遼寧 大連 116605)
隨著追溯機(jī)制越來(lái)越受到重視[1],智能手機(jī)、手表等設(shè)備上的小電子零件也需噴賦二維碼,因此微小二維碼得到越來(lái)越廣泛的應(yīng)用[2]。現(xiàn)有二維碼識(shí)別算法對(duì)微小二維碼的識(shí)別條件要求嚴(yán)格,且識(shí)別率低。
目前,提高二維碼識(shí)別正確率的方法主要有以下三種:基于二值化處理的方法;定位校正二維碼圖像的方法;基于二維碼重構(gòu)的方法。文獻(xiàn)[3]提出基于背景灰度的二值化算法,使用灰度估算公式計(jì)算二維碼分塊灰度值,聯(lián)合插值算法產(chǎn)生背景灰度圖像,提高了二維碼圖像前景和背景的對(duì)比度,但該方法需人為設(shè)定閾值且需循環(huán)計(jì)算每個(gè)像素差值,分割結(jié)果不準(zhǔn)確,計(jì)算復(fù)雜度高。文獻(xiàn)[4]在對(duì)模糊、光照不均情況下的二維碼圖像進(jìn)行處理時(shí),通過(guò)多重規(guī)則選取不同閾值進(jìn)行二值化處理,能夠得到比Otsu算法與Bernsen算法細(xì)節(jié)更豐富的圖像,但當(dāng)出現(xiàn)非線性畸變時(shí),該算法的處理效果不理想。文獻(xiàn)[5]提出一種基于三軸交叉檢測(cè)定位探測(cè)圖形QR碼的校正算法,通過(guò)分析線性畸變QR碼的角點(diǎn)和位置對(duì)探測(cè)圖形定位,再根據(jù)非線性映射變換關(guān)系進(jìn)行QR碼的校正,能夠有效對(duì)非線性畸變的QR碼進(jìn)行精確定位。文獻(xiàn)[6]利用曲線擬合自適應(yīng)閾值法分割圖像,采用Hough變換和控制點(diǎn)變換方法校正圖像形變,通過(guò)模板對(duì)QR碼進(jìn)行匹配,Hough直線檢測(cè)對(duì)殘缺直線和非直線噪聲有較強(qiáng)的抗干擾能力,但易受直線噪聲干擾。文獻(xiàn)[7]提出一種QR二維碼重構(gòu)方法,提高了二維碼識(shí)別的準(zhǔn)確率,但該方法采用固定權(quán)重,不能根據(jù)圖像實(shí)際情況調(diào)整權(quán)重,因此適應(yīng)性不強(qiáng)。
綜上所述,本文提出一種特征空間注意力微小二維碼重構(gòu)算法(Feature Space Attention Micro QR Code Reconstruction,F(xiàn)SAR),算法利用超分辨率放大技術(shù)增加小二維碼圖像像素,通過(guò)特征空間注意力機(jī)制調(diào)整不同層級(jí)的權(quán)重,在保證二維碼識(shí)別正確率的同時(shí),重構(gòu)出符合人類審美特點(diǎn)的清晰二維碼圖像。
FSAR算法致力于將微小二維碼放大為現(xiàn)有二維碼識(shí)別算法能準(zhǔn)確識(shí)別的清晰二維碼圖像。獲取到的微小二維碼圖像經(jīng)去模糊、畸變校正、超分辨率放大等步驟,基本形狀已經(jīng)放大,但此時(shí)的二維碼由于噪聲干擾,會(huì)出現(xiàn)黑白碼塊交替邊緣有鋸齒、凹凸不平等不規(guī)則形變,這些噪聲和形變嚴(yán)重影響特征信息的正確表達(dá)。使用目前放大效果較好的基于深度學(xué)習(xí)的超分辨率方法放大后的二維碼所出現(xiàn)的不規(guī)則形變和噪聲的示圖如圖1。
圖1 微小二維碼超分辨率放大示圖
針對(duì)超分辨率等操作的輸出結(jié)果,本文提出FSAR算法可有效解決二維碼圖像放大后出現(xiàn)的扭曲變形、噪聲干擾等問(wèn)題。圖像放大技術(shù)主要包括插值法、圖像重建法以及學(xué)習(xí)類方法,本文使用目前放大效果最優(yōu)的基于深度學(xué)習(xí)的超分辨率方法對(duì)微小二維碼圖像進(jìn)行放大處理。該算法將超分辨率放大處理后的二維碼圖像作為輸入,通過(guò)特征空間注意力機(jī)制確定環(huán)形權(quán)重濾波器每一環(huán)級(jí)特征權(quán)重分量,利用權(quán)重濾波器計(jì)算每個(gè)圖像塊的加權(quán)平均灰度值。經(jīng)過(guò)權(quán)重濾波器計(jì)算得到圖像塊的灰度值,充分考慮二維碼圖像的特征信息,能夠增強(qiáng)有效信息的表達(dá)能力。通過(guò)OTSU算法[8]計(jì)算得到二維碼圖像的全局閾值和圖像塊局部閾值,融合這兩部分閾值,從而得到二維碼圖像塊的最佳分割閾值。將二維碼圖像的全局閾值和圖像塊的局部閾值進(jìn)行融合,能夠減少光照不均對(duì)圖像閾值分割的影響,保證獲取到的閾值有較好的圖像分割質(zhì)量。依次比較二維碼圖像中每個(gè)圖像塊的灰度值以及該圖像塊對(duì)應(yīng)的最佳分割閾值完成二維碼重構(gòu)。FSAR算法邏輯結(jié)構(gòu)圖如圖2。
圖2 FSAR算法邏輯結(jié)構(gòu)圖
1.1.1 二維碼圖像塊
在QR二維碼重構(gòu)中,為去除噪聲及不規(guī)則形變,同時(shí)不破壞二維碼圖像的幾何結(jié)構(gòu),本文以圖像塊作為二維碼重構(gòu)的最小單位。圖像塊的尺寸設(shè)計(jì)直接影響重構(gòu)圖像的恢復(fù)效果。
QR二維碼的尋像圖形包括三個(gè)位置探測(cè)圖形,分別位于二維碼圖像的左上、左下和右上三個(gè)角落,通過(guò)三個(gè)位置探測(cè)圖形能夠快速定位二維碼,并明確符號(hào)方向,從任何方向掃描總能得到位置探測(cè)圖形的深淺模塊的寬度比例為1:1:3:1:1,具有較強(qiáng)的抗干擾能力,環(huán)形位置探測(cè)圖形如圖3。
圖3 環(huán)形位置探測(cè)圖形
根據(jù)二維碼圖像及二維碼位置探測(cè)圖形的特點(diǎn),可以得出圖像塊的尺寸應(yīng)為一個(gè)碼塊的大小,其計(jì)算公式如下:
(1)
式中:h∈N*表示二維碼圖像塊大??;p∈N*表示定位符的像素值;7由位置探測(cè)圖形深淺模塊寬度比例1:1:3:1:1得出。
1.1.2 環(huán)形特征空間權(quán)重濾波器
為減少超分辨率二維碼圖像中扭曲變形特征的干擾,保證特征信息的正確表達(dá),本文設(shè)計(jì)了環(huán)形特征空間注意力權(quán)重濾波器。環(huán)形權(quán)重濾波器模板(Filter template)的形狀可看作重疊的大小不同的同心正方形,所形成環(huán)級(jí)的寬度比例相同,同一環(huán)級(jí)上的權(quán)重大小一致,權(quán)重濾波器的權(quán)重由初始權(quán)重和特征空間權(quán)重兩部分融合而成,5×5濾波單元的濾波器包含3個(gè)環(huán)級(jí),稱為3級(jí)環(huán)形濾波器。環(huán)形濾波器模板分別作用于二維碼圖像經(jīng)過(guò)分塊處理后的每一個(gè)塊(Image Block),濾波器模板單元作用于二維碼圖像塊上的子塊(Sub-block),每個(gè)子塊包含若干像素值。環(huán)形特征空間權(quán)重濾波器工作原理如圖4。
圖4 環(huán)形特征空間濾波器工作原理
環(huán)形濾波器的分級(jí)數(shù)決定著濾波單元的個(gè)數(shù),n級(jí)環(huán)形濾波器有(2n+1)個(gè)濾波單元,例如5×5個(gè)濾波單元被稱為3級(jí)環(huán)形濾波器。
(1)Ⅰ型權(quán)重。環(huán)形權(quán)重濾波器的初始權(quán)重有效突出了圖像塊中心區(qū)域的特征信息,弱化了邊緣區(qū)域的特征信息,增強(qiáng)了中心區(qū)域特征信息的表達(dá),解決了深色模塊和淺色模塊的分界邊緣受噪聲干擾以及不規(guī)則形變帶來(lái)的特征信息錯(cuò)誤表達(dá)的問(wèn)題。濾波器的不同環(huán)級(jí)賦予不同的權(quán)重?cái)?shù)學(xué)描述如下:
(2)
(2)Ⅱ型權(quán)重(特征空間注意力權(quán)重)。為弱化圖像特征信息受噪聲干擾程度,保證特征信息能夠最大限度表達(dá),特征空間權(quán)重根據(jù)圖像實(shí)際受干擾情況動(dòng)態(tài)調(diào)整權(quán)重大小,當(dāng)特征較為清晰受噪聲干擾較小時(shí)增加該部分特征的信息表達(dá)能力,反之則減少該部分特征的信息表達(dá)能力,有效抑制噪聲信息的干擾。
步驟1:計(jì)算圖像灰度值對(duì)應(yīng)的概率密度函數(shù),求出概率最高的兩個(gè)值對(duì)應(yīng)的灰度值,數(shù)學(xué)描述如下:
Gi=E{MAX[F(g)]}。
(3)
式中:F(g)表示圖像灰度值g對(duì)應(yīng)的概率密度分布函數(shù);MAX(·)為求最大值函數(shù);E(·)為概率對(duì)應(yīng)的灰度值函數(shù);Gi為概率最高值對(duì)應(yīng)的灰度值。
二維碼圖像由深色模塊和淺色模塊兩部分組成,其灰度值的概率密度分布函數(shù)中,深色模塊和淺色模塊對(duì)應(yīng)的灰度值概率最高,當(dāng)概率密度分布函數(shù)中出現(xiàn)其他灰度值時(shí),表明該灰度值受到了噪聲干擾,在一定程度上,灰度值偏離頻率最高的灰度值越遠(yuǎn),則受到的干擾越嚴(yán)重。在單個(gè)深色碼塊或淺色碼塊中,平均灰度值越接近頻率最高的兩個(gè)灰度值,說(shuō)明此碼塊特征表達(dá)越清晰、完整,反之則受噪聲干擾嚴(yán)重。
步驟2:根據(jù)圖像灰度值概率密度分布函數(shù),對(duì)環(huán)形權(quán)重濾波器的不同環(huán)級(jí)特征空間注意力權(quán)重分配不同等級(jí),平均灰度值越接近峰值權(quán)重等級(jí)越高,反之越低。隨著等級(jí)不斷升高,所占權(quán)重不斷增大。
(4)
步驟3:環(huán)形權(quán)重濾波器的最終權(quán)重由初始權(quán)重和特征空間注意力權(quán)重兩部分融合而成,數(shù)學(xué)描述如下:
(5)
W=Z(Fi)。
(6)
OTSU使用的聚類思想將圖像按照灰度特性分為兩類,使得這兩類間的方差最大,此時(shí)的閾值便為圖像的分割閾值。實(shí)際的二維碼圖片,由于光照不均以及噪聲干擾等原因[9],實(shí)際的分割效果無(wú)法達(dá)到應(yīng)用要求,本文在OTSU算法的基礎(chǔ)上考慮干擾因素,融合二維碼圖像的全局閾值和以圖像塊為基礎(chǔ)的局部閾值,得到受光照不均干擾較小,達(dá)到對(duì)圖像塊有較好分割效果的最佳分割閾值。具體計(jì)算過(guò)程如下:
步驟1:根據(jù)圖像塊的位置和大小,計(jì)算得到該圖像塊對(duì)應(yīng)的局部窗口位置和大小,計(jì)算公式:
(7)
式中:m表示圖像塊;h表示圖像塊m的大??;x、y表示圖像塊中心點(diǎn)的坐標(biāo);M表示圖像塊m對(duì)應(yīng)的局部窗口;H表示局部窗口的大??;i、j表示局部窗口中心點(diǎn)的坐標(biāo);Δ表示局部窗口的中心點(diǎn)相對(duì)于圖像塊的中心點(diǎn)的偏移量;α表示局部窗口的大小相對(duì)于圖像塊大小的比例關(guān)系。
步驟2:將通過(guò)OTSU算法計(jì)算得到的二維碼圖像的全局閾值與圖像塊的局部閾值融合,得到圖像塊的最佳分割閾值,數(shù)學(xué)描述如下:
(8)
式中:μ表示利用OTSU算法計(jì)算得到的全局閾值;μM表示圖像塊m對(duì)應(yīng)的局部窗口M利用OTSU算法計(jì)算得到的局部閾值;Tm表示圖像塊m對(duì)應(yīng)的最佳分割閾值;φ表示閾值融合函數(shù)。
根據(jù)最佳閾值的計(jì)算結(jié)果對(duì)圖像塊進(jìn)行閾值分割,數(shù)學(xué)描述如下:
Bm=D(Tm+Gm)。
(9)
式中:Gm表示圖像塊m通過(guò)特種空間注意力機(jī)制計(jì)算得到的加權(quán)灰度值;Tm表示圖像塊m通過(guò)閾值融合得到最佳分割閾值;Bm表示圖像塊m的閾值分割結(jié)果;D為閾值分割函數(shù)。
圖像塊加權(quán)灰度值的大小和權(quán)重濾波器的權(quán)重系數(shù)密切相關(guān),其數(shù)學(xué)描述如下:
(10)
式中:Gm表示圖像塊通過(guò)環(huán)形權(quán)重濾波器計(jì)算得到的平均灰度值;h表示圖像塊的尺寸;W由特征空間注意力機(jī)制得到的環(huán)形權(quán)重濾波器的權(quán)重矩陣;f(x,y)表示當(dāng)前像素坐標(biāo)點(diǎn)(x,y)的灰度值。
比較二維碼圖像塊的加權(quán)灰度值與之相對(duì)應(yīng)的最佳分割閾值,確定二維碼圖像塊是深色碼塊或淺色碼塊,根據(jù)結(jié)構(gòu)對(duì)每一個(gè)圖像塊進(jìn)行重構(gòu),從而完成整張二維碼圖像的重構(gòu)。
為驗(yàn)證本方法的有效性以及適用范圍,本文使用不同恢復(fù)手段對(duì)微小二維碼進(jìn)行放大處理,再經(jīng)FSAR算法對(duì)放大后的二維碼進(jìn)行重構(gòu)。FSAR算法運(yùn)行環(huán)境硬件配置NVIDIA GeForce1080 Ti顯卡,Intel core i7處理器,64位Ubuntu16.04操作系統(tǒng),編程環(huán)境為python3.7。實(shí)驗(yàn)使用微小二維碼數(shù)據(jù)集進(jìn)行測(cè)試,其中包含150張微小二維碼圖像,實(shí)驗(yàn)結(jié)果見(jiàn)表1。
表1 不同處理方法識(shí)別正確率對(duì)比 %
從表1實(shí)驗(yàn)數(shù)據(jù)可以看出,對(duì)比其他二維碼處理方法,本文提出的FSAR算法重構(gòu)出的二維碼正確率顯著提升,相較于直接識(shí)別正確率提高75%,相較于非線性畸變校正算法正確率提升18.75%。FSAR算法使用不同權(quán)重的濾波模板,滿足二維碼圖像的特點(diǎn),在一定程度上提高了清晰特征的信息表達(dá)能力,弱化了噪聲信息的干擾,使得重構(gòu)出的二維碼圖像與原真值二維碼相比,錯(cuò)誤模塊的數(shù)量能夠控制在二維碼的校正容錯(cuò)范圍內(nèi),故二維碼識(shí)別正確率得到顯著提升。
實(shí)驗(yàn)使用本文提出的三級(jí)環(huán)形特征空間注意力權(quán)重濾波器,對(duì)經(jīng)過(guò)超分辨率重建算法擬合出的放大二維碼圖像完成重構(gòu)任務(wù),重構(gòu)結(jié)果如圖5。從微小二維碼數(shù)據(jù)集中隨機(jī)挑選數(shù)據(jù),行(1)是二維碼的完整圖像;行(2)是對(duì)行(1)中局部放大后的圖像。圖5a為二維碼的真值圖像;圖5b為只使用Ⅰ型權(quán)重的重構(gòu)結(jié)果,從圖中可以看出其有兩個(gè)小方框,該方框表明與真值圖像的差異,即圖5b中有兩個(gè)模塊沒(méi)有構(gòu)建正確;圖5c為使用Ⅱ型權(quán)重(特征空間注意力權(quán)重)的重構(gòu)結(jié)構(gòu),從圖中可以看出其中的深淺模塊分布與原真值圖像完全相同。
圖5 重構(gòu)結(jié)果對(duì)比
不同權(quán)重重構(gòu)的結(jié)果見(jiàn)表2。從中可以看出,使用Ⅱ型權(quán)重(特征空間注意力權(quán)重)比使用Ⅰ型權(quán)重重構(gòu)結(jié)果的正確率有所提升。環(huán)形濾波器的Ⅰ型權(quán)重中每一環(huán)級(jí)的權(quán)重值僅使用對(duì)數(shù)函數(shù)形式,而Ⅱ型權(quán)重中每一環(huán)級(jí)的權(quán)重值使用對(duì)數(shù)函數(shù)形式和特征空間注意力權(quán)重融合,在考慮二維碼圖像整體結(jié)構(gòu)特征的同時(shí)能夠兼顧每一張二維碼圖像的不同特征,使得環(huán)形濾波器每一環(huán)級(jí)的權(quán)重隨著二維碼圖像特征改變做出動(dòng)態(tài)化調(diào)整,能夠更好地利用二維碼圖像中每一個(gè)碼塊的特征信息,減少噪聲干擾。
表2 不同權(quán)重重構(gòu)結(jié)果
為進(jìn)一步驗(yàn)證該方法的有效性以及適用范圍,實(shí)驗(yàn)分別使用雙線性插值方法和最近鄰插值方法對(duì)于微小二維碼進(jìn)行放大處理,將放大后的二維碼使用本文提出的FSAR算法重構(gòu)出標(biāo)準(zhǔn)二維碼,比較重構(gòu)的標(biāo)準(zhǔn)二維碼與原二維碼真值的不同,并測(cè)試重構(gòu)出的標(biāo)準(zhǔn)二維碼的正確識(shí)別率。經(jīng)過(guò)雙線性插值方法和最近鄰插值方法放大的二維碼圖像如圖6。
a)雙線性插值 b)最近鄰插值
經(jīng)過(guò)雙線性插值方法和最近鄰插值方法放大的二維碼圖像都出現(xiàn)了不同程度的模糊現(xiàn)象,該模糊圖像直接用于二維碼識(shí)別無(wú)法得到正確的結(jié)果,經(jīng)本文提出的FSAR算法重構(gòu)得出二維碼如圖6c,其中小框形標(biāo)記為錯(cuò)誤碼塊,625個(gè)黑白碼塊中共5塊重構(gòu)錯(cuò)誤,錯(cuò)誤率在二維碼的容錯(cuò)范圍內(nèi),該重構(gòu)圖像用于二維碼識(shí)別,能夠得出正確結(jié)果。實(shí)驗(yàn)對(duì)于微小二維碼數(shù)據(jù)集中的150張圖像使用雙線性插值和最近鄰插值方法進(jìn)行放大處理后,通過(guò)FSAR方法進(jìn)行重構(gòu),識(shí)別正確率為90%,雖然略低于使用超分辨率重建算法處理的微小二維碼圖像,但相比其他算法仍有顯著提升。
實(shí)驗(yàn)中經(jīng)過(guò)雙線性插值放大的二維碼有明顯的模糊現(xiàn)象,經(jīng)過(guò)最近鄰插值放大的二維碼出現(xiàn)較為嚴(yán)重的馬賽克現(xiàn)象,經(jīng)過(guò)本文算法重構(gòu)出的標(biāo)準(zhǔn)二維碼圖像不僅清晰且能被二維碼識(shí)別算法正確識(shí)別,表明該算法對(duì)于二維碼圖像處理有著廣泛的應(yīng)用領(lǐng)域。
針對(duì)微小二維碼直接識(shí)別準(zhǔn)確率較低問(wèn)題,本文提出特征空間注意力微小二維碼重構(gòu)算法FSAR。通過(guò)對(duì)目標(biāo)區(qū)域設(shè)置不同的特征空間注意力權(quán)重,提高有用信息的特征表達(dá)能力。實(shí)驗(yàn)結(jié)果表明,與Ⅰ型權(quán)重機(jī)制相比,特征空間注意力機(jī)制能夠更充分地利用特征信息,對(duì)圖像的適應(yīng)性更強(qiáng),顯著提高二維碼識(shí)別的準(zhǔn)確率。FSAR算法為二維碼識(shí)別提供了一種新的思路,為微小二維碼識(shí)別提供參考。