秦益霖,馬祥林,朱 敏,李 晴
(1.常州信息職業技術學院,常州 213164;2.江蘇科技大學,鎮江 212001)
印刷電路板是電子設備中不可缺少的重要部件,電路板在生產制造過程中有可能產生各種各樣的缺陷,比如電路板上元件缺失、錯件等。目前電路板插件主要采用人工方式進行檢測,而人工檢測存在勞動強度大,容易犯錯的缺點。本項目就是要開發一種具有一定面向的低成本的電路板元件檢測設備,推進機器視覺技術向大眾化應用方向發展,向各種領域發展。
首先采用智能相機將被攝取目標轉換成圖像信號,此時的圖像是灰度圖像;再通過數據線將此圖像信號傳送給PC機,根據像素分布、亮度等信息,將其轉變成數字化信號并進行各種運算來抽取目標的特征;和標準圖像進行對比、模板匹配等處理后,得出被測PCB是否有缺陷;最后使用智能相機的 I/O功能來實現機器視覺系統與外界系統和數據庫的通信,控制生產流程。系統結構如圖1 所示。

圖1 系統結構圖
考慮到實時圖像采集的測量精度和速度要求,該系統采用的硬件配置為:
NI 1744智能相機。NI 1744系列智能相機具有圖像采集和處理特性,還具有I/O功能,在相機上構成了集于一體的嵌入式設備,能夠運行NI VBAI或NI LabVIEW實時模塊和整個NI機器視覺算法套件,能對圖像進行處理,可以降低了成本和檢測時間。
PC機。通過智能相機獲得的圖像在PC機上顯示,通過LabView、Vision assistant和VBAI編寫的程序實現對圖像的采集和處理。
應用NI公司開發的虛擬儀器軟件LabView8.6和NI公司的視覺模塊,包括IMAQ Vision Builder、Vision Assistant和IMAQ Vision為開發平臺。
從拍攝的照片如圖2所示,可以看出,電解電容中間的金屬表面具有很強的反光性,在圖片中表現為高亮度。有鑒于此,我們將在圖片中檢測電解電容的反光面的存在與否來判定電容是否存在。
由于系統采用的照明光源、相機和PCB板角度等原因,有些電解電容的反射表面的強度不強,這會干擾對強度的判斷,在以后的圖像處理中必須對其增強。可以使用NI Vision Assistant編程對PCB圖像進行預處理,增強反射面的強度。

圖2 PCB原始圖片

圖3 PCB預處理后圖片
一般情況下,當圖像采集到計算機的時候,相機獲得的原始圖像會受到各種條件的限制和隨機信號的干擾,如光電轉換過程中敏感元件靈敏度的不均勻性、數字過程中的誤差等,均會使圖像含有各種各樣的畸變和噪聲,對圖像的分析和識別帶來困難。
2.1.1 中值濾波
中值濾波是一種非線性濾波方法,也是一種排序濾波方法。在圖像處理中對抑制離散的噪聲比較有效,而且還能保護邊緣輪廓信息。它的中心思想是將所用鄰域窗口內的所有像素灰度值從小到大排序,取該組中間的灰度值作為濾波后的灰度值。

通常窗口內像素數為奇數,以便有個中間像素。若窗口像素數為偶數時,則
中值取中間兩像素灰度的平均值。常用的窗口形狀有方形、十字型、圓形、菱形等。窗口A的大小決定在多少個數值中求中值,窗口的形狀決定在什么樣的幾何空間中取元素來計算中值。
最常用的窗口是方形或十字型。中值濾波窗口越大,抑制噪聲效果越好,但有效信息損失也越大,因此須選擇最佳窗口大小以兼顧二者。本文采用5*5的方形窗口中值濾波進行圖像平滑去噪。
2.1.2 灰度值變換
除了控制照明光源外,某些情況下通過算法調整圖像的灰度值是必要的。灰度值變換可被視為一點處理。這意味著變換后的灰度值tr,c僅僅依賴于輸入圖像上同一位置的原始灰度值gr,c,可表示為:tr,c=f(gr,c)。這里f(g)表示進行灰度值變換的函數。為了提高變換的速度,灰度值變換通常通過一個查找表(LUT)來進行,即將每個輸入灰度值變換后得到的輸出值保存在一個查找表內。如果用fg表示LUT,則tr,c=f[gr,c],此處符號[]表示的是查找表的操作。
平方根操作,其作用是增加了在黑暗區域的亮度和對比度,減少了在明亮的區域的亮度和對比度。等值操作,作用是對圖像的像素點進行變換,增加了圖像的亮度、增加了亮區的對比度。本文采用平方根、等值操作對圖像進行灰度值變換。
2.1.3 數學形態學
圖像處理中經過濾波、灰度值變換后的圖像經常會包含我們不想要的干擾,所以我們必須要調整區域的現狀以獲得我們想要的結果。數學形態學被定義為一種分析空間結構的理論。為此,數學形態學提供了一組特別有用的方法,這些方法能讓我們調整或描述物體的形狀。
用gr,c表示要處理的圖像,用s(r,c)表示ROI是S的一幅圖像,圖像s被稱為結構元。
膨脹能夠通過轉置結構元來實現,有如下定義:

在灰度值形態學中,對結構元的選擇通常是平坦結構元,即:對于s(r,c)∈S時,s(r,c) =0 。它產生的效果為:擴大圖像中比周圍更亮的部分,并收縮背景,這樣灰度值膨脹能夠被用來將灰度值圖像中的一個亮物體的脫節部分連在一起。
灰度值圖像減法有如下定義

有以上兩個基本模塊,我們可以構建本文將要利用的操作:灰度值閉操作。

它是一個膨脹操作后再執行一個減法。它能夠被用來填充小孔或者刪除小物體。此外,它還能夠被用來連接或分開物體,平滑物體的內、外邊界。
根據以上討論,編寫程序對圖像進行預處理。經過預處理后的圖像如圖3所示,可以看出電解電容金屬反射面都具有很強的亮度,達到了后續識別的要求。預處理的程序圖如圖4:

圖4 預處理的程序圖
經過預處理后的圖像已經滿足我們對圖像的辨識要求,在本文中應用NI Vision Builder for Automated Inspection對圖像進行分析辨識的操作。
實驗結果顯示此方法能迅速、準確的檢測出電路板是否存在缺陷,如檢測通過,在圖片上顯示PASS,否則顯示FAIL。檢測界面如圖5所示:

圖5 Vision Builder for Automated Inspection檢測界面
本文介紹了基于虛擬儀器技術的PCB元器件檢測系統,通過實驗表明該方法是可行的、有效的,且易于實現,并且該系統可以滿足PCB檢測在線、實時、高速高精度的要求。利用IMAQ Vision Builder、Vision assistant提供的強大圖像處理功能, 可以大大縮短軟件開發時間,同時由于NI公司的軟硬件具備非常好的可靠性和穩定性,可以確保檢測結果的精確度。
[1] 章毓晉.圖像處理和分析技術.北京:高等教育出版社.2008.
[2] 劉煥軍,等.機器視覺中的圖像采集技術.電腦與信息技術.2003(01):18-21.
[3] 方勝,等,基于NI Vision Assistant的機器視覺在鋼球表面測中的應用.2008(5):72-82.
[4] National Instruments Corporation.NI-IMAQ User Manual.2004.
[5] National Instruments Corporation.NI Vision Assistant Tutorial.2009.
[6] National Instruments Corporation.NI Vision Builder for Automated Inspection Tutorial.2009.
[7] National Instruments Corporation.NI 17xx Smart Camera User Manual.2008.