韓歆彤,白瑞林,張鑫磊,仲抒鴻,姚宇昊,曹馮婷
(江南大學(xué)物聯(lián)網(wǎng)工程學(xué)院,江蘇 無錫 214122)
隨著電路板組裝技術(shù)朝精密化方向發(fā)展,印刷電路板(printed circuit board,PCB)向高精化、微細(xì)化和高密度化方向快速發(fā)展[1],且印刷電路板焊點(diǎn)檢測工作也向高效、精準(zhǔn)和節(jié)能方向發(fā)展。傳統(tǒng)的人工目檢越來越難以滿足實(shí)際生產(chǎn)的需要,而逐漸興起的自動光學(xué)檢測(automatic optical inspection,AOI)系統(tǒng)存在易受外界影響、易出錯(cuò)、檢測精度過低等缺點(diǎn)。作為一種主動式光學(xué)測量技術(shù)[2],結(jié)構(gòu)光具有非接觸、精度高、效率高和適用范圍廣等優(yōu)點(diǎn),在三維重構(gòu)、瑕疵檢測等方面應(yīng)用廣泛。
針對以上分析,本文提出了一種基于編碼結(jié)構(gòu)光視覺的電路板焊點(diǎn)檢測系統(tǒng)。該系統(tǒng)采用Gray碼與相移結(jié)合的編碼結(jié)構(gòu)光技術(shù)進(jìn)行瑕疵檢測,在具有良好可靠性與準(zhǔn)確性的前提下,顯著降低了成本。通過三維信息準(zhǔn)確定位焊點(diǎn)位置,達(dá)到及時(shí)、可靠的檢測要求,實(shí)現(xiàn)生產(chǎn)檢測的智能化。
本文研究基于編碼結(jié)構(gòu)光的電路板焊點(diǎn)檢測系統(tǒng)。
本文首先分析了Gray碼與相移編碼方法進(jìn)行結(jié)構(gòu)光的投射,通過對攝像機(jī)拍攝圖像的解碼找到圖像之間精確的對應(yīng)關(guān)系;然后根據(jù)對極幾何約束關(guān)系,進(jìn)行三維重構(gòu);最后通過CloudCompare軟件進(jìn)行分層提取、模板匹配,實(shí)現(xiàn)精確檢測。
系統(tǒng)設(shè)計(jì)框圖如圖1所示。
圖1 系統(tǒng)設(shè)計(jì)框圖
系統(tǒng)硬件架構(gòu)主要利用攝像機(jī)和投影儀搭建。本系統(tǒng)中包括兩臺分辨率為IMAGING 500W的COMS相機(jī)、一臺800×600分辨率的EPSON投影儀和兩個(gè)焦距為12 mm的鏡頭。硬件架構(gòu)如圖2所示。
圖2 硬件架構(gòu)圖
由于試驗(yàn)中采用的液晶投影儀的分辨率為800×600,當(dāng)Gray碼圖案數(shù)量大于8時(shí),攝像機(jī)難以分辨投影圖案的黑白條紋,不利于后續(xù)的圖像處理[3]。Gray碼條紋圖案如圖3所示。
圖3 Gray碼條紋圖案
若圖像的分辨率是1 024×768,通過6位Gray碼把圖像的橫向坐標(biāo)分為26個(gè)等間距的區(qū)間,每個(gè)區(qū)間的像素寬度為16 pixel。
相移法具有消除背景項(xiàng)和檢測器的非線性及常數(shù)項(xiàng)影響的優(yōu)點(diǎn)[4],理論上可獲得連續(xù)的測量空間劃分。由于最小區(qū)間的寬度為16個(gè)像素,因此采用等間隔的寬度為16個(gè)像素的相移圖的黑白條紋來區(qū)分每個(gè)區(qū)間的點(diǎn)。相移條紋圖案如圖4所示。
圖4 相移條紋圖案
由于光照環(huán)境等因素的影響,采集的圖像上有許多噪聲。這些噪聲將使試驗(yàn)結(jié)構(gòu)有許多離散的點(diǎn)。因此,必須對采集圖像進(jìn)行預(yù)處理。其具體步驟為如下。
①利用中值濾波技術(shù)進(jìn)行圖像預(yù)處理,以消除圖像由于拍攝與傳輸所產(chǎn)生的噪聲;通過歸一化處理,除去由于相機(jī)光照不同產(chǎn)生的誤差。
②用Ostu法確定圖像分割閾值,對現(xiàn)有圖像進(jìn)行閾值處理。
③左右相機(jī)由于位姿不同,其采集到的圖像陰影區(qū)域不一致。因此在利用邊緣檢測器提取像素邊緣后,對陰影邊緣通過“與”邏輯運(yùn)算進(jìn)行邊緣去除和優(yōu)化。
通過以上預(yù)處理,在消除采集圖像噪聲影響的基礎(chǔ)上,去除由于相機(jī)位姿造成的陰影區(qū)域邊緣。
首先設(shè)定圖像的邊緣點(diǎn)為采樣點(diǎn),通過對各采樣點(diǎn)的二進(jìn)制碼值計(jì)算進(jìn)行Gray碼解碼,獲取Gray碼碼值[5]。通過計(jì)算第(1,2,…,i-1)圖像中相應(yīng)位置處的二進(jìn)制碼值,可求取第i(i≤n)幅圖像中某條邊緣的Gray碼碼值。即邊緣碼值k可表示為:
k=2n-i+[G0G1G2…Gi-1)2]102n-i+1
(1)
式中:k=1,2,…,2n-1為邊緣的碼值,n為Gray碼的位數(shù),i為圖像的序數(shù);Gi為條紋在第i幅圖像的二進(jìn)制碼值,G0=0。
本文采用4步相移技術(shù),則獲取到的圖像表示為:
(2)
式中:(x,y)為像素點(diǎn)坐標(biāo);Ij(x,y)為(x,y)處的灰度值;φ(x,y)為初始相位;A(x,y)為背景光強(qiáng)度;B(x,y)為正弦函數(shù)的幅值;j為該圖像在投影的序列圖像中的編號。
相位求解公式可表示為:
(3)
由于式(3)求解出的相位取值范圍為(-π,π),將相位主值φ與周期次數(shù)j進(jìn)行疊加,則獲得每個(gè)采樣點(diǎn)的絕對相位為:
Ψ(x,y)=2πj+φ(x,y)
(4)
在實(shí)際的三維測量過程中,Gray碼和相移的周期并非完全對應(yīng)。Gray碼與相位周期對應(yīng)如圖5所示。
圖5 Gray碼與相位周期對應(yīng)圖
由圖5可以看出,兩者在周期的邊界處會存在一定的錯(cuò)位。這是由于Gray碼解碼過程中閾值選取和環(huán)境等因素限制了周期變化一致性的要求。本試驗(yàn)采用調(diào)節(jié)Gray碼解碼周期位置來消除周期錯(cuò)位的問題,采用文獻(xiàn)[6]中周期校準(zhǔn)的方法,使絕對相位在周期邊緣處的誤差被消除。
通過左相機(jī)視圖正交方向碼值Lh、Lv與右相機(jī)視圖正交方向碼值Rh、Rv,采用正交投射的方式,計(jì)算可得全局編碼值Lcode、Rcode為:
(5)
通過對各視圖的地址進(jìn)行數(shù)據(jù)校正,采用三角測量的方法,可計(jì)算各點(diǎn)的三維坐標(biāo)。
在PCB在線檢測領(lǐng)域,模板匹配是應(yīng)用廣泛的算法[6]。但是傳統(tǒng)的模板匹配將PCB作為一個(gè)整體對待。由于本文采用編碼結(jié)構(gòu)光視覺獲取點(diǎn)云圖像,充分利用三維坐標(biāo)提取高度差異的優(yōu)勢,將焊點(diǎn)的定位通過陰影邊緣的定位獲取。具體步驟如下。
①首先在得到三維點(diǎn)云圖像后,根據(jù)電路板上不同器件z軸坐標(biāo)的差異,通過對三維圖像高度的判斷,可以在高度有明顯變化的邊緣區(qū)域判斷為器件焊接區(qū)域,并得出焊點(diǎn)面積、中心坐標(biāo)的信息。
②根據(jù)精度要求,設(shè)置面積誤差E1和位置誤差E2,將步驟①中的信息與模板信息作減運(yùn)算。若面積、位置運(yùn)算結(jié)果分別小于E1、E2,則不作標(biāo)記;若有一項(xiàng)不滿足要求,則在CloudCompare軟件中標(biāo)記顯示。
為了驗(yàn)證該方法的可行性與準(zhǔn)確性,采用如圖2所示的硬件架構(gòu),搭建了基于編碼結(jié)構(gòu)光視覺的電路板焊點(diǎn)檢測系統(tǒng)。
首先,利用張正友經(jīng)典標(biāo)定法對雙目相機(jī)進(jìn)行立體校正,使得左右相機(jī)能夠嚴(yán)格遵循行對齊[7-11]。其次,由投影儀按時(shí)間順序向待測電路板投射Gray碼與相移編碼圖案,按照圖1所述流程對電路板進(jìn)行重構(gòu),在Matlab平臺下完成程序的編寫,通過CloudCompare軟件對最終生成的點(diǎn)云數(shù)據(jù)進(jìn)行三維顯示。
為了對比不同編碼結(jié)構(gòu)光對焊點(diǎn)識別的精度,分別采用本文中基于6位Gray碼結(jié)合相移的方法和文獻(xiàn)[8]中基于6位Gray碼的方法對同一電路板進(jìn)行重構(gòu)。電路板重構(gòu)結(jié)果圖如圖6所示。
圖6 電路板重構(gòu)結(jié)果
從圖6可以看出,單純基于Gray碼的方法在重構(gòu)精度上仍有不足,只能檢測出直徑在4 mm以上的焊點(diǎn);而采用本文所述的基于Gray碼結(jié)合相移的方法可以準(zhǔn)確識別出直徑為1 mm的焊點(diǎn),滿足焊點(diǎn)檢測的精度要求。此外,若對本文方法得到的點(diǎn)云圖進(jìn)行后期平滑處理,能更清晰地顯示焊點(diǎn)輪廓,得到焊點(diǎn)的位姿信息。
兩種方法性能對比如表1所示。
表1 兩種方法性能對比
從表1可以看出,Gray碼結(jié)合相移的方法通過提高采樣點(diǎn)云數(shù)目,將誤差控制在1 mm以內(nèi),能夠準(zhǔn)確進(jìn)行焊點(diǎn)定位,達(dá)到檢測焊點(diǎn)的目的。基于Gray碼方法的重構(gòu)時(shí)間較短,遠(yuǎn)少于本文方法。其原因是該方法處理圖像數(shù)量少,點(diǎn)云數(shù)目與測量精度為達(dá)到要求,在實(shí)際環(huán)境中不能滿足工程焊點(diǎn)檢測的精度需要,實(shí)用性較差。
在印刷電路板生產(chǎn)過程中,獲取電路板焊點(diǎn)的三維點(diǎn)云是瑕疵檢測的前提。本文針對印刷電路板焊點(diǎn)檢測精度低、成本高的問題,設(shè)計(jì)了基于編碼結(jié)構(gòu)光視覺的電路板焊點(diǎn)檢測系統(tǒng)。該系統(tǒng)可靠性高,實(shí)現(xiàn)了對焊點(diǎn)的智能檢測。利用Gray碼與相移相結(jié)合的方法,準(zhǔn)確重構(gòu)出電路板三維點(diǎn)云圖像。通過高度分析有效提取檢測區(qū)域,實(shí)現(xiàn)焊點(diǎn)位置的精確定位。相對于傳統(tǒng)方法,本系統(tǒng)將誤差控制在1 mm以內(nèi),在保證實(shí)時(shí)性的同時(shí)提高了重構(gòu)精度,達(dá)到了檢測焊點(diǎn)的目的。結(jié)構(gòu)光視覺技術(shù)能有效降低成本,設(shè)計(jì)新穎,可用于工業(yè)生產(chǎn)環(huán)節(jié)的在線檢測,并推廣應(yīng)用于激光測距、合成孔徑雷達(dá)等涉及相位測量的諸多領(lǐng)域。下一步的研究工作重點(diǎn)是進(jìn)一步優(yōu)化焊點(diǎn)的檢測算法,提高該項(xiàng)目的實(shí)時(shí)性。