崔譯文,占 豐,張宇峰,郝建林,王大海
(中國空間技術(shù)研究院 山東航天電子技術(shù)研究所,山東 煙臺 264000)
隨著中國航天航空、軍事裝備發(fā)展與更新速度的不斷提高,宇航軍工電子產(chǎn)品在功能、可靠性、穩(wěn)定性、功率密度等方面要求也逐步提升[1],這就促使PCB生產(chǎn)與檢測等進一步細化。因此,必須通過高可靠設(shè)備實現(xiàn)PCB高效、自動檢測,以完善質(zhì)量保障體系。與工業(yè)電子產(chǎn)品相比,宇航軍工電子產(chǎn)品具有多品種、小批量、定制化生產(chǎn)特點,且在精度、可靠性方面要求更嚴格,目前市面上成熟的視覺檢測設(shè)備需人工試教而無法滿足宇航、軍工電子產(chǎn)品自動檢測需求。因此,宇航軍工電子產(chǎn)品主要通過人工完成PCB檢測,人眼檢測易受視覺疲勞、情緒等主觀因素影響造成誤檢、漏檢,效率低下且人工成本高[2],既無法與現(xiàn)代化加工速度需求相匹配,也無法滿足電子產(chǎn)品生產(chǎn)過程質(zhì)量檢測要求。
因此,本文針對不同規(guī)格型號的宇航軍工PCB電子元器件的焊裝位置、極性與型號規(guī)格等檢測要求,開展了基于機器視覺的智能檢測系統(tǒng)研究,將三自由度桌面機器人、工業(yè)CCD相機、運動控制系統(tǒng)與電裝工藝文件有機結(jié)合完成了智能軟硬件平臺搭建,引入了SURF特征提取和匹配方法實現(xiàn)待測元器件的智能檢測,測試結(jié)果表明該系統(tǒng)可以高效完成不同規(guī)格型號PCB板上元器件的定位、錯焊、漏焊等檢測要求。
基于機器視覺的電子元器件檢測系統(tǒng)總體框圖如圖1。系統(tǒng)硬件部分包括工控機、運動控制卡、龍門機器人、相機、鏡頭和光源。龍門機器人具有三個自由度,X、Y軸的行程均為540 mm,Z軸行程為200 mm,采用伺服電機控制,采用分辨率為3 840×2 748的工業(yè)CCD相機完成圖像采集,視野范圍為210 mm×170 mm,LED光源,實物圖如圖2。
圖1 電子元器件檢測系統(tǒng)總體框圖
圖2 電子元器件檢測系統(tǒng)實物圖
軟件部分則由視覺檢測軟件和檢測算法組成,軟件界面圖見圖3,包括圖像顯示、元器件信息、不合格類型標注等幾部分。用戶進入軟件界面后,提取Gerber文件信息,啟動相機和電機控制器,完成圖像采集,通過視覺檢測算法對采集的圖像進行處理,完成圖像匹配,得出檢測結(jié)果,生成不合格品單。
圖3 電子元器件檢測系統(tǒng)軟件界面圖
圖4為電子元器件檢測系統(tǒng)視覺檢測算法流程圖。通過數(shù)字圖像處理技術(shù)對采集的PCB圖像進行預(yù)處理;采用改進的Hough變換算法檢測定位點,矯正圖像;讀取PCB電裝工藝文件,根據(jù)元器件坐標信息定位元器件位置,并結(jié)合尺寸信息制作ROI框;設(shè)定元器件模板圖像,將待測元器件圖像與模板圖像進行SURF特征匹配,實現(xiàn)元器件錯焊、誤焊判別。
圖4 視覺檢測算法流程圖
圖像分析中,圖像質(zhì)量直接影響后續(xù)算法的運行效率及結(jié)果的精確程度,因此在圖像分析前,需進行預(yù)處理。
灰度化是將彩色圖像轉(zhuǎn)換為灰度圖像[3]。RGB彩色模型在計算機中由紅、綠、藍三個顏色通道表示,對應(yīng)笛卡爾坐標系中的一個立方體。RGB[4]分別代表3個坐標軸,當(dāng)三個坐標軸的值均為0時,圖像呈黑色;等于255時呈白色?;叶饶P驮赗GB空間表示為由黑到白的一條直線。
中值濾波是一種非線性濾波,不同于線性濾波器,統(tǒng)計排序濾波器不是簡單利用模板對鄰域內(nèi)像素進行加權(quán)平均,而是通過對采樣窗口內(nèi)像素的灰度值進行排序,取出序列中位于中間位置的灰度作為中心像素的灰度。中值濾波在少量離散噪聲點的消除方面效果顯著,能有效去除圖像的椒鹽噪聲。
PCB板一般設(shè)有2~4個MARK點,精確查找MARK點的位置是進行圖像處理的前提。MARK點定位技術(shù)采用改進的Hough圓變換檢測算法[5]。Hough變換的核心是將圖像中特定曲線區(qū)域一一映射到參數(shù)空間中的點,對于圓的解析方程:
(x-a0)2+ (y-b0)2=r02
(1)
將該圓上任一點(xi,yi)投影至參數(shù)空間,其表達式為:
(a-xi)2+(b-yi)2=r2
(2)
式中,a,b,r是參數(shù)空間的3個變量,(xi,yi)則對應(yīng)原圖像XOY坐標系上任意一點。(xi,yi)對應(yīng)參數(shù)空間的一個圓錐,(xi,yi)在圓上移動形成參數(shù)空間眾多交叉重疊的一簇圓錐面,相交于一點(a0,b0,r0)。圖5為Hough圓檢測空間轉(zhuǎn)換關(guān)系。
圖5 Hough圓檢測空間轉(zhuǎn)換
改進Hough圓檢測實現(xiàn)的具體步驟如下:
1)在進行圓檢測之前對灰度圖像進行處理,首先對輸入圖像進行高斯濾波處理;為提高Hough檢測的運行效率,對圖像進行降采樣處理。
2)采用Sobel算子獲取圖像邊緣信息。Sobel算子對像素位置信息進行加權(quán),能夠有效降低邊緣模糊程度。
3)對于寬為w、高為h的圖像,如果設(shè)定檢測半徑的最大值rm便可得到a,b,r的取值范圍,在搜索某一特定像素所在的圓周區(qū)域時,在值域內(nèi)依次取a,b的所有可能值,然后通過圓的解析方程計算對應(yīng)的r值;
4)為每一個圓周區(qū)域在對應(yīng)參數(shù)空間指定一個計數(shù)器,每得到一組(xi,yi,r)值,就為參數(shù)空間中對應(yīng)的計數(shù)器加1;
5)根據(jù)需求在指定鄰域半徑內(nèi)進行峰值檢測,該峰值即為檢測到的圓的圓心和半徑。
在算法運行過程中選定合適的閾值即可獲得良好的檢測結(jié)果。改進的Hough圓檢測算法提高了定位圓的檢測效率,運行結(jié)果如圖6所示。
圖6 Hough圓檢測結(jié)果
根據(jù)Hough檢測的結(jié)果,以檢測到圓心所在的位置為坐標軸原點建立坐標系。使用AD軟件直接輸出PCB元器件坐標文件與其對應(yīng)的封裝報告,并根據(jù)像素長度與物理長度的關(guān)系求得元器件在像素坐標系中的相對位置,結(jié)合元器件的尺寸信息繪制元器件ROI框。PCB元器件坐標系與像素坐標之間的對應(yīng)關(guān)系如圖7所示。
為元器件坐標系,為像素坐標系,兩者的轉(zhuǎn)換關(guān)系與圖像采集設(shè)備的參數(shù)直接相關(guān)[6]:
u=Axxu+a
v=Ayxv+b
(3)
式中,系數(shù)Ax與Ay是單位距離的像素個數(shù)(pixels/mm),(a,b)為相機中心與圖像平面的交點。
使用設(shè)計軟件直接輸出PCB元器件坐標文件和對應(yīng)的封裝報告,根據(jù)在PCB圖像中得到的像素長度與物理長度的關(guān)系求出元器件在像素坐標中的位置和尺寸信息,在一定范圍內(nèi)繪制ROI框。圖8元器件ROI框繪制流程圖,圖9為坐標信息文件,圖10為ROI框繪制結(jié)果。
圖9 元器件坐標文件
圖10 ROI繪制效果圖
元器件檢測算法采用基于特征信息的匹配算法,具有魯棒性高、計算量小的優(yōu)勢[2]。D.G.Lowe于2004年提出了尺度不變特征匹配算法(SIFT)[7],該算法對圖像的旋轉(zhuǎn)、尺度變化等都是魯棒不變的。2006年,H.Bay 等人對SIFT算法進行改進,提出了加速穩(wěn)健特征算法(SURF)[8],在保證正確匹配的前提下,運用積分圖提升了原檢測器中計算特征的速度,并采用小波變換增加魯棒性。與SIFT算法相比,SURF算法運行速度更快,并且魯棒性更好。為了更好地滿足實時性檢測要求,對SURF特征提取算法進行研究,并采用基于最近鄰和次近鄰比值的方法完成特征點匹配,具體操作步驟如下:
1)構(gòu)造Hessian矩陣
圖像中某個像素點(x,y)的Hessian矩陣如下:
(4)
也就是說每一個像素點都可以求出一個Hessian矩陣,由于特征點需具備尺度無關(guān)性,在進行Hessian矩陣構(gòu)造前對其進行高斯濾波,公式如下:
(5)
式中,Lxx(x,σ)是高斯二階微分?2g(σ)/?x2在x點處的圖像I的卷積,Lyy(x,σ)和Lxy(x,σ)具有同樣的含義。
2)積分圖像與盒子濾波
SURF算法中積分圖像可將二階高斯微分模型的卷積簡化為對圖像的加減,其中任一點的積分圖定義為該點左上方向的全部像素之和:
(6)
ii(x,y)表示像素點(x,y)的積分圖,i(x,y)表示原始圖像,ii(x,y)可由下式迭代得到:
——已故物理學(xué)家史蒂芬·霍金的新書出版,他在書中警告:基因改造技術(shù)越先進,人類想自我改造的誘因就越大,有錢人很快就可選擇編輯自己或孩子的DNA
s(x,y)=s(x,y-1)+i(x,y)
(7)
ii(x,y)=ii(x-1,y)+s(x,y)
(8)
s(x,y)表示行的積分和,s(x,-1)=0,ii(-1,y)=0。求一幅圖像的積分和只需遍歷一次圖像即可。
盒子濾波模板僅由幾個矩形區(qū)域組成,矩形區(qū)域內(nèi)用同一個值填充,白色區(qū)域值為1,黑色區(qū)域為-1,灰色區(qū)域值為0。一般地,盒子內(nèi)部填充的值vn∈{1,-1,-2},盒子濾波模板的面積為sxx、syy、sxy,如圖11所示。
圖11 高斯二階混合微分模板及其簡化
則模板與圖像卷積結(jié)果如下:
(9)
由上式可知,高斯二階卷積轉(zhuǎn)化為簡單的加減運算,縮短了計算時間。
3)尺度空間構(gòu)造
為保證匹配圖像的尺度不變性,需要構(gòu)建圖像的尺度空間,然后在不同尺度上檢測圖像的特征點[9]。SIFT算法中,同一個組的圖像尺寸相同,但是模糊程度不同,不同組之間的尺寸也不相同[11];SURF算法中,不同組間的輸入圖像的尺寸一致,使用盒式濾波器的尺寸不同,同一組間的不同層使用不同尺寸的濾波器,濾波器的模糊系數(shù)逐漸增大。圖12為SURF圖像金字塔。
圖12 SURF圖像金字塔
SURF尺度空間根據(jù)組(Octave)來區(qū)分,每一個組包含四個濾波模板,第一組中相鄰模板間尺寸相差6個像素值,第二組相差12個,以此類推。假設(shè)盒子濾波尺寸為N×N,那么尺度s=1.2×N/9。圖13為盒子濾波的尺寸變化示意圖。
圖13 濾波尺寸變化圖形表示
4)定位特征點
SURF算法中,原圖像每個像素的Hessian矩陣行列式的近似值構(gòu)成一個變換圖像,在這個變換圖像上尋找特征點,將其映射到原圖像中。Hessian矩陣的行列式近似值由下式得到:
Det(Happrox)=DxxDyy-(0.9Dxy)2
(10)
通過上式篩選極值點,利用非極大值抑制的方法初步確定特征點。將經(jīng)過Hessian矩陣處理過的每個像素點與其三維鄰域內(nèi)的26個點進行比較,若為極值點則保留下來作為初步極值點,最后采用線性插值法對粗選后的特征點集合進一步篩選。
5)特征描述
為保證特征矢量具有旋轉(zhuǎn)不變形,需要對每個特征點進行主方向分配,如圖16所示。選取半徑為6 s(s為特征點所在的尺度),統(tǒng)計60°扇形內(nèi)點的水平、垂直小波特征,以興趣點為中心進行高斯加權(quán)。然后60°扇形以一定間隔(0.2弧度左右)進行旋轉(zhuǎn),最后將最大值所在扇形的方向作為該特征點的主方向。
主方向確定后,在特征點周圍取大小為20 s×20 s的正方形框,將此正方形框劃分成4×4子區(qū)域,使用尺寸為2×2的Haar小波模板進行響應(yīng)值計算,統(tǒng)計響應(yīng)值的水平方向之和∑dx、水平方向絕對值之和∑|dx|、垂直方向之和∑dy、垂直方向絕對值之和∑|dy|(相對主方向而言),從而形成特征矢量。
6)特征點匹配
(11)
最近鄰與次近鄰比值的公式如下:
(12)
當(dāng)計算出的比值大于閾值T時,剔除匹配點;小于閾值T時認為是正確匹配。Lowe經(jīng)過大量實驗數(shù)據(jù)得出閾值T的經(jīng)驗值為0.7。
采用SURF算法對不同種類元器件進行匹配測試,并對算法魯棒性進行測試。實驗環(huán)境為運行MATLAB R2010b的PC機、Inter Core i7處理器,主頻為3.6 GHz,內(nèi)存為4 GB,32位Windows7操作系統(tǒng)。分別對圖14中QFP封裝芯片、SOP封裝芯片和貼片電阻三種元器件進行檢測,對應(yīng)匹配結(jié)果如圖15所示,將匹配結(jié)果匯總成表1。
圖14 被測元器件
圖15 元器件匹配結(jié)果
對光照、平移、旋轉(zhuǎn)、縮放等情況下的SURF特征匹配結(jié)果進行魯棒性測試,結(jié)果如圖16所示,并將結(jié)果匯總至表2。
表1 三種不同的元器件SURF特征匹配結(jié)果
表2 SURF特征匹配算法實驗結(jié)果
圖16 SURF特征匹配算法穩(wěn)定性測試結(jié)果
對檢測結(jié)果進行分析可知,SURF算法在元器件匹配性測試中取得了良好的實驗效果,匹配準確率在85%以上;在光照變換、平移變換以及縮放變換的情況下魯棒性較好,匹配準確率達到97%以上;在元器件發(fā)生小角度偏轉(zhuǎn)時的檢測效果比較理想,準確率達到90%,偏轉(zhuǎn)角度越大匹配精度越低;圖像發(fā)生鏡像時匹配損失比較大。同時針對尺寸較大、特征較多的元器件,SURF算法的檢測時間比較長,在實時性方面還不能滿足要求;匹配方法上也可以在初匹配后進一步剔除誤匹配點,實現(xiàn)精確匹配。
基于機器視覺的電子元器件檢測系統(tǒng)在硬件平臺的基礎(chǔ)上,設(shè)計完成了PCB定位算法,采用邊緣提取改進Hough圓檢測算法定位PCB圖像的MARK點,結(jié)合電裝工藝文件定位元器件位置;通過SURF算法檢測特征點,完成待測圖像與模板圖像匹配,能夠?qū)崿F(xiàn)PCB板上元器件焊裝正確性檢測。經(jīng)過多次實驗證明,SURF算法在光照變化、平移變換等影響下具有一定魯棒性。
迄今為止,工業(yè)上AOI設(shè)備在大批量產(chǎn)PCB質(zhì)量檢測方面發(fā)展相對成熟,然而針對宇航、軍工這類小批量電子產(chǎn)品的自動檢測設(shè)備還有待進一步研究。設(shè)計制造高精度、高可靠的宇航PCB智能檢測設(shè)備,對我國航天事業(yè)的發(fā)展具有光明的應(yīng)用前景,值得今后不斷探索。