李 萍 宋 波 毛 捷 廉國選
(1中國科學院聲學研究所 聲場聲信息國家重點實驗室 北京 100190)
(2中國科學院大學 北京 100049)
超聲檢測是一種應用范圍較廣的無損檢測方法[1],對缺陷進行定性和定量分析是超聲檢測的關鍵內容。僅通過超聲檢測信號對缺陷進行人工識別,魯棒性差,長時間的檢測強度可能會引起缺陷的漏判錯判,準確率受到限制。超聲檢測原始結果多用A掃信號表示[2],隨著陣列檢測技術的發展,超聲檢測結果也越來越多地通過圖像表示,如掃描超聲成像、相控陣成像、超聲CT、合成孔徑聚焦技術(Synthetic aperture focusing technique SAFT)成像等。相應的,基于長期以來對超聲缺陷自動判別的發展需要,借鑒于模式識別中深度學習(Deep learning)的應用,即通過搭建多層的網絡結構來建立輸入與輸出的關系,得到識別的結果,發展了很多方法用于超聲檢測缺陷識別。由最初的超聲檢測A掃波形做信號處理提取特征,通過淺層神經網絡進行識別,到現在嘗試直接使用深度學習模型處理超聲檢測圖像得到識別結果。
深度學習用于缺陷識別的主要步驟為將原始數據處理為適用的范圍,再提取特征來表征信號,最后將不同特征信號進行分類[3]。深度學習從早期的淺層神經網絡發展到了深層神經網絡也就是深度學習,而相比于手動提取低層次的特征,卷積神經網絡(Convolutional neural network,CNN)能自動提取信號的深層次特征[4]。
本文綜述了深度學習在超聲檢測缺陷識別中的應用,包括從早期淺層神經網絡的應用到如今深度學習的使用,探討了基于CNN框架的深度學習方法在超聲檢測圖像識別存在的問題,并歸納了其可行的應對策略。
深度學習作為機器學習的一個分支,意在建立能模擬人腦進行分析學習的神經網絡,通過構建多隱藏層模型對海量數據進行訓練。在深度學習之前,發展了淺層神經網絡,隨著計算機輔助能力的提升,多層網絡的理論研究加強,逐漸發展成為深層神經網絡,也就是深度學習。
早期神經網絡模型在1943年提出[5],提供輸入后,使用線性加權和來模擬變換,然后經過一個閾值函數得到0或1的結果,具有若干個輸入和一個輸出的模型。最早期是手動設置權重,1958年提出單層感知機模型,是首個根據樣本數據來學習權重的模型,但其只能解決線性可分問題。1986年提出反向傳播(Back propagation,BP)算法及多層感知機(Multilayer perceptron,MLP)。BP算法降低了訓練神經網絡所需要的時間,多層感知機在輸入和輸出層之間加入隱藏層,且在單個神經元中的線性加權和后引入了激活函數,帶來非線性變換,解決非線性問題。只使用一層隱藏層稱為淺層神經網絡,淺層神經網絡在20世紀80年代末迎來了發展高峰期。
90年代末,其他淺層機器學習算法相繼提出,有突破性的進展,如支持向量機(Support vector machine,SVM)、線性回歸、決策樹等,這些方法在理論分析和應用都獲得了成功[6]。深層神經網絡[7]也就是深度學習主要指具有多層變換對復雜性數據建模算法的神經網絡,多層網絡對輸入信號提取不同的特征,相比于淺層,其表征能力更強,但其多層的變換理論分析較難,訓練需要很多經驗和技巧,在當時的計算性能下很難訓練深層的神經網絡,而且當時的數據量相對較小,不能滿足深層神經網絡訓練的需求,因此淺層神經網絡在向深層神經網絡發展時比較緩慢。
隨著計算機性能的提高以及云計算、GPU的出現,計算量已經不再是問題。隨著互聯網的發展,通過網上保存數據、共享數據,使得獲取海量數據不再困難。2006年,機器學習領域的泰斗Hinton等[4]在學術刊物《Neural Computation》上的一篇文章,開啟了學術界和工業界的深層神經網絡也就是深度學習浪潮,深度學習理論研究漸入佳境,且在應用領域顯示出巨大潛力。在2012年迎來了歷史性突破后,深度學習已經擴展到機器學習的所有領域。
深層神經網絡通過組合低級特征形成抽象的高級特征,以表征數據的分布式特征[7],最典型的模型有遞歸神經網絡(Recurrent neural networks,RNN)、長短期記憶網絡(Long short-term memory,LSTM)/門控遞歸單元網絡(Gated recurrent unit,GRU)、卷積神經網絡(CNN)、深度置信網絡(Deep belief networks,DBN),這些模型廣泛用于各種領域,表1列出了它們的典型應用。

表1 深度學習的典型模型Table 1 The typical models of deep learning
其中,CNN模型多用于圖像識別,通過卷積操作、參數共享、多個卷積核、池化降采樣以及多層卷積提取圖像的局部特征得到全局特征。圖1為最早的卷積網絡LeNet-5[8],它有3個卷積層、2個池化降采樣層、1個全連接層和1個輸出層。卷積層是卷積核與上一層圖像逐一進行卷積計算得到,其作用是提取圖像的特征,不同卷積核能得到圖像在不同映射下的特征。池化降采樣層對圖像進行子抽樣,可以減少數據處理量同時保留有用的信息,從而減少訓練參數。全連接層出現在最后,對特征做加權和,將提取的特征映射到輸出的樣本空間,起到分類的作用,連接到輸出層,得到圖像識別的結果。
隨后出現了基于CNN的不同卷積網絡架構,如AlexNet、VGG、GoogleNet、ResNet、DenseNet等。CNN架構在朝著網絡更深、分類結果更準確發展,也朝著網絡更簡化更靈活的訓練努力,目的是得到更好的特征表示且減少計算復雜度。

圖1 LeNet-5,卷積神經網絡Fig.1 LeNet-5,a convolutional neural network
超聲檢測數據自動化分析的創新性工作始于20世紀70年代末,Rose等[9?10]提出選取超聲信號傅里葉變換特征使用神經網絡方法進行分類的可行性,1986年,Burch等[11]驗證了時域信號峰值、幅度比等作為特征使用神經網絡可用于對焊接件的缺陷進行分類。
1991年,Thomsen等[12]針對復合材料玻璃鋼制作中存在的幾種缺陷,利用神經網絡實現了對其缺陷的判別。1993年,Lorenz等[13]將鋼板中得到的回波信號在時域加窗后進行傅里葉變換,再在空間域進行傅里葉變換作為輸入,利用BP算法訓練神經網絡后可以利用這一神經網絡對鋼板未知類型缺陷進行識別。
90年代末,陳彥華等[14]分別以缺陷回波去卷積和自適應濾波求得缺陷特征響應作為特征量,又驗證了在給定條件下,用回波幅度值也能實現缺陷類型和大小的評價。劉鎮清等[15]提出對粗晶奧氏體不銹鋼的檢測信號做傅里葉變換、Wigner變換、譜分析等處理,提取其特征,輸入到神經網絡,而后改進了BP算法,修正學習率,識別缺陷有無準確率接近90%。
20世紀初,Simone等[16]使用離散Gabor變換、小波變換及小波聚類算法對焊接件的超聲檢測信號進行特征提取,并輸入到神經網絡進行識別,結果表明小波聚類算法對焊接件的缺陷分類效果最佳;盧超等[17]用此方法對高溫合金棒材的平底孔、橫孔等人工缺陷進行識別,準確率達96.4%。2005年,Veiga等[18]對超聲自動檢測系統得到的超聲波衍射時差法(Time of flight diffraction,TOFD)缺陷使用神經網絡信號進行缺陷分類,節省了在線檢測的處理時間,也保證了準確率。
在當時的情況下,超聲檢測主要是基于反射回波的時域信息進行缺陷識別,而神經網絡相比于人工判定方法有很大的優勢,一是檢測效率高;二是神經網絡具有高度容錯性,信噪比較差的情況下也能使用;三是神經網絡適用于關系無法用確定的表達式表示的情況;四是神經網絡訓練完成后,可以離線用于識別未知缺陷。
而當時用于超聲檢測缺陷識別的神經網絡也存在以下問題:網絡訓練時間長;靠經驗選擇來選取神經元;選取特征量時,需要用典型缺陷的模型,根據理論和實驗確定能反映缺陷特征的量。因此提出了很多信號處理方法用于提取缺陷特征。隨著神經網絡進入低潮期,發展了很多其他機器學習方法用于超聲檢測缺陷識別,如最常用的支持向量機方法。
深度學習在2006年掀起浪潮并在2012年取得突破性進展后廣泛應用于各個領域,在超聲檢測缺陷識別上,同樣也有大量的應用。
2011年,Sambath等[19]選取回波信號小波表示后的12個系數作為信號的特征,如平均值、方差、能量、幅度等,輸入到含兩個隱藏層的神經網絡進行訓練識別4類缺陷,準確率達到94%。Wang等[20?21]對深度學習用于超聲檢測進行了研究,基于現場可編程門陣列(Field-programmable gate array,FPGA)硬件平臺搭建了用于超聲目標檢測的系統,先后提出基于時域處理、分頻處理方法提取信號特征量,設計了含3個隱藏層的神經網絡,分頻處理后訓練得到99.1%的準確率遠高于時域處理結果。
施成龍等[22]將采取的A掃信號進行小波包分析,提取其缺陷回波信號的能量分布特征,輸入到多隱層深度信念網絡,缺陷識別率提高到了98.33%。Meng等[3]提出基于CNN的深度學習框架對碳纖維聚合物缺陷分類,選用小波包系數作為CNN的輸入,分類準確率達到99.87%。
隨著深度學習在圖像的智能識別和理解上取得顯著進展,在目標檢測方面,開始使用深度學習方法。將其引入到超聲檢測缺陷識別中,可以免去復雜的手工特征提取步驟,在這方面,醫學影像識別與射線圖像缺陷識別的相關工作值得借鑒。
在醫學影像識別領域,深度學習方法已經廣泛并成熟應用于醫學圖像識別、檢測和分割等。如采用CNN自動提取特征,對乳腺癌、結腸癌等疾病進行分類[23?24],利用三維CNN框架在CT序列中檢測肺結節[25],采用基于圖像塊的CNN算法從X光血管造影圖像中提取血管達到血管分割目的[26]等眾多應用。而已公開的醫學圖像數據庫[27]和醫學圖像挑戰賽數據集[28]使得深度學習方法在醫學上得到了很好的訓練和驗證,其結果越來越可靠。
在射線工業檢測中,2014年,余永維等[29]提出一種基于深度學習的射線圖像缺陷識別方法,提出不同于傳統“人工特征提取+機器學習”的方法,采用深度學習網絡,使可疑區域的像素灰度信號直接通過網絡模型,卷積神經網絡提取其可疑缺陷區域的特征實現識別,為視覺缺陷檢測領域提供了新的思路和方法。顏偉鑫等[30]提出采用Faster R-CNN網絡模型對工件射線圖像進行缺陷區域檢測,通過實驗對比驗證了該網絡結構模型性能優于傳統的方法。
超聲成像技術不斷發展,其成像質量也在不斷改進,越來越多的用超聲圖像來表征缺陷檢測結果。結合以上方法,在超聲檢測領域,2017年,鄭志遠[31]深入分析了焊縫各類典型缺陷的超聲TOFD-D掃描成像圖的特征,根據分析得到的特征設計了基于Faster R-CNN算法的缺陷自動識別分類網絡,通過改變實驗參數獲得更多的樣本對網絡進行自動識別試驗,分析了該方法應用于超聲TOFD-D成像的可行性、準確性及效率。Khumaidi等[32]提出圖像處理方法對焊接件缺陷進行識別,采集了焊接件4類缺陷的超聲檢測圖像作為輸入,該文獻使用的CNN模型如圖2所示。使用CNN實現特征提取和分類的功能,卷積層的卷積核函數使用的是高斯核函數,能減少提取圖像過程中丟失的原圖像主要信息,也能減少干擾或噪聲的出現,其分類給出了95.83%的準確率。

圖2 卷積神經網絡結構[32]Fig.2 CNN Architecture
超聲檢測圖像并沒有統一的特征量來表征,而CNN通過圖像卷積能自動尋找特征。上述例子表明,在數據量不大且通過一個簡單的CNN網絡,便能達到一定的準確率,可見深度學習中的CNN方法在超聲檢測圖像識別方面具有很大潛力。在提高檢測效率和保證判別準確率方面,將深度學習算法與超聲檢測圖像識別結合有相當大的意義。
基于CNN框架的深度學習通過訓練提取數據的特征,實現其識別功能,在自然圖像處理中展示了卓越的性能,將其應用到超聲檢測圖像識別領域具有很大的潛力,但仍有很大挑戰性。
主要表現在以下幾個方面:
(1)傳統圖像識別分類,自然圖像建立了超大規模的樣本數據集,如MNIST、CIFAR、ImageNet,在醫學圖像上,也在逐步建立起數據庫。而在超聲檢測中,獲取大規模的樣本數據集非常困難,因為其種類多、差異大,且不同行業之間是獨立的,因此,可用的標注數據規模相對很小。
(2)大多超聲檢測圖像只有信號的強度值,特別是信噪比較低的情況,缺陷和干擾區別不明顯,有時候還因為缺陷差異而成像不同,因此,超聲缺陷識別分析比較困難。
(3)超聲檢測不同的成像方法反映工件內部的不同信息,各有優缺點,通常會使用多種不同的成像方法來確定結果,許多圖像處理的深度學習算法不能直接用于超聲檢測缺陷分析。
為了提高缺陷特征表示能力和分類準確率,應對以上問題,可以考慮如下應對策略。
4.2.1 遷移學習
CNN的主要潛力在于能夠在多層抽象中提取具區分性的特征,CNN是監督學習模型,從零開始訓練CNN是一大挑戰。CNN需要大量標記的訓練樣本數據,而超聲檢測領域并沒有大型的缺陷標記樣本庫。針對這一問題,可以采用遷移學習方法,遷移學習作為使用其他領域的數據集以監督方式預訓練CNN網絡,再使用超聲檢測數據來微調預訓練網絡作為超聲缺陷的分類器。
醫學圖像識別研究發現,用ImageNet自然圖像訓練得到的CNN模型可用于醫學圖像識別[33],可使用預先訓練好的網絡模型進行超聲檢測缺陷識別。將預訓練CNN作為監督學習網絡初始值,利用超聲檢測有限的標注數據集對網絡參數進行微調,調整網絡中的幾個或全部層。Tajbakhsh等[34]分析表明深層網絡進行微調性能有所提高,且訓練集規模減少時,使用微調網絡的重要性提高了。
4.2.2 網絡泛化及結合圖像空間連續信息
由于超聲檢測受現場條件影響大,雖然監督學習在使用標準化成像的有限實驗中表現出很大的潛力,但在稍微不同的條件下獲取的新圖像,性能可能會不一樣。因此適當使用深度學習通用的數據處理方式如規范化、正則化、Dropout層以提高網絡的泛化能力,減少過擬合[35]。
超聲檢測圖像模糊,缺陷顯示微弱且形式多樣,在特征提取階段,可先進行圖像像素點索引,利用區域中央和周邊的差值來進行圖像分割,得到可疑的區域[36],而在超聲檢測成像過程中會帶來噪聲,可采用缺陷區域動態跟蹤來識別缺陷和區分噪聲信號,通過處理該圖像空間連續信息來檢查和所得可疑區域是否匹配,以消除噪聲影響和誤檢,而不同圖像之間缺陷是否匹配可以以深度學習特征矢量的相似度來判別,即為該特征矢量之間的歐式距離。若可疑缺陷區域兩兩匹配,可判斷為同一個區域且存在缺陷。
4.2.3 多圖像信息融合及三維圖像處理
當缺陷需要用多個成像方法得到不同的檢測圖像或者三維成像結果來表征時,可采用多處理流CNN方法、三維CNN方法、多個網絡模型結合使用等方法進行超聲檢測圖像識別。
多處理流或多通道流CNN方法取缺陷多個成像結果[37]或三維圖像轉換成多個視角的二維圖像[38]作為輸入,整合多個通道缺陷信息,提高缺陷準確率,最后在全連接層合并這些特征,得到最終分類結果。三維CNN借助三維卷積提取特征,可以處理超聲檢測三維成像結果,該方法分類準確率更高,但計算效率較低[39]。多個網絡模型的疊加如RNN和CNN結合使用[40],RNN網絡模型對序列信號提取不同時刻的關聯度,CNN網絡模型主要對單張圖片進行特征提取,可以對超聲檢測三維立體成像結果進行識別。
綜上所述,深度學習具有自動地從數據中學習深層次特征的能力,已應用于圖像分析的多個研究領域。在大多數文獻中,使用深度學習相關的方法都表現出高性能,而云計算和多GPU高性能并行計算技術的發展,深度學習可以從大數據中學習深層特征。從現有文獻梳理中可看出,目前代表領先水平的深度學習用于圖像識別的方法大多是基于CNN的框架。
超聲檢測直接使用基于CNN框架的深度學習方法對檢測圖像進行識別的研究還較少,獲得用于訓練的標注數據是深度學習方法應用于超聲檢測圖像識別的一大挑戰。在目前已標記訓練數據有限情況下,充分利用超聲檢測中的非標注圖像,通過遷移學習,并結合圖像三維信息,使用多個網絡模型,達到泛化的目的,使其具有通用性將成為超聲檢測缺陷識別的一個重要發展方向。
上述挑戰為超聲檢測缺陷識別領域提供了機會,通過深度學習算法的不斷改進,借助高性能并行計算技術和日益改善的超聲檢測成像質量與不斷增長的檢測數據標記樣本集,基于深度學習的超聲檢測圖像識別將大有所為。