李 飛,馮開勇,苑瑋琦
沈陽工業大學 信息科學與工程學院,沈陽110870
電腦鍵盤上的線路板不同于剛性PCB電路板,具有可折疊和易變形等特點,稱為柔性印刷線路板(FPC),FPC 上LED 指示燈的合格與否直接會影響一張FPC 能不能進入市場。FPC上LED的尺寸一般為2 mm×3 mm,在生產過程中,貼片粘貼焊盤的操作過程以及工作人員的操作失誤等都可能造成LED 漏貼和粘偏的質量問題,由于LED的燈芯發光區域比LED區域更小,LED質量問題會導致封膠之后的LED 發光微弱或直接不發光。目前國內多數企業都是人工目測FPC上LED的缺陷,該方式效率低且容易發生漏檢和誤檢,產品很難打入歐美日等發達國家。
經文獻搜索,國內外大部分研究都是針對PCB 上LED 進行缺陷檢測。林宏達教授采用灰度關聯來檢測LED 上環氧樹脂填料圓頂表面出現的微小缺陷[1];Chung-Feng Jeffrey Kuo教授使用兩級反向傳播神經網絡算法來檢測LED 芯片上的殘留物和劃痕缺陷,他們都是對LED表面的紋理缺陷進行檢測[2];程良倫教授采用二值投影的梯度來確定LED 的兩級端面,再通過預設的中心判斷LED 的偏移情況[3]。由于本文針對的貼片式LED 的有效區域是由焊盤確定,所以以上文獻中的方法都不適合。2017年文獻[4]對FPC上的LED進行了研究,其在硬件上使用1 280×960 像素的面陣相機結合環形白光源對LED 區域進行成像,在算法上使用模板匹配定位焊盤,采用有效區域與LED 區域的交集與差集對粘偏的LED 進行缺陷判斷,算法需要對每類LED 進行預先注冊獲得焊盤的有效區域。但由于使用的面陣相機視野范圍小,當兩顆LED 的位置靠得太近又不能同時在一個相機視野內成像時,將導致大批材料中相鄰較近的LED 漏檢;還需要對每類LED 進行注冊來獲取有效區域,顯得尤為麻煩。針對以上問題,本文提出一種使用線陣相機獲取FPC 大圖數據并檢測小區域LED質量缺陷的方法。
本文設計的LED檢測硬件系統如圖1所示,硬件系統由機械平臺和成像系統兩部分組成,成像系統包括相機、鏡頭、光源、采集卡和編碼器等設備。
圖1 LED粘貼質量檢測硬件系統圖
系統成像設計過程如下:貼片機粘貼完貼片之后,將載有FPC材料的底板通過傳送帶傳送至LED粘貼質量檢測系統,底板接觸到光電開關后停止,動力控制模塊帶動搭載成像設備的龍門架移動,同時相機開始成像。底板的長寬為755 mm×435 mm,最多可以放置9張FPC材料,由于各類FPC材料上LED的位置分布以及個數并不固定,本文采用分辨率為8 192 的線陣相機采集1~4 張圖片。為了滿足圖1 中相機連續的高速采集,采用硬觸發方式觸發相機成像,伺服驅動器驅動電機帶動龍門架移動時會發送一個幀信號觸發相機準備成像,伺服電機轉動一周為100 mm,通過編碼器和倍頻器發出個9 360 行脈沖觸發信號,得到采集圖像的分辨率為10.68 μm,成像一張圖像的大小為8 192×70 000像素。
LED 的缺陷分為漏貼和粘偏,圖2(a)為合格的LED,圖2(b)為漏貼的LED,圖2(c)和(d)為粘偏的LED,其貼片燈芯坐標偏離焊盤中心坐標規定的要求,粘偏示意圖如圖2(e)所示,即當a 超過物理距離0.20 mm(18 個像素)為上下偏移,當b 超過物理距離0.16 mm(15個像素)時為左右偏移,判斷LED的缺陷質量首先需要在大圖上定位到LED區域。
圖2 LED缺陷類型
成像系統采集的圖像大小為8 192×70 000 像素,圖3(a)中截取大圖中0.2%的局部區域進行顯示。由于處理灰度大圖的計算量會非常大,本文將灰度圖像轉換為二值圖像,二值化公式如式(1)所示,本文采用經驗閾值,Threshold 值設置為190,本文原始LED及背景區域二值化后的圖像如圖3(b)所示。
圖3 二值化及形態學操作
二值圖像中焊盤空洞最大寬度為70 個像素,如圖3(c)所示,所以采用70×1 的矩形結構元對焊盤區域進行閉運算操作[5],閉運算公式如式(2)所示,處理結果如圖3(d)所示。
閉運算之后焊盤存在突出物的最大像素距離為10,所以采用10×1的矩形結構元對圖3(d)進行開操作,如式(3)所示,處理結果如圖3(e)所示。形態學操作可以平滑焊盤的邊緣,將凹陷和突出形變的焊盤形狀規格統一。
二值化后的圖片除焊盤之外還包括導線和硅膠帽等干擾區域,如圖3(b)所示,采用區域面積和區域矩形度兩個幾何特征進行篩除。面積通過統計區域像素個數獲得,焊盤上下區域兩部分的面積在7 000 到12 000個像素范圍內,所以設置篩選面積大小為7 000~12 000。
矩形度計算公式如式(4)所示,式中A 是區域的面積,S 是區域最小外接矩形的面積,本文通過矩[6]求取區域的最小外接矩形的面積。在統計學中,用矩來描述隨機變量的分布形態,將矩的定義推廣到m×n 大小的圖片中,則把焊盤的像素值f(x,y)看成隨機變量,(x,y)是隨機變量的坐標,對求取的感興趣區域(ROI)的i+j 階矩如式(5)所示。
對于一階矩,i 和j 有兩種取值方式,即i=1,j=0或i=0,j=1,由此可以得出ROI的兩個一階矩為:
通過零階矩和一階矩可以求取ROI的質心,零階矩如式(7)所示,設質心坐標為(xˉ,yˉ),質心的求取如式(8)所示。
對于圖3(e)中所示的焊盤區域,求得的質心位置如圖4 中紅色圓點所示。將ROI 的質心轉移到參考坐標系的原點,則可以求出中心矩為:
類似地,可以求出u00、u20、u02等。那么ROI的最小外接矩形的長、寬求取如式(10)中的a 和b。
圖4(a)中焊盤上部分區域的面積為9 275 像素,計算該區域的最小外接矩形的長寬分別為173 像素和64像素,面積為11 072,將最小外接矩形的面積和焊盤區域的面積帶入公式(4),得到其矩形度為0.844,計算圖4(b)的矩形度為0.853,形態學操作之后焊盤區域的矩形度在0.8~1之間,所以設置矩形度小于0.8即可篩除大部分的非焊盤區域。
根據預處理獲得的焊盤形狀的共性將焊盤邊緣輪廓作為定位匹配模板,對圖3(e)分別使用Canny邊緣檢測、Sobel 邊緣檢測[7]和使用ZS 算法[8]細化Sobel 檢測的邊緣作為焊盤的邊緣輪廓,Canny邊緣檢測算子具有去除偽邊緣和響應度小等特點,Sobel 算子對二值圖像的邊緣檢測效果好,但對于細節不明顯的灰度圖像會產生偽邊緣,Zhang 和Suen 提出的ZS 算法在二值圖像的骨架提取中應用廣泛。對三種方法檢測并放大90°拐角的局部邊緣信息分別如圖5中(a)~(c)紅色框中的邊緣所示。圖5(a)雖然無毛刺影響,邊緣平滑程度高,但丟失了焊盤邊緣的真實拐角信息;圖5(b)雖然保證了焊盤邊緣的拐角信息,但卻存在大量的毛刺突起像素點影響;圖5(c)既有前兩者的優點,又克服其缺點。ZS 細化邊緣保證了制作模板的優點,既保證匹配的信息量也保證模板中的干擾信息少。
圖4 焊盤區域的最小外接矩形
圖5 焊盤邊緣局部放大信息圖
但是ZS 細化的焊盤邊緣并非單一像素,圖5(c)中ZS 細化結果使焊盤邊緣在90°拐角處成非單一像素寬度,這些像素重疊點也會降低匹配返回的相似度分數,本文利用圖6中的模板來消除4個方向上的重疊像素點。
圖6 四個重疊點模板
對8 領域像素點(如圖7)使用模板1 進行像素單一化分析可知,得出模板1 所在方向的重疊點判斷條件為:設P1為當前像素點,P1、P2和P4的值同時為1構成該方向的像素重疊點,同時像素點P6、P7和P8的值必定為0。其余3個方向的判定與模板1同理,得出判定重疊點如式(11)所示:
圖7 重疊點8領域
對ZS 細化后的焊盤邊緣如圖8(a)所示,使用圖6中的模板進行并行判定,即同時使用四個重疊點模板對當前點P1進行式(11)判定,只要滿足四個條件中之一就將像素點P1變為0 像素點,細化焊盤邊緣后的單一像素如圖8(b)所示,最終通過細化焊盤邊緣獲得的焊盤輪廓模板如圖8(c)所示。
圖8 焊盤區域的最小外接矩形
焊盤輪廓模板匹配是基于形狀特征匹配的一種,將焊盤輪廓模板和待匹配圖中焊盤輪廓分別看作是兩個點的集合,通過計算兩個點集之間的hausdorff 距離[9]判斷匹配程度。
工業現場生產的LED 形狀大小并不完全相同,存在X 軸和Y 軸方向的壓縮或拉伸;底板位置和材料位于底板上都會存在一定的角度傾斜。如果采用單一特殊的模板匹配,則會導致上述情況下的焊盤定位失敗,若減少匹配分數來獲得焊盤區域的定位,則會誤檢定位到非焊盤區域,為了解決上述問題,本文提出基于異步縮放的模板匹配定位焊盤,其示意圖如圖9所示。
圖9 異步縮放示意圖
在X 軸和Y 軸方向加入縮放因子,縮放的比例范圍0.8~1.2 倍,圖10(a)~(d)所示為焊盤邊緣輪廓在X軸和Y 軸方向上壓縮0.8倍和拉伸1.2倍之后的輪廓形狀,為了獲得較高的精確度,設置了較少的縮放步長為0.05,匹配時生成8個縮放模板。對于LED存在角度偏差的問題,加入旋轉角度因子,角度設置為?10°~10°,圖10(e)和(f)所示為角度?10°和10°的焊盤輪廓,角度步長設置為0.5°,匹配時生成40個旋轉模板。基于異步縮放的模板匹配定位可以很好地解決LED中焊盤產生的縮放和角度偏差問題,獲得精確的焊盤中心坐標,防止因焊盤形變漏檢LED。
圖10 異步縮放的焊盤輪廓模板
根據焊盤中心坐標截取燈芯區域,由于設備和現場環境等因素導致貼片圖像存在高斯噪聲,如圖12(a)噪聲較少,圖12(b)噪聲較多。為了保留圖像的邊緣信息并取得較好的去噪效果,采用高斯雙邊濾波去噪[10]。雙邊濾波加入灰度信息的權重,貼片的灰度值越接近模板中心點的灰度值權重越大,通過計算空間距離函數如式(12)和灰度距離函數如式(13)的乘積并歸一化后作為卷積核模板。式中,p 點的坐標為(x,y),q 點的坐標為(u,v),Ip是中心點的灰度值,Iq是鄰域的灰度值。取燈芯邊緣點(32,63)的3×3 區域進行高斯雙邊濾波,示意圖如圖11所示,將坐標數據和像素值帶入高斯濾波函數后計算得到該點的值為52,取非邊緣點(61,47),像素86 的鄰域進行高斯雙邊濾波得到(61,47)點的像素值為87,證明了高斯雙邊濾波具有保留燈芯的邊緣信息。
圖12(a)和(b)高斯雙邊濾波的結果如圖12(c)和(d)所示。
本文采用具有定位精度高的Canny算子[11-12]進行燈芯邊緣的檢測,Canny算子主要是參數σd、TL和TH的選擇。σd決定了圖片的平滑程度,TL和TH則直接決定了邊緣信息的保留。對圖12(c)和(d)使用不同參數的檢測結果如圖13(a)~(d)所示。當使用σd=2、TL=2和TH=15 時圖13(a)獲得了較清晰的燈芯真實邊緣,效果好,而圖13(b)中的檢測效果就不佳。當參數σd=7、TL=4 和TH=20 時圖13(d)獲得了真實邊緣,但是圖13(c)卻得不到真實的邊緣。Canny邊緣檢測的缺點就是檢測對比度不一致的圖像,易丟失局部邊緣或檢測虛假邊緣,自適應性差,難以滿足檢測要求。針對Canny 邊緣檢測算子的缺點,本文根據燈芯區域的圓度[13]自適應地選擇不同的參數去檢測對比度不同的燈芯邊緣。
由于貼片灰度值不均勻和局部區域的模糊程度高,采用單一閾值無法兼顧以上情況,所以使用動態閾值[14]獲得燈芯區域,圖12(c)和(d)動態閾值的結果如圖13(e)和(f)所示,并利用公式(14)計算燈芯區域的圓度。式中C 為所求圓形度,A 是燈芯區域的面積,D 是燈芯區域中兩點間最大的距離,本文提出通過區域投影的方法近似計算D,計算區域在X 軸上投影值的示意圖如圖14所示。
圖14 投影法求取區域距離
將燈芯區域的第J1到J2列進行垂直投影,選取投影區域內最大的投影值Px,Px=max(Pk),Pk為第Xk列的投影像素點數,其中k 的范圍為{J1,J1+1,…,J2}。同理可以求出區域在Y 軸方向的最大投影值Py,取Px和Py的最大值作為D 值。
對圖13(e)和(f)計算圓形度分別為0.92和0.51,通過大量測試,選擇圓形度為0.82作為判斷條件。燈芯區域大于0.82的選擇邊緣檢測參數σd=2,TL=2,TH=15,小于0.82的選擇邊緣檢測參數σd=7,TL=4,TH=20。
為了獲得較高精度的燈芯中心坐標,本文采用基于幾何距離[15]來擬合燈芯的邊緣。原理是求取燈芯邊緣到幾何特征擬合點之間正交的最短距離,通過保持幾何空間變換的恒等性來避免擬合結果的偏差,圖13(a)和(d)擬合的結果如圖13(g)和(h)所示。
圖11 高斯雙邊濾波原理示意圖
圖12 高斯雙邊濾波去噪
圖13 獲取燈芯坐標
若未得到邊緣擬合的坐標,則判斷焊盤區域存在漏貼貼片;計算擬合得到的燈芯坐標與定位得到的焊盤坐標的距離來判斷LED 的粘偏缺陷,從而將圖像的幾何缺陷轉為坐標的數值判斷。已知焊盤的定位坐標為(a,b),擬合的燈芯坐標為(c,d),當 ||c-a >18 像素時,貼片粘貼存在上下粘偏,當 ||b-d >15 像素時,貼片粘貼存在左右粘偏,將圖2(c)使用本文算法處理返回焊盤區域的坐標為(206,64),燈芯坐標為(210,87), ||b-d =23 大于15像素,所以存在左右粘偏,為不合格LED。
將FPC 大圖進行二值化后使用區域的幾何特征篩除非焊盤干擾區域,并對型號為DK69的某板材料中四張大圖統計區域像素如表1 所示。可知幾何特征篩選后圖片中的區域大大減少,成為縮短定位算法處理時間和提高定位精度的關鍵。
表1 DK69材料幾何特征篩選后像素統計
任意挑選DK69 型號的6 個LED 區域,截取區域大小為340×280像素,首先標定LED區域的焊盤中心點為(x,y),再使用Canny 邊緣檢測、Sobel 邊緣檢測以及細化算法處理得到的輪廓模板匹配定位獲得焊盤的坐標,分別計算三種焊盤模板在X 軸和Y 軸方向上的定位偏差結果Δx 和Δy,統計如表2 所示,根據檢測結果,采用本文提出的細化模板定位焊盤區域的最大坐標偏差為4個像素,定位結果更加準確。
本文采用異步縮放的方法精定位LED 區域,并與文獻[4]直接定位法做實驗分析。先制作7 類LED 的圖庫,每類LED圖庫各50張圖像,首先人工標定LED的焊盤中心位置(M,N),然后分別使用兩種方法定位獲得LED 的焊盤中心坐標,記異步縮放定位得到的坐標為(m,n),定位準確率L 如式(15)所示,同理可得直接定位的準確率,并統計結果如圖15所示。
表2 定位焊盤區域的坐標偏差統計pixel
圖15 兩種定位算法的平均準確率
從實驗結果可以得到兩種算法的定位準確率都在90%以上,本文采用的異步縮放的方法的定位準確率更高,達到97.5%,文獻[4]中的方法只有93.8%,異步縮放在尺寸與旋轉角度上都以細分并行搜索的方式定位原圖像中的焊盤模板,更高的準確率更利于判斷LED 的缺陷情況。
在工業現場采集不同型號的LED 建立圖庫,使用本文方案進行測試,并統計了準確率和時間如表3 所示。從表中數據看出,LED檢測算法對漏貼的檢測準確率為100%,對粘偏的檢測準確率為97.3%,由于線陣相機運動成像兩張大圖的時間間隔為2 100 ms,而平均每張8 192×70 000 圖片的檢測時間為1 538 ms,說明了本文所使用的算法在檢測準確率和檢測效率方面取得了較好的效果。
對粘偏存在漏檢是由于材料堆疊時LED區域與背景灰度值高的區域相連接導致無法定位到焊盤區域,如圖16(a)所示。
表3 算法檢測準確率和檢測時間統計
圖16 干擾檢測LED缺陷情況
表4 給出了本文方法和文獻[4]中獲取有效區域方法判斷LED粘偏缺陷的漏檢率ERR對比結果。
表4 本文方法與文獻[4]方法對比
由表4 可知,本文方法ERR 低達2.7%,相對于文獻[4]的方法,ERR值降低了11.5,展現出顯著的優勢,本文算法的平均運行時間沒有文獻[4]的時間低,但都小于貼片機的貼片時間,滿足實時性要求。相對于本文算法,文獻[4]判斷LED 的缺陷情況需要依賴貼片覆蓋焊盤區域的大小,如圖16(b)所示,焊盤區域被貼片覆蓋較多,文獻[4]方法在定位LED時就已失敗,文獻[4]的ERR計算包括此類LED,而本文算法檢測的LED 類型更廣泛,準確率更高。
由于成像大圖的分辨率要遠遠大于電腦顯示屏的分辨率,為了方便觀察檢測結果,將定位的LED坐標映射到人機交互界面上,將粘偏的LED位置進行標注排序,并顯示于界面右下角,如圖17所示,項目軟件于VS2012平臺上開發,人機交互界面使用C++類庫MFC設計。
圖17 LED粘貼質量檢測人機交互界面
本文根據柔性印刷線路板中LED的位置分布設計了一套硬件成像系統,解決了面陣相機因視野范圍小存在的漏檢相鄰列LED的難題。算法上使用統計學中的矩計算最小外接矩形的面積,使用重疊點模板并行遍歷ZS 細化的焊盤邊緣,采用基于異步縮放的思想匹配定位LED,通過區域投影的方法計算圓度,并使用自適應參數的Canny邊緣檢測獲得真實的燈芯邊緣,完成了對LED的定位和缺陷質量的判斷。經過測試,本文所提出的方案在檢測精度和速度上都滿足工業現場實時檢測的要求,為FPC 上LED 缺陷質量檢測提供了新的方法和途徑,并根據工業現場需求設計了人機交互界面,具有實用性和實際意義。