敖良忠 馬瑞陽 楊學(xué)文
摘 要:孔探是檢測發(fā)動機內(nèi)部損傷最重要的手段之一。為了解決發(fā)動機孔探檢查中孔探人員主要依靠經(jīng)驗對損傷進行界定的問題,研究了基于DenseNet和ResNet融合的新型單通道網(wǎng)絡(luò)結(jié)構(gòu),實現(xiàn)對發(fā)動機部件的分類,為后期孔探缺陷自動識別建立基礎(chǔ)。通過對某大修廠孔探數(shù)據(jù)和自建數(shù)據(jù)進行處理,完成了孔探圖像分類數(shù)據(jù)集的構(gòu)建;訓(xùn)練新型的49層網(wǎng)絡(luò)模型,在自建數(shù)據(jù)集測試集上測試的準(zhǔn)確率和平均召回率分別為96.0%和95.9%,有較好的泛化能力,可以有效的對發(fā)動機部件進行分類。
關(guān)鍵詞:發(fā)動機孔探;部件分類;DenseNet;ResNet;深度神經(jīng)網(wǎng)絡(luò)
Abstract:Borescope inspection is one of the most important means of detecting internal engine damage. In order to solve the problem that engineer mainly rely on experience to define damage during borescope inspection, a new single-channel network structure based on the fusion of DenseNet and ResNet was researched to realize the classification of engine components. At the same time, this establishes the foundation for the automatic identification of later flaw detection. By processing the borescope images data of a major repair plant and self-built data, the construction of the borescope image classification data set was completed. Trained a new type of 49-layer network model, with the accuracy of 96.0%, with the average recall rate of 95.9%, respectively, experimental results show that the network has good generalization ability and can effectively classify engine components.
Key words:engine borescope images;parts classification;Densenet;Resnet;deep neural network
民用航空渦扇發(fā)動機在翼期間內(nèi),發(fā)動機內(nèi)部部件的實際狀態(tài)是否符合適航技術(shù)標(biāo)準(zhǔn),是判斷發(fā)動機是否需要換發(fā)的一個關(guān)鍵因素[1]。其中,發(fā)動機孔探是了解發(fā)動機內(nèi)部關(guān)鍵部件狀態(tài)最基本和最常用的檢測方法[2]。目前,雖然發(fā)動機孔探設(shè)備測量精度越來越高,但是對發(fā)動機損傷的界定仍然需要檢驗人員憑借經(jīng)驗進行判斷,致使孔探檢測中人為因素導(dǎo)致的漏檢和誤檢比例過高[3]。如何降低人為因素差錯、提高孔探作業(yè)效率,成為航空公司和發(fā)動機大修廠迫切希望解決的問題。
隨著深度學(xué)習(xí)技術(shù)的發(fā)展,其在人臉識別和醫(yī)學(xué)影像等領(lǐng)域已經(jīng)取得了實際的應(yīng)用價值[4],但在發(fā)動機孔探圖像識別方面的研究還比較少。曠可嘉等人[5]采用深度學(xué)習(xí)領(lǐng)域內(nèi)基于卷積神經(jīng)網(wǎng)絡(luò)的FasterR-CNN和SSD模型進行缺陷的自動檢測,但是由于其建立的數(shù)據(jù)集總量只有400張,在缺陷數(shù)據(jù)集比較小的情況下,診斷精度并不能達到實際孔探工作要求。Markus[6]等人研究了基于深度神經(jīng)網(wǎng)絡(luò)模型的渦扇發(fā)動機孔探圖像分類,其利用VGG網(wǎng)絡(luò)對發(fā)動機冷端和熱端部位圖像進行識別,其平均識別準(zhǔn)確率達到77%。與基于特征的傳統(tǒng)圖像處理技術(shù)相比,基于深度學(xué)習(xí)的圖像識別技術(shù)在識別效率、識別精度上都有很大的提升。本論文研究的是發(fā)動機孔探缺陷自動識別的第一步,即基于深度神經(jīng)網(wǎng)絡(luò),將發(fā)動機孔探圖像按照部位進行自動分類,分成壓氣機圖像、燃燒室圖像、高壓渦輪圖像和低壓渦輪圖像。隨后在分類基礎(chǔ)上,對孔探缺陷進行識別和定位。通過經(jīng)典VGGNet、ResNet和DenseNet網(wǎng)絡(luò)構(gòu)架的研究和對比實驗,提出了融合DenseNet和ResNet優(yōu)點的新型單通道串連網(wǎng)絡(luò)結(jié)構(gòu),并命名為DRNet(Dense-ResNet),實現(xiàn)發(fā)動機孔探圖像的高精度自動分類。
1 孔探圖像分類數(shù)據(jù)集構(gòu)建
目前在航線維護與發(fā)動機大修中,存在一定量的發(fā)動機孔探數(shù)據(jù)。數(shù)據(jù)主要來自某大修廠2015-2019年發(fā)動機試車臺的孔探數(shù)據(jù),以及利用孔探儀的自建數(shù)據(jù)。對上述數(shù)據(jù)進行分類整理,按照發(fā)動機的部位分為(1)壓氣機圖像、(2)燃燒室圖像、(3)高壓渦輪圖像、(4)低壓渦輪圖像,如圖1所示。
發(fā)動機孔探數(shù)據(jù)一部分是視頻格式,且由于孔探視頻的反光比較強、背景差異變化大等問題,所以需要對視頻數(shù)據(jù)中的關(guān)鍵幀進行提取,以達到擴充數(shù)據(jù)集的目的;針對數(shù)據(jù)采集在時間上跨度比較大、采集數(shù)據(jù)質(zhì)量參差不齊的問題,需要對孔探圖像數(shù)據(jù)進行清洗、整理等;針對發(fā)動機冷熱端孔探檢查頻率不同導(dǎo)致的數(shù)據(jù)樣本分布不均勻問題,則需要對其進行數(shù)據(jù)增強等??滋綀D像數(shù)據(jù)處理流程如圖2所示。
針對孔探視頻數(shù)據(jù)中冗余信息過多的問題,采用了基于背景差分和幀間差分的關(guān)鍵幀提取方法,去除模糊的圖像數(shù)據(jù),并對相似特征的孔探圖像數(shù)據(jù)僅保留其中一組。
背景差分法[7]是將背景模型與當(dāng)前幀進行差分操作以實現(xiàn)關(guān)鍵幀的提取,其算法比較簡單,并且一定程度上降低了孔探視頻中的反光影響,主要用于提取壓氣機等反光較強的視頻數(shù)據(jù)。背景差分的公式如式(1-2)。
孔探數(shù)據(jù)在采集之后,存在著包含噪聲、數(shù)據(jù)格式多樣化等問題,因此需要對孔探圖像數(shù)據(jù)進行清洗和整理操作。首先采用人工方法將數(shù)據(jù)中不屬于該類別的圖像數(shù)據(jù)剔除,并刪去模糊和失真的圖像數(shù)據(jù);其次采用逐像素比較方法去掉數(shù)據(jù)中完全相同的圖像數(shù)據(jù)。另外,針對發(fā)動機孔探數(shù)據(jù)樣本中類別分布不平衡的問題,采用隨機剪裁、旋轉(zhuǎn)等幾何變換方法和采用平滑、銳化等顏色變化方法,對樣本數(shù)量比較小的類別(燃燒室)進行增強操作,讓有限的數(shù)據(jù)產(chǎn)生更大的數(shù)據(jù)價值。最后通過使用立方卷積插值法對圖像數(shù)據(jù)進行下采樣,將所有數(shù)據(jù)圖像尺寸調(diào)整為224*224*3,在減少深度神經(jīng)網(wǎng)絡(luò)計算量的同時,保留了較多的圖像特征。經(jīng)過上述預(yù)處理操作,總計收集到合格的發(fā)動機部件圖2398張,并按照3:1:1的比例隨機分為訓(xùn)練集、驗證集和測試集,其中訓(xùn)練集1438張,驗證集480張,測試集480張。發(fā)動機各部件孔探圖像具體分布如表1所示。
2 DRNet網(wǎng)絡(luò)模型的搭建
2.1 殘差模塊
從VGGNet到InceptionNet,卷積神經(jīng)網(wǎng)絡(luò)的層次越來越深,網(wǎng)絡(luò)的泛化能力也更強。但是研究發(fā)現(xiàn),當(dāng)模型加深到一定程度后,網(wǎng)絡(luò)的性能不再隨著深度的增加而提升,反而會出現(xiàn)準(zhǔn)確率下降的問題。這是因為當(dāng)模型加深以后,網(wǎng)絡(luò)變得越來越難訓(xùn)練,在較深層數(shù)的神經(jīng)網(wǎng)絡(luò)中間,梯度信息由網(wǎng)絡(luò)的末層逐層傳向網(wǎng)絡(luò)的首層時,傳遞的過程中出現(xiàn)梯度接近于0的現(xiàn)象,這稱為梯度彌散現(xiàn)象。網(wǎng)絡(luò)層數(shù)越深,梯度彌散現(xiàn)象可能會越嚴重。為了解決這一問題,微軟研究院何愷明[10]等人提出了深度殘差網(wǎng)絡(luò),即ResNet;其核心思想就是通過在輸入和輸出之間添加一條跳連接(Skip Connection),可以讓輸入信息直接傳輸?shù)胶竺娴膶又?,實現(xiàn)層數(shù)回退機制。殘差模塊如圖3所示,輸入x通過兩個卷積層,得到特征變換后的輸出F(x),與輸入x進行對應(yīng)元素的相加運算,得到最終輸出H(x),H(x)= x+ F(x)。
2.2 稠密連接模塊
與殘差網(wǎng)絡(luò)結(jié)構(gòu)相似,稠密卷積網(wǎng)絡(luò)(Dense Connection Net, DenseNet)是建立前面所有層和后面層的密集連接[11]。其通過特征在通道上的連接來實現(xiàn)特征重用,這個特點使得網(wǎng)絡(luò)DenseNet比ResNet有更優(yōu)秀的性能。如圖4所示為一個稠密連接模塊(Dense Block),其由若干個層級連接的非線性轉(zhuǎn)換結(jié)構(gòu)H組成。卷積層輸入x0通過H1卷積層得到輸出x1,x1與x0在通道軸上進行拼接,得到聚合后的特征張量,送入H2卷積層,得到輸出x2。同樣的方法,x2與前面所有層的特征信息: x1與x0進行聚合,再送入下一層。如此循環(huán),直至最后一層的輸出x4和前面所有層的特征信息:{xi}i=0,1,2,3 進行聚合得到模塊的最終輸出。由于這種連接方式,使得DenseNet網(wǎng)絡(luò)更加容易訓(xùn)練,每一層都可以直接利用損失函數(shù)的梯度以及輸入信息;同時加強了特征的傳遞,可以更加有效的利用特征。
2.3 新型DRNet網(wǎng)絡(luò)的構(gòu)建
DenseNet雖然可以通過特征重用方式更有效的利用高層信息,但是它存在特征冗余的問題;ResNet通過跳連接方式和保留中間特征的特點,可以有效的降低特征冗余,但其難以利用高層信息。同時,雖然ResNet殘差模塊加深了網(wǎng)絡(luò)結(jié)構(gòu),但是參數(shù)量卻增長過快,經(jīng)過在自建數(shù)據(jù)集的實驗得知,在達到相同的精度情況下,DenseNet參數(shù)量僅為ResNet的60%左右;DenseNet可通過盡量縮短前層和后層之間的連接,緩解梯度消失和退化問題。針對以上問題,提出了將DenseNet和ResNet融合的新型網(wǎng)絡(luò)DRNet,其以DenseNet模塊和ResNet模塊間隔連接的方式,實現(xiàn)了兩者優(yōu)缺互補的單通道網(wǎng)絡(luò)結(jié)構(gòu)。不同于Y Chen,J Li等人提出的雙通道網(wǎng)絡(luò)結(jié)構(gòu)[12](Dual Path Network,DPN),DRNet網(wǎng)絡(luò)使用稠密連接模塊的輸出作為殘差模塊的輸入,其結(jié)果再送入稠密連接模塊,如此循環(huán),實現(xiàn)了結(jié)構(gòu)簡單的單通道網(wǎng)絡(luò)結(jié)構(gòu)。
ResNet模塊如圖5(a)所示,Pool為DenseNet模塊連接過渡層的輸出,Conv2d,Conv2d_1等為模塊的名稱,(1*1+1)表示卷積核為1*1,步長為1;128,256為輸出的通道數(shù)。DenseNet模塊如圖5(b)所示,結(jié)構(gòu)雖然與ResNet模塊相似,但實際差異很大。DenseNet模塊首先經(jīng)過批量歸一化、激活后,進行一個1*1的卷積,同樣的方法,第二次進行3*3的卷積;同時為了特征重用,在跨層連接時候使用Concatenate進行特征融合,而ResNet模塊則是采用Element-wise Addition 操作。由于不需要進行Add操作,所以在每個模塊后不需要一個1*1的卷積來使輸入和輸出的特征維度達到一致。
DRNet網(wǎng)絡(luò)如圖6所示,由2個DenseNet模塊(Dense1_block*6、Dense2_block*12)、2個ResNet模塊(Res1_block、Res2_block)、2個過渡層、2個最大池化層、2個平均池化層、1個Dropout層和1個Softmax層組成,總計49層。
過渡層是指DenseNet模塊和ResNet模塊之間的層,作用是完成卷積和池化的操作,達到減小特征圖數(shù)量的目的;池化層[13]用于對卷積后的特征圖進行壓縮,平均池化層可以保留孔探圖像整體的數(shù)據(jù)特征,最大池化層則可以保留更多紋理信息。Dropout層是一類簡單但是十分有效的正則化方法,在每個訓(xùn)練批次中,隨機忽略一部分輸入,可以明顯地減少過擬合現(xiàn)象。
對于發(fā)動機部件分類圖像而言,DRNet網(wǎng)絡(luò)首先輸入224*224*3的孔探圖像,經(jīng)過一個7*7的卷積核和一個3*3的最大池化層得到56*56*64的張量;隨后經(jīng)過2個DenseNet模塊和2個ResNet模塊輸出一個4*4*512的張量,接下來經(jīng)過一個4*4的最大池化層和一個全連接層輸出一個1*1*1024的張量;最后通過Softmax函數(shù)完成孔探圖像的分類。
3 DRNet網(wǎng)絡(luò)模型的訓(xùn)練與評估
3.1 DRNet模型參數(shù)設(shè)置
深度神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程的實質(zhì)就是將輸入數(shù)據(jù)送入網(wǎng)絡(luò)模型得到預(yù)測值F(X),然后用損失函數(shù)(Loss Function)來評估預(yù)測值F(X)和真實值Y的誤差;接下來利用損失函數(shù)的導(dǎo)數(shù)通過多次迭代(優(yōu)化器)來最小化損失函數(shù)。損失函數(shù)不斷更新反過來對模型的參數(shù)也進行了更新,如此循環(huán),直到模型達到設(shè)定的迭代次數(shù)或是滿足精度要求為止。在DRNet網(wǎng)絡(luò)模型中選用交叉熵(Cross Entropy)損失函數(shù)[14]來評估模型的魯棒性,其公式如式(5)所示。
3.2 DRNet網(wǎng)絡(luò)模型訓(xùn)練過程
DRNet網(wǎng)絡(luò)模型訓(xùn)練平臺是在Windows10操作系統(tǒng)下搭建的,所用到的深度學(xué)習(xí)框架為Tensorflow-gpu2.0.0和Keras2.3.1;硬件為NVIDIA GTX1080 Ti的顯卡,Intel i5-9400F的處理器。數(shù)據(jù)集為自建的發(fā)動機孔探類別圖像,訓(xùn)練集、驗證集、測試集的分布如表1所示。
DRNet網(wǎng)絡(luò)模型設(shè)置的初始學(xué)習(xí)率為0.0003,batch_size設(shè)置為16,epoch設(shè)置為90(將所有訓(xùn)練集數(shù)據(jù)訓(xùn)練一輪為一個epoch)。調(diào)用Tensorflow的內(nèi)置函數(shù)matplotlib,生成DRNet網(wǎng)絡(luò)模型的準(zhǔn)確率和損失函數(shù)隨epoch的變化趨勢,如圖7所示。
圖7中,實線表示網(wǎng)絡(luò)模型在訓(xùn)練集上準(zhǔn)確率和損失,虛線表示網(wǎng)絡(luò)模型在驗證集上準(zhǔn)確率和損失;從圖中可以看出網(wǎng)絡(luò)模型從第2個epoch迭代至第10個epoch,準(zhǔn)確率得到了較大的提升,訓(xùn)練集準(zhǔn)確率從38%上升到82%,與之對應(yīng)的是驗證集準(zhǔn)確率從25%上升到80%;從第10個epoch到第30個epoch,模型在訓(xùn)練集上的準(zhǔn)確率上升較為緩慢,在驗證集上的準(zhǔn)確率有兩個較大的震蕩;在第40個epoch以后模型準(zhǔn)確率趨于穩(wěn)定,在訓(xùn)練集上準(zhǔn)確率為98%左右,在驗證集上準(zhǔn)確率為94%左右。隨著迭代步數(shù)的增加,模型在訓(xùn)練集的損失函數(shù)穩(wěn)定在0.05附近,在驗證集的損失函數(shù)穩(wěn)定在0.2附近。取模型趨于穩(wěn)定后,且在驗證集準(zhǔn)確率最高的模型作為最終模型,使用測試集對其進行評估。
3.3 DRNet網(wǎng)絡(luò)模型評估
在深度神經(jīng)網(wǎng)絡(luò)中常用準(zhǔn)確率(Accuracy)、精確率(Precision)、召回率(Recall)等評價指標(biāo)對模型進行評估,公式如(12-14)。其中,準(zhǔn)確率是正確預(yù)測數(shù)量與總樣本數(shù)量的比值,它是最常見的評價指標(biāo)。但在發(fā)動機孔探檢查中,既要保證不能漏檢也要求誤檢率不能過高,為了全面評價模型引入了精確率和召回率;精確率表示被預(yù)測為正的樣本中真正為正樣本的比例,召回率表示正類樣本中的被預(yù)測為正樣本的比例。
表2展示了使用在驗證集表現(xiàn)準(zhǔn)確率最高的DRNet網(wǎng)絡(luò)模型,在測試集上測試的混淆矩陣以及各分類的精確率和召回率。
從表3可以看出,新型DRNet網(wǎng)絡(luò)模型不僅在測試準(zhǔn)確率上高于經(jīng)典的VGGNet、ResNet和DenseNet模型,在模型的參數(shù)量上也僅有VGG-Net的三分之一左右,ResNet的四分之一左右,各項評價標(biāo)準(zhǔn)表明DRNet模型以更低的資源占用率實現(xiàn)了更高的性能,同時可以滿足實際的發(fā)動機孔探圖像分類需求。
4 結(jié) 論
針對發(fā)動機孔探工作中人為因素導(dǎo)致的漏檢和誤檢情況,研究了基于深度神經(jīng)網(wǎng)絡(luò)的孔探圖像自動識別方法,以輔助孔探人員對發(fā)動機進行檢查。根據(jù)DenseNet和ResNet網(wǎng)絡(luò)模型的優(yōu)缺點,提出將稠密連接模塊和殘差模塊依次串行連接,實現(xiàn)了參數(shù)量更小的單通道網(wǎng)絡(luò)模型DRNet,其在測試集的準(zhǔn)確率達到了96.0%。與Markus研究的基于VGG-16模型相比準(zhǔn)確率有較大的提升,與Y Chen等人提出的雙通道DPN模型相比參數(shù)量更小,表明DRNet網(wǎng)絡(luò)對孔探圖像有較好的分類能力。接下來的工作是在孔探圖像分類的基礎(chǔ)上,針對發(fā)動機部件,研究孔探缺陷類型的自動識別,最后與孔探驅(qū)動系統(tǒng)相結(jié)合實現(xiàn)缺陷的自動定位。
參考文獻
[1] 肖柏榮.航空發(fā)動機維護中孔探檢測技術(shù)的應(yīng)用[J].中國高新科技,2019(15):96-98.
[2] 谷亞南.基于工程管理措施的航空發(fā)動機孔探流程優(yōu)化研究[J].裝備制造技術(shù),2019(06):233-235.
[3] 張棟善,趙成.航空發(fā)動機維修中孔探技術(shù)的應(yīng)用分析[J].電子制作,2019(12):98-99.
[4] ANDRE E, BRETT K, ROBERTO N,et al. Dermatologist-level classification of skin cancer with deep neural networks.[J]. Nature,2017,542(7639):115-116.
[5] 曠可嘉. 深度學(xué)習(xí)及其在航空發(fā)動機缺陷檢測中的應(yīng)用研究[D].廣州:華南理工大學(xué),2017:40-43.
[6] SVENSN M, S HARDWICK D. Deep neural networks analysis of borescope images[C].European Conference of the Prognostics and Health Management Society,2018:5-8.
[7] 孫挺,齊迎春,耿國華.基于幀間差分和背景差分的運動目標(biāo)檢測算法[J].吉林大學(xué)學(xué)報(工學(xué)版),2016,46(04):1325-1329.
[8] 付浩海,邊蓓蓓.基于幀間差分和背景相減的運動目標(biāo)檢測和提取算法研究[J].長春工程學(xué)院學(xué)報(自然科學(xué)版),2015,16(03):116-118.
[9] 胡敬舒. 基于幀間差分的運動目標(biāo)檢測[D].哈爾濱工程大學(xué),2013:13-19.
[10]HE K, ZHANG X, REN S, et al. Deep residual learning for image recognition[C].Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition,2016: 770-778.
[11]GAO Huang, ZHUANG Liu. Densely connected convolutional networks[C].The IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2017:4700-4708.
[12]CHEN Y, LI J, XIAO H. Dual path networks[C]. Advances in Neural Information Processing Systems 30 (NIPS 2017),2017:20-35.
[13]NASR-ESFAHANI E, RAFIEI S. JAFARI M. Dense pooling layers in fully convolutional network for skin lesion segmentation[J]. Computerized Medical Imaging and Graphics,2019,78:234-241.
[14]ZHAO Lu-lu, YANG Li-cai, SU Zhong-hua. Cardiorespiratory coupling analysis based on entropy and cross-entropy in distinguishing different depression stages[J]. Frontiers in Physiology,2019,10:359.
[15]曹雪. 基于動態(tài)卷積及學(xué)習(xí)率自適應(yīng)的圖像超分重建方法研究[D].北京工業(yè)大學(xué),2017:50-55.
[16]張臘梅,陳澤茜,鄒斌.基于3D卷積神經(jīng)網(wǎng)絡(luò)的PolSAR圖像精細分類[J].紅外與激光工程,2018,47(07):17-24.