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