舒 軍, 李 靈, 鄧明舟
(1 湖北工業(yè)大學(xué)電氣與電子工程學(xué)院, 湖北 武漢 430068;2 湖北工業(yè)大學(xué)太陽能高效利用及儲(chǔ)能運(yùn)行控制湖北省重點(diǎn)實(shí)驗(yàn)室,湖北 武漢 430068)
PCB數(shù)碼噴印技術(shù)作為一種高效、高精度的新型PCB字符噴繪解決方案,在縮短生產(chǎn)周期、提高產(chǎn)品質(zhì)量、降低生產(chǎn)成本和減少環(huán)境污染等方面有顯著優(yōu)勢(shì),該技術(shù)正在逐步取代傳統(tǒng)PCB制造工藝。在PCB數(shù)碼噴印中,配準(zhǔn)算法的目的是尋找基板圖像中的Mark點(diǎn)位置,而Mark點(diǎn)的多樣性以及與焊盤、導(dǎo)線等非目標(biāo)因子的相似性是PCB圖像配準(zhǔn)主要技術(shù)難點(diǎn)。
2012年,郭峰林等學(xué)者[1]采用特征線匹配的方法,并提取邊緣信息作為特征對(duì)Mark點(diǎn)配準(zhǔn),該方法對(duì)邊緣信息的完備性依賴較高。2013年,管士勇等學(xué)者[2]采用特征點(diǎn)匹配的方法,提取圖像中低維描述符KPB-SIFT[3]作為特征進(jìn)行匹配,在仿射變換、遮擋、視角變化等復(fù)雜環(huán)境下具有一定穩(wěn)定性,但KPB-SIFT提取算法計(jì)算量大、效率較低。2015年,岑譽(yù)等[4]采用模板匹配的方法,利用權(quán)重式橢圓擬合對(duì)PCB圖像中Mark點(diǎn)配準(zhǔn),類似的還有熊光潔[5]基于Hough變換的Mark點(diǎn)快速定位方法、Liu[6]基于隨機(jī)圓( randomized circle detection, RCD) 檢測(cè)的定位方法,上述方法對(duì)圓形Mark點(diǎn)配準(zhǔn)精度較高,但對(duì)多類型的Mark點(diǎn)識(shí)別存在局限性。2019年,劉俊鋒[7]設(shè)計(jì)了一種基于多相機(jī)的大尺寸PCB定位系統(tǒng),采用改進(jìn)的歸一化互相關(guān)性配準(zhǔn)方法(normalized cross correlation, NCC)Mark點(diǎn)實(shí)時(shí)查找,該方法實(shí)時(shí)性高,但系統(tǒng)由多處理器分布式計(jì)算,要求較高的硬件成本。同年,Wei等學(xué)者[8]基于深度神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)PCB精確配準(zhǔn)和定位,結(jié)合支持向量回歸(SVR)的簡單多層感知器(MLP)、卷積神經(jīng)網(wǎng)絡(luò)模型對(duì)PCB圖像進(jìn)行配準(zhǔn),精度明顯高于傳統(tǒng)算法,但時(shí)間效率較低,且缺少足夠樣本訓(xùn)練,深度學(xué)習(xí)的方法在本文應(yīng)用存在較大局限性。
模板匹配采用單一或低維度特征比對(duì),在效率上高于其他算法,但全局遍歷圖像需要占用大量的內(nèi)存資源,對(duì)高分辨率PCB圖像配準(zhǔn)效率受限,無法滿足實(shí)時(shí)性。進(jìn)一步分析特征點(diǎn)匹配和模板匹配的特點(diǎn),發(fā)現(xiàn)特征點(diǎn)匹配在特征點(diǎn)的描述、查找、多維度特征比對(duì)上,花費(fèi)大量時(shí)間,導(dǎo)致時(shí)間復(fù)雜度較高;而模板匹配則是采用單一或低維度特征進(jìn)行圖像全局比對(duì),精度較差。本文在特征點(diǎn)匹配和模板匹配的基礎(chǔ)上對(duì)PCB圖像配準(zhǔn)技術(shù)進(jìn)一步研究。

(1)
歸一化相關(guān)性模板匹配的核心思路是歸一化待匹配目標(biāo)之間的相關(guān)程度。假設(shè)參考圖像T的寬高為w×h,待匹配圖像G的寬高為W×H,則模板圖像T與待匹配圖像G在位置(x,y)處的相關(guān)系數(shù)ρ定義為:
(2)

(3)
通過公式(3)可知,基于歸一化互相關(guān)性的圖像配準(zhǔn)總算法時(shí)間復(fù)雜度為O(n×m×h0×h1),即需要遍歷CS與CR中所有點(diǎn)的組合,對(duì)于PCB圖像配準(zhǔn),存在大量關(guān)鍵點(diǎn),即n和m較大,是算法效率的主要約束。另外,由公式(2)可知,關(guān)鍵點(diǎn)的特征塊gj大小h1直接影響相關(guān)系數(shù),在配準(zhǔn)精度和效率方面均有影響。若特征塊選取過大,對(duì)于相關(guān)系數(shù)相差過多的候選點(diǎn)會(huì)產(chǎn)生大量的冗余計(jì)算,算法效率較低。若特征塊選取過小,關(guān)鍵點(diǎn)周圍的灰度信息無法表達(dá)完備,配準(zhǔn)誤差增加。
分別針對(duì)以上兩個(gè)問題,進(jìn)行如下優(yōu)化。候選點(diǎn)集的優(yōu)化,分析PCB圖像中關(guān)鍵點(diǎn),發(fā)現(xiàn)正確配準(zhǔn)點(diǎn)的空間距離偏移量變化較低。針對(duì)這一特性,本文通過計(jì)算關(guān)鍵點(diǎn)間的歐氏距離關(guān)系建立配準(zhǔn)點(diǎn)的空間特征向量,并基于統(tǒng)計(jì)濾波器(statistical outlier removal,SOR)的方法將相關(guān)性較低的配準(zhǔn)點(diǎn)剔除,以此得到關(guān)鍵點(diǎn)集CS中每個(gè)點(diǎn)的候選點(diǎn)集;特征塊的優(yōu)化,則通過分析特征塊大小對(duì)相關(guān)系數(shù)的影響,提出一種自適應(yīng)的特征塊選取算法。基于動(dòng)態(tài)規(guī)劃(dynamic programming,DP)的思想,將特征塊邊長h1的設(shè)定問題轉(zhuǎn)化為多階段決策問題,利用廣度優(yōu)先搜索方法(breadth-first search,BFS)動(dòng)態(tài)擴(kuò)大特征塊邊界,通過“剪枝”的方法截止搜索,提高特征塊質(zhì)量,減少配準(zhǔn)誤差并提高效率。
統(tǒng)計(jì)濾波器[9]是利用圖像的局部統(tǒng)計(jì)特征剔除離群點(diǎn),其中離群點(diǎn)是指特征值與統(tǒng)計(jì)特征值偏差較大的點(diǎn)。該方法的思想是對(duì)每一個(gè)點(diǎn)的鄰域做統(tǒng)計(jì)分析,計(jì)算該點(diǎn)到所有臨近點(diǎn)的平均距離作為局部特征值,將特征值在統(tǒng)計(jì)特征范圍之外的點(diǎn)定義為離群點(diǎn),其中統(tǒng)計(jì)特征范圍由所有特征值計(jì)算均值和標(biāo)準(zhǔn)差決定。
在圖像配準(zhǔn)前需分別提取參考圖像和浮動(dòng)圖像的關(guān)鍵點(diǎn)集CS和CR,分析Mark點(diǎn)圖像的特點(diǎn)可以看出,關(guān)鍵點(diǎn)信息多集中于角點(diǎn)上,采用SUSAN角點(diǎn)檢測(cè)[10]的方法得到關(guān)鍵點(diǎn)集,該方法通過鄰域像素值比較來確定角點(diǎn)。考慮兩幅圖像的關(guān)鍵點(diǎn)提取算法相互獨(dú)立,在程序中采用多線程處理。

1)建立領(lǐng)域,計(jì)算各階矩,公式如下:




3)確定統(tǒng)計(jì)范圍,分別通過下式計(jì)算局部特征值集合的均值μ和標(biāo)準(zhǔn)差σ。


圖 1 圖像塊對(duì)相關(guān)系數(shù)的影響實(shí)驗(yàn)圖
分析圖1d,發(fā)現(xiàn)正確候選點(diǎn)的相關(guān)系數(shù)ρ隨著特征塊h1的增加而單調(diào)遞增,但錯(cuò)誤候選點(diǎn)當(dāng)h1=20時(shí)出現(xiàn)明顯的特征錯(cuò)誤(圖1f),使得ρ在[20,30]區(qū)間單調(diào)下降。


圖 2 動(dòng)態(tài)規(guī)劃流程圖
在設(shè)計(jì)動(dòng)態(tài)規(guī)劃時(shí),邊界條件選擇和狀態(tài)轉(zhuǎn)移方程的設(shè)計(jì)如下:
1)邊界條件選擇
2)狀態(tài)轉(zhuǎn)移方程
通過動(dòng)態(tài)規(guī)劃思想,將主要問題轉(zhuǎn)化為每一階段的小問題,即h1的增加對(duì)ρ的影響,因此需將式(2)轉(zhuǎn)化為迭代式。為便于分析,對(duì)原公式歸納整理如下:
其中:
通過整理易知,Stg(t,g)為參考特征塊t對(duì)浮動(dòng)特征塊g在尺度h1下的卷積運(yùn)算,Stt(t)和St(t)分別為參考特征塊t在尺度h0下的像素灰度平方和以及灰度和,Sgg(g)和Sg(g)分別為浮動(dòng)特征塊g在尺度h1下的像素灰度平方和以及灰度和。
上述公式均有累加性質(zhì),將ρ(t,g)中累加順序改為將候選點(diǎn)作為起始點(diǎn)的廣度優(yōu)先搜索,如圖3a所示,對(duì)于h1=n+1階段的相關(guān)系數(shù)ρ(tn+1,gn+1)可以由h1=n時(shí)的Stg、Sgg、Sg并加入邊界區(qū)域,即圖3(b)中g(shù)n+1∩gn區(qū)域,求得。

圖 3 廣度優(yōu)先搜索示意圖
則Stg(tn+1,gn+1)和Sgg(gn+1)可寫成迭代式,如下式所示,Sg同理,得到對(duì)于相關(guān)系數(shù)ρ的狀態(tài)轉(zhuǎn)移方程ρ(tn+1,gn+1)。

3)決策設(shè)置
通過分析圖1可知,隨著h1的增加,當(dāng)相關(guān)系數(shù)ρ下降時(shí),可直接設(shè)定該點(diǎn)為錯(cuò)誤候選點(diǎn)。因此,當(dāng)ρ(tn+1,gn+1)<ρ(tn,gn)時(shí),決策當(dāng)前點(diǎn)為錯(cuò)誤候選點(diǎn),結(jié)束迭代;否則繼續(xù)迭代,即增加h1,進(jìn)入下一階段,直到達(dá)成邊界條件。
將PCB圖像(圖4b)與Gerber圖像(如圖4b)中對(duì)應(yīng)目標(biāo)區(qū)域的關(guān)鍵點(diǎn)進(jìn)行匹配,篩選出配準(zhǔn)點(diǎn)集。其中PCB圖像分割采用了馬爾科夫隨機(jī)場(chǎng)模型(markov random field, MRF)[12]的圖像分割算法。擬定目標(biāo)區(qū)域有兩種,第一種對(duì)于PCB上Mark點(diǎn)區(qū)域,第二種是銅層區(qū)域。PCB配準(zhǔn)算法由三個(gè)步驟組成(圖5),分別為關(guān)鍵點(diǎn)提取和本文改進(jìn)的候選點(diǎn)優(yōu)化、特征塊優(yōu)化。

圖 4 PCB圖像分割樣本局部示意圖

圖 5 改進(jìn)的NCC圖像配準(zhǔn)流程圖

算法1 候選點(diǎn)優(yōu)化算法
輸入:關(guān)鍵點(diǎn)集CS,關(guān)鍵點(diǎn)集CR
輸出:候選點(diǎn)集C*
步驟1:分別遍歷CS和CR,計(jì)算各階矩。得到PCB圖像和Gerber圖像的質(zhì)心坐標(biāo);
步驟2:分別遍歷CS和CR,計(jì)算各點(diǎn)的方向特性。得到方向特性集合θS和θR;




步驟7:跳轉(zhuǎn)到步驟6,直到遍歷CS和遍歷CR結(jié)束。得到關(guān)鍵點(diǎn)集CS對(duì)應(yīng)的候選點(diǎn)集C*。
算法2 基于特征點(diǎn)優(yōu)化的配準(zhǔn)算法
輸入:關(guān)鍵點(diǎn)集CS,候選點(diǎn)集C*
輸出:配準(zhǔn)點(diǎn)對(duì)集合CSR


步驟4:比較當(dāng)前h1=n階段與上一階段(h1=n-1)的相關(guān)系數(shù)ρ。若遞減則結(jié)束搜索;反之,進(jìn)入下一階段,即h1=n+1;

步驟6:跳轉(zhuǎn)到步驟1,直到遍歷CS結(jié)束。得到最終的配準(zhǔn)點(diǎn)對(duì)集合CSR。
綜上所述,候選點(diǎn)優(yōu)化算法的時(shí)間復(fù)雜度為O(n×m),基于特征點(diǎn)優(yōu)化的配準(zhǔn)算法的時(shí)間復(fù)雜度為

實(shí)驗(yàn)樣本按工藝的不同分為三類,分別為硬質(zhì) PCB圖像、柔性 PCB圖像、 PCB銅層圖像,每類樣本包含50張圖像,樣本局部如圖6所示。采用基于馬爾科夫隨機(jī)場(chǎng)模型(MRF)[12]的圖像分割算法對(duì)各類原始PCB圖像分割,分割效果如圖7所示。圖像配準(zhǔn)是PCB數(shù)碼噴印系統(tǒng)中機(jī)器視覺算法的一個(gè)中間環(huán)節(jié),輸入為分割后的PCB圖像,輸出為配準(zhǔn)點(diǎn)集。從候選點(diǎn)集和特征塊兩個(gè)方面進(jìn)行優(yōu)化。首先確定配準(zhǔn)算法的實(shí)驗(yàn)設(shè)置和評(píng)價(jià)指標(biāo);再分別對(duì)提出的候選點(diǎn)集和特征塊優(yōu)化算法有效性實(shí)驗(yàn),分別在精度、效率和魯棒性三個(gè)方面,驗(yàn)證優(yōu)化配準(zhǔn)算法的有效性和優(yōu)勢(shì)。

圖 6 樣本局部示意圖

圖 7 MRF算法分割效果圖
樣本根據(jù)PCB板面寬度不同分為5 cm、10 cm、20 cm、50 cm四組樣本,每組樣本分別為呈現(xiàn)不同程度的剛性變換的10幅圖像。在提出的候選點(diǎn)和特征塊優(yōu)化算法上分別進(jìn)行實(shí)驗(yàn),隨機(jī)取一組樣本的局部區(qū)域?qū)蜻x點(diǎn)優(yōu)化過程可視化展現(xiàn),并分析優(yōu)化前后的精度率和效率的變化。此外,對(duì)于工業(yè)現(xiàn)場(chǎng)中出現(xiàn)的配準(zhǔn)目標(biāo)剛性變換條件下,進(jìn)行魯棒性測(cè)試。最后,通過與文獻(xiàn)[3]、[8]、[7]方法實(shí)驗(yàn)對(duì)比,驗(yàn)證本文算法的可靠性。
在評(píng)價(jià)指標(biāo)方面,圖像配準(zhǔn)精度由匹配率和正確率構(gòu)成。匹配率等于匹配數(shù)除以關(guān)鍵點(diǎn)數(shù),主要度量候選點(diǎn)集的質(zhì)量,匹配數(shù)不變的情況下,候選點(diǎn)集越少配準(zhǔn)率越高,說明候選點(diǎn)集的質(zhì)量越好,反之則質(zhì)量越差;正確率等于正確配準(zhǔn)數(shù)除以匹配數(shù),主要度量配準(zhǔn)效果,若配準(zhǔn)點(diǎn)集中人工標(biāo)定的正確配準(zhǔn)點(diǎn)越多則正確率越高,說明配準(zhǔn)方法的有效性。
采用統(tǒng)計(jì)濾波的方法對(duì)候選點(diǎn)中的離群點(diǎn)剔除。為證明該方法剔除離群點(diǎn)的有效性與配準(zhǔn)算法的匹配率和效率優(yōu)勢(shì),本節(jié)實(shí)驗(yàn)將首先通過部分樣本的候選點(diǎn)集優(yōu)化前后進(jìn)行可視化比對(duì),再統(tǒng)計(jì)配準(zhǔn)算法的匹配率和效率,分析優(yōu)化前后對(duì)配準(zhǔn)算法的影響。圖8將PCB圖像關(guān)鍵點(diǎn)對(duì)應(yīng)的Gerber圖像關(guān)鍵點(diǎn)集的優(yōu)化效果可視化。

圖 8 候選點(diǎn)集優(yōu)化效果圖
將圖8b與圖8c中灰色點(diǎn)數(shù)量對(duì)比可以看出,優(yōu)化后的候選點(diǎn)集數(shù)量明顯減少。該實(shí)驗(yàn)表明,通過統(tǒng)計(jì)濾波可以有效保留正確配準(zhǔn)點(diǎn),且有效濾除錯(cuò)誤點(diǎn)。
進(jìn)一步地,將Gerber圖像做旋轉(zhuǎn)等處理,測(cè)試該方法在剛體變換下的魯棒性(圖9)。從圖9中可以看出,在剛體變換下,該方法依然可以較好地濾除錯(cuò)誤點(diǎn),保留正確配準(zhǔn)點(diǎn)。

圖 9 剛體變換下優(yōu)化效果圖
表1展示了候選點(diǎn)優(yōu)化前后對(duì)樣本的配準(zhǔn)精度和效率比對(duì)實(shí)驗(yàn),此實(shí)驗(yàn)未加入特征塊優(yōu)化,選用h1=60的特征塊大小。

表1 優(yōu)化前后匹配率
由表1知,對(duì)候選點(diǎn)優(yōu)化后,可大幅度減少候選點(diǎn)數(shù)量,提高配準(zhǔn)率,并縮短算法的時(shí)間復(fù)雜度。綜上所述,提出的基于統(tǒng)計(jì)濾波優(yōu)化候選點(diǎn)可有效濾除錯(cuò)誤候選點(diǎn),提高配準(zhǔn)精度和效率。
候選點(diǎn)優(yōu)化的基礎(chǔ)上,本章提出動(dòng)態(tài)規(guī)劃思想確定特征塊長度,達(dá)到特征塊優(yōu)化的目的。為證明該方法的有效性,本節(jié)實(shí)驗(yàn)將在前一節(jié)實(shí)驗(yàn)的基礎(chǔ)上,對(duì)特征塊優(yōu)化前后的正確率和效率進(jìn)行實(shí)驗(yàn)。表2展示了圖8樣本的特征塊優(yōu)化前后匹配率、正確率和配準(zhǔn)時(shí)間的變化,其中特征塊優(yōu)化前實(shí)驗(yàn)為上節(jié)候選點(diǎn)優(yōu)化的結(jié)果。

表2 優(yōu)化前后匹配率
由表2知, 精度上, 優(yōu)化后匹配率有一定程度的下降, 而正確率大幅度提升, 原因是特征塊大小若設(shè)置為固定閾值, 可能存在較多錯(cuò)誤點(diǎn), 從而匹配率較高, 但正確率較低; 效率上, 優(yōu)化后的配準(zhǔn)時(shí)間大幅度減小, 提取部分關(guān)鍵點(diǎn)的特征塊h的取值可以發(fā)現(xiàn)原因, 如圖10展示了選取部分改進(jìn)后的迭代截止點(diǎn)時(shí)的特征塊大小, 圖中灰色圓圈標(biāo)注的點(diǎn)為正確配準(zhǔn)點(diǎn), 其他點(diǎn)為錯(cuò)誤候選點(diǎn)。 當(dāng)出現(xiàn)錯(cuò)誤配準(zhǔn)點(diǎn)時(shí), 動(dòng)態(tài)規(guī)劃可以提前跳出迭代, 減少冗余計(jì)算, 因此降低了原配準(zhǔn)時(shí)間復(fù)雜度O(n×m×h0×h1)中的h1, 大大減少配準(zhǔn)時(shí)間。

圖10 動(dòng)態(tài)規(guī)劃特征塊h取值
在分割后的基板圖像提取連通域并遍歷,將連通區(qū)域的局部圖像作為參考圖像。再遍歷初始化中的Mark點(diǎn)索引,將每個(gè)Mark點(diǎn)的Gerber圖像作為浮動(dòng)圖像。程序主線程對(duì)參考圖像基于SUSAN算法提取關(guān)鍵點(diǎn)CS,并分配子線程對(duì)浮動(dòng)圖像提取關(guān)鍵點(diǎn)CR。配準(zhǔn)算法采用改進(jìn)的NCC算法步驟進(jìn)行,先對(duì)候選點(diǎn)優(yōu)化,輸入關(guān)鍵點(diǎn)集CS和CR,輸出候選點(diǎn)集C*,然后基于特征點(diǎn)優(yōu)化的配準(zhǔn)算法,最后輸出配準(zhǔn)點(diǎn)對(duì)集合CSR。表3展示算法改進(jìn)前后對(duì)于各PCB實(shí)驗(yàn)樣本的平均正確率和配準(zhǔn)時(shí)間。

表3 優(yōu)化前后匹配率
由表3知,優(yōu)化后的配準(zhǔn)正確率在小面幅(寬度10 cm內(nèi))樣本上可在98%左右,在大面幅50 cm樣本可控制在96%以上,有效提升配準(zhǔn)精度;配準(zhǔn)效率方面,優(yōu)化后的配準(zhǔn)時(shí)間有大幅度提升,小面幅樣本配準(zhǔn)時(shí)間在0.5 s以內(nèi),大面幅樣本配準(zhǔn)時(shí)間在7 s左右。結(jié)合硬件環(huán)境分析,配準(zhǔn)算法采用的是并發(fā)計(jì)算,每個(gè)線程占用的內(nèi)存資源峰值是配準(zhǔn)效率的主要約束條件,通過候選點(diǎn)集優(yōu)化減少關(guān)鍵點(diǎn)匹配計(jì)算次數(shù),使得并發(fā)率提高,因此配準(zhǔn)效率具有較大提高。改進(jìn)的NCC配準(zhǔn)效果見圖11,其中灰色連線將配準(zhǔn)點(diǎn)的坐標(biāo)位置可視化。

圖11 配準(zhǔn)效果圖
為驗(yàn)證算法的可靠性,將樣本組改為100 mm、300 mm、600 mm,通過與文獻(xiàn)[3]、[8]、[7]方法作實(shí)驗(yàn)對(duì)比,配準(zhǔn)算法的效率對(duì)比圖

圖12 不同配準(zhǔn)算法的效率對(duì)比圖
通過圖12可以發(fā)現(xiàn),文獻(xiàn)[3]采用的KPB-SIFT依賴多維度特征,配準(zhǔn)效率遠(yuǎn)低于文獻(xiàn)[7]和本文算法,而該現(xiàn)象在基于深度神經(jīng)網(wǎng)絡(luò)的文獻(xiàn)[8]方法中更為明顯;文獻(xiàn)[7]改進(jìn)傳統(tǒng)NCC算法,適應(yīng)分布式計(jì)算,但時(shí)間復(fù)雜度依然略高于本文算法。提出的Fast-NCC配準(zhǔn)算法可有效提高配準(zhǔn)正確率和效率,本節(jié)實(shí)驗(yàn)證明了該優(yōu)化方法的有效性。
針對(duì)PCB數(shù)碼印刷系統(tǒng)中NCC圖像配準(zhǔn)效率低的問題,從候選點(diǎn)集和特征塊兩個(gè)角度進(jìn)行優(yōu)化。實(shí)驗(yàn)表明,該方法對(duì)于寬度在10 cm以內(nèi)的PCB配準(zhǔn)正確率在98%左右,配準(zhǔn)效率在0.5 s以內(nèi);對(duì)于寬度在20 cm以上的PCB配準(zhǔn)正確率在97%左右,配準(zhǔn)效率在1~7s。提出的改進(jìn)方案可有效提高配準(zhǔn)精度和效率。