李澤峰,歐陽八生
(南華大學 機械工程學院,衡陽421000)
隨著中國制造2025的提出,各行業(yè)不斷蓬勃發(fā)展,電子行業(yè)印刷電路板(printed circuit board,PCB)上的元器件同樣朝著小型化、精密化、集成化方向發(fā)展,對PCB的加工精度要求也越來越高。PCB上的定位標識圓(以下簡稱Mark圓)及圓心坐標是其加工的定位標識,又稱為基準點,在加工前需要精確識別PCB上的 Mark圓及圓心坐標,以進行準確的加工定位[1-3]。目前圓的常見檢測方法包括:模板匹配、霍夫(Hough)變換和曲線擬合等。
對模板匹配法的研究中,WANG[4]和 DING[5]等人提出基于特征點匹配的模板匹配方法。前者是采用oriented fast and rotated brief(ORB)算法、暴風(brute force,BF)算法結合運動統(tǒng)計模型(grid-based motion statistics,GMS)算法,后者利用ORB算法和最大相關熵準則(maximum comentropy criterion,MCC)交叉檢驗的方式進行模板匹配。雖然這兩種方法相對于傳統(tǒng)模板匹配方式有了較大優(yōu)化改進,但是當PCB中的Mark圓變化明顯或者背景干擾大時,檢測精度有限。此外,采用Hough變換方法進行Mark圓檢測,精度高、抗噪能力強,但由于采用3維累加器,且每維數(shù)據(jù)長度很大,存在計算量大、占用內存多等缺陷。同時此方法若要繼續(xù)提高精度,則累加器每維數(shù)據(jù)長度成倍增加,運算量呈指數(shù)三次方上升[6-7],難以滿足PCB快速生產加工的需要。
作者旨在改善傳統(tǒng)的PCB中Mark圓識別精度不高的問題,使用計算機計算速度較快的曲線擬合方式進行Mark圓檢測,同時改進標準的機器視覺算法包HALCON中圓擬合算子,提高Mark圓擬合精度。且能在檢測圖像發(fā)生旋轉、平移、縮放等情況下使用,魯棒性好。使用微軟基礎類庫(microsoft foundation classes,MFC)嵌入HALCON的方式搭建檢測平臺,該平臺可繼承HALCON的檢測功能,同時可根據(jù)不同種類Mark圓保存或加載與之匹配的檢測配置,方便、快捷,可滿足實際PCB加工中多樣的檢測需求。
WANG[4]和 DING[5]等人分別提出了基于特征點匹配的模板匹配方法。這兩種方法主要適用于圖像整體特征的準確匹配,如人臉識別等領域,區(qū)別是采用了不同的統(tǒng)計方式剔除錯誤的特征點,具有較好的魯棒性,識別成功率較高;但是運用在精度較高的PCB中靜態(tài)Mark圓識別,由此產生的Mark圓精度問題無法得到有效保證。其次Hough變換方式受計算機本身配置影響較高,且即使不斷優(yōu)化也無法達到或超越曲線擬合的計算速度[6],本身不適用于大批量工業(yè)化生產PCB中Mark圓檢測。本文中的曲線擬合檢測方法是通過尋找圖像Mark圓的邊緣,通過一系列的邊緣像素點和圓擬合方程計算得到最接近實際的Mark圓,基本不受圖像縮放、平移、旋轉的影響,同時計算速度較快、精度較高,且對電腦配置要求不高,適用于大批量工業(yè)化生產。
圓是一種特殊的二元二次方程,故可用數(shù)學形式表現(xiàn),其方程一般形式為:
式中,(a1,a2)為圓心,r為半徑,r=
確定了圓的圓心(a1,a2)和半徑r,就可以得到唯一確定圓,在圓曲線擬合中,已知圓曲線上一系列測點zi(xi,yi)(i=1,2,3…m),該點對應的圓曲線擬合點為(,),存在以下擬合準則:
理想情況下,當距離總和ρ=0時,圓曲線擬合點與圓上測點重合,即曲線擬合圓與真實圓完全重合,故實際擬合過程中當ρ取值越小,擬合圓越接近真實圓。該方法對于圖像檢測圓擬合同樣適用。
HALCON是德國MVtec公司研發(fā)的一套完善的標準機器視覺算法包,包含一千多個圖像處理算子,能適用于各種操作系統(tǒng),同時具有百余種工業(yè)相機和圖像采集卡的接口,擁有廣泛的機器視覺集成開發(fā)環(huán)境,但是HALCON單獨作為檢測軟件使用局限性較大,一般需要把HALCON中的視覺算法庫嵌入到實際檢測軟件中使用,才能滿足多樣的檢測功能。本文中將HALCON嵌入MFC中,進行Mark圓識別檢測和優(yōu)化擬合,以滿足PCB的高精度加工要求。
首先制作一個包含HALCON[8-9]函數(shù)庫信息的屬性項目表,該屬性表中添加包含HALCON算子的庫目錄、包含目錄、附加依賴項等信息,然后在MFC的開發(fā)環(huán)境(操作系統(tǒng):Windows 7×86,內存4g)中導入該屬性表,即可正常調用HALCON函數(shù)庫的算子,然后通過激光加工平臺上的電荷耦合器件(charge coupled device,CCD)相機拍攝圖像信息,再傳遞給本文中設計的含HALCON函數(shù)庫的MFC模塊對圖像進行檢測和處理,得到所需的Mark圓相關信息后再和激光控制平臺實時通訊,從而實現(xiàn)激光加工前的基準精確定位。檢測流程圖如圖1所示。
Fig.1 Flow chart of detection
圖像處理與檢測首先要求圖像清晰,圖像模糊對檢測的效果和精度影響很大。通過查閱清晰度評價相關文獻得知,本方法中Mark圓的檢測屬于灰度圖像邊緣檢測,其主要影響圖像清晰度[10-12]的噪聲是椒鹽噪聲,故文中MFC模塊直接調用HALCON的Brenner函數(shù)對圖像清晰度進行評價。當采集到清晰圖像后,文中MFC模塊調用HALCON算子來完成圖像采集和預處理[13-15],如 read-image算子和 get-image-size算子組合獲取圖像及其尺寸信息,rgb1-to-gray算子將RGB圖像轉化為灰度圖像,draw-rectangle1算子和gen-rectangle1算子組合可人機交互選擇合適的感興趣區(qū)域(region of interest,ROI)。
該方法對Mark圓的檢測包括兩個步驟:Mark圓的檢測及原始曲線擬合、優(yōu)化擬合。詳細步驟如下。
首先使用Robert算子進行圖像邊緣過濾,去除無關的噪聲,使圖像邊緣變得更加容易識別。Robert算子過濾前后圖片效果見圖2。然后利用edges_sub_pix和canny算子進行邊緣檢測,篩選出所有的邊緣。接著利用輪廓分割算子segment_contours_xld將輪廓分割為直線或者圓。再利用分割后輪廓的全局屬性cont-approx識別出所有的圓弧,利用fit_circle_contour_xld算子擬合圓弧輪廓,同時添加篩選條件。最后通過gen_circle_contour_xld算子重繪生成符合條件的擬合圓,并展示在圖像中[16-18]。
Fig.2 Comparison of images of a Mark in the ROI region before and after the filtering process with a Robert's operatora—before the filtering b—after the filtering
上述邊緣檢測中選用的canny算子[19-20]只是單一的檢測像素點的灰度等級,對邊緣的識別方式是逐一跟蹤可能存在的邊緣像素點,其檢測結果從微觀上看是一個不規(guī)則的近似圓或者圓弧的像素點集合,因此該集合的中心,難以準確確定,需要進一步對檢測信息進行擬合,再進行圓孔中心檢測。文中檢測圓的擬合算法是依據(jù)圓曲線擬合的思想,將輪廓上點到擬合圓心的距離的平方進行求和,根據(jù)最小二乘準則,當ρ最小時,得到的對應點集合即為需要的圓孔輪廓區(qū)域。擬合函數(shù)見下式:
式中,ρ為距離總和(單位:pixel);(a,b)為圓心點的坐標;r為圓的半徑(單位:pixel);(xi,yi)為圓孔輪廓上點的坐標;n為輪廓上像素點的總數(shù)量。
在實際情況中,由于自身及環(huán)境各種因素的綜合影響,利用HALCON算法生成的擬合圓信息不唯一,則產生的擬合圓心坐標也不唯一,因此會對Mark圓的位置識別精度造成一定的影響,不能滿足實際需要,根據(jù)最小二乘法和迭代法圓曲線擬合的原則[21]。本文中在HALCON擬合圓算法的基礎上,添加了優(yōu)化擬合圓坐標的算法,達到了較高的識別精度。
其優(yōu)化擬合過程是:設平面圓的標準方程式如下:
式中,a和b分別為圓心坐標,r為圓半徑。首先記錄原始擬合圓產生的a,b,r數(shù)據(jù),根據(jù)平均值法分別求出均值a0,b0,r0,以該值生成標準圓,然后利用間接平差的原理,令:
式中,a^為待求參量,a0為待求參量近似值,δ為待求參量的改正補償系數(shù)。
設優(yōu)化擬合前(原始擬合生成了n個擬合半徑)和擬合后(總會有且只有1個)半徑差值為di,則:
依據(jù)最小二乘準則,應使得∑(di-r)2取最小,即:min[∑ (di-r)2]。設檢測生成的原始擬合圓個數(shù)為n(n≥1),并將 di作為觀測對象,則d^i的平差值方程為:
將上式按照泰勒公式展開得:
式中,si0==xi-a0,Δyi0=yi-b0,li=r0-si0。
雖然原始擬合圓心坐標(a,b)不精確,但誤差較小。這樣便可以將圓心計算范圍限制在(a,b)附近,大大減少了無效計算,為了避免擬合過程出現(xiàn)精度不高的問題,引入迭代法,迭代時,為了提高收斂速度,設置迭代終止條件為:
式中,X代表 a,b,r。
采用該優(yōu)化算法后,得到一個以a,b,r數(shù)據(jù)重繪的擬合圓,同時輸出重繪后的坐標,該優(yōu)化擬合圓更接近實際圓,從而提高檢測精度。
Fig.3 Standard CAD drawing
Fig.4 Standard inspection chart
為驗證優(yōu)化算法與原始擬合算法的位置精度,特制作一張帶有標準圓及圓心的計算機輔助設計(computer aided design,CAD)樣板圖,并轉化為圖片格式,畫圖軟件顯示圓心坐標為(586,372),如圖3所示。為方便分析對比,將圖像檢測程序寫入到同一個程序界面,其檢測結果如圖4所示。圖中左側顯示區(qū)域表示直接利用HALCON算法擬合的圓,用“紅色圓”顯示,輸出圓心信息顯示為“檢測圓信息”;右側顯示區(qū)域表示優(yōu)化擬合計算之后擬合的圓,用“綠色圓”顯示,輸出圓心信息為“擬合圓信息”。
表1為優(yōu)化前后圓心檢測數(shù)據(jù)對比。可以發(fā)現(xiàn),優(yōu)化處理前擬合出來的圓心坐標與標準坐標位置偏差較大,最小偏差0.255pixel,最大偏差3.143pixel;經過優(yōu)化擬合之后輸出的圓心坐標與標準坐標偏差較小,精度不大于0.3pixel,表明檢測的精度得到提高。一方面,通過限制ROI區(qū)域的檢測范圍,另一方面,重新擬合迭代數(shù)據(jù)計算量增加不多,且和圖片顯示分屬不同的線程,因此在軟件界面顯示優(yōu)化前后處理時間沒有明顯變化。
Table 1 Data comparison of circle center detection before and after optimization
為了驗證本方法的實用性,特選用兩種常見的鋁基板PCB,在不同光源條件下進行測試,其產品測試效果如圖5所示。
從圖5可以發(fā)現(xiàn),XCZ-86101815鋁基板PCB擬合圓心坐標偏差范圍為:暗光源下為 0.23pixel~0.29pixel,亮光源下為0.11pixel~0.24pixel。LED鋁基板PCB擬合圓心坐標偏差范圍為:暗光源下為0.22pixel~0.27pixel,亮光源下為 0.13pixel~0.22pixel。結果表明:兩種鋁基板擬合圓心坐標總體檢測精度不大于0.3pixel,且在亮光源條件下測試效果更好。
選取100組XCZ-86101815型號鋁基板PCB、50組FR-4玻纖PCB和80組LED鋁基板PCB,利用文中的MFC模塊在不同環(huán)境下測試,統(tǒng)計檢測結果情況如表2、表3所示。結果表明:檢測成功率可達97%,檢測精度不大于0.3pixel,檢測時間小于100ms。實際檢測說明本文中開發(fā)的MFC程序模塊能有效地檢測并識別鋁基板PCB上的Mark圓,并適時輸出坐標信息,完全能滿足實際加工需要。
Fig.5 Comparison of the detection effects of two common aluminum substrate PCBs under different light sourcesa—aluminum substrate of XCZ-86101815(dark light source) b—aluminum substrate of XCZ-86101815(light source) c—aluminum substrate of LED(dark light source) d—aluminum substrate of LED(light source)
Table 2 Statistics of batch detection
Table 3 Statistics of detection time
實際檢測結果也有少量失敗,產生誤檢的原因主要有:(1)光源強度不匹配,不同產品表面對光敏感程度不同,相機采集圖像過程中需要適時調整,如圖6表示,因光源亮度過低導致檢測失??;(2)平臺運動不到位,導致檢測視野中缺少有效的檢測部位,造成軟件無法識別而誤檢。后期解決方法可考慮添加檢測失敗判定,當檢測失敗或產生誤檢時,軟件報警提醒并提示進入人工檢測界面,實現(xiàn)人工輔助檢測。
Fig.6 Example ofmistaken image
文中通過在MFC中嵌入HALCON函數(shù)庫方式搭建檢測平臺,開發(fā)了新型圖像識別和檢測工具模塊,既繼承了HALCON的圖像檢測功能,能在圖像發(fā)生平移、旋轉、縮放的環(huán)境下使用,同時實驗測試表明,該研究檢測成功率可達97%,檢測精度不大于0.3pixel,檢測時間小于100ms,能滿足目前PCB生產加工行業(yè)的功能需要。其次,平臺可根據(jù)不同種類Mark圓保存或加載與之匹配的檢測配置,方便、快捷,對實際PCB生產或檢測具有一定借鑒意義。