崔家禮 王 鵬
(北方工業大學信息學院 北京 100144)
如今,電子信息工業在國家經濟、科技和軍事發展中占據著舉足輕重的地位。隨著電子器件向著更高密度、更輕薄、更微小趨勢發展,印刷電路板(PCB)應用領域愈加廣泛。PCB基板是制作PCB板的必要載體。如圖1所示,PCB制作過程中的貫通穿孔步驟完全以基板孔洞位置作為鉆孔依據。

圖1 PCB基板(上方)及PCB成品(下方)
伴隨3C產品的快速更新,PCB產品類型和制造數目大幅上升[1-2],如圖2所示,PCB基板缺陷檢測成為PCB生產過程中的一個十分重要的環節。基板使用激光雕刻機對位打孔生產,受到供氧等生產工藝的影響,PCB基板可能存在漏雕孔洞、多雕孔洞、孔洞尺寸存在誤差、孔洞破裂、孔洞粘附、孔洞間距離違規等問題[3-4]。PCB基板物理尺寸較大,孔洞密集、微小,這些特質加大了PCB基板缺陷檢測的難度。不合格的模板用于生產會增加PCB板的制造誤差[5]和定位誤差,帶來經濟損失,浪費人力、物力、財力,甚至形成安全隱患。

圖2 應用于各領域的PCB基板
目前我國PCB基板質量檢測方式較單調,大多數為人工目檢、車床探針測試和非接觸式測試[6-7]。
傳統的人工檢測方法[8-9]為質檢員利用簡易儀器,單純地利用視覺進行缺陷檢測,并通過一定的標準主觀地判斷目標是否合格。該方法便捷、靈活,但效率低、效果差、人力成本高。
車床探針檢測[7-9]為繼人工檢測方法后應用起來的檢測手段。車床檢測手段高效、穩定,但不適用于基板孔間距離過小的情況,且接觸式檢測可能對PCB基板表面造成損傷,影響后續加工。
非接觸式測試主要采用自動光學檢測(Automated Optical Inspection,AOI)技術。文獻[2,4]實現了PCB板焊接質量檢測;文獻[5]主要針對PCB板貼片誤差進行檢測;文獻[10]主要是對制作成型PCB板的線路缺陷進行檢測;文獻[11-12]主要針對PCB板進行毛刺和斷短路檢測。而在基板制作工序中進行質量檢測的方式目前還很稀少。
PCB基板缺陷檢測是保證PCB質量的重要手段。基板上孔洞的尺寸、位置是衡量基板合格與否的關鍵信息。針對多雕孔洞、漏雕孔洞、孔洞粘附等問題可以使用孔洞個數計數的方法進行排查。孔洞尺寸誤差、孔洞破裂等缺陷可以使用孔洞尺寸、面積檢測的方法進行排查。孔洞間距離違規、位置出錯等問題可以使用孔洞間位置關系檢測的方法進行排查。
檢測上述屬性需要高分辨率圖像,考慮到圖像采集設備圖像分辨率和視野的矛盾,本文提出了基于圖像拼接的PCB基板質量檢測算法。首先利用攝像機作為圖像傳感器,采集高分辨率子圖像。定位子圖關鍵點并進行相鄰子圖間關鍵點匹配,通過圖像拼接獲得大物理尺寸基板的高分辨率圖像。對拼接后的完整基板圖像孔洞進行數據提取,可以獲取孔洞位置、面積等單個孔洞相關數據,以及相對距離、相對方位角等孔洞間拓撲關系,最終進行基板質量打分并指出具體缺陷。利用不會對PCB基板表面造成損傷的光學非接觸式方法進行質量檢測,提高了檢測的高效性和可靠性。
基于圖像拼接的PCB基板質量檢測系統包括圖像采集(硬件)和質量檢測(軟件)兩大部分。圖像采集部分在光源和PCB基板放置平臺輔助下,利用安裝在導軌上的攝像頭采集高分辨率子圖像,保證了圖像采集模塊得到的基板圖像孔洞特征明顯[10-11],并確保相鄰子圖像間有重疊部分。導軌攝像頭按順序拍攝PCB基板的一部分,并記錄該時刻攝像頭所在物理位置。質量檢測部分對子圖進行預處理和拼接繼而提取完整PCB基板孔洞數據信息,最終進行質量檢測。系統流程如圖3所示,其中質量檢測部分是本文研究對象。

圖3 PCB基板質量檢測流程
圖像預處理模塊由圖像增強、孔洞分割兩部分組成。對于每一幅子圖Si(i∈[1,N],N為采集到的子圖數),首先進行圖像灰度化,然后采用中值濾波[13]進行圖像增強,濾波可以很大程度上抑制孔洞中間的反光像素點。本文采用K-means聚類算法來進行圖像分割,繼而使用形態學開運算[13]處理,在不改變孔洞面積的前提下填補內部反光信息缺失點。開運算如下所示:
A°B=(A⊙B)⊕B
(1)
式中:A為待處理圖像,B為結構元素,⊙為腐蝕操作,⊕為膨脹操作。最后,對孔洞進行編號,得到單一孔洞的包絡矩形、中心和大小。
預處理結果與原圖的對比如圖4所示,通過預處理后,孔洞間由于反光造成的缺失區域被填補上了,而孔洞細節得到了很好的保留。Si預處理后的子圖記為S’i。

圖4 基板圖像預處理效果
PCB基板物理尺寸較大,而基板上孔洞物理尺寸較小且孔洞間距較小。本文圖像拼接模塊用于解決工程上需要高分辨率圖像與物理尺寸較大之間的矛盾,以圖像拼接的方式得到具有高分辨率的整幅PCB基板圖像。此部分包括孔洞形狀識別、關鍵點提取、關鍵點匹配、圖像拼接操作,最終得到一幅具有高分辨率特性的完整PCB基板圖像,拼接流程如圖5所示。

圖5 圖像拼接流程
記拼接圖像為P,對子圖S’i進行孔洞形狀識別、關鍵點檢測和匹配,由計算得到的拼接參數將Si映射到P中,并將S’i關鍵點并入P中關鍵點。對下一幅子圖重復該操作,直至所有子圖均完成拼接。
1.2.1孔洞形狀識別
PCB基板孔洞形狀主要為矩形和圓形,且以圓形為主要形狀。根據實際情況,本文將PCB基板形狀分為圓形及矩形兩種,即對所有孔洞判別為圓形或者矩形。
鑒于PCB基板鉆孔工藝和相機分辨率限制,輸入系統的圖像孔洞邊緣并不規則,可能會產生毛刺,有缺陷的孔洞甚至會有孔洞破裂等問題。這使得每個孔洞所呈現出的形狀并不是傳統意義上規則的圓形或者矩形,具體情況如圖6所示。將圖6左側兩個孔洞定義為圓形,右側孔洞定義為矩形。可以看出,圖中的孔洞并不是標準定義的圓和規則矩形。Hough變換[2,14]計算量大,在前景目標多的情況下速度上無法滿足要求。因此,本文提出了一種基于頻譜分析的形狀識別算法,其流程如圖7所示。

圖6 目標孔洞形狀

圖7 孔洞形狀識別流程
首先截取單個孔洞ROI區域,使用掩模將灰度圖下孔洞內部細節掩蓋,如圖8所示。

圖8 單一孔洞成像
在灰度圖像下,孔洞雖然形狀不規則,但其邊緣也具有圓和矩形的特性。圓的邊緣細節如圖9所示,矩形的邊緣細節如圖10所示。

圖9 圓形邊緣細節

圖10 矩形邊緣細節
圓形孔洞的邊緣梯度方向(圖9線標注部分)大多數均勻分布在0°、45°、90°、135°、180°、225°、270°、315°,在黑色掩模邊緣的外側,邊緣向背景過渡的部分,其走勢更是比孔洞掩模邊緣復雜,除了上述八個主方向以外,在其他方向上也有分布。與圓形邊緣細節相比,矩形邊緣較為單一,邊緣(圖10線標注部分)以及邊緣向背景過渡的部分,其方向走勢絕大多數都穩定在0°、90°、180°、270°四個方向上,其他方向走勢與主要方向走勢相比十分微弱。
總結上述表述,圓形孔洞的高頻能量較為平均地分散在0°至360°方向上,而矩形孔洞較為集中地分散在四個主方向上。基于上述特征,本文基于頻譜分析提取孔洞ROI能量特征,以區分圓形孔洞和矩形孔洞。其主要步驟包括傅里葉變換、低頻抑制、能量熵計算。
將單個孔洞圖像進行快速傅里葉變換,由空間域轉到頻域,動態抑制頻域低頻能量以放大高頻區域特征,如圖11所示。

圖11 低頻區域能量抑制
L為頻域能量分布圖中心點到邊界的距離,抑制低頻能量的范圍為中間灰色矩形所示區域,該區域由中心點到矩形抑制邊界的距離為2L/5。由(a)、(b)兩圖對比可知,該方法可使高頻區域能量得到凸顯。
圓形、矩形孔洞頻域能量分布如圖12所示。可以看出,圓形孔洞圖像經過傅里葉變換后,以低頻為中心的360°角度范圍內,各角度區間能量分布均勻。矩形孔洞能量集中分布于間隔90°左右的四個方向上,其余方向能量微弱。

圖12 孔洞頻域能量分布
利用上述思想,低頻能量抑制比例達到整體2/5時,設置極坐標系下角度區間為2度,共180個能量區。計算每個能量區的總能量EI,作為特征:
(2)
式中:EI為第I個能量區;ei為在該區間內部的每個點的能量。計算能量抑制比例達到整體的2/5時的特征熵H1:
(3)
式中:Esum為180個區能量總和。
以相同的方法,能量抑制比例達到整體的2/7時,計算特征熵H2,定義熵差△H,△H=H1-H2,根據實驗數據獲得先驗閾值TE,如果△H>TE,則形狀為矩形,否則為圓形。形狀識別算法具有抗旋轉、抗尺度變換的特性。
1.2.2關鍵點檢測
若判斷形狀為圓,則將圓心作為特征點;否則將矩形的四個角點及中心作為特征點。在預處理模塊中,中心點已經獲取,以下介紹矩形角點獲取方法。將矩形邊緣像素均等分為四部分。本文限制定位關鍵點條件:關鍵點之間間隔一定邊緣像素數,避免角點重疊(一個角點提取到兩個關鍵點)。計算在此限制條件下每一部分與矩形中心點的歐式距離,距離最大的像素點被提取為關鍵點。
1.2.3關鍵點匹配
關鍵點匹配目的是計算得出兩幅子圖間的重疊部分。將子圖坐標變換為空間坐標:已知空間原點坐標和攝像頭所在的空間坐標,只需知道由攝像機標定的圖像空間分辨率(像素/毫米)即可。攝像機分辨率為n像素/毫米,為便于后續處理,將圖像擴大m倍。根據以上信息,將S’i的關鍵點坐標變為P的空間坐標。坐標轉換公式為:
(4)


圖13 空間域與子圖關系說明
坐標空間域變換后,子圖Si已經粗略拼接到P中,但由于導軌誤差導致同一孔洞無法完全重合,因此需要進行關鍵點匹配,完成精細拼接。在空間坐標系中搜索相近的關鍵點。將Tdis設為閾值,若兩點滿足下式則判定其為匹配點。
Dist(Kp,Ks) (5) 式中:Dist(·)代表兩點間歐氏距離;Kp為P中關鍵點,Ks為子圖S’i中關鍵點,兩點均在空間坐標系中。 1.2.4圖像拼接 通過坐標變換公式得到圖像拼接參數。結合PCB基板質量檢測特殊環境,僅考慮平移及旋轉變換,變換算法如下: (6) 式中:S’i中關鍵點(Xs,Ys)與P中對應關鍵點(Xp,Yp)的變換關系由子圖S’i橫向和豎向偏移量(Δx,Δy)和旋轉量θ決定。多個匹配點對可以建立方程組,解方程組即可得到上述三個未知參數。根據參數使S’i中的關鍵點與P中匹配的關鍵點配準,將子圖Si映射到P中,即完成圖像拼接。 該模塊是繼圖像拼接模塊后的又一重要環節。質量檢測過程中,需要對基板中單個孔洞信息以及孔洞間的拓撲關系信息進行提取。本節對完整PCB基板圖像前景孔洞部分提取出相關數據信息,并基于數據信息進行質量檢測。 1.3.1數據需求分析 PCB基板受生產工藝影響,針對多雕孔洞、漏雕孔洞、孔洞粘附等問題可用孔洞個數計數法進行排查。孔洞尺寸誤差、孔洞破裂等缺陷可用孔洞尺寸、面積檢測法進行排查。孔洞間距離違規、位置出錯等問題可用孔洞間位置關系檢測法進行排查。總結以上問題,需要提取的數據包括: 目標1:孔洞個數計數。 目標2:孔洞形狀和尺寸檢測。 目標3:孔洞間位置關系檢測。 1.3.2孔洞信息提取策略 孔洞個數計數:將孔洞定義為前景,在質量檢測前為孔洞編號,統計孔洞個數。孔洞形狀和尺寸檢測:提取孔洞面積、中心坐標、周長。孔洞面積與其在二值圖像上連通域中像素個數成正比,因此對二值圖像中前景每個連通域中像素個數進行統計可以得到孔洞相對面積。孔洞的中心坐標不僅可以反映目標孔洞在圖像中的位置,并且可以為后續的孔洞間拓撲關系計算提供信息。計算方法如下: (7) 式中:(xc,yc)代表孔洞中心坐標;point為連通域area中像素坐標;num為該連通域總像素數。 孔洞周長可以通過輪廓跟蹤求得,為使周長信息更加精確,將邊緣像素排列方式分為兩種,如圖14所示。 圖中:1號和2號像素為4連通;2號和3號像素為8連通。前者在計算邊長時計相鄰像素距離為1個單位,后者在計算邊長時計相鄰像素距離為21/2個單位。采用此種周長計算方式更接近實際物理距離計算。 孔洞間位置關系檢測:提取孔洞間距離和方位角。具體定義如圖15所示。 圖15 孔洞間距離和方位角 圖中:L為兩孔洞間的歐氏距離。在提取孔洞間相對方位角部分,水平向右的方向為0度角,a表示兩孔洞中心連線與水平方向的夾角,方位角在[0,2×π]范圍取值。 1.3.3PCB基板質量評估 使用基板圖像(PN)和待檢測基板(PT)圖像提取孔洞信息進行詳盡的PCB基板質量評估,以誤差值E作為衡量標準。結合實際,孔洞數目是最重要的因素之一,若孔洞數目不符合要求,其他方面質量判斷也就失去了意義。不同形狀代表不同功能,也是重要因素之一。孔洞邊緣誤差和孔洞間所成角度在一定范圍內可被接受。基于此判別規則,以標準基板作為衡量標準,本文將基板質量檢測誤差評估按優先級從高到低分為四個部分: ① 孔洞數量誤差:E1。 ② 孔洞形狀誤差:E2。 ③ 單個孔洞像素誤差:E3。 ④ 兩孔洞間角度誤差:E4。 孔洞數量誤差定量分析如下: (8) 式中:δ(·)作為沖激函數,若標準基板孔洞數量Nstandard與待測基板孔洞數量Nstesting一致,則δ(·)為∞,E1=0;其他情況下δ(·)為0,E1=∞。 孔洞形狀誤差值計算方法如下: (9) 孔洞像素誤差表示孔洞的缺口殘缺度或者冗余度。單個孔洞像素誤差計算如下: (10) 孔洞兩兩組合,兩孔洞間角度誤差計算如下: (11) 綜合誤差E計算如下: E=E1+E2+E3+E4 (12) 若孔洞個數或者孔洞形狀存在差異,則E的值為無窮,即表明待測基板打孔錯誤程度極高,必須要進行糾正處理。E1和E2為0時,E則由孔洞像素誤差和孔洞間角度誤差決定。 分別在多塊基板上使用了常用的Freeman差分編碼、圓度、Hough變換+圓度、單低頻能量抑制和本文提出的ROI雙比例低頻能量抑制算法進行形狀識別準確度測試。每塊基板孔洞個數不同,大小不同,基板材質相異,且人為地旋轉了0°、15°、45°。由圖16可見,在不同形狀識別算法應用在不同旋轉角度情況下,本文算法始終是分類準確度最高的,且性能最為穩定。由此可證,本文ROI雙比例低頻能量抑制形狀識別算法在基板孔洞形狀識別任務中具有旋轉不變性、尺度不變性,且識別效果良好。 圖16 五種算法形狀識別準確度對比 拼接精確度直接影響后續質量檢測效果。本節通過SIFT關鍵點提取與本文關鍵點提取對比,驗證本文關鍵點選取策略運用在PCB基板精拼接情況下的優勢。使用三種基板進行拼接效果測試,驗證本文拼接算法的精確性。 SIFT關鍵點提取與本文關鍵點提取效果對比如圖17所示。可以看出,SIFT算法適用于場景拼接,而對于PCB基板毫米級精確拼接,本文算法可以更精確地提取出對應關鍵點(孔洞角點和中心)。 圖17 SIFT關鍵點提取與本文算法 分別使用PCB基板材質和孔洞分布不相同的普通PCB基板(圖13)、LED基板(圖18)和鍍膜鋁基板(圖19)進行拼接效果測試。以孔洞實際中心與拼接后中心偏差作為拼接精度衡量標準。 (a) 子圖 (b) 拼接效果 圖19 PCB鍍膜鋁基板子圖拼接效果 使用LED基板進行測試,圖18(a)為鋁基板空間變換后的子圖共4幅,圖18(b)為拼接后效果。 使用鍍膜鋁基板進行測試,圖19(a)為鋁基板子圖,共8幅,拼接后效果如圖19(b)所示。 將拼接后的PCB基板圖像孔洞中心位置坐標與孔洞實際中心坐標對比,以中心絕對偏差(距離)作為衡量拼接精確度的標準。上述不同種類PCB基板測試結果如表1-表3所示。 表1 PCB基板拼接造成的孔洞中心誤差 表2 LED基板拼接所造成的孔洞中心誤差 表3 鍍膜鋁基板拼接所造成的孔洞中心誤差 在放大3倍原始圖像的情況下,PCB基板、LED基板、鍍膜鋁基板中心平均偏差分別為1.612像素、2.897像素、2.668像素,三種基板平均偏差為2.392像素。根據相機標定分辨率可知實際空間偏差。 對三種PCB基板孔洞數量誤差E1、形狀誤差E2、孔洞像素誤差E3、孔洞間角度誤差E4、綜合誤差E進行打分,如表4所示。 表4 PCB基板缺陷檢測 本文以圖像處理技術為基礎,利用光學攝像頭采集待判定基板子圖像,綜合運用圖像預處理技術、形狀識別、圖像拼接算法得到高分辨率完整圖像,繼而進行數據提取,獲取面積信息、位置,形狀信息等單一孔洞數據,以及相對距離信息、相對方位角信息等孔洞間拓撲關系數據。最后對以上數據結合標準數據進行核對,檢出錯誤并給出相關質量檢測誤差評估。實驗表明,該算法解決了工程上需要高分辨率圖像與實際物理尺寸較大之間的矛盾,可準確地實現PCB基板孔洞相關數據的提取和質量評估,進而驗證了本文算法和技術的可行性。 本文的創新點在于提出了基于圖像拼接的PCB基板質量檢測方案,該方案解決了大視野和高分辨率的矛盾,實現了PCB基板質量的自動檢測。 (1) 提出了基于頻譜分析的形狀識別算法,在圖像分割的基礎上進行ROI的雙比例低頻能量抑制,采用能量熵差作為形狀分類的標準。該算法具有旋轉不變性和尺度不變性。 (2) 提出了基于關鍵點匹配的圖像拼接算法,通過子圖和拼接區域圖像的對應關系建立圖像坐標映射函數,并進行參數估計。通過圖像拼接可以獲得高分辨率的大視野圖像。 (3) 提出了基板質量評估判據,將孔洞數目、形狀及大小、相互間的拓撲關系進行定量評估,通過加權組合的方式對基板質量進行綜合評估,評估值作為基板質量是否合格以及質量優劣的判據。 由于整個系統硬件部分尚未搭建完畢,目前使用的圖像為仿真采集圖像且數量有限,未來將針對大量真實圖像分析,優化算法中的參數。1.3 質量檢測模塊




2 實 驗
2.1 形狀識別準確度測試

2.2 拼接精度測試






2.3 質量檢測

3 結 語