劉洋 孫龍洋 韓怡 柴廣卿 張國(guó)良
關(guān)鍵詞:機(jī)器視覺(jué);SMT;雙邊濾波;OES-ELM;閾值連接
中圖分類(lèi)號(hào):TP18 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2022)36-0029-04
電子器件制造技術(shù)的快速發(fā)展對(duì)PCB板自動(dòng)貼裝設(shè)備帶來(lái)商機(jī)的同時(shí),也帶來(lái)了更為嚴(yán)峻的技術(shù)考驗(yàn)[1]。目前,國(guó)內(nèi)多家企業(yè)著手全自動(dòng)貼裝設(shè)備的研發(fā),部分設(shè)備流入市場(chǎng),但在貼裝精度和速度上與發(fā)達(dá)國(guó)家相比有一定差距,嚴(yán)重制約著生產(chǎn)效率提升。因此,如何提高電子器件生產(chǎn)過(guò)程中PCB板貼裝位置的快速、精準(zhǔn)定位,對(duì)提高生產(chǎn)效率、提高產(chǎn)品質(zhì)量具有重要的研究意義。
PCB板表面白色印線(xiàn)邊緣位置的獲取通過(guò)圖像處理實(shí)現(xiàn)。因PCB板邊緣與周?chē)尘跋啾?,有著一定的梯度跳變,可通過(guò)邊緣檢測(cè)的手段實(shí)現(xiàn)邊緣位置確定。但受PCB板貼裝位置邊緣信息不明顯、模組表面產(chǎn)生的劃痕等原因的干擾,通過(guò)傳統(tǒng)邊緣檢測(cè)算法實(shí)現(xiàn)PCB板快速、穩(wěn)定、高精準(zhǔn)度的邊緣檢測(cè)仍具有一定的挑戰(zhàn)。
目前,邊緣檢測(cè)算法主要存在以下幾類(lèi):1)基于小波變換(wavelet transform)的檢測(cè)算法[2];2)基于形態(tài)梯度理論的檢測(cè)算法[3];3)基于Canny 的檢測(cè)算法[4];4)基于機(jī)器學(xué)習(xí)的檢測(cè)算法[5]等。基于小波變換[6]的檢測(cè)算法,通過(guò)對(duì)圖像進(jìn)行不同尺度的小波變換來(lái)實(shí)現(xiàn),但受尺度大小的影響,當(dāng)尺度過(guò)大或過(guò)小時(shí),獲取的圖像邊緣信息差距較大,不具有通用性,故許多算法中通過(guò)多尺度融合來(lái)彌補(bǔ)尺度過(guò)大或過(guò)小帶來(lái)的影響,但是這個(gè)算法運(yùn)算邏輯復(fù)雜,無(wú)法滿(mǎn)足實(shí)時(shí)性的要求;基于形態(tài)學(xué)梯度理論的檢測(cè)算法,該算法簡(jiǎn)單易操作,且對(duì)部分噪聲具有比較好的抑制作用,但獲取像素點(diǎn)的位置不夠精確;基于Canny算子[7]的檢測(cè)算法應(yīng)用十分廣泛,但也因閾值難以控制等問(wèn)題仍然不能勝任圖像微弱邊緣的檢測(cè);基于機(jī)器學(xué)習(xí)[8]的算法可同時(shí)兼顧檢測(cè)速度和精度的要求,近年來(lái),在邊緣檢測(cè)領(lǐng)域得到了廣泛的應(yīng)用。
本算法基于自適應(yīng)誤差自校正極限學(xué)習(xí)機(jī)[9](Op?timally Error Self-adjustment Extreme Learning Ma?chine, OES-ELM),提出一種PCB板貼片輪廓位置自適應(yīng)檢測(cè)算法。首選使用雙邊濾波算法對(duì)圖像進(jìn)行預(yù)處理,該算法在較好地保持圖像邊緣信息的基礎(chǔ)上,能濾除大部分噪聲的影響;其次,為使后續(xù)檢測(cè)更具自適應(yīng)性,在圖像濾波的基礎(chǔ)上將PCB板圖像進(jìn)行1/16 分塊;然后,提取圖像塊的DCT(Discrete CosineTransform,離散余弦變換[10])特征,將其輸入OES-ELM分類(lèi)器,將圖像塊分為邊緣塊、平滑塊、紋理塊;最后,提取各圖像塊梯度圖,分別確定高低閾值,將高低閾值之間的像素點(diǎn)進(jìn)行連接,最終刻畫(huà)出白色印線(xiàn)的位置信息。
1 基于OES-ELM的PCB板表面印線(xiàn)檢測(cè)算法
為了能更好地檢測(cè)PCB的貼片位置,防止因貼片偏移導(dǎo)致PCB板的報(bào)廢或返工,本文提出的基于自適應(yīng)誤差自校正極限學(xué)習(xí)機(jī)的劃痕檢測(cè)算法,其各部分的流程如圖1所示。由圖可以看出,改進(jìn)部分主要有以下四個(gè)方面:1)首先采用改進(jìn)的雙邊濾波來(lái)濾除噪聲;2) 通過(guò)提取降維的DCT特征作為圖像塊的分類(lèi)特征;3) 用改進(jìn)的自適應(yīng)誤差自校正極限學(xué)習(xí)機(jī)來(lái)對(duì)圖像塊進(jìn)行分類(lèi),可根據(jù)數(shù)據(jù)集自動(dòng)確定隱層神經(jīng)元個(gè)數(shù),檢測(cè)效果更為穩(wěn)定;4) 對(duì)不同的圖像塊采取不同方法自適應(yīng)確定閾值,并進(jìn)行邊緣連接;下面具體介紹以上四部分具體實(shí)現(xiàn)。
1.1 改進(jìn)雙邊濾波
雙邊濾波[12]的本質(zhì)是高斯濾波,其目的是解決高斯濾波容易導(dǎo)致邊緣被模糊的情況,高斯濾波采用相同的權(quán)重,忽略了像素之間的差異性,雙邊濾波在一定程度上解決了這一問(wèn)題,且算法的復(fù)雜度比較低,實(shí)時(shí)性比較好,但是其在遇到高頻噪聲時(shí),不易去除。雙邊濾波的基本思想是:其權(quán)重由像素點(diǎn)領(lǐng)域內(nèi)的空間近鄰度的權(quán)值加上相似度計(jì)算的權(quán)值的乘積組成,再與圖像進(jìn)行卷積。因此距離較遠(yuǎn)的像素點(diǎn)不會(huì)對(duì)邊緣點(diǎn)產(chǎn)生較大影響,其權(quán)值計(jì)算公式如下:
對(duì)圖像塊作DCT變換后,其AC分量的絕對(duì)值會(huì)大致呈現(xiàn)從左上角向右下角逐漸遞減的趨勢(shì)。為了降低特征的維度,此處僅保留其直流系數(shù)以及前127個(gè)交流系數(shù),最終得到128維的紋理特征向量。為避免取值范圍及量綱的不同,將提取的特征歸一化到[-1,1]。
1.3 基于自適應(yīng)誤差自校正極限學(xué)習(xí)機(jī)的分類(lèi)
本文使用OES-ELM獲取的DCT特征進(jìn)行分類(lèi),相比于ES-ELM[10]算法,具有訓(xùn)練速度快、算法對(duì)正則項(xiàng)不敏感的優(yōu)勢(shì),且根據(jù)數(shù)據(jù)集自適應(yīng)確定隱層神經(jīng)元的個(gè)數(shù)和隱層權(quán)值矩陣,具有較好識(shí)別性能。ELM網(wǎng)絡(luò)結(jié)構(gòu)如下圖所示。
OES-ELM網(wǎng)絡(luò)訓(xùn)練過(guò)程主要分為兩階段,初始化階段和權(quán)值更新階段。初始化階段的目的是獲得恰當(dāng)?shù)碾[層特征映射空間(包括隱層權(quán)值和隱層神經(jīng)元個(gè)數(shù)),結(jié)合L1/2正則化找到合適的隱層結(jié)構(gòu)。更新階段目的是結(jié)合L2正則化更新隱層權(quán)值,使網(wǎng)絡(luò)獲得權(quán)值最小解,提高網(wǎng)絡(luò)的泛化性能。具體算法步驟如下:
本文針對(duì)OES-ELM網(wǎng)絡(luò),本文選用了10幅PCB圖像來(lái)生成所需要的數(shù)據(jù)集。通過(guò)對(duì)提取的DCT特征分類(lèi),最終將PCB圖像分為邊緣塊、紋理塊、平滑塊。
1.4 梯度計(jì)算
傳統(tǒng)的Canny檢測(cè)算子在計(jì)算圖像的梯度時(shí)采用了梯度算子,僅僅考慮了兩個(gè)方向的梯度大小,然后對(duì)其求取平均值,導(dǎo)致比較容易丟失部分邊緣信息。針對(duì)這一問(wèn)題,本文在此基礎(chǔ)上增加兩個(gè)方向的梯度合成計(jì)算,如圖6所示。
1.5 圖像塊閾值分割
針對(duì)以上步驟所得到的結(jié)果圖,首先對(duì)其進(jìn)行非極大值抑制,保證得到的邊緣只有單像素響應(yīng);然后將其進(jìn)行1/16分塊,并自動(dòng)地確定閾值。
針對(duì)紋理塊,因?yàn)槠涮荻戎狈綀D沒(méi)有固定規(guī)律,且通常人眼并不會(huì)對(duì)其中存在的信息進(jìn)行詳細(xì)分辨,因此把高低閾值設(shè)置為梯度的平均值以及0.5倍的平均值;針對(duì)邊緣塊,采用大津法(OSTU)確定高閾值,0.5倍的高閾值作為低閾值;對(duì)于平滑塊,因?yàn)檫€可能存在少量的邊緣信息,不能將其全部歸類(lèi)于背景點(diǎn),故此處繼續(xù)對(duì)其進(jìn)行分塊,以區(qū)分是否存在該情況。
針對(duì)平滑塊,對(duì)其再進(jìn)行1/4分塊,并計(jì)算各個(gè)圖像塊的像素之和,以及跟其平均像素之間的差值,當(dāng)差值比設(shè)置的閾值小時(shí),則認(rèn)為其是背景;否則,則判定其存在少量的邊緣,將其按照邊緣塊的方法來(lái)進(jìn)行處理。
最后,對(duì)高低閾值之間的像素點(diǎn)進(jìn)行連接,若其鄰域內(nèi)存在高于高閾值的像素值,則將其置為邊緣點(diǎn),直至沒(méi)有新的像素點(diǎn)并入。
2 實(shí)驗(yàn)結(jié)果與分析
從PCB板的表面印線(xiàn)的檢測(cè)效果來(lái)看,本文算法比前幾種算法都具明顯優(yōu)勢(shì),Canny算子與文獻(xiàn)12在提取出印線(xiàn)的同時(shí),也檢測(cè)出了許多偽邊緣,不利于后續(xù)的檢測(cè)。以相同數(shù)據(jù)集訓(xùn)練的ELM網(wǎng)絡(luò)所提取的邊緣與本文算法類(lèi)似,但本文算法中不用人工用試錯(cuò)法調(diào)試隱層神經(jīng)元個(gè)數(shù),訓(xùn)練更加快速,穩(wěn)定性和適應(yīng)性更好。因此,本文算法能夠在檢測(cè)出更多印線(xiàn)的同時(shí),較少地檢測(cè)出偽邊緣。
3 結(jié)論
本文提出了一種基于自適應(yīng)誤差自校正極限學(xué)習(xí)機(jī)的PCB板印線(xiàn)檢測(cè)方法。先使用改進(jìn)的雙邊濾波,在保持邊緣的同時(shí),又可以在一定程度上去除各種噪聲;對(duì)圖像進(jìn)行1/16分塊,并提取降維的DCT特征;利用OES-ELM對(duì)圖像塊進(jìn)行分類(lèi);采用4方向梯度模板計(jì)算圖像梯度,并對(duì)其進(jìn)行非極大值抑制,保證邊緣寬度為單像素;針對(duì)不同的圖像塊運(yùn)用不同的方法確定閾值,并將邊緣塊進(jìn)行再次分塊,以防止部分的細(xì)小邊緣被遺漏;最后對(duì)高低閾值之間的像素點(diǎn)進(jìn)行連接。實(shí)驗(yàn)結(jié)果表明,提出的算法可以有效地檢測(cè)出PCB板上印線(xiàn)的同時(shí),又能盡可能少地檢測(cè)出虛假邊緣,具有較高的邊緣檢測(cè)率。