?

基于Tree-CNN的飛機腐蝕鉚釘分類

2020-04-23 13:36王從慶
吉林大學學報(信息科學版) 2020年1期
關鍵詞:鉚釘共生類別

唐 露,王從慶

(南京航空航天大學 自動化學院,南京 210016)

0 引 言

隨著當前航空領域的飛速發展,大型飛機的飛行安全顯得日益重要。鉚釘作為飛機主要使用的裝配手段[1-3],對其飛行安全至關重要。據統計,波音-747有鉚釘200萬個,伊爾-86有鉚釘148萬個,空中客車A-300和MD-90皆有100萬個連接件[4]。面對如此龐大的鉚釘數量,對飛機表面蒙皮的半自動化乃至全自動化的健康監測顯得尤為重要。文獻[5]提出了一種基于鉚釘形態特征的鉚釘周圍飛機蒙皮腐蝕無損檢測方法,該方法主要利用了健康鉚釘和腐蝕鉚釘在周長、面積和質心等方面的差異,區分腐蝕鉚釘與健康鉚釘。文獻[6]提出了一種2分類鉚釘檢測方法,利用鉚釘的形態學特征進行分類。文獻[7]則使用多尺度邊緣分析框架檢測表面裂紋,并使用神經網絡對檢測出的鉚釘進行分類。這些鉚釘的分類方法使鉚釘檢測不再依賴于人眼檢測,但大部分方法僅對鉚釘的健康狀態進行了2分類[6-7]且分類精度有限,無法實際應用。

筆者首先在文獻[8-9]基礎上將鉚釘按照腐蝕狀況分為3類。其次,根據鉚釘的種類不同,又將每種鉚釘分為2個類別??紤]到實際采集中,有一種類型鉚釘存在數量稀少且對維護影響較小,故共將鉚釘分為5類。為提高對腐蝕鉚釘分類的準確度,筆者根據CNN(Convolutional Neural Networks)得到的混淆矩陣確定了Tree的結構,進而改善了CNN的分類準確率。筆者搭建了用于判別蒙皮表面鉚釘健康狀態的Tree-CNN模型,并與基于灰度共生矩陣的SVM(Support Vector Machine)方法和普通CNN方法進行了實驗分析對比。

1 鉚釘圖像采集以及鉚釘腐蝕損傷分類

由于缺乏公開的飛機蒙皮表面鉚釘腐蝕圖像,筆者使用無線CCD(Charge-Coupled Device)攝像機對轟五、殲十二等機型表面進行拍攝,獲得原始飛機蒙皮表面圖像,并在此基礎上取得鉚釘腐蝕圖像(見圖1)。在轟五、殲十二等機型上,CCD采集原始飛機蒙皮典型圖片如圖2所示。

圖2 各種機型上采集到的原始飛機蒙皮表面圖像

根據文獻[8-9],將與當量日歷年5年的鉚釘試件表面出現氣泡特征相符的鉚釘定義為輕微腐蝕鉚釘;將與當量日歷年10年的鉚釘孔有腐蝕產物析出特征相符的鉚釘定義為嚴重腐蝕鉚釘;將腐蝕狀態優于當量日歷年5年特征的鉚釘定義為未腐蝕鉚釘。對輕微腐蝕鉚釘,建議進行簡單清理后繼續投入使用;對嚴重腐蝕鉚釘,建議執行更換等操作后投入使用;而對無腐蝕鉚釘,無需額外護理操作,即可繼續使用。

考慮到飛機上鉚釘形式多樣,筆者共采集了飛機上使用頻率較高的表面形狀為圓形和一字形的兩種鉚釘腐蝕圖像。據此,可將上述3種鉚釘類別再細分為圓形輕微腐蝕、嚴重腐蝕和未腐蝕鉚釘;一字型輕微腐蝕、嚴重腐蝕和未腐蝕鉚釘。由于在實際采集中一字型輕微腐蝕鉚釘的數量遠遠少于其他類別鉚釘,可認為此類別鉚釘在實際飛機腐蝕鉚釘中出現概率較小,對飛機的安全性雖有影響但不會直接導致飛機事故,故不將其納入考慮范圍。實際分類如表1所示,5種類型鉚釘的典型圖像如圖3所示。

圖3 5種類型鉚釘的典型圖片

筆者共采集了553張飛機蒙皮原始圖片,共獲得456張圓形嚴重腐蝕鉚釘圖片、603張圓形未腐蝕鉚釘圖片、632張圓形輕微腐蝕鉚釘圖片、595張一字型嚴重腐蝕鉚釘圖片和455張一字型未腐蝕鉚釘圖片。每種類別的鉚釘圖片中80%用于構建訓練集,其余20%用于構建測試集。

表1 5種類別鉚釘示意表

2 鉚釘腐蝕損傷分類方法

對飛機表面的鉚釘損傷分類,主要由圖4所示的幾個步驟組成。筆者主要研究鉚釘的分類模型,并分別使用基于灰度共生矩陣的SVM方法、基于普通結構的CNN方法和基于Tree結構的CNN網絡方法建立了鉚釘分類模型,并按照圖4的步驟對測試鉚釘圖片進行識別。

圖4 鉚釘分類的主要步驟

2.1 基于灰度共生矩陣的SVM分類方法

2.1.1 支持向量機

支持向量機是一種以監督學習方式對數據進行二元分類的廣義線性分類器[10]。對線性二分類問題,假設有訓練集T={(x1,y1),(x2,y2),…,(xN,yN)},其中樣本xi可以為多維向量,類別yi∈{0,1},則通過學習可獲得分離超平面

ω·xi+b=0

(1)

其中ω是分離超平面的法向量,b是分離超平面的位移量。

其對應的分類決策函數為

f(x)=sign(ω·xi+b)

(2)

為使距離超平面最近的兩個不同類別的樣本點之間的距離最大,可得線性分類的目標函數和約束條件

(3)

yi(ω·xi+b)≥1-ξi

(4)

其中C是懲罰函數,ξi≥0。當ξi=0且C=0時,此問題變為線性可分問題。

通過對式(3)和式(4)構造拉格朗日函數求偏導,可得對應的目標函數和約束條件的對偶表達式

(5)

(6)

對非線性問題,可通過將低維空間映射到高維空間(x→φ(x)),將其轉化成線性可分問題,再通過核函數,將高維空間內積轉換成低維空間函數

K(x,z)=φ(x)·φ(z)

(7)

將式(7)代入式(5)中,則得非線性SVM的目標函數和約束條件

(8)

(9)

通過一對一、一對多等方法[11],支持向量機還可實現多元分類。實驗部分主要采用一對一方法實現多元分類。

對于SVM一對一方法,假設類別數為k,則?i,j∈{1,2,…,k|i≠j},生成一個i,j2分類器,則總共生成k(k+1)/2個2分類器。將未知樣本代入該k(k+1)/2個分類器中,每個分類器對該未知樣本的類別進行判斷后,出現次數最多的類別即為未知樣本的類別。

2.1.2 灰度共生矩陣

灰度共生矩陣是一種通過灰度的空間相關特性描述紋理的常用方法[12]。相較于通過人為指定的特征計算方式,灰度共生矩陣可避免過多的人為干預,并更好地發現一些人工難以準確描述的特征。

具體地,灰度共生矩陣M是一個L×L矩陣,M(i,j)是圖片中p(x,y)=i且p(x+a,y+b)=j的點對出現的概率,其中L為圖像的灰度級,p(x,y)為圖像中位置(x,y)的像素值,a,b是非負整數。

基于灰度共生矩陣可得各種統計量,可將其作為圖片的特征量。實驗考慮了對比度C,熵E,角2階矩A和逆方差I4種統計量。4種統計量的計算公式分別為

其中p(i,j)是灰度共生矩陣中(i,j)處的概率值。

基于灰度共生矩陣的SVM分類方法利用灰度共生矩陣提取圖像特征,利用SVM對提取的特征進行分類。

2.2 基于Tree結構的CNN網絡方法

2.2.1 CNN深度網絡

相較于普通的分類網絡,當數據量合適時,具有更多層網絡結構的深度學習模型可獲得更好的分類效果[13]。在圖像分類領域中,CNN是一種比較常見的深度網絡。CNN深度是一種層級網絡,主要由數據輸入層、卷積計算層、ReLu激勵層、池化層以及全連接層組成[14]。CNN深度網絡的典型結構如圖5所示,原始數據首先傳入數據輸入層,經過若干個卷積計算層、激勵層和池化層得到特征映射圖,隨后再經過全連接層實現向量化轉換,最終將得到的向量送入傳統神經網絡進行訓練。

圖5 CNN網絡的典型結構圖

具體地,數據輸入層接收原始圖像,并對原始圖像進行去均值、歸一化和PCA(Principal Component Analysis)/白化等操作,使原始數據以低維度、去噪后的形式進入后續步驟,降低后續網絡的計算開銷并提高精度;卷積計算層的每個濾波器都著重于某種特定特征,多個濾波器組合下,可關注到具體的物體特征;ReLu激勵層則對卷積層得到的數據進行非線性映射,提升了網絡的表達能力;池化層則進一步減小參數數量,從而減小過擬合的可能。

在CNN網絡中,高層特征更關注語義信息而較少關注細節信息,而低層特征包含更多細節信息,但與背景混亂和語義歧義問題相關。通過CNN網絡的低層次特征映射圖可得到圖像更多的細節信息[15]。

2.2.2 基于Tree結構的CNN深度網絡

雖然CNN網絡可較好地完成圖像分類任務,但對具有高度相似性的類別進行分類時,普通的CNN網絡仍有其局限性。由于普通的CNN網絡使用單一網絡對所有類別進行分類,經過所有樣本的網絡流是相同的,致使CNN網絡在面對不同類間差異類別時采取相同的訓練方法,進而產生較大誤差[16]。為解決該問題,除使用更深的CNN網絡外,使用拓寬CNN也是一種有效方法[17]。Tree結構的CNN網絡一般由多個CNN網絡組成,可視為一種拓寬CNN網絡,包括了一個主干CNN網絡和若干分支CNN網絡。樹形網絡結構如圖6所示。

Tree結構的CNN網絡應用廣泛。文獻[16]使用Tree-CNN網絡對圖像進行分類,同時還提出可用其解決訓練圖片數量不平衡的問題;文獻[18]利用其對語句進行編碼,提高了關系抽取任務的準確率;文獻[19]則利用其對大像素圖片進行分類。

圖6 典型樹形網絡結構圖

根據Tree的主干部分分類情況,基于Tree結構的CNN深度網絡有兩種粗分-細分模式。一種是從細分類到粗分類的結構,另一種是從粗分類到細分類的結構。但從細分類到粗分類的Tree型結構可能導致測試圖像開始就被錯誤分類[20]。從粗分類到細分類的Tree型結構通過對輸入數據進行一次粗分和數次細分完成訓練任務。粗分CNN用于對所有類別進行粗分類,而細分CNN則在上一層粗分或細分的基礎上,對不同類別分別進行再分類。

由Tree的結構可知,Tree結構的CNN深度網絡的分類正確率與主干和分支CNN網絡的分類正確率均有關,其具體關系為

Ptree(t)=P(ci,f)P(xt,l)

(14)

其中Ptree(t)表示輸入數據經Tree結構的CNN網絡后被正確分類為最終類別t的概率,P(ci,f)表示經Tree結構的主干部分時被正確分類為初類別i的概率,P(xt,l)表示經過Tree結構的枝葉部分時被正確分類為最終類別t的概率。

普通結構的CNN深度網絡的分類正確率

P(t)=P(xt,f)

(15)

其中P(xt,f)表示輸入圖象經過普通網絡被直接正確分類為細類t的概率。

在從粗分類到細分類的Tree型結構中,主干分類網絡用于分類較易區別的類別[21]。所以可認為

P(ci,f)≈1

(16)

另外,Tree型結構設計用于區分最終類別t和其他類別,所以可假設

P(xt,l)≥P(xt,f)

(17)

由式(14)~式(17),可得

Ptree(t)≥P(t)

(18)

由式(18)可知,從粗分類到細分類的Tree型結構可提高普通CNN網絡的分類準確率。

3 實驗結果分析

召回率c0,c1,c2,c3,c4為各個類別預測正確的樣本數量占該類總樣本數量的比例

(19)

3.1 基于灰度共生矩陣的SVM鉚釘腐蝕分類

當取灰度級L=16時,圖3中的0類圖像通過計算得(a,b)=(1,0)組合下的歸一化灰度共生矩陣如圖7所示。

圖7 以頻數表示的灰度共生矩陣

對圖3中的5張鉚釘圖像,在(a,b)=(1,0)時,C,E,A,I值如表2所示。

表2 灰度共生矩陣特征值

當(a,b)=(1,0)時,SVM對2 194張訓練圖片的訓練準確率是0.63。利用訓練模型對547張測試圖片進行預測,得混淆矩陣如表3所示。

表3 基于灰度共生矩陣所得的混淆矩陣

3.2 基于普通結構CNN網絡的鉚釘腐蝕分類

由于筆者所采集的數據量有限,在實驗中選擇了層數相對較小的網絡結構訓練適用于鉚釘腐蝕分類的模型,使用的CNN網絡構架如圖8所示。

圖8 簡單CNN網絡構架

深度學習中超參數的取值對模型的性能有較大的影響。經過實驗比較,筆者設定固定學習率為0.000 1,批大小為25,迭代次數設置為8 000次,優化模型選用AdamOptimizer。

利用2 194張訓練圖片訓練CNN網絡模型,再對547張測試圖片進行預測,得混淆矩陣如表4所示。

表4 基于普通結構CNN網絡的混淆矩陣

3.3 基于Tree-CNN網絡的鉚釘腐蝕分類

Tree-CNN可認為是對普通CNN的一種改進,筆者提出的Tree-CNN以3.2節中CNN結構為基礎,其中單個CNN網絡均與圖8中的CNN網絡結構一致。

考慮到鉚釘的實際類別情況,共擬定兩種深度為3的Tree型結構。第1種Tree型結構的第1層網絡用于區分鉚釘形狀;第2種Tree型結構的第1層網絡用于區分鉚釘腐蝕程度。

根據表4,分別計算得普通CNN網絡對按鉚釘形狀分類和按腐蝕程度分類的混淆矩陣(見表5、表6)。

表5 按鉚釘形狀分類得到的混淆矩陣

表6 按鉚釘腐蝕程度得到的混淆矩陣

由表5和表6可知,按照形狀分類的類間相似度和按照腐蝕狀態分類的類間相似度分別為16.2%和18.1%。為提高Tree-CNN的總體分類準確度,筆者選擇以較小類間相似度對鉚釘進行第1層分類,Tree-CNN的結構圖如圖9所示。

圖9 用于鉚釘腐蝕分類的Tree-CNN結構圖

對2 194張訓練圖片,利用訓練的Tree-CNN網絡模型對547張測試圖片進行預測,得混淆矩陣如表7所示。

3.4 結果對比及分析

根據表3、表4和表7計算得3種方法的準確率a和召回率ci如表8所示。

通過對比SVM和普通CNN的a可知,對于鉚釘腐蝕分類問題,雖然筆者使用的深度網絡結構較為簡單,但相比于普通的SVM分類方法,CNN分類網絡在分類準確度上有較大提升,整體的準確率由63.4%提升到了79.3%。相比利用灰度共生矩陣提取人為指定的圖像特征,CNN網絡以“黑箱”方式完成了對不同鉚釘類別的特征提取工作,該方式可更好地提取鉚釘腐蝕分類問題中的未知特征;同時,相比于SVM,通過反復學習,CNN網絡可處理更復雜的鉚釘特征與鉚釘類別之間的關系。

表7 基于Tree結構的CNN網絡的混淆矩陣

表8 3種方法的分類結果

通過對比SVM和普通CNN的ci可知,對于鉚釘腐蝕分類問題,雖然CNN網絡在“0”類,“2”類,“3”類以及“4”類上效果大幅好于SVM,但在“1”類上分類效果稍遜。具體觀察表4可知,CNN網絡對“1”類和其余“0字形”類別(“0”類和“2”類)之間的分類成功率較低,可認為普通CNN網絡對“1”類和其余“0字形”類別(“0”類和“2”類)之間的分類特征提取能力略弱于SVM。

通過對比普通CNN和Tree-CNN的a可知,對于鉚釘的腐蝕分類問題,即使使用同樣的基礎網絡,Tree結構的CNN網絡比普通結構的CNN可獲得精確度更高的分類模型。Tree結構的CNN可自動改變網絡對所有類別的“無差別”計算,在面對類間差異較小的分類問題時,Tree結構的CNN對網絡精度的提升會十分顯著。

通過對比CNN和Tree-CNN的ci可知,對于鉚釘腐蝕分類問題,Tree結構的CNN網絡除了在“1”類的召回率沒有變化外,在其余各個類別都有更高的召回率。具體觀察表7可知,CNN網絡對“1”類和其余“0字形”類別(“0”類和“2”類)之間的分類成功率較低??梢哉J為,相對于普通的CNN網絡,筆者樹形結構CNN雖然可大幅提高“0”類和“4”類的區分成功率,但對區分“0”類和其余“0字形”類別卻沒有貢獻。

4 結 語

筆者提出了將CNN深度學習網絡應用于鉚釘損傷識別,實現了對腐蝕損傷鉚釘的分類,并在此基礎上將普通的CNN網絡擴展成Tree結構的CNN網絡,以解決部分鉚釘類別間相似性較高的問題,最終對鉚釘損傷的分類精度達到了86.5%。

筆者設計的CNN網絡以及在此基礎上拓展出的Tree結構CNN網絡相較于傳統的SVM方法,在對腐蝕鉚釘的分類精度上有較大提升,使用的分類標準相較于其他鉚釘分類方法,對鉚釘分類更具現實指導意義。利用該鉚釘損傷檢測方法,可更準確地對飛機鉚釘損傷進行分級,為鉚釘的維護或更換提供指導。

猜你喜歡
鉚釘共生類別
黑色鉚釘
油密鉚釘冷鐓過程優化改進
人與熊貓 和諧共生
PA44-180飛機油門鋼索固定鉚釘斷裂原因及預防措施
共生
優生共生圈培養模式探索
優生共生圈培養模式探索
壯字喃字同形字的三種類別及簡要分析
西夏刻本中小裝飾的類別及流變
多類別復合資源的空間匹配
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合