?

CNN 融合多尺度特征的PCB 裸板缺陷識別

2023-10-31 09:39李任鵬李云峰
智能計算機與應用 2023年10期
關鍵詞:特征向量特征提取投影

李任鵬, 李云峰

(河南科技大學 機電工程學院, 河南 洛陽 471003)

0 引 言

印制電路板(Print Circuit Board, PCB)缺陷檢測問題近年來備受關注。 常見缺陷檢測算法主要包括基于傳統機器視覺的缺陷檢測、基于機器學習的缺陷檢測和基于深度學習的缺陷檢測算法。

王付軍[1]利用信息熵來檢測PCB 表面鍍層缺陷,具體通過計算圖像顏色變化信息熵和結構變異信息熵來檢測PCB 的金手指缺陷和表面劃傷缺陷。Tsai[2]等在傳統模板匹配技術的基礎上,提出了一種全局傅里葉圖像重建方法,用于檢測和定位非周期性PCB 圖像中的小缺陷,該算法對平移和光照變化不敏感,能夠發現各種非周期性PCB 圖像中1 像素寬的細微缺陷。 李云峰[3]等提出一種基于圖像邊緣特征的PCB 裸板缺陷檢測算法,通過提取邊緣像素的梯度方向信息熵以及邊緣像素密度特征,結合支持向量機分類器實現缺陷定位。 He[4]等提出了一種PCB 缺陷檢測的非參考比較框架,提取PCB圖像的方向梯度直方圖(HOG)和局部二值模式(LBP)特征,分別放入支持向量機(SVM)中進行監督學習,得到兩個獨立的分類模型,并根據貝葉斯融合理論,融合兩種模型進行缺陷分類,證明了融合特征在缺陷分類問題中的有效性。 王恒濤[5]等提出一種基于YOLO-v5 的輕量化PCB 缺陷檢測算法,使用四尺度檢測機制擴大模型檢測范圍,提高了對微小缺陷的檢測效果,并通過FPGM 剪枝算法,對模型進行壓縮,實現了模型的輕量化處理。 Shen[6]等人建立了一種輕量級的PCB 檢測模型LD-PCB,在提高檢測精度的同時實現了PCB 的在線監測,并提出一種字符識別模型CR-PCB,提高了不規則字符的識別精度。

PCB 裸板缺陷種類繁多,傳統缺陷檢測模型已無法對復雜多樣的缺陷特征進行準確描述,對此本文提出了一種將多尺度淺層特征和神經網絡提取的深度特征相融合的PCB 裸板缺陷檢測算法。 多尺度特征相比于單一尺度特征,紋理特征更加豐富,能更好地挖掘圖像細節信息,卷積神經網絡(CNN)可以自動的從數據集中學習特征,自動學習特征的過程可以從新的訓練數據中得到新的有效特征表示[7]。

但構建和訓練一個深度學習網絡模型需要大量的時間成本、較高的硬件要求和大量的標記圖像[8],在缺乏大量數據集的情況下,遷移學習是一個較好的解決方案。 本文選擇在ImageNet[9]數據集上訓練好的VGGl6-Net 網絡模型作為預訓練模型,通過對模型進行微調,包括調整網絡結構和網絡參數,使新的網絡模型可以更好地擬合目標數據集。

1 算法流程

算法可分為兩個階段。 第一階段為缺陷特征的提取與融合。 首先,為了減少背景區域干擾像素對特征提取的影響,通過圖像差分和形態學等操作,分割出缺陷區域。 接下來,提取PCB 裸板缺陷圖像的多尺度灰度共生矩陣特征、多尺度方向投影特征以及多尺度梯度方向直方圖特征。 然后利用VGGl6-Net 神經網絡模型提取缺陷圖像的深度語義特征,最后將多個算法提取的特征信息進行融合,構建新的特征向量。

第二階段為缺陷分類識別。 將融合后的新特征向量作為訓練樣本,訓練支持向量機模型,完成對PCB 裸板缺陷的分類識別。 算法實現過程如圖1所示。

圖1 算法實現過程Fig.1 Algorithm implementation process

2 圖像配準與缺陷提取

本文使用圖像增強和高斯濾波算法,對PCB 裸板原始圖像進行預處理,以減少光照和噪聲對圖像的影響。 預處理之后,對采集過程中產生畸變的PCB 裸板圖像進行位姿矯正,即將待測圖像與模板圖像進行配準,由F?rstner 角點檢測算法實現[10]。F?rstner 算法是一種基于相關性和局部統計的圖像特征點查找算法。 特征點是指圖像邊緣交叉點;顏色、亮度及與周圍鄰域不同的區域,即圖像中的非均勻各向同性區域。 算法計算公式可由式(1)表示。

其中,Ix,c和Iy,c是圖像的一階導數,S表示對圖像進行平滑濾波的平滑系數。

可選擇高斯導數計算平滑導數,使用高斯函數作為濾波函數,高斯濾波核大小為I。 也可使用3×3 Sobel 濾波器計算平滑導數,并使用尺寸為S × S的均值濾波器進行濾波。

圖像的不均勻程度可表示為

圖像紋理的各向同性程度可表示為:

式中:Trace(M) 和Det(M) 分別表示矩陣M的跡和行列式。 設置用于分割圖像不均勻程度的閾值Ti≥0,用于分隔誤差點區域的閾值0.01 ≤Ts≤1。 提取大于或等于Ti的非均勻性,且同時具有大于或等于Ts的各向同性的像素點。 角點檢測結果如圖2 所示:

圖2 F?rstner 算法角點檢測結果Fig.2 Corner detection results of F?rstner algorithm

根據已知的模板圖像和待測圖像匹配點(PX,PY) 和(QX,QY) 確定投影變換矩陣H, 該最優矩陣應滿足以下方程:

待測圖像經過投影變換,完成位姿矯正和圖像配準,如圖3 所示。 圖中矩形框表示經過模板圖像和待測圖像差分后得到的缺陷區域。

圖3 圖像配準結果Fig.3 Image registration results

最后,對PCB 裸板待測圖像缺陷區域進行裁剪,為了減少干擾像素對特征提取的影響,將缺陷區域以外的圖像區域,像素值設置為0。 部分缺陷圖像示例如圖4 所示。

圖4 缺陷圖像示例Fig.4 Examples of defect images

3 缺陷圖像特征提取

圖像識別實際上是一個分類的過程,為了識別出某圖像所屬的類別,就需要將不同類別的圖像區分開來。 即需要對圖像進行特征提取,要求選取的特征不僅要能夠很好地描述圖像,更重要的是還要能夠很好地區分不同類別的圖像。 為了增大特征信息類間差距,提高特征向量對PCB 裸板缺陷圖像的分類性能,本文提出了基于多尺度特征融合的缺陷提取算法。

觀察圖4 可知,裁剪出的PCB 裸板缺陷圖像在單一分辨率下,難以提取豐富的特征信息,故本文對缺陷圖像執行下采樣,基于高斯金字塔,構建多尺度缺陷圖像,圖像分辨率隨著下采樣逐漸降低,信息逐漸豐富。 對每張圖像執行4 次下采樣操作,構建1~4 層金字塔圖像,分別對各尺度圖像進行特征提取。

在特征提取之前,需對數據集歸一化出力,將PCB 裸板缺陷圖像每點像素值歸一化至0~1 之間。

3.1 多尺度灰度共生矩陣特征提取

提取各層金字塔圖像0°方向灰度共生矩陣特征。本文選擇以下統計量作為灰度共生矩陣特征。

設width表示共生矩陣的寬度,cij表示共生矩陣中的項。 則

能量:

相關性:

其中,

同質性:

對比度:

分別計算1 ~4 層圖像金字塔的灰度共生矩陣特征,將特征向量串聯即可得到多尺度灰度共生矩陣特征向量。

3.2 多尺度方向投影特征提取

方向投影,即區域灰度值的水平投影和垂直投影。 計算公式如下:

其中,R(Region)表示目標區域;I(Image)表示區域所在圖像;(r′,c′) 表示輸入區域內最小的軸平行外接矩形的左上角;n(x) 表示相應行r +r′或列c +c′中的區域點數。

水平投影返回反映垂直灰度值變化的一維函數,同樣垂直投影返回反映水平灰度值變化的函數。

由于方向投影函數不能較好的對缺陷形狀特征進行表征,且直接將方向投影函數作為特征向量輸入給分類器,可能會造成數據冗余。 已知方向投影函數是描述灰度值變化的一維曲線,而一維曲線可以看作時域空間的一維信號,故本文提取各缺陷圖像的多尺度方向投影函數的時域特征作為特征向量。 時域特征表征方式如下:

均方根:

方根幅值:

偏斜度:

平均幅值:

峰值:

峭度:

波形因子:

脈沖因子:

裕度:

峰值因子:

其中,N表示像素序列數量,gi表示第i個像素序列對應的方向投影函數值。

計算1 ~4 層圖像金字塔方向投影函數的時域特征,將時域特征串聯即可得到圖像的多尺度方向投影特征向量。

3.3 多尺度梯度方向直方圖特征提取

梯度方向直方圖(Histogram of Oriented Gradient,HOG)特征是一種在計算機視覺和圖像處理中用來進行物體檢測的特征描述子,其通過計算和統計圖像局部區域的梯度方向直方圖來構成特征。

首先,計算PCB 裸板缺陷圖像的像素梯度,捕獲輪廓信息。

其中,Gx(x,y)、Gy(x,y) 和H(x,y) 分別表示像素點(x,y) 的水平方向梯度、垂直方向梯度和像素值。 故該像素點梯度幅值和梯度方向分別為:

然后,將圖像劃分成8×8 單元,采用具有9 個bin 的直方圖統計單元的梯度信息。 通過對單元內的每個像素用梯度方向在直方圖中進行加權投影,可得到這個單元的梯度方向直方圖,即該單元的特征向量。 最后,將所有單元合并成一個矩形塊,并對矩形塊內的像素梯度進行歸一化,一個矩形塊內所有單元歸一化后的梯度方向直方圖特征向量串聯起來便構成了單一尺度的HOG 特征向量。

分別計算1 ~4 層圖像金字塔的梯度方向直方圖特征,將各個尺度圖像的特征向量串聯即可得到多尺度HOG 特征向量。

3.4 基于遷移學習的深度語義特征提取

為了進一步挖掘PCB 裸板缺陷圖像的深層語義特征,本文利用卷積神經網絡對數據集進行特征提取,選擇VGG16-Net 網絡作為預訓練模型。

VGGl6-Net 模型由Simonyan[11]等提出,并在ILSVRC- 2014 圖片分類比賽上獲得了冠軍。VGG16-Net CNN 模型由卷積層、池化層和全連接層組成,網絡模型結構參數見表1。

表1 VGGl6-Net 網絡結構參數設置Tab.1 VGGl6-Net network parameter settings

每個卷積層通過卷積運算,應用一系列卷積核對輸入數據進行特征提取,生成特征映射集。 最大池化層通過滑動窗口對輸入數據進行匯總來減少特征映射,池化操作還可以提高特征對圖像的描述能力。 全連接層用來生成特征向量。 在每一層之后,還有一個非線性層ReLU,表現形式為f(x)=max (0,x) ,用來實現網絡訓練的快速收斂。

在遷移學習過程中,兩種模型微調方案分別為:

(1)凍結預訓練模型所有卷積特征提取層,只對分類層進行微調訓練操作;

(2)微調預訓練模型所有卷積特征提取層和分類層[12]。

由于經過預訓練的VGG-16 神經網絡已經對其卷積層參數進行了優化,不需要再對特征提取層進行調整,故本文選擇第一種微調方案。

已知卷積層以矩陣集合的形式輸出特征映射,如果將其直接轉化為一維向量,則向量的維數就會非常大,易出現過擬合問題,影響分類效率[13]。 為了降低過擬合風險,減少參數數量和計算量。 本文去掉VGGl6-Net 網絡模型的最后4 層(3 個全連接層和一個SoftMax 層),替換為一個全局平均池化層和一個具有512 個節點的全連接層。

全局平均池化層(Global average Pooling)的作用是將特征圖所有像素值相加求平均值,并用該平均值表示對應特征圖,降低了空間參數,提高了網絡的魯棒性[14]。 設計原理如圖5 所示:

圖5 全局池化層原理圖Fig.5 Schematic diagram of the global average pooling

以全局平均池化層輸出的特征映射,作為全連接層的輸入,以全連接層輸出的512 維特征向量作為PCB 裸板缺陷圖像的深層特征。 調整后的VGGl6-Net 模型結構如圖6 所示。

圖6 微調后的VGGl6-Net 模型Fig.6 The VGGl6-Net model after fine tuning

3.5 特征融合

從同一張PCB 裸板缺陷圖像中提取的不同語義特征反映了不同的圖像信息,本文將多尺度灰度共生矩陣特征、多尺度方向投影特征、多尺度HOG特征和VGGl6-Net 神經網絡模型提取到的深度語義特征進行融合,以增加特征信息的多樣性。

常見的融合方式分為并行融合以及串行融合。并行融合是指將多組向量以復向量的形式合并在一起,串行融合是指將多組向量首位串接在一起。 假設有A、B兩組特征向量,并行融合后的向量表現形式如式(29),串行融合的表現形式如式(30)。

由于淺層特征的向量維數和神經網絡提取的深度特征向量維數并不相同,故本文采用串行融合方式,將各特征向量串接,組成新的特征向量,融合后的特征向量維度為各組特征向量維度之和。

4 實驗結果及分析

4.1 實驗環境

本文所進行的研究實驗條件配置和所選數據集如下:

(1)軟硬件環境

CPU 為Intel(R) Core(TM) i5-8300H 處理器,GPU 為 英 偉 達 GTX 1050Ti。 本 文 研 究 基 于Windows 10 系統,算法開發平臺為HALCON 21.05。

(2)數據集

本文數據集選用北京大學智能機器人開放實驗室提供的具有多種缺陷(漏孔、鼠咬、斷路、短路、毛刺、余銅)的PCB 裸板數據集[15],可用于圖像檢測、分類和配準任務。 每種缺陷分布在10 種不同的PCB 裸板圖像上,共690 張缺陷圖像。 每張圖像有2~6 處缺陷部位。 經過缺陷提取,樣本數量統計見表2。

表2 缺陷樣本數量統計Tab.2 Defect sample statistics

4.2 實驗過程

首先,基于上文分析的特征提取方法,針對每一個PCB 裸板缺陷圖像提取1~4 層高斯金字塔圖像灰度共生矩陣特征向量GLCM =[Asm,Cor,Hom,Con],其中能量特征Asm =[Asm1,Asm2,Asm3,Asm4] ,相關性特征Cor =[Cor1,Cor2,Cor3,Cor4] , 同 質 性 特 征Hom =[Hom1,Hom2,Hom3,Hom4] , 對 比 度 特 征Con =[Con1,Con2,Con3,Con4] ; 1 ~4 層高斯金字塔圖像梯度方向直方圖特征向量HOG =[d1,d2,…,dn] ,n =36;1~4 層高斯金字塔圖像方向投影特征向量pro =[XRMS,Xr,Xsk,Xmean,Xpeak,Ku,SF,IF,L,ICF]。 以上提取的特征向量有62 維,與卷積神經網絡提取到的512 維特征向量串接,組成新的特征向量,共574 維。 然后將新特征向量作為SVM 輸入,訓練SVM 分類器模型,對PCB 裸板缺陷圖像進行分類。

數據集中的70%作為訓練集,10%作為驗證集,20%作為測試集。 訓練數據統計見表3。

表3 訓練數據統計Tab.3 Training data statistics

測試集混淆矩陣見表4。

表4 混淆矩陣Tab.4 Confusion matrix

4.3 對比分析

為了驗證SVM 融合多特征的分類算法對PCB裸板缺陷圖像的分類效果,將本文算法與CNN 算法進行對比,分別選擇AlexNet[16]、VGG-16 和ResNet-50[17]作為CNN 網絡模型。 采用準確率(accuracy)、精確率(precision)、召回率(recall) 和F1 分數作為分類性能的評價指標。 對比分類結果見表5。

表5 分類對比結果Tab.5 Comparison on classification results

式中:A表示樣本判別正確個數之和,B表示樣本總數,Ai表示各類樣本判別正確個數,Bi表示各類樣本數,TP表示本類樣本中判別正確個數,FP表示其它類樣本誤判成本類樣本個數,FN表示本類樣本中誤判成其它類樣本個數。

圖7 為本文算法對不同種類PCB 裸板待測圖像缺陷的檢測與識別結果。 圖中矩形表示短路,橢圓表示斷路,菱形表示毛刺,正方形表示漏孔,圓形表示鼠咬,帶圓角的正方形表示余銅。 從表5 對比實驗結果可以看出,相較于傳統CNN 分類算法,融合多尺度淺層特征和深層語義特征的SVM 分類算法對PCB 裸板缺陷圖像分類準確率有較大提升,說明本文提出的特征提取算法可以獲得更多的缺陷有效信息。 圖7 說明了本文算法對不同PCB 裸板缺陷有較好的識別效果。

圖7 缺陷識別結果Fig.7 Defect identification results

5 結束語

針對目前PCB 裸板缺陷檢測領域存在的問題,本文提出了基于高斯金字塔的多尺度特征提取方法,提取多尺度灰度共生矩陣特征、多尺度方向投影特征和多尺度梯度方向直方圖特征,并利用卷積神經網絡進一步提取圖像深層語義特征,使特征信息更加豐富。 此外,SVM 在處理小樣本問題上有獨特的優勢,基于此,本文將提取到的所有特征融合成一個新的特征向量,增強了特征對圖像的描述能力,將其轉化為特征序列,輸入給SVM 進行訓練,實現PCB 裸板缺陷分類識別。 實驗證明,該算法可以快速準確地對缺陷進行識別,準確率達到99%以上,且具有一定的穩定性。

雖然本研究取得了一定成績,但還存在算法運行時間較長,檢測效率有待提高,且針對的缺陷種類還不豐富,無法識別微小缺陷等問題。 下一步工作是優化本文算法,擴充數據集,改進網絡模型,提高檢測效率。

猜你喜歡
特征向量特征提取投影
二年制職教本科線性代數課程的幾何化教學設計——以特征值和特征向量為例
克羅內克積的特征向量
解變分不等式的一種二次投影算法
基于最大相關熵的簇稀疏仿射投影算法
找投影
找投影
基于Daubechies(dbN)的飛行器音頻特征提取
一類特殊矩陣特征向量的求法
EXCEL表格計算判斷矩陣近似特征向量在AHP法檢驗上的應用
Bagging RCSP腦電特征提取算法
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合