喬 羽,沈精虎,于 騰,安 帥,孫 愷
(1.青島大學(xué) 機(jī)電工程學(xué)院,青島 266071;2.青島大學(xué) 電子信息學(xué)院,青島 266071)
PCB的自動(dòng)檢測(cè)在電子制造業(yè)的發(fā)展中起著重要的作用。最常用的檢查系統(tǒng)是AOI[1~3]系統(tǒng)和自動(dòng)X射線檢查(AXI)[4~7]系統(tǒng)。PCB組件安裝技術(shù)包括表面貼裝技術(shù)(SMT)和通孔(TH)技術(shù)。迄今為止,對(duì)TH元件檢測(cè)的研究很少[8]。TH元件比SMT元件更難檢測(cè),因?yàn)橐恍㏕H元件較大會(huì)覆蓋其他組件,并且一些元件的安裝變動(dòng)范圍較大。PCB缺陷可分為裸板缺陷[9~11]、元件缺陷[12]、焊點(diǎn)缺陷[13~15]等。
CRISPIN等[16]提出了一種基于歸一化互相關(guān)模板匹配的遺傳算法,這種方法可以定位SMT元件的位置和角度,這種方法的速度是空間遍歷搜索的六倍。GANAVI等人[17]利用背景提取、模板匹配和小波變換實(shí)現(xiàn)了PCB缺陷的檢測(cè)和分類,缺點(diǎn)是它對(duì)模板和待測(cè)試圖像的對(duì)準(zhǔn)精度要求很高。馮等人[18]提出了一種利用遺傳編程(GP)算法訓(xùn)練GP檢測(cè)器的新方法,該方法不需要PCB元件的原始坐標(biāo),也不需要嚴(yán)格的照明系統(tǒng),并且可以在不同類型的板上工作而不需要再訓(xùn)練。SunDaJ等人[19]提出了一種使用彩色背景提取判別缺陷的解決方案,雖然這種方法可以檢測(cè)較大面積的PCB,但它需要高分辨率的攝像機(jī)以及標(biāo)準(zhǔn)板和待測(cè)試板之間的理想對(duì)準(zhǔn)。李[20]對(duì)PCB圖像的拼接算法進(jìn)行了改進(jìn),并對(duì)權(quán)重檢測(cè)算法進(jìn)行了研究,其優(yōu)點(diǎn)是檢測(cè)PCB元器件的速度快、精度高。目前所提出的檢測(cè)PCB缺陷的技術(shù)很大程度上依賴于嚴(yán)格的照明系統(tǒng)[21~23]。
本文主要研究TH元件的缺陷檢測(cè)。我們的方法是:首先采集一批標(biāo)準(zhǔn)PCB圖像,并對(duì)圖像進(jìn)行對(duì)準(zhǔn),然后訓(xùn)練模板元件,最后將模板元件與待測(cè)試的組件進(jìn)行比較定位缺陷。該方法用較少的標(biāo)準(zhǔn)PCB對(duì)標(biāo)準(zhǔn)模板進(jìn)行訓(xùn)練,在實(shí)驗(yàn)中使用了6個(gè)標(biāo)準(zhǔn)PCB,得到了理想的結(jié)果。事實(shí)上,使用其他數(shù)目的標(biāo)準(zhǔn)PCB也可能會(huì)得到理想的結(jié)果,需要通過實(shí)驗(yàn)驗(yàn)證。
我們的工作主要包括兩個(gè)核心部分,第一部分是訓(xùn)練模板元件。第二部分是利用加權(quán)SSIM算法檢測(cè)丟失的元件和錯(cuò)件。檢測(cè)大體過程如圖1所示。
圖1 整體流程圖
在進(jìn)行PCB對(duì)準(zhǔn)時(shí),我們使用結(jié)構(gòu)化邊緣檢測(cè)(SED)算法和Harris算法提取PCB的兩個(gè)特定點(diǎn)。根據(jù)PCB板的原始信息,將圖像調(diào)整到相應(yīng)的位置和大小。這種方法可以在沒有嚴(yán)格的照明環(huán)境或者高分辨率工業(yè)相機(jī)的情況下達(dá)到高精度。
得到對(duì)準(zhǔn)的PCB之后,提取標(biāo)準(zhǔn)元件和待檢測(cè)元件。通過訓(xùn)練標(biāo)準(zhǔn)元件得到元件權(quán)重矩陣,并采用結(jié)構(gòu)相似性指數(shù)(SSIM)算法來(lái)計(jì)算平均元件和待檢測(cè)元件的相似度矩陣,然后將相似度矩陣和權(quán)重矩陣相乘并通過歸一化處理,對(duì)于每個(gè)待檢測(cè)元件得到一個(gè)最終的相似度值。最后給通過給定的閾值判別元件是否存在缺陷。
下文第1節(jié)描述了PCB權(quán)重矩陣訓(xùn)練方法。第2節(jié)討論了加權(quán)SSIM算法。第3節(jié)為實(shí)驗(yàn)部分。第4節(jié)為結(jié)論和展望。
從六個(gè)標(biāo)準(zhǔn)PCB圖像中提取元件圖像如圖2所示,并根據(jù)它們計(jì)算元件平均圖,如圖3所示。訓(xùn)練權(quán)重圖,訓(xùn)練結(jié)果如圖4所示。
圖2 六個(gè)標(biāo)準(zhǔn)元件圖像
圖3 元件平均圖像
圖4 元件加權(quán)圖
訓(xùn)練過程:首先,輸入六個(gè)標(biāo)準(zhǔn)元件灰度圖像。然后,將元件圖像的大小縮小四倍,以簡(jiǎn)化計(jì)算過程,提高運(yùn)算速度。最后,計(jì)算元件的方差和權(quán)重圖。
方差通過式(1)計(jì)算:
其中E(Xk(i,j)是前k幅圖在像素點(diǎn)(i,j)處的一階均值:
方差值反映了像素灰度值的變化。方差越小,樣本集(i,j)的灰度變化范圍越小,則該點(diǎn)可以更好地反映該點(diǎn)的特征,并且應(yīng)該給予較大的權(quán)重。
本文用標(biāo)準(zhǔn)正態(tài)分布給出了權(quán)系數(shù),即:
圖像對(duì)比是AOI系統(tǒng)中常用的一種檢測(cè)方法。該技術(shù)的基本原理是比較標(biāo)準(zhǔn)模板和待測(cè)試元件之間的像素信息,然后根據(jù)預(yù)設(shè)的閾值判斷是否存在缺陷。傳統(tǒng)技術(shù)編程簡(jiǎn)單,操作速度快,但假陽(yáng)率高。本文在傳統(tǒng)技術(shù)的基礎(chǔ)上,進(jìn)行了改進(jìn)工作。提出了一種將權(quán)重矩陣與像素SSIM相似度矩陣相乘的新方法,較好地反映了兩元件圖像的相似度信息。
1)將圖4的六個(gè)元件的彩色圖像求平均得到如圖2(b)所示的均值圖像;
2)采用滑窗法,計(jì)算每個(gè)窗口位置的待檢測(cè)圖像和均值圖像的SSIM矩陣,滑窗的目的是為了匹配到TH元件的準(zhǔn)確位置;
3)權(quán)重矩陣和SSIM矩陣相乘;
4)歸一化加權(quán)的SSIM矩陣,使矩陣的每一個(gè)元素的變動(dòng)范圍為0~1;
5)對(duì)歸一化的加權(quán)SSIM矩陣求均值;
6)根據(jù)給定的閾值判別待檢測(cè)元件是否有缺陷。流程如圖5所示。
圖5 缺陷判斷流程
常用的相似度計(jì)算技術(shù)有:歐式距離、曼哈頓距離、閔可夫斯基距離余弦相似度、JACARD相似度、皮爾森相關(guān)系數(shù)等。SSIM在PCB檢查中很少使用,但是經(jīng)過實(shí)驗(yàn)發(fā)現(xiàn)SSIM算法較適合PCB元件的缺陷判斷。人類視覺系統(tǒng)對(duì)掌握結(jié)構(gòu)信息具有良好的適應(yīng)性。SSIM從亮度、對(duì)比度和結(jié)構(gòu)三個(gè)方面估計(jì)圖像的視覺質(zhì)量這和人類視覺系統(tǒng)相似。
對(duì)于SSIM算法,首先我們需要計(jì)算亮度對(duì)比參數(shù)L(x,y):
其中μx和μy是兩幅灰度圖像的均值。常數(shù)c1的設(shè)定是為了避免當(dāng)接近0時(shí)候公式無(wú)意義。并且,c1=(k1.l)2,其中l(wèi)圖像的灰度值的取值范圍,并且l=255,k1=0.01。
對(duì)比度比較參數(shù)C以類似的方式計(jì)算:
其中σx和σy是灰度圖像的標(biāo)準(zhǔn)差。其中c2=(k2.l),并且k2=0.03。
S代表結(jié)構(gòu)對(duì)比參數(shù):
其中σxy是灰度圖像的協(xié)方差。
SSIM值由下式得出:
其中α,β,γ>0,為了得到簡(jiǎn)化形式,我們?cè)O(shè)定:α=β=γ=1,并且c3=c2/2。SSIM的最終形式如下:
本節(jié)分析了上述方法的實(shí)用性。首先搭建實(shí)驗(yàn)環(huán)境,然后開發(fā)檢測(cè)系統(tǒng),進(jìn)行實(shí)驗(yàn)以及對(duì)比研究。
本實(shí)驗(yàn)采用五百萬(wàn)像素分辨率的CCD相機(jī)固定在測(cè)試平臺(tái)的中心頂部。為了解決照明不均勻問題,搭建了一個(gè)簡(jiǎn)單的黑箱,該系統(tǒng)配備了統(tǒng)一的分布式白光LED燈。黑箱的要求不嚴(yán)格,只要它能隔絕大部分環(huán)境光?;赪indows 10操作系統(tǒng),該方法是在MATLAB 2016A環(huán)境下開發(fā)的,對(duì)PCB板進(jìn)行了訓(xùn)練和測(cè)試。
實(shí)驗(yàn)結(jié)果如圖6(a)~圖6(c)所示。缺件和錯(cuò)件的區(qū)域用紅色矩形標(biāo)記。
接下來(lái)的實(shí)驗(yàn)比較了加權(quán)和傳統(tǒng)SSIM滑動(dòng)窗算法。選擇圖6所示PCB中的六個(gè)元件A、B、C、D、E、F分別計(jì)算缺件、錯(cuò)件和無(wú)缺陷情況下的相似度值。
表1列出了傳統(tǒng)SSIM算法實(shí)驗(yàn)數(shù)據(jù)。在我們的實(shí)驗(yàn)中,前兩個(gè)待測(cè)PCB用正確的元件組裝起來(lái)。第三和第四個(gè)待測(cè)PCB在所有的A~F位置不組裝元件。第五個(gè)待測(cè)PCB裝配在A~F位置組裝錯(cuò)誤的元件。
表2列出了加權(quán)SSIM算法的實(shí)驗(yàn)結(jié)果。實(shí)驗(yàn)手段類似于上一個(gè)實(shí)驗(yàn)。唯一的區(qū)別是,這個(gè)測(cè)試使用的是加權(quán)SSIM算法,而不是傳統(tǒng)的SSIM算法。
為了對(duì)比實(shí)驗(yàn)數(shù)據(jù),根據(jù)表1和表2中的數(shù)據(jù)將實(shí)驗(yàn)結(jié)果繪制成折線圖,如圖7和圖8所示。
通過試驗(yàn)發(fā)現(xiàn)0.43是適當(dāng)?shù)拈撝怠倪@兩幅折線圖可以很明顯的得出結(jié)論,加權(quán)SSIM比傳統(tǒng)的SSIM算法判斷缺陷更準(zhǔn)確。
圖6 實(shí)驗(yàn)結(jié)果
表1 SSIM傳統(tǒng)SSIM算法的實(shí)驗(yàn)數(shù)據(jù)
表2 SSIM加權(quán)SSIM算法的實(shí)驗(yàn)數(shù)據(jù)
圖7 傳統(tǒng)SSIM實(shí)驗(yàn)數(shù)據(jù)
本文提供了一種解決現(xiàn)有光學(xué)檢測(cè)技術(shù)局限性的解決方案,并提出了一種針對(duì)插件PCB的錯(cuò)件和缺件的檢查方法。該檢測(cè)系統(tǒng)提出了一種一種PCB元件缺陷判斷算法——加權(quán)SSIM算法。這種方法的優(yōu)點(diǎn)如下:
1)只需要很少的標(biāo)準(zhǔn)的PCB完成訓(xùn)練工作,在實(shí)際適用中,便于操作,節(jié)省編程時(shí)間。
2)該方法檢測(cè)錯(cuò)件和漏件準(zhǔn)確。
這種方法缺點(diǎn)是滑窗的缺點(diǎn)是運(yùn)行速度較慢。本文只給出了錯(cuò)件和漏件的檢測(cè)方案,其他類型的缺陷檢測(cè)(如字符檢測(cè)、SMT元件缺陷檢測(cè)、焊點(diǎn)缺陷檢測(cè)等)也可以嘗試用加權(quán)SSIM算法進(jìn)行檢測(cè)。