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