黃衛平
(廣東工業大學 廣東 廣州 510006)
PCB的檢測最早采用人工目測方式,隨著高密度電路布線和高產量的要求,人工目測方式已不能滿足生產要求,而AOI(自動光學檢測)則可滿足在生產線上對PCB全面檢測的要求。因此,AOI系統在PCB生產線上使用越來越廣泛[1]。
圖像處理算法是AOI的核心,根據是否使用參考模板,PCB AOI系統的缺陷檢測算法可分為參考比較法和非參考比較法兩大類。在參考比較法中,最重要的一個問題就是兩幅圖像的精確對準問題,如果不能達到精確的對準,它們之間通過參考比較法進行判斷后,會產生眾多誤判。針對此問題,文中提出利用AOI視覺系統和PCB板圓形基準點來實現系統精確校準。采用計算機視覺方法可以快速、準確地檢測到圓形基準點,精確地計算出中心坐標。利用實時圖像與模板圖像中的基準點中心坐標偏差來計算偏移量,從而校正系統誤差是文中的主要思想。
文中AOI系統校準方法的核心任務是圓形基準點檢測,常用的圓檢測技術有形狀分析法、環路積分微分法、線性擬合法、圓 Hough變換[2]。Hough變換是目前應用最為廣泛的圓檢測方法,該方法的最大特點是可靠性高,在噪聲、變形、甚至部分區域丟失的狀態下仍然能取得理想的結果。因此,文中利用Hough變換來檢測PCB基準點。為了提高Hough變換圓檢測的速度和精度,筆者針對PCB基準點檢測的應用環境設計了專門的圖像預處理步驟,包括圖像灰度化、直方圖均衡化、高斯濾波、Roberts邊緣檢測。
PCB AOI系統由視覺系統、運動控制系統和圖像處理系統組成。視覺系統采用區域掃描像機獲取實時圖像,相機成像原理如圖1所示,滿足關系

其中 G 是視野 (Field Of View,FOV),f是焦距,g是工作距離,B是CCD單元,通過調整焦距可以得到不同大小的FOV。由于 AOI系統對像素分辨率要求達到20 μm[3],目前的工業相機很難通過一次拍攝得到滿足檢測精度要求的完整PCB圖像。因此,需要將PCB分成多個與FOV等大的區域進行檢測。

圖1 AOI相機成像原理Fig.1 Imaging principle AOI camera
PCB AOI另一個子系統是X-Y機械運動平臺,電機移動視覺系統到各個檢測區域的中心位置攝取圖像,并將實時圖像傳輸到圖像處理系統進行檢測分析。采用參考比較法進行元件缺陷檢測的AOI系統在檢測之前先要進行示教,示教的目的是為需要檢測的區域添加檢測窗,根據人工經驗選擇檢測窗所使用的檢測算法,并設置算法參數。所有檢測窗的位置信息(坐標相對于所在FOV)和檢測參數都保存到一個稱為檢測模型的文件中,以便在線檢測同類PCB板時進行參考比對。圖2(a)顯示了一個SOP元件上的檢測窗。其中最大的矩形框表示待檢測元件,其他小矩形框表示元件上需要進行檢測的區域,即檢測窗。只有元件上的全部檢測窗都檢測合格才認為元件合格,所以檢測窗之間是一個and判定關系。

圖2 系統誤差導致檢測窗偏移Fig.2 Check window offset due to system error
示教完成后,可以利用檢測模型中定義的檢測算法對同類PCB板進行在線檢測。在線檢測時,輸入待檢測電路板,X-Y機械平臺根據模型中保存的坐標信息帶動視覺系統到預設位置拍攝FOV圖像。圖像處理系統根據檢測窗與FOV圖像的相對坐標,截取局部圖像進行分析。
從PCB AOI系統的檢測原理可以看到,在線檢測時的重復取像精度對PCB缺陷識別至關重要。圖2(b)顯示了檢測窗偏移時的情況,由于拍攝到的FOV圖像發生變化,檢測窗并沒有準確覆蓋期望的檢測區域。這對接下來的缺陷識別十分不利,因為檢測的對象不是想要的,檢測結果一般都是漏判、誤判,沒有可信度。X-Y機械平臺定位精度,PCB板制造誤差和放置誤差都會導致這種現象[3],因此,必須在檢測之前進行系統校準。

圖3 PCB定位偏差示意圖Fig.3 Schematic of PCB location error
為補償圖像定位偏差,需要利用AOI視覺系統對PCB板上的基準點(見圖5輸入圖像)進行識別和定位。PCB板4個角上通常設有圓形基準點用作表面貼裝時候的位置參考,同樣可以利用它來進行AOI系統校準。如果在PCB對角線位置各選取一個基準點,則可同時檢測PCB板水平偏移量和旋轉角度,如圖3所示。在建立檢測模型時,攝入位于對角線的兩個基準點圖像m1和m2,然后經圖像處理的方法找到基準點的中心位置(Xm1,Ym1)和(Xm2,Ym3)。 在線檢測時利用同樣的方法找到實時圖像的兩個基準點的中心位置(X′m1,Y′m1)和(X′m2,Y′m3)。 這樣,就可以再根據兩幅圖像中 2 個基準點的坐標計算水平像素位移和旋轉角度。根據式(1)可以計算出每個像素對應的物理距離,將像素位偏差換成物理距離,然后驅動電機進行水平位移校準。而對于角度偏差,需要通過夾板機構來調整。AOI系統校準的詳細操作流程如圖4所示。

圖4 AOI系統校準流程圖Fig.4 Flow chart of AOI registration
從上面的分析不難發現,PCB AOI系統校準的關鍵是怎樣找到基準點的中心坐標,也就是定位圓的圓心,方法將在第3節介紹。
Hough變換的核心思想是點-線的對偶性。在圖像空間中,即為把圖像的復雜邊緣特征信息轉化為參數空間中的聚類檢測問題[4]。考慮半徑為r,圓心坐標為(a,b)的圓可用參數方程(2)表示

在三維參數空間(a,b,r)中,式(2)表示的是一個三維錐面。它表示的物理意義是,圖像空間中的圓對應著參數空間中的一個點,而圖像空間中的一個點(x,y)對應著參數空間中的一個三維直立圓錐,該點約束了通過該點一簇圓的參數(a,b,r),如圖 5所示。如果一張圖像包含很多點,那么搜索程序的工作就是尋找用于描述圓形的參數組(a,b,r)。
Hough變換在計算上的吸引力在于將參數空間進一步分割為所謂的累加器單元。圓的3個參數(a,b,r)生成了一個帶有立方單元和形如 A (i,j,k)的累加器的三維參數空間。Hough變化檢測圓形的過程是增加a和b,解出滿足式(2)的r。然后對r進舍入,得到r軸上允許的最近似的值,更新對應于三元組(a,b,r)的相關單元的累加器。最終三維累加器中最大值單元對應的參數就是需要尋找的圓參數。

圖5 圖像空間中的點對應參數空間中的直立圓錐Fig.5 Point in picture corresponding to taper in parameter space
從PCB板設計文件可得到基準點圓孔的物理半徑,根據每個像素對應的物理距離,可計算出基準點圓孔的像素半徑。在預估的像素半徑附近,例如30%范圍內搜索圓心,可減少計算量。實驗驗證在粗定位圓心±20%的范圍內搜索圓心,完全可以保證檢測質量。利用Hough變換求解圓心坐標的步驟簡述如下:
Step 1.估算圓形像素半徑大小;
Step 2.因半徑大致已知,可為 a,b,r選擇一個較小的范圍建立離散的參數空間;
Step 3.建立一個三維累加器N[a][b][r],并置每個元素為0;
Step 4.對參數空間中的每一個(a,b),考慮圖像中的每一個邊界像素點(x,y)圓的方程,求解出 r,對 r進行舍入,尋找r軸上允許的最近似值,對應累加器N[a][b][r]加1;
Step 5.找出累加器N[a][b][r]的最大值,其對應的參數(a,b,r)即是所要求的圓參數。
圖像預處理的目的是使處理后的圖像比原始圖像更適合于特定的應用,在不同的應用環境中,“特定”有著不同的含義。這里進行圖像預處理的目的是為了降低噪聲影響,提高Hough變換速度和精度。
測試發現,在進行Hough變換之前對PCB基準點圖像進行如圖6所示的4步預處理,可以更快更精確的檢測出圓形。AOI相機采集到的圖像為24位真彩色,圖像數據量大,占用計算存儲空間,而且攜帶了大量不相關信息。因此,第1步先采用加權平均值法對圖像進行灰度變換。第2步直方圖均衡化采用了改進的自適應直方圖均衡化方法CLAHE[5],因為測試過程中發現CLAHE性能更好。CLAHE通過改變直方圖值來增強灰度圖像對比度,使得直方圖均衡化后的圖像特征更容易識別。第3步圖像濾波的主要目的是隔離PCB基準點圖像的噪聲。為了實現噪聲隔離,文中選擇了高斯平滑濾波。高斯平滑濾波用高斯方程描述了圖像模糊化過程,它被廣泛用于圖像處理過程,最典型的應用就是用來減少噪聲和圖像細節。

圖6 圖像預處理系列過程Fig.6 Sequence of an image preprocessing
第4步邊緣檢測在PCB基準點圖像預處理過程中最為重要。圖像邊緣檢測可顯著減少圖像數據量,濾除無用信息,保留圖像的重要結構特征[6]。在進行Hough變換圓檢測之前,需要獲得圓形的二進制邊緣圖像。PCB基準點匹配應用中,良好的邊緣檢測圖像應該包含銳利的圓形,并且盡量較少疤痕噪聲,因為疤痕噪聲會增加圓外點數,降低CHT精度。文中對 Sobel,Roberts,Prewitt,LoG,Canny 等 5 種常用邊緣檢測方法進行了比較測試,Roberts算法能夠得到更細膩的邊緣輪廓,較少了邊緣點的個數,有利于減少圓Hough的計算量,提高圓檢測速度。因此,選擇Roberts算法進行邊緣檢測。

圖7 實驗結果Fig.7 Experimental result
為了測試文中提出的PCB基準點定位方法的性能,對算法進行了仿真。仿真實驗采用聯想ThinkPad T61筆記本電腦和 Matlab7.1進行編程,電腦的配置為 CPU:IntelCore2,T7500, 2.20 GHz;內存為 DDR2 667 MHz,2 GB;測試圖像尺寸為150×150像素。對經過預處理后的圖像進行Hough變換圓檢測,得到圖7所示的結果。算法用時79 ms,實時性能很好。從圖中可以看到,Hough變換檢測出的圓很好地匹配了基準點圖像外環輪廓。
文中詳細說明了采用機器視覺定位來校準PCB自動光學檢測系統的方法。校準過程的核心任務是圓形基準點中心位置檢測,針對此問題,采用Hough變換來檢測圓心。為了減少計算量,先對基準點半徑進行預測。并針對PCB基準點圖像特征,設計專門的圖像預處理算法。實驗結果表明,Hough變換圓檢測精度達到1個像素,而且速度較快,滿足AOI系統性能要求。
[1]鮮飛.AOI技術在SMT生產上的應用[J].印制質電路信息,2008(10):61-66.XIAN Fei.The application of AOI in SMT production[J].Printed Circuit Information,2008(10):61-66.
[2]楊冬,李鐵軍,劉今越,等.視覺定位在PCB雕刻機中的應用研究[J].河北工業大學學報,2011,40(2):27-30.YANG Dong,LI Tie-jun,LIU Jin-yue,et al.Research and application of vision alignment in PCB engraving machine[J].Journal of Hebei University of Technology,2011,40(2):27-30.
[3]歐陽高飛,鄺泳聰,謝宏威,等.基于亞像素定位的貼裝元件精確取像技術[J].光電工程,2010,37(6):16-22.OUYANG Gao-fei,KUANG Yong-cong,XIE Hong-wei,et al.Accurate image capture for surface mounting component based on subpixel location[J].Opto-Electronic Engineering,2010,37(6):16-22.
[4]Illingworth J,Kittler J.A survey of the Hough transform[J].Computer Vision,Graphics and Image Processing,1988(13):87-116.
[5]ZuiderveldK.Contrastlimitedadaptivehistogramequalization[J].Academic Press Graphics Gems Series,1994(24):474-485.
[6]王希山,崔賢玉.印刷電路板灰度圖像邊緣檢測技術研究[J].微計算機信息,2008(24):294-296.WANG Xi-shan,CUI Xian-yu.Edge detection technology research of printed circuit board gray image[J].Control&Automation,2008(24):294-296.
[7]章宇慶,劉學平,戎國林.高速在線PCB焊接質量檢測系統[J].機械設計與制造,2010(3):1-3.ZHANG Yu-qing,LIU Xue-ping,RONG Guo-lin.The design of high speed PCB welding quality detection system[J].Machinery Design&Manufacture,2010(3):1-3.
[8]姜濤,王安麟,王石剛,等.基于機器視覺的印刷電路板誤差校正方法[J].上海交通大學學報,2005,39(6):945-949.JIANG Tao,WANG An-lin,WANG Shi-gang,et al.An error correction method for PCB based on machine vision[J].Journal of Shanghai Jiaotong University,2005,39(6):945-949.