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