摘要:表面安裝PCB板的自動檢測是保證質(zhì)量、減少制造廢品浪費和返工的要求。本文研究定位和識別SMD檢測圖像中的多個對象的方法。表面安裝器件檢測的主要難點之一是元件放置的檢測。元件放置缺陷如漏貼、偏位或者是錯誤的旋轉(zhuǎn)元件是主要缺陷必須在回流焊之前或之后進(jìn)行檢測。本文的重點在于定位多對象的對像識別技術(shù);使用灰色模型匹配來為一組元件創(chuàng)建通用的模板。研究中使用標(biāo)準(zhǔn)化互相關(guān)模板匹配方法并對限制搜索區(qū)域以減少計算量的方法進(jìn)行測試。查找模板位置的方法使用了一個遺傳算法,性能優(yōu)越。最后列出了對典型的PCB圖像的實驗結(jié)果。
關(guān)鍵詞:PCB制造;元件檢測;模板匹配;遺傳算法
5 搜索方法
模板匹配的搜索可以使用一個啟化式的方法如遺傳算法。結(jié)束搜索的判斷條件由計算的NCC值決定。實驗發(fā)現(xiàn),0.65的NCC值是一個理想的表示找到模板匹配,停止搜索的結(jié)束條件。
5.1 遺傳算法搜索
遺傳算法是一個基于種群(population-based)的概率搜索算法。其使用模擬自然選擇和生物遺傳機(jī)制(mechanics)的算子。遺傳算法開始建立一個解集的隨機(jī)種群及計算每個成員的適應(yīng)度值(如NCC值)。將適應(yīng)度值作為依據(jù),從種群中選擇一個子集作為父母。這些父母組合產(chǎn)生新一代的解集稱之為子代。將這些新集取代原種群的一些成員,然后計算新的適應(yīng)度值。重復(fù)這樣的選擇和使用適應(yīng)度值來產(chǎn)生新的種群的過程。當(dāng)種群進(jìn)化,也更接近最優(yōu)解。
遺傳算法搜索邊緣像素(圖5)執(zhí)行時,使用一個indices determining邊緣位置(x,y)坐標(biāo)種群,和indices determining角度種群。不同的電阻對象在圖像中的旋轉(zhuǎn)角度可能不同。因此,定義了代表模板角度的角度變量。一般電阻的放置角度為0、90、180、270,所以角度向量限制為這四個值。只使用四個角度的缺點是實際的旋轉(zhuǎn)角度可能是不確定的;優(yōu)點是保持低的計算量。
通過在對應(yīng)的邊緣位置(x, y)坐標(biāo)和角度計算NCC值,給每個父代(如邊緣位置和角度indices)分配一個適應(yīng)度值。使用Roulette-wheel selection來選擇父代,然后對父代使用線性組合產(chǎn)生新的子代,用以下方程的計算。
(3)
其中a是值為0到1的隨機(jī)權(quán)數(shù)。如果有需要,用一個寬度值來擴(kuò)展子代的范圍。
遺傳算法能夠好的解決單解問題,因此需要一個機(jī)制,當(dāng)找到一個模板匹配時,讓GA找到另一個解。當(dāng)在源圖像找到一個NCC值大于0.65(找到一個好的模板匹配)的位置時,在源圖像將和模板一致的區(qū)域用一個反色的模板圖像替換。一旦發(fā)生模板匹配,這個方法有效的封閉出一個區(qū)域。當(dāng)找出所有元件,算法即結(jié)束。
使用遺傳算法檢測PCB過程如圖7所示,用Matlap實現(xiàn)。首先,離線創(chuàng)建通用模板和設(shè)置對象的數(shù)量。然后,然后獲取被檢測PCB的圖像,應(yīng)用查找對象及他們的位置和旋轉(zhuǎn)角度的算法。如果位置和旋轉(zhuǎn)角度等于期望值,則被測PCB通過質(zhì)量檢查。
圖7 遺傳算法模板圖像搜索流程圖
6 應(yīng)用和結(jié)果
本章測試和比較基于通用模板的不同的多對象識別技術(shù)。結(jié)果如表1所示。對標(biāo)準(zhǔn)化互相關(guān)(NCC)和最大可能模板匹配方法使用完全搜索非壓縮源圖像方法進(jìn)行了比較。算法使用圖3的通用模板對圖2的6個5110和1001貼片電阻進(jìn)行定位。結(jié)果表明NCC模板匹配方法比最大可能匹配方法快4倍多。使用最大可能方法,協(xié)方差矩陣的計算非常耗時。然后,對在一個預(yù)先確定的矩形區(qū)域,圍繞每個已知元件目標(biāo)點,使用局部搜索的方法進(jìn)行了測試。這個方法大大減少了搜索時間。
如果元件錯件和偏位,局部搜索方法就會失敗。在這種情況下,需要對整個源圖像進(jìn)行搜索來查找錯誤放置的對象。之前討論的Canny邊緣壓縮方法可以用來減少搜索點的數(shù)量,對完全搜索和遺傳算法分別進(jìn)行了實驗并獲得了結(jié)果。GA的模板位置搜索比完全搜索快6倍左右。
表1 結(jié)果
方法 |
執(zhí)行時間(s) |
最大可能非壓縮完全搜索 |
3303 |
NCC非壓縮完全搜索 |
737.2 |
NCC Canny邊緣壓縮完全搜索 |
230.8 |
NCC對象目標(biāo)點局部搜索 |
47.5 |
NCC Canny邊緣壓縮GA搜索 |
39.5 |
為了找出一個最優(yōu)參數(shù)來使遺傳算法的執(zhí)行時間最小化,進(jìn)行了實驗統(tǒng)計分析。初始實驗確定可控參數(shù)的范圍,如種群大小、重組百分比、線性重組寬度、突變百分比。然后進(jìn)行兩組實驗獲得兩組值的范圍。第一組實驗使用種群值160、200和240,重組百分比值為75%、85%和95%,突變百分比值為15%、25%和35%,線性重組寬度為0,0.1和0.2。第二組實驗使用種群值80、120和160,重組百分比值為55%、65%和75%,突變百分比值為25%、35%和45%,線性重組寬度為0,0.1和0.2。
第一組實驗中最優(yōu)的參數(shù)是種群大小為160,重組合百分比為75%,突變百分比為35%,線性重組合寬度為0。第二組實驗中最優(yōu)的參數(shù)是種群大小為160,重組合百分比為75%,突變百分比為45%,線性重組合寬度為0。兩組實驗中的群大小、重組合百分比和線性重組合寬度的最優(yōu)參數(shù)相同。唯一不明確的是突變百分比的值,進(jìn)一步的實驗顯示35%的突變率是最優(yōu)的參數(shù)。
圖8顯示了待定位對像總的數(shù)量和當(dāng)前已經(jīng)定位對象數(shù)量的變化過程。其中N的定義為:
(4)
其中:
NTOTAL=待定位對象總的數(shù)量。
NFOUND=已定位對象的數(shù)量。
圖8顯示了N減小到0的一系列的階段。在第一個階段有一個新的對象被檢測出來。當(dāng)所有對象都都檢測出來,遺傳算法結(jié)束,返回每個元件的位置和旋轉(zhuǎn)角度。角度限制在0、90、180和270四個角度內(nèi)??梢愿鶕?jù)這些算法返回的值進(jìn)行質(zhì)量檢查。當(dāng)元件的旋轉(zhuǎn)角度不是限制的四個角度時,算法產(chǎn)生的互相關(guān)值不會大于0.65,元件就識別不了。因此,識別對象的總數(shù)可以用于質(zhì)量檢查。圖9顯示了使用遺傳算法多對象識別方法定位的6個元件的源圖像。
圖8 反復(fù)(iteration)次數(shù)和對像定位關(guān)系
圖9 使用遺傳算法識別和定位六個元件的源圖像
關(guān)于這個方法可量測性的主要因素是通用模板的建立。在本研究中,通用模板是通過從源圖像提取的大小相同的6個元件的模板建立的,這些元件的標(biāo)簽特征有差別。因此,方法只能搜索6個對象。圖10顯示了待搜索對象的數(shù)量和對應(yīng)的平均搜索時間。圖顯示了單獨搜索和同時搜索的結(jié)果。同時搜索是同時對所有對象搜索,單獨搜索是每次只搜索一個對象。結(jié)果顯示了當(dāng)對象數(shù)量增加,同時搜索方法有更優(yōu)的平均時間,是一個更好的多對象識別方法。
圍繞對象點的NCC局部區(qū)域搜索方法表現(xiàn)很好的性能,當(dāng)其是在假設(shè)對象點位置預(yù)先知道前提下的。GA方法的優(yōu)點是,因為其是一個對邊緣的全局搜索,所以它和攝像機(jī)的對準(zhǔn)(alignment)沒有關(guān)系。這點是很重要的,因為在生產(chǎn)環(huán)境下不能完全保證攝像機(jī)是對準(zhǔn)的。
圖10 遺傳算法測量結(jié)果
7 結(jié)論
本文設(shè)計了多對象識別方法,并應(yīng)用這個方法查找PCB上貼片元件的位置和角度,以便進(jìn)行質(zhì)量控制檢查?;镜姆椒ㄊ腔趯σ唤M元件建立一個通用灰色模型模板。搜索可以限制在圍繞已知對象點的局部區(qū)域或者,如果需要對整個源圖像進(jìn)行搜索來查找錯件,則限制搜索在Canny邊緣位置。
如果元件對象點預(yù)先知道,則完全搜索圍繞對象點的連續(xù)小區(qū)域來尋找模板匹配是很有效的。如果需要搜索整個圖像,則限制搜索區(qū)域在Canny邊緣可以減少搜索時間。
當(dāng)查找出所有元件,遺傳算法結(jié)束,搜索性能比對同一搜索區(qū)域的完全搜索方法快6倍,也比圍繞已知對象點的局部完全搜索方法快。因為遺傳算法方法搜索整個圖像的邊緣,所以和圖像的對準(zhǔn)無關(guān)(而對通過比較兩個圖像來檢測缺陷是必需的)。本文研究的方法也可以應(yīng)用以其它應(yīng)用包括機(jī)器視覺系統(tǒng)和衛(wèi)星監(jiān)測。
深圳宏力捷推薦服務(wù):PCB設(shè)計打樣 | PCB抄板打樣 | PCB打樣&批量生產(chǎn) | PCBA代工代料