?

CNN融合PCA-DT模型的金屬缺陷識別研究

2022-10-10 07:39唐東林周立吳續龍宋一言秦北軒
機械科學與技術 2022年9期
關鍵詞:特征提取卷積樣本

唐東林,周立,吳續龍,宋一言,秦北軒

(西南石油大學 機電工程學院,成都 610065)

我國工業快速發展,對產品的質量要求也越來越高,而金屬缺陷對石油石化行業的輸油管道和石油儲罐等有很大影響,因此,金屬缺陷檢測近年來受到越來越多的關注[1]。依靠人工方式對缺陷檢測信號進行判斷不僅工作量大,且分類效果受主觀因素影響。因此通過模式識別對缺陷檢測信號進行識別分類具有重要意義[2]。模式識別方法就是用計算的方法根據已知樣本的特征將未知樣本進行識別分類,模式識別已廣泛應用于缺陷識別領域。

目前模式識別方法主要分為機器學習方法和深度學習方法。機器學習中有支持向量機SVM(Support vector machine)、人工神經網絡ANN(Artificial neural network)、無監督學習K-means聚類等,這些方法有著一些局限。例如,文獻[3]采用小波平滑方法去除圖像中的噪聲,然后根據二值化圖像的光譜測度提取出5個特征并輸入SVM,其需要專門領域知識來設計缺陷特征并提取,繁瑣費力且受人為因素影響[4-6];文獻[7]利用logistic回歸(LM)模型和ANN研究聲發射檢測識別金屬缺陷和文獻[8]利用人工神經網絡預測管道破裂壓力,這兩種方式存在過擬合、迭代慢、所需訓練樣本大等問題;文獻[9-10]利用無監督模式識別分析結合主成分分析(PCA)對缺陷進行實時檢測和分類,但無監督模式識別K-means需要提前設定K值和選定初始聚類中心,而K值和初始聚類中心很難確定。

近些年隨著深度學習的發展,卷積神經網絡(Convolution neural network,CNN)在缺陷識別領域中成功應用,文獻[11]提出了一種基于視覺長-短期記憶的集成CNN模型用于織物疵點分類,精度有所提高,但網絡結構較復雜,迭代速度慢;文獻[12-14]利用R-CNN及其變體對缺陷、焊點等進行分類定位,然而存在卷積操作低效,需要較大樣本量和訓練時間較長的問題。最近,深度學習結合機器學習被廣泛關注,利用CNN模型在提取特征上的巨大優勢,將其代替機器學習的人工提取特征,用機器學習對CNN提取的特征進行識別分類,能有效彌補CNN模型分類參數多、結構復雜、反向傳播效率低的問題。文獻[15]將灰度共生矩陣和Gabor提取的強特征與CNN隱藏層的抽象特征進行融合,并將融合后的特征輸入SVM進行分類。文獻[16]利用統計特征作為卷積神經網絡的訓練數據集,CNNSVM算法獲得了準確的肌肉疲勞分類。文獻[17-19]人工提取特征輸入到CNN中然后用機器學習取代cnn的softmax層,其對于分類準確率有一定提升。由于CNN模型多用于圖像數據,因此以上研究只針對圖像缺陷數據,對于非圖像缺陷數據并未涉及。

在此基礎上,提出一種適用于中小規模數據的淺層卷積神經網絡提取特征,決策樹(Decision tree,DT)分類的算法模型,并引入主成分分析(Principal component analysis,PCA)降維。在中小規模數據中,本文模型相對于傳統機器學習和深度學習,能更快速更準確地實現金屬缺陷識別分類,且在非圖像缺陷數據上也表現優異。

1 本文方法

1.1 CNN-PCA-DT模型

本文模型如圖1所示,具體分類步驟如下:

圖1 CNN-PCA-DT結構圖

1)將200*200的圖像數據輸入由卷積神經網絡組成的特征提取模塊提取特征;

2)為了減少冗余特征、過擬合和節約計算開銷,將特征提取模塊中提取的高維特征通過分類模塊中的PCA進行降維處理,降維后將特征輸入DT;

3)分類模塊中分類模型采用C4.5算法建立DT模型,通過訓練集訓練DT模型,訓練完成后,將測試集送入模型,通過特征提取模塊提取特征,并用PCA降維,最后將特征送入訓練好后的DT模型中得到結果。

1.2 特征提取模塊

由于深度學習結構復雜、訓練參數多,針對中小規模數據容易過擬合,因此特征提取模塊主要由淺層的卷積神經網絡組成,其由1個數據輸入層、2個卷積層、2個池化層組成。其中數據輸入層對輸入的數據進行歸一化和去均值等預處理,將預處理后的數據輸入卷積層,卷積層由多個卷積核組成,卷積核一般有1×1、3×3和5×5等大小組成。C1層采用16個3×3大小的卷積核,步長為1,邊緣填充1個單位來進行窗口滑動對數據做卷積運算進行特征提取,將得到的特征輸入池化層S2。

池化層有2×2、3×3等濾波器,主要用于數據壓縮,進行特征降維消除冗余信息,減少過擬合。S2層采用最大池化,池化塊為2×2,采樣步長為2,將數據壓縮4倍,并輸入卷積層C3。

C3層由32個3×3的卷積核構成,采用同C1層同樣的操作進行特征提取,提取后輸入池化層S4層,S4層采用同S2層同樣的操作進行數據壓縮,壓縮后將其輸入分類模塊中。

1.3 分類模塊

分類模塊主要由DT和PCA組成。DT是一種樹形結構的歸納學習分類器,在給定的無序訓練數據中,創建出分類模型。同CNN的黑盒模型不同,DT是一個白盒模型,可解釋性好且不需要對數據進行特別預處理,能在較短時間內對數據進行識別分類。

決策樹算法有ID3,ID4,C4.5,C5.0,CART等,本文選擇C4.5算法,該算法采用信息增益率作為不純度指標,信息增益率使用的是信息論中的熵來度量,熵對于集合D定義為

式中:|y|為樣本種類;k為每一類;pk為每類對應的概率。

為引出信息增益率首先介紹信息增益(也稱不純度減少量),信息增益用特征將個樣本進行劃分,信息增益Gain(D,α)定義為

式中:α為樣本集D中的離散特征;v為α的個數;Dv為第v個分支所包含的樣本。

在信息增益的基礎上,信息增益率Gain_ratio(D,α)定義為:

其中:IV(α)是特征α 的熵。

決策樹在構造中,如果樹枝多且深,可能會因為噪聲和偶然性采樣導致過擬合,為了防止決策樹過擬合,有預剪枝、后剪枝、節點樣本數門限等,本文采用了預剪枝來減小過擬合,預剪枝使部分無需展開的分支不展開,這不僅降低了過擬合的風險,還顯著減少了決策樹的訓練時間開銷和測試時間開銷。

由于CNN提取的特征具有冗余性,為了減少過擬合和提升分類效率需要對特征用PCA降維。PCA是從一組特征中提取一組新特征,通過解協方差矩陣的特征值來求解主成分,其中特征值越大,對應特征向量越重要,按重要性從大到小排列,新特征之間互不相關,根據事先確定新特征代表數據總方差比例,來決定選取主成分個數。

2 實驗數據和預處理

2.1 數據集

為了驗證模型的性能,采用了NEU-DET數據集,并引入超聲A掃描缺陷信號數據集ULTADET驗證模型在非圖像數據上的性能。

1)圖像缺陷數據集NEU-DET

該數據集是開放的缺陷檢測數據集[20],收集了熱軋鋼帶的6種典型表面缺陷,即軋制氧化皮,斑塊,開裂,點蝕表面,內含物和劃痕。該庫每類缺陷含300個樣本,每個樣本為200×200分辨率的灰度圖像,如圖2所示。

2)非圖像缺陷數據集ULTA-DET

為模擬實際金屬缺陷的不同深度和形狀,在厚度為11 mm的Q235為樣板上加工了2 mm、5 mm、8 mm這3種深度每種共80個,每種深度都有矩形、圓形、橢圓和不規則形狀如圖3a)所示,實驗以缺陷深度為分類標準,共240個數據。該實驗采用頻率2.5 MHz、底部直徑20 mm的超聲探頭,并通過數字式超聲探傷儀、示波器來獲取超聲缺陷信號,其實物連接如圖3b)所示,檢測原理如圖4所示,當有缺陷時超聲回波將發生變化,探頭接受回波并傳回探傷儀中,最終示波器收集探傷儀的數據,示波器獲取的每個缺陷信號為1×16384的數據,以csv文件格式儲存。

圖3 實驗樣本和設備

圖4 超聲檢測原理圖

因為兩個數據集屬于中小規模,劃分測試集和驗證集時會導致訓練樣本減少,進而分類器性能會受到影響,為消除影響,采用十折交叉驗證對數據集進行劃分,即將全部數據隨機劃分為十個等份,每一份輪流作為測試集,其他九份作為訓練集,當每一份都作為測試集后共得到10個結果值,將10個結果值的平均值作為交叉驗證的結果。因此,兩類缺陷數據集按十折交叉驗證取90%為訓練集,10%為測試集。因為有了交叉驗證所以不在劃分驗證集,具體缺陷樣本分布如表1和表2所示。

表1 圖像缺陷數據集NEU-DET缺陷樣本分布

表2 非圖像缺陷數據集ULTA-DET缺陷樣本分布

2.2 實驗環境和參數設置

本文實驗平臺為Pycharm,深度學習開源框架為Pytorch。

用CNN提取特征時,根據ULTA-DET數據集和NEU-DET數據集數據規模大小選擇學習率和批訓練塊,其他參數選擇通過一般性規律選擇,具體如表3所示。

表3 CNN參數

3 實驗結果與分析

3.1 人工與卷積提取特征對比實驗

為了證明CNN提取特征在識別分類上的性能,本文在人工提取特征和CNN提取特征兩種條件下進行實驗。實驗中人工提取特征方式需要進行圖像去噪、圖像增強、特征選擇和特征提取。對于NEUDET數據集,用中值濾波去噪、直方圖均衡化進行圖像增強、并進行二值化、然后對樣本進行了特征選擇和提取,具體特征如表4所示,每個樣本共11個缺陷特征。

表4 人工提取NEU-DET數據集的特征類型

這里采用準確率、6種缺陷的平均精準率和平均召回率作為性能評價指標,兩種算法模型的分類結果如表5所示,可以看出,在相同數據情況下,CNN-DT在準確率、平均精準率和平均召回率上分別高出1.56%、1.22%、1.7%。運行時間上DT算法模型少用2459.4 s,這是因為前期人工選擇并提取特征并未計入分類時間中,而DT算法模型在這一部分所用時間是遠超于3459.9 s的,所以總時間還是CNN + DT更少。因此CNN提取特征用于缺陷圖像分類有更好的分類結果。

表5 人工提取特征和CNN提取特征在NEU-DET上的測試結果

3.2 有無PCA + DT模塊對比實驗

為證明本文模型性能,將本文模型和沒有采用PCA-DT的淺層結構CNN模型進行對比實驗。CNN模型訓練過程如圖5所示, CNN模型在迭代70次左右收斂,因為中小規模數據集數據過少且未做數據增強,CNN模型由于過擬合導致測試集準確率始終有一定的波動。

圖5 CNN在NEU-DET上的學習曲線圖

對于CNN-PCA-DT模型,PCA需要確定主成分個數,DT需要預剪枝,由于兩個數據集的樣本特征多但樣本量不多,因此選擇最大葉子節點數作為預剪枝參數,取不同PCA個數和最大葉子節點數個數得出數據集的準確率如圖6所示,圖中最高的是紅色長方體94.76%,因此根據紅色長方體主成分個數取400個,最大葉子數取64。用這兩個參數進行實驗,因為隨機分批次,為提高分類結果統計性,對每類的訓練和測試進行10次,取10次的平均值為最終結果, 并將分類時間作為效率評價指標。

圖6 PCA和最大葉子節點數對分類NEU-DET準確率的影響

最終對比結果如表6所示,本文模型是在準確率、精準率和召回率上皆優于CNN模型,這是因為數據量較少,CNN模型過擬合。且CNN用時約為本文模型的13.86倍,從信號處理的角度看,CNN的反向傳播進行參數優化是低效的,這驗證了本文模型的時間復雜度好,有利于實時在線分類,對于中小規模數據,本文模型能充分發揮其性能。

表6 有無PCA-DT在NEU-DET上的測試結果

3.3 綜合對比實驗

將本文模型與主流分類模型進行對比,并加入是否需要人工提取特征這一指標,以驗證本文方法的有效性。對比的模型有基于機器學習的SVM和利用了一種能夠提高缺陷識別率的新的特征描述子方法的文獻[20],基于深度學習的GoogLeNet、VGG16和ResNet34。測試結果如表7所示,可知本文模型相對傳統機器學習中的SVM是有優勢的,與文獻[20]在3個評價指標上差別不大,但是本文CNN提取特征的優勢是文獻[20]所不具有的;對于中小規模數據,3種深度學習方式在3個評價指標上與本文模型相比優勢不大,且因為結構復雜參數多,分類時間上分別是本文模型的32.25倍、41.57倍、20.06倍,因此在算法模型的時間復雜度上,本文方法無疑效率更高。

表7 不同算法在NEU-DET上的測試結果

3.4 非圖像缺陷分類結果

CNN及其變體模型[16-20]多用于圖像數據并未在非圖像數據上進行實驗,為驗證本文模型在非圖像缺陷數據上的性能,引入超聲A掃描缺陷信號數據集ULTA-DET上,同處理圖像數據一樣,通過實驗得到圖7所示,求得PCA個數取100,最大葉子節點數取8。

圖7 PCA和最大葉子節點數對分類ULTA-DET準確率的影響

為與DT算法比較, 需要人工提取特征。超聲數據集的人工特征提取利用經驗模態分解(Empirical mode decomposition, EMD)[21],分解得到9個本征模式分量IMF,1個殘差res,如圖8所示。

圖8 ULTA-DET第15號樣本的EMD分解圖

選取能表征大部分缺陷特性的前7個IMF分量,以減小計算復雜度,選取時域指標參數作為缺陷信號的特征值,具體如表8所示,所以每個樣本由前7個IMF分量可得7×12 = 84個缺陷特征。

表8 人工提取ULTA-DET數據集的特征類型

用單獨的淺層CNN分類,學習曲線如圖9所示,由圖9得出迭代20次左右便達到穩定。

圖9 CNN在ULTA-DET上的學習曲線圖

測試結果見表9,本文模型在非圖像缺陷數據集上準確率、精準率、召回率上較機器學習方法中的DT、SVM、文獻[20]的算法有較大提升,在分類速度上稍慢于機器學習,但機器學習需人工提取特征。且3種機器學習方法對于NEU-DET數據集均能達到90%左右,而ULTA-DET數據集上則表現為70% ~ 80%,由此看出,機器學習的分類效果特別依賴特征提取和選擇,而人工設計特征和提取特征非常不穩定,其對于最終分類結果影響巨大,這凸顯了本文利用CNN提取特征的優勢。

表9 不同算法在ULTA-DET數據集上的測試結果

本文模型與深度學習模型GoogLeNe、VGG16、ResNet34和CNN對比,在3個評價指標上差別較小,但因為本文方法結構簡單參數少,所用分類時間更少,在性能上優于深度學習模型。此外,通過CNN + DT與CNN-PCA-DT對比,可以看出加入PCA能提升分類效果。因此本文方法適用于非圖像類型缺陷,彌補CNN結合機器學習方法用于非圖像缺陷數據分類的空白。

4 討論

本文提出了一種針對中小規模數據集的CNNPCA-DT的缺陷分類模型,模型引入淺層的卷積神經網絡提取特征來代替繁瑣費時且不穩定的人工提取特征,因為CNN模型在小規模數據上容易過擬合,利用決策樹對中小規模缺陷數據集進行分類來代替需要大樣本的卷積神經網絡;通過引入主成分分析,進一步對提取的特征去冗余化,減小過擬合性并提高模型運行效率;為驗證本文模型的通用性,除圖像缺陷數據集NEU-DET,加入非圖像數據集超聲A掃描缺陷數據集ULTA-DET。實驗結果表明,本文方法能快速有效地對圖像缺陷數據和非圖像超聲A掃描缺陷數據分類,因此對圖像和非圖像類型缺陷在線實時分類有現實意義。

由于深度學習對大規模數據有巨大優勢,本文模型只針對中小規模數據集分類,因此對于十萬、百萬級等大型規模數據可以與深度學習方法比較和改進、進行深入地研究。

猜你喜歡
特征提取卷積樣本
同步定位與建圖特征提取和匹配算法研究
基于全卷積神經網絡的豬背膘厚快速準確測定
基于圖像處理與卷積神經網絡的零件識別
基于深度卷積網絡與空洞卷積融合的人群計數
基于MED—MOMEDA的風電齒輪箱復合故障特征提取研究
卷積神經網絡概述
基于曲率局部二值模式的深度圖像手勢特征提取
直擊高考中的用樣本估計總體
隨機微分方程的樣本Lyapunov二次型估計
基于支持向量機的測厚儀CS值電壓漂移故障判定及處理
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合