摘? 要:文章所研究的圖像分割過(guò)程主要分為預(yù)處理、粗定位、精定位三部分;預(yù)處理的目的主要是減少圖像信息量和提升圖像質(zhì)量;粗定位主要分圖像分塊、候選區(qū)域標(biāo)記、區(qū)域生長(zhǎng);候選區(qū)域標(biāo)記通過(guò)Scharr邊緣檢測(cè)算子計(jì)算DM碼梯度方向和梯度幅值,通過(guò)梯度方向和梯度幅值進(jìn)行統(tǒng)計(jì)直方圖計(jì)算,確定候選區(qū)域;區(qū)域生成將在候選區(qū)域進(jìn)行種子生長(zhǎng),完成粗定位;精定位部分結(jié)合由外向里,由里向外進(jìn)行掃描完成DM更精確的定位。
關(guān)鍵詞:二維碼;DM碼;圖像分割
中圖分類(lèi)號(hào):TP391.41? ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2096-4706(2020)22-0091-04
Research on Image Segmentation Technology Applied to
Square Matrix DM Code Location
KANG Sanshun
(Beijing Hanyuan Pharmaceutical Technology Co.,Ltd.,Beijing? 100176,China)
Abstract:The image segmentation process studied in this paper is mainly divided into three parts:preprocessing,coarse positioning and fine positioning;the main purpose of preprocessing is to reduce the amount of image information and improve the image quality;the coarse positioning is mainly divided into image segmentation,candidate region labeling and region growing;the candidate region labeling calculated the DM code gradient direction and gradient amplitude by Scharr edge detection operator,and the candidate region is determined by statistical histogram calculation of gradient direction and gradient amplitude;in the region generation,seed growth will be carried out in the candidate region to complete the coarse positioning;in the fine positioning part,scanning from the outside in and from the inside out will be combined to complete the more accurate positioning of DM.
Keywords:QR code;DM code;image segmentation
0? 引? 言
Data Matrix(DM)碼是一種矩陣式二維條碼,是由美國(guó)國(guó)際資料公司(International Data Matrix)于1989年發(fā)明。每個(gè)DM符號(hào)是由規(guī)則排列的方形或點(diǎn)陣模塊構(gòu)成的數(shù)據(jù)區(qū)組成。在較大的ECC200符號(hào)中,數(shù)據(jù)區(qū)由校正圖形分隔。數(shù)據(jù)區(qū)的四周由定位圖形包圍,定位圖形的四周則由空白區(qū)包圍。DM碼最大特點(diǎn)是尺寸小、儲(chǔ)存信息量大,其最小尺寸是目前所有條碼中最小的碼,所以其特別適用于小零件標(biāo)識(shí),或者直接印刷在實(shí)體上。DM碼采用了復(fù)雜的糾錯(cuò)技術(shù),使得其具有超強(qiáng)的抗干擾能力。當(dāng)前許多手機(jī)零部件信息標(biāo)識(shí)均使用DM碼。根據(jù)糾錯(cuò)方式不同,DM碼可分為兩種:ECC200和ECC000-140。ECC200通過(guò)Reed-Solomon進(jìn)行糾錯(cuò),ECC000-140具有五種不同等級(jí)的卷積糾錯(cuò)功能,包括ECC000、ECC050、ECC080、ECC100和ECC140。ECC000-140只能用于一個(gè)單獨(dú)的部門(mén)同時(shí)控制產(chǎn)品和條碼符號(hào)的識(shí)別,并負(fù)責(zé)整個(gè)系統(tǒng)運(yùn)行的情況,目前ECC200的應(yīng)用更為廣泛。DM碼從模塊形狀上來(lái)說(shuō),分為方陣式和點(diǎn)陣式,一般以方陣式為主。在DM碼圖像的應(yīng)用過(guò)程中,要使用圖像分割定位技術(shù)將圖像中的DM碼從整個(gè)圖像及背景中分割出來(lái)。
目前DM碼定位的方法主要有:利用條碼區(qū)域邊緣角度分布特征,評(píng)價(jià)圖像子區(qū)域是否為條碼區(qū)域;利用灰度信息矩形區(qū)域粗定位,利用灰度方差信息、邊緣和定位模式進(jìn)行求精;將非連續(xù)的定位模式處理成為連續(xù)的,通過(guò)圖像銳化方法去除低頻和高頻成分的差異,使用移動(dòng)窗口的方法平滑銳化圖像;查找類(lèi)馬鞍點(diǎn)結(jié)構(gòu)的方法;找出點(diǎn)集之間對(duì)應(yīng)關(guān)系,計(jì)算坐標(biāo)變換,使用坐標(biāo)變換對(duì)實(shí)時(shí)圖像進(jìn)行矯正。
筆者長(zhǎng)期致力于圖像處理、人工智能等領(lǐng)域的算法研究及計(jì)算機(jī)軟件開(kāi)發(fā),本文研究的二維碼定位技術(shù)可有效應(yīng)用于DM碼的實(shí)際需求中。本文通過(guò)利用梯度方向和梯度值信息定位對(duì)方陣性DM進(jìn)行了研究,最終給出了另外一種實(shí)現(xiàn)方陣型DM定位的具體過(guò)程,并在實(shí)驗(yàn)部分通過(guò)手機(jī)零部件生產(chǎn)線(xiàn)上的圖像集進(jìn)行了實(shí)驗(yàn)及驗(yàn)證,本文方法的適用場(chǎng)景為:
(1)類(lèi)型:支持連續(xù)和有間隔兩種格式;
(2)極性:支持Light-on-dark、Dark-on-light;
(3)旋轉(zhuǎn)和縮放:支持任意角度旋轉(zhuǎn);
(4)投影畸變:支持投影畸變下的DM圖像定位。
1? 定位過(guò)程
1.1? 預(yù)處理
預(yù)處理的主要目的有兩個(gè):
(1)減少圖像數(shù)據(jù)量;
(2)改善圖像質(zhì)量,比如去噪、對(duì)比度增強(qiáng)或形態(tài)學(xué)等操作。
如果需要下采樣,則首先對(duì)搜索區(qū)域內(nèi)圖像進(jìn)行下采樣操作;如果圖像DM碼部分質(zhì)量不好,還需進(jìn)行預(yù)處理改善圖像質(zhì)量,主要的預(yù)處理手段包括以下兩種:
(1)對(duì)比度增強(qiáng):針對(duì)DM碼區(qū)域?qū)Ρ榷容^低導(dǎo)致候選區(qū)域無(wú)法標(biāo)記的情況;
(2)形態(tài)學(xué)處理:針對(duì)DM碼模塊太小導(dǎo)致粗定位或掃描被濾除的情況。
1.2? 粗定位
粗定位在已處理圖像上進(jìn)行。粗定位的目的是得到可能包含DM碼的區(qū)域。粗定位主要分為三個(gè)階段——圖像分塊、候選區(qū)域標(biāo)記和區(qū)域增長(zhǎng)。
1.2.1? 圖像分塊
分塊類(lèi)型一共有四種,在原始分辨率策略下為30×30(常規(guī))、15×15(小尺寸)和10×10(極小尺寸),在下采樣分辨率策略下為15×15(常規(guī))、7×7(小尺寸)和5×5(極小尺寸)。對(duì)大部分情況下的圖像,分塊選擇下采樣策略的常規(guī)分塊就可以保證得到標(biāo)記后的條碼區(qū)域。
1.2.2? 候選區(qū)域標(biāo)記
候選區(qū)域標(biāo)記要確定每一分塊是否可能為DM碼的一部分,因此用于評(píng)價(jià)每一分塊是否為候選區(qū)域的依據(jù)應(yīng)體現(xiàn)DM碼特性。DM碼區(qū)域的邊緣信息豐富,并且呈現(xiàn)正交性,這里采用邊緣梯度幅值和邊緣方向角度信息判斷每一分塊是否可能屬于DM碼區(qū)域。算法中采用3×3大小的Scharr邊緣檢測(cè)算子,計(jì)算整幅圖像的邊緣梯度幅值和邊緣方向角度,并根據(jù)邊緣方向角度統(tǒng)計(jì)邊緣方向角度直方圖,確定是否有滿(mǎn)足條件的主方向,進(jìn)而確定該區(qū)域是否為候選條碼區(qū)域。
因?yàn)镈M碼很多情況下是蝕刻在金屬表面,金屬表面的紋理會(huì)對(duì)DM碼的邊緣信息有所影響,導(dǎo)致方形DM碼計(jì)算出的主方向并不是理想的正交情況。因此,這給出方陣DM碼候選區(qū)域標(biāo)記規(guī)則。
DM碼候選區(qū)域標(biāo)記主要包括Scharr邊緣檢測(cè)、濾除低幅值邊緣點(diǎn)、統(tǒng)計(jì)邊緣方向角度直方圖、角度峰值檢測(cè)、確定候選條碼區(qū)域。
(1)Scharr邊緣檢測(cè):采用3×3大小的Scharr算子對(duì)圖像進(jìn)行邊緣檢測(cè),得到邊緣梯度幅值和邊緣方向角度,Scharr的內(nèi)核大小為3,其內(nèi)核為:
梯度計(jì)算:在兩個(gè)方向求導(dǎo),假設(shè)被作用圖像為I。
水平變化:將I與一個(gè)奇數(shù)大小的內(nèi)核Gx進(jìn)行卷積。Gx的計(jì)算結(jié)果為:
垂直變化:將I與一個(gè)奇數(shù)大小的內(nèi)核Gy進(jìn)行卷積。Gy的計(jì)算結(jié)果為:
在圖像的每一像素上,結(jié)合以上兩個(gè)結(jié)果求出近似梯度:
梯度的方向角為:a(x,y)=arctan();
(2)統(tǒng)計(jì)角度直方圖。為了濾除分塊中只有極少數(shù)峰值點(diǎn)的情況,在統(tǒng)計(jì)邊緣方向角度直方圖之前,首先考慮分塊內(nèi)峰值點(diǎn)個(gè)數(shù)是否達(dá)到閾值,若不滿(mǎn)足要求,認(rèn)為這個(gè)區(qū)域峰值點(diǎn)數(shù)太少,不屬于條碼區(qū)域,否則繼續(xù)處理;
(3)角度峰值檢測(cè)。分析直方圖分布是否有明顯的峰值,并且峰值是否有近似平行(同向)或正交(垂直)性。對(duì)峰值閾值的選取原則為保證真正的峰值不被濾掉,因?yàn)樯弦徊椒逯迭c(diǎn)數(shù)閾值根據(jù)不同模塊類(lèi)型、分塊類(lèi)型和分辨率搜索策略取值不同,這里峰值閾值也需做相應(yīng)調(diào)整??紤]分塊內(nèi)兩段邊緣的情況,這里峰值閾值一般不大于對(duì)應(yīng)參數(shù)下的峰值點(diǎn)數(shù)閾值;
(4)確定候選條碼區(qū)域。對(duì)所有滿(mǎn)足峰值閾值的角度按峰值遞減排序,峰值最大的角度為該分塊主方向的可能性大,判斷所有峰值主角度是否滿(mǎn)足平行或正交性,對(duì)滿(mǎn)足條件的峰值角度進(jìn)行合并,統(tǒng)計(jì)其峰值和,若達(dá)到一定條件(峰值和閾值),進(jìn)而認(rèn)為該分塊為候選條碼區(qū)域。輸入圖1DM碼樣例原圖,即可得圖2候選區(qū)域標(biāo)記效果圖。
1.2.3? 區(qū)域增長(zhǎng)
區(qū)域生長(zhǎng)流程圖如圖3所示。
區(qū)域增長(zhǎng)的目的是在標(biāo)記的候選條碼區(qū)域中,將具有相似特征的分塊生長(zhǎng)到一起,得到完整可能包含DM碼的區(qū)域?;贒M碼整個(gè)區(qū)域的強(qiáng)方向性和其邊界的靜音區(qū),我們采用的兩個(gè)生長(zhǎng)準(zhǔn)則為:相鄰分塊主方向一致性或正交性和相鄰分塊的容忍對(duì)比度變化。
從候選條碼區(qū)域中選取一個(gè)分塊(分塊行列隔行隔列選?。┳鳛榉N子區(qū)域,考慮其8鄰域分塊是否滿(mǎn)足生長(zhǎng)準(zhǔn)則,若滿(mǎn)足則將鄰域分塊加入當(dāng)前生長(zhǎng)區(qū)域,并以此鄰域分塊為中心,繼續(xù)判斷其8鄰域分塊是否滿(mǎn)足生長(zhǎng)準(zhǔn)則,直至都不滿(mǎn)足準(zhǔn)則或者圖像遍歷完,此次生長(zhǎng)停止。若還有其他分塊未遍歷,則以之作為新的種子進(jìn)行區(qū)域生長(zhǎng)得到新的區(qū)域。
具體生長(zhǎng)準(zhǔn)則為:
(1)相鄰分塊與種子分塊的主方向同向或正交方向差異不超過(guò)30度(考慮DM碼有傾斜和畸變的情況,DM碼兩個(gè)主方向可能不是正交,因此將主方向角度差距設(shè)置為30度,可適應(yīng)DM碼的大部分畸變情況);
(2)相鄰分塊的對(duì)比度差異不超過(guò)10個(gè)灰度(既容忍DM碼內(nèi)部有一定的對(duì)比度漸變,也能在DM碼周?chē)鷮?duì)比度有明顯差異時(shí)避免生長(zhǎng)過(guò)多無(wú)效分塊)。
區(qū)域增長(zhǎng)后效果圖如圖4所示。
1.3? 精定位
圖像掃描分為以下步驟:仿射采樣;二值化;由外向里濾除近似全白或全黑的行或列和有效像素變化次數(shù)較少的行或列;由里向外濾除有效像素變化較少的行或列;濾除具有兩段連續(xù)的靜音區(qū)但極性相反的外側(cè)區(qū)域(L邊的干擾)。
1.3.1? 仿射采樣與二值化
為了保證仿射采樣后子圖包含完整的DM碼,將投影得到的仿射矩形區(qū)域長(zhǎng)寬各伸展至原來(lái)的1.1倍。
為了便于精定位,先對(duì)已處理圖像進(jìn)行仿射采樣并二值化處理,作為掃描部分的輸入圖像,其中圖像寬度為Width,圖像高度為Height。
因?yàn)閷?duì)比度變化圖像因DM碼區(qū)域灰度變化導(dǎo)致使用全局閾值效果很差,因此二值化有兩種策略:對(duì)于DM碼部分,有對(duì)比度變化時(shí)使用局部自適應(yīng)閾值,否則使用全局閾值。
1.3.2? 濾除具有兩段連續(xù)的靜音區(qū)但極性相反的外側(cè)區(qū)域(L邊干擾)
首先找到區(qū)域內(nèi)黑白像素變化最大的行和列。然后再?gòu)淖兓畲蟮男谢蛄虚_(kāi)始,分別向上下或左右掃描,直到行或列中黑白像素的突變次數(shù)很小,則統(tǒng)計(jì)當(dāng)前行或列中像素的灰度值累計(jì)和,以此判斷當(dāng)前行或列的極性。
對(duì)于得到的DM碼區(qū)域,有可能周?chē)卸嘤嗟撵o音區(qū),因此再進(jìn)行一次濾除全黑全白的行和列,得到最終掃描的DM碼四條邊界。對(duì)確定的上下左右4條邊界兩兩求交點(diǎn),即可確定DM碼區(qū)域的位置。
精定位后效果圖如圖5所示。
2? 實(shí)驗(yàn)分析
硬件測(cè)試機(jī)配置為處理器:Inter(R)Core(TM)i7-8550U CPU@1.80 GHz 1.99 GHz,內(nèi)存(RAM)為8.00 GB,系統(tǒng)類(lèi)型為64位操作系統(tǒng),基于x64的處理器。
將現(xiàn)有一千余張測(cè)試圖像分成多個(gè)圖像集對(duì)文中算法實(shí)現(xiàn)進(jìn)行了測(cè)試,以?xún)煞N數(shù)據(jù)集的測(cè)試結(jié)果為例:
(1)Light-on-dark:圖像原圖如圖6(a)所示,定位結(jié)果如圖6(b)所示,用時(shí)為5 ms;
(2)Dark-on-light:圖像原圖如圖7(a)所示,定位結(jié)果如圖7(b)所示,用時(shí)為5 ms。
實(shí)驗(yàn)驗(yàn)證本文算法實(shí)現(xiàn)符合預(yù)期對(duì)各種圖像的定位,定位用時(shí)基本可以控制在10 ms內(nèi),相較于其他算法的實(shí)現(xiàn)方案,文中所實(shí)現(xiàn)算法在定位精度高的情況下也能較快定位,可應(yīng)用在大多DM碼定位的實(shí)際環(huán)境中。對(duì)于圖像質(zhì)量極其差的情況,可在進(jìn)行預(yù)處理后,再用此算法定位
3? 結(jié)? 論
針對(duì)DM碼實(shí)際使用過(guò)程中的定位問(wèn)題,利用方陣式DM碼明顯的梯度幅值和梯度方向的統(tǒng)計(jì)直方圖性質(zhì),實(shí)現(xiàn)算法并通過(guò)實(shí)驗(yàn)驗(yàn)證,能夠較好較快地應(yīng)用在方陣式DM碼的定位過(guò)程中。本文在計(jì)算梯度幅值和梯度方向時(shí)采用了Scharr算法,將得到的梯度方向和梯度幅值進(jìn)行直方圖統(tǒng)計(jì)后,再經(jīng)過(guò)類(lèi)似于種子填充算法的區(qū)域增長(zhǎng)策略得到了方陣式DM碼的大致位置,最后再通過(guò)掃描算法實(shí)現(xiàn)了方陣式DM碼的精確定位。但在實(shí)際應(yīng)用時(shí)候,本文提及方法尚存在部分不足:
(1)在DM碼靜音區(qū)周?chē)忻黠@干擾時(shí),DM碼靜音區(qū)的大小需要大于一個(gè)模塊長(zhǎng)度;
(2)當(dāng)DM碼與背景對(duì)比度較低時(shí),需要進(jìn)行預(yù)處理后才能進(jìn)行定位;
(3)尚沒(méi)有兼容點(diǎn)陣式DM碼的定位。
這三個(gè)方面也是本人在后續(xù)優(yōu)化過(guò)程中優(yōu)先考慮的方向。
參考文獻(xiàn):
[1] 張寧.基于攝像方式的二維條碼識(shí)別算法的研究 [D].南京:南京理工大學(xué),2013.
[2] 于英政.QR二維碼相關(guān)技術(shù)的研究 [D].北京:北京交通大學(xué),2014.
[3] 劉美,薛新松,劉廣文,等.對(duì)比度增強(qiáng)的彩色圖像灰度化算法 [J].長(zhǎng)春理工大學(xué)學(xué)報(bào)(自然科學(xué)版),2018,41(5):70-74.
[4] 王娟,王萍.直接零件標(biāo)志條碼區(qū)域定位算法 [J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2014,26(7):1159-1166.
[5] 王偉,何衛(wèi)平,雷蕾,等.污染及多視角下DataMatrix碼精確定位 [J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2013,25(9):1345-1353.
[6] ZHANG C N,MA L,MAO D. A 2D Barcode Recognition System Based on Image Processing [C]//The 2011 International Conference on Electric and Electronics(EEIC 2011).Springer,2011:670-675.
作者簡(jiǎn)介:康三順(1986.02—),男,漢族,甘肅天水人,高級(jí)算法工程師,本科,研究方向:圖像識(shí)別、人工智能、計(jì)算機(jī)應(yīng)用。