張 靜,農(nóng)昌瑞,楊智勇,劉鎮(zhèn)毓,曾慶松
(1.海軍航空大學(xué),山東 煙臺 264001;2.煙臺理工學(xué)院,山東 煙臺 264001)
飛機(jī)蒙皮是保持飛機(jī)良好氣動特性的重要部件,其大部分時間暴露在自然環(huán)境中,極易產(chǎn)生裂紋故障,同時,飛機(jī)蒙皮在受到外來物等沖擊會導(dǎo)致蒙皮缺損故障,此外,蒙皮件在日常工作過程中還會產(chǎn)生磨損故障。如果這些故障不能及時發(fā)現(xiàn)并進(jìn)行修復(fù),可能會導(dǎo)致嚴(yán)重的飛行事故。傳統(tǒng)的故障檢測方法對機(jī)務(wù)人員的工作經(jīng)驗與業(yè)務(wù)水平的要求較高,且存在檢測效率低、漏檢等問題。為此,利用深度學(xué)習(xí)方法對飛機(jī)蒙皮進(jìn)行故障檢測逐漸受到研究學(xué)者的關(guān)注,基于深度學(xué)習(xí)的檢測方法具有檢測速度快、精度高的優(yōu)點(diǎn),能夠在一定程度上降低檢測成本、減輕檢測人員的工作量。但是利用深度學(xué)習(xí)的方法進(jìn)行故障檢測,需要依賴大樣本數(shù)據(jù)才能獲得較好的訓(xùn)練效果,而飛機(jī)蒙皮故障的圖像數(shù)據(jù)往往不對外公開,研究人員難以獲取數(shù)據(jù)來建立大樣本數(shù)據(jù)集,這嚴(yán)重影響了網(wǎng)絡(luò)的檢測性能。
為了解決小樣本這一難題,通??梢圆捎脭?shù)據(jù)增強(qiáng)的方式對數(shù)據(jù)集進(jìn)行擴(kuò)充。數(shù)據(jù)增強(qiáng)(data augmentation,DA)通過對樣本圖像進(jìn)行多種變換,獲得具有多樣性的樣本圖像。傳統(tǒng)的DA方法如PCA(principal component analysis,PCA)抖動、隨機(jī)裁剪、旋轉(zhuǎn)等,但是這些方法主要是在原圖的基礎(chǔ)上進(jìn)行一定規(guī)則的變換,生成圖像的分布較為單一。2014年Goodfellow等提出了生成式對抗網(wǎng)絡(luò)模型(generative adversarial networks,GAN),并在圖像超分辨率、DA等領(lǐng)域得到了廣泛的應(yīng)用。GAN在DA中具有更大的優(yōu)勢,其通過產(chǎn)生一組隨機(jī)噪聲并對真實樣本進(jìn)行學(xué)習(xí),生成新的樣本數(shù)據(jù),從而擺脫對原圖進(jìn)行簡單變換的限制,進(jìn)而解決小樣本數(shù)據(jù)增強(qiáng)問題。GAN提出后得到了學(xué)者們的廣泛關(guān)注,出現(xiàn)了針對不同任務(wù)的改進(jìn)版本,其中2015年Radford A等提出的DCGAN(deep convolutional generative adversarial networks,DCGAN)是解決DA問題較優(yōu)異的改進(jìn)算法,其引入步長卷積替換原有的感知機(jī)層,具有較好的訓(xùn)練穩(wěn)定性,生成樣本的質(zhì)量較好。
2019年Juan W等將DCGAN應(yīng)用到帕金森識別中,通過對樣本數(shù)據(jù)增強(qiáng),進(jìn)一步提高了模型的識別準(zhǔn)確率;孫東平在金屬零件外觀瑕疵檢測中引入了DCGAN,改進(jìn)DCGAN模型以生成瑕疵塊樣本數(shù)據(jù),有效解決了小樣本檢測難題;2020年甘嵐等引入了Wasserstein距離與普歸一化(spectral normalization,SN)等對DCGAN進(jìn)行改進(jìn),用于數(shù)據(jù)集增強(qiáng);徐永士等則是將DCGAN應(yīng)用于SAR圖像生成中,通過增加生成器數(shù)量來提升模型性能;2021年張笑璐等針對軸承故障診斷中樣本不均衡問題,引入DCGAN生成分布較均衡的樣本;楊彥利等將DCGAN應(yīng)用到絕緣子圖像生成中,獲得了質(zhì)量較好的圖像數(shù)據(jù)。通過上述文獻(xiàn),可以看到DCGAN在SAR圖像、金屬零件瑕疵圖像和絕緣子等圖像生成中具有較廣泛的應(yīng)用,故將DCGAN應(yīng)用到飛機(jī)蒙皮故障圖像增強(qiáng)中是有效可行的,但是在實際應(yīng)用過程中也發(fā)現(xiàn)一些問題,如生成圖像的尺寸小、圖像質(zhì)量差、訓(xùn)練不穩(wěn)定等。
為此,本文中從以下2個方面進(jìn)行改進(jìn):① 針對生成圖像尺寸與質(zhì)量問題,改進(jìn)網(wǎng)絡(luò)結(jié)構(gòu),使用更深的網(wǎng)絡(luò)層以生成更大尺寸的圖像,并使用ResNet殘差模塊代替原來的步長卷積;② 針對訓(xùn)練不穩(wěn)定,引入Wasserstein距離代替原來的損失函數(shù)。經(jīng)過改進(jìn),上述問題得到了有效解決,DCGAN的性能有所改善。
DCGAN是在GAN的基礎(chǔ)上提出的一種無監(jiān)督深度學(xué)習(xí)模型,其結(jié)構(gòu)包括生成器Generator(G)和判別器Discriminator(D),G和D通過相互競爭,最終實現(xiàn)納什均衡。其中,G給定噪聲輸入,隨后通過學(xué)習(xí)真實數(shù)據(jù)的數(shù)學(xué)分布與特征信息,最終生成新的樣本數(shù)據(jù)。D則是對輸入樣本進(jìn)行判斷,辨別出樣本是生成樣本還是真實樣本。DCGAN結(jié)構(gòu)如圖1所示。
圖1 DCGAN結(jié)構(gòu)示意圖Fig.1 Structure of DCGAN
DCGAN在GAN的基礎(chǔ)上采用了全卷積結(jié)構(gòu),進(jìn)一步提高了網(wǎng)絡(luò)的特征提取能力,考慮到利用池化層(pooling)進(jìn)行下采樣會損失部分圖像信息,因此把網(wǎng)絡(luò)中的池化層替換成了步長卷積,其中G網(wǎng)絡(luò)由5層反卷積層組成,使用卷積核為4×4、步長為2的反卷積層,后邊進(jìn)行批量歸一化(batch normalization,BN),除最后一層使用的是Tanh激活函數(shù),其余層均采用ReLU激活函數(shù);D網(wǎng)絡(luò)與G網(wǎng)絡(luò)基本對稱,由5層卷積層組成,其采用卷積核為4×4、步長為2的卷積層,采用LeakyReLU激活函數(shù)。
在模型訓(xùn)練過程中,隨機(jī)噪聲被輸入到G網(wǎng)絡(luò)中進(jìn)行學(xué)習(xí),獲得G生成的樣本數(shù)據(jù)G(),此時期望G()經(jīng)過D網(wǎng)絡(luò)后得到的概率為1,即D(G())=1,則1-D(G())=0,也就是最小化模型G。當(dāng)訓(xùn)練模型D時,若輸入為真實數(shù)據(jù)時,期望目標(biāo)仍是判別概率為1,即D()=1;若輸入為生成數(shù)據(jù)G()時,則期望目標(biāo)是判別概率為0,即D(G())=0,則1-D(G())=1,因此最大化模型D。所以G和D的訓(xùn)練問題變成了V(G,D)的最大化最小化問題,可表示為
(1)
式中:為真實的數(shù)據(jù)分布;為噪聲分布。G和D的訓(xùn)練是一個反復(fù)迭代的過程,通常固定G訓(xùn)練D,對D中的參數(shù)進(jìn)行更新,反過來再更新G的參數(shù),直至網(wǎng)絡(luò)到達(dá)穩(wěn)定。而當(dāng)=時,(,)就可獲得全局最優(yōu)解,也就是達(dá)到了納什均衡狀態(tài),此時訓(xùn)練趨于穩(wěn)定。
飛機(jī)蒙皮故障圖像主要用于后續(xù)的故障檢測,因此要求生成圖像的質(zhì)量必須較高,且圖像尺寸不能過小,否則會影響目標(biāo)檢測網(wǎng)絡(luò)的訓(xùn)練效果,而原網(wǎng)絡(luò)結(jié)構(gòu)只能生成小尺寸的圖像,且圖像的質(zhì)量較差,因此,需要對DCGAN進(jìn)行改進(jìn),以生成滿足要求的高質(zhì)量飛機(jī)蒙皮故障圖像。
圖1中,DCGAN模型層數(shù)較少,生成的圖像尺寸只有64×64,無法滿足需求,因此需要進(jìn)一步擴(kuò)大圖像尺寸,本文在原DCGAN結(jié)構(gòu)上增加3層卷積網(wǎng)絡(luò),改進(jìn)后的網(wǎng)絡(luò)能夠生成大小為512×512的飛機(jī)故障圖像。
直接增加網(wǎng)絡(luò)層數(shù),在一定程度上能夠提取更具代表性的圖像特征,提升網(wǎng)絡(luò)的特征表達(dá)能力。但是,由于卷積神經(jīng)網(wǎng)絡(luò)的反向傳播機(jī)制,網(wǎng)絡(luò)加深使得參數(shù)量增多,參數(shù)若為極大的值或極小的值,在反向傳遞過程中會導(dǎo)致梯度爆炸或者梯度消失的問題,最終的結(jié)果就是生成圖像的質(zhì)量不佳以及網(wǎng)絡(luò)的生成能力不穩(wěn)定。
為此,在加深網(wǎng)絡(luò)的深度過程中,引入了殘差模塊對DCGAN進(jìn)行改進(jìn),將生成網(wǎng)絡(luò)和判別網(wǎng)絡(luò)中的步長卷積替換成殘差模塊,殘差網(wǎng)絡(luò)能夠更好地解決網(wǎng)絡(luò)層數(shù)加深導(dǎo)致的上述問題,在網(wǎng)絡(luò)加深的情況下比直接堆疊網(wǎng)絡(luò)層取得更優(yōu)異的圖像生成效果,從而確保在調(diào)整網(wǎng)絡(luò)結(jié)構(gòu)和層數(shù)時也能夠生成較高質(zhì)量的圖像,同時,引入殘差網(wǎng)絡(luò)能夠減小網(wǎng)絡(luò)的參數(shù)量,進(jìn)一步優(yōu)化了網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜度。
如圖2的生成器結(jié)構(gòu),原生成網(wǎng)絡(luò)利用多個反卷積層實現(xiàn)圖像生成,改進(jìn)后的殘差模塊將反卷積替換成了兩個卷積核為3×3、步長為1的卷積操作,每個殘差單元通過增加上采樣實現(xiàn)殘差操作中的特征圖像放大,非殘差邊則使用卷積核為1×1、步長為2的反卷積層進(jìn)行簡單的特征圖放大,以保持與殘差塊相同的輸出尺寸。生成網(wǎng)絡(luò)在將一維的噪聲變換成4×4大小的圖像后,連續(xù)進(jìn)行7次殘差模塊的特征圖放大,最后進(jìn)行一次3×3的卷積核轉(zhuǎn)換通道數(shù),采用Tanh激活函數(shù)生成512×512尺寸的圖像。
圖2 引入ResNet的生成器結(jié)構(gòu)框圖Fig.2 The generator structure of ResNet
如圖3的判別器結(jié)構(gòu),改進(jìn)的殘差模塊使用卷積核為3×3、步長為1的卷積層進(jìn)行卷積操作,然后通過下采樣進(jìn)行特征圖像的縮小,非殘差邊則利用步長卷積進(jìn)行特征圖像縮小,最后將殘差邊與非殘差邊進(jìn)行堆疊輸出。判別網(wǎng)絡(luò)先進(jìn)行一次步長卷積,隨后進(jìn)行6次殘差模塊的特征縮小,最后通過全連接將特征展開成一維輸出判別結(jié)果,這里由于引入W損失函數(shù),因此去掉了sigmoid激活函數(shù)。
圖3 引入ResNet的判別器結(jié)構(gòu)框圖Fig.3 The discriminantor structure of ResNet
根據(jù)前面的分析可知,式(1)是DCGAN網(wǎng)絡(luò)的優(yōu)化目標(biāo),而DCGAN包含生成網(wǎng)絡(luò)和判別網(wǎng)絡(luò)兩部分,所以可將式(1)拆分成兩個損失函數(shù)模型。其中,判別網(wǎng)絡(luò)的損失函數(shù)為
(2)
式中,第一部分為真實圖像的判別結(jié)果,第二部分是生成圖像的判別結(jié)果,前項越趨近1則說明效果越好,后項則是越趨近0效果越好,期望的結(jié)果是趨近于1,因此再加上對數(shù)函數(shù)就得到了判別網(wǎng)絡(luò)的損失函數(shù)。而生成網(wǎng)絡(luò)的損失函數(shù)為
(3)
同理,生成網(wǎng)絡(luò)的損失函數(shù)同樣也要使用對數(shù)函數(shù),生成數(shù)據(jù)的結(jié)果趨近于1則效果越好。改進(jìn)前的DCGAN使用Jensen-Shannon(JS)散度來衡量分布之間的距離,但是其存在訓(xùn)練結(jié)果不穩(wěn)定,特別是兩個分布的相關(guān)性不大時。因此,本文中引入了W距離作為損失函數(shù),W距離在2個分布沒有重疊的情況下,也能實現(xiàn)遠(yuǎn)距離響應(yīng)。
距離的定義為式(4),通過計算真實樣本和生成樣本的距離‖-‖,求得分布下樣本對距離的期望(,)~[‖-‖],而聯(lián)合分布中的期望值下界就定義為距離:
(4)
(5)
式中要求函數(shù)()的Lipschitz常數(shù)‖‖在小于等于的情況下,所有滿足條件的取~[()]-~[()]的上界,再除以。進(jìn)而可以用參數(shù)定義的函數(shù)將式(5)做進(jìn)一步的變換得:
(6)
-~[(()]
(7)
~[()]-~[()]
(8)
式(7)為生成網(wǎng)絡(luò)的損傷函數(shù),式(8)為判別網(wǎng)絡(luò)的損傷函數(shù)。引入距離構(gòu)建的損失函數(shù),將DCGAN中判別網(wǎng)絡(luò)原本的二分類任務(wù)轉(zhuǎn)化成了回歸任務(wù),因此需要將網(wǎng)絡(luò)最后一層sigmoid函數(shù)除掉。
實驗的軟硬件環(huán)境配置如表1所示。
表1 環(huán)境配置Table 1 Environment configuration
本研究中主要針對飛機(jī)蒙皮故障圖像生成方法進(jìn)行研究,關(guān)鍵的指標(biāo)就是生成圖像的質(zhì)量,而圖像清晰度是圖像質(zhì)量優(yōu)劣的重要指標(biāo),它能夠較好的與人的主觀感受相對應(yīng)。由于生成圖像的評價過程是直接對生成圖像進(jìn)行評價,不再利用原始輸入圖像作為參考,因此,應(yīng)選擇“無參考”圖像質(zhì)量評價方法對生成圖像進(jìn)行評估,而灰度方差(sum of modulus of difference,SMD)函數(shù)、Tenengrad梯度函數(shù)、Laplacian梯度函數(shù)是常用的3種“無參考”圖像質(zhì)量(主要指清晰度)評價方法,故本文選擇這3種評價方法對生成圖像進(jìn)行質(zhì)量評價,引用這3種方法能夠較好地對網(wǎng)絡(luò)的圖像生成能力進(jìn)行客觀評價,3種指標(biāo)通過量化后的數(shù)值進(jìn)行評價,量化后的數(shù)值越大,表示樣本的清晰度越高。
SMD函數(shù)基于圖像聚焦時清晰度越高,則圖像中的高頻分量越多,因此可以實現(xiàn)圖像的清晰度評價
(9)
Tenengrad梯度函數(shù)采用Sobel算子提取水平和垂直方向的梯度值,其圖像清晰度定義為
()=∑∑|(,)| ((,)>)
(10)
Laplacian梯度函數(shù)將式(10)中的(,)改成Laplacian算子即可。
網(wǎng)絡(luò)訓(xùn)練數(shù)據(jù)集由某型飛機(jī)蒙皮缺損圖像300張、裂紋圖像300張組成。訓(xùn)練過程中,學(xué)習(xí)率為0.001,噪聲輸入為120,使用隨機(jī)梯度下降(stochastic gradient descent,SGD)優(yōu)化器,Batch Size大小為64,生成器和判別器的迭代訓(xùn)練次數(shù)為1 000次。網(wǎng)絡(luò)每迭代10次輸出一次生成器損失與判別器損失繪制成損失函數(shù),直觀展示網(wǎng)絡(luò)訓(xùn)練過程的損失函數(shù)變化情況,同時,每迭代一次便輸出一次生成的圖像,直觀展示訓(xùn)練過程中網(wǎng)絡(luò)生成能力的提升過程。
圖4展示了網(wǎng)絡(luò)改進(jìn)前后訓(xùn)練過程中損失函數(shù)的變化曲線,其中,圖4(a)是生成網(wǎng)絡(luò)損失函數(shù)的變化情況,G_loss_OR為僅增加網(wǎng)絡(luò)層的網(wǎng)絡(luò)結(jié)構(gòu)的生成器損失函數(shù),G_loss_RE為使用殘差結(jié)構(gòu)的網(wǎng)絡(luò)生成器損失函數(shù);圖4(b)是判別網(wǎng)絡(luò)的損失函數(shù),其值包括判別為真的損失和判別為假的損失之和,其中的D_loss_OR為改進(jìn)前的判別器損失函數(shù),D_loss_RE為改進(jìn)后的判別器損失函數(shù)。
從圖4看網(wǎng)絡(luò)的訓(xùn)練情況,圖4(a)中,改進(jìn)前的網(wǎng)絡(luò)生成器損失函數(shù)在前400次迭代中,損失在不斷增加,在400次迭代后,損失穩(wěn)定在7~9之間振蕩,對應(yīng)圖4(b)中,改進(jìn)前的網(wǎng)絡(luò)判別器在400次迭代前呈振蕩衰減的趨勢,在400次迭代后損失在0附近穩(wěn)定振蕩且趨于穩(wěn)定;改進(jìn)后的網(wǎng)絡(luò)結(jié)構(gòu),對應(yīng)圖4(a),其生成器損失函數(shù)在前300次迭代中呈振蕩上升的趨勢,在300次迭代后穩(wěn)定在5~7之間振蕩,對應(yīng)圖4b中的判別器損失函數(shù),在300次迭代前呈振蕩衰減的趨勢,在300次迭代之后振蕩明顯減弱,逐漸趨于穩(wěn)定在0附近小幅度振蕩。從訓(xùn)練過程的損失函數(shù)曲線來看,改進(jìn)前后的網(wǎng)絡(luò)結(jié)構(gòu)訓(xùn)練過程都能收斂并趨于穩(wěn)定,說明生成器和判別器最后都達(dá)到了相互制約、平衡的狀態(tài),從中也可以看到,改進(jìn)后的網(wǎng)絡(luò)結(jié)構(gòu)訓(xùn)練效果明顯比改進(jìn)前更優(yōu)異,網(wǎng)絡(luò)訓(xùn)練的收斂速度更快,訓(xùn)練更加穩(wěn)定。
圖4 改進(jìn)網(wǎng)絡(luò)訓(xùn)練損失對比曲線Fig.4 Contrast curve of training loss of improved network
為研究網(wǎng)絡(luò)結(jié)構(gòu)改進(jìn)前后圖像生成質(zhì)量的變化情況,將訓(xùn)練過程中每一次迭代生成的圖像以5×5的縮略圖像格式進(jìn)行保存,圖5展示了網(wǎng)絡(luò)結(jié)構(gòu)改進(jìn)前后,訓(xùn)練過程的初期、中期、后期3個不同階段的生成的蒙皮缺損故障圖像。
圖5 生成器生成的圖像Fig.5 The image generated by the generator
從圖5中可以明顯看到,在第100次迭代時,網(wǎng)絡(luò)具有初步的生成能力,能夠生成較模糊的圖像,存在較為明顯的噪聲點(diǎn);在第500次迭代時,網(wǎng)絡(luò)的生成能力得到較大提升,生成圖像的質(zhì)量明顯提高,噪聲點(diǎn)基本消除;在第1 000次迭代時,網(wǎng)絡(luò)的生成能力基本穩(wěn)定,與第500次迭代時的效果相差不大,圖像的質(zhì)量較清晰。再對網(wǎng)絡(luò)改進(jìn)前后的生成圖像進(jìn)行比較,從不同階段生成的圖像質(zhì)量來看,改進(jìn)前的網(wǎng)絡(luò)結(jié)構(gòu)生成的圖像質(zhì)量較差,存在一定的噪聲,不能很好地反映出真實的蒙皮故障特點(diǎn),無法用于蒙皮故障圖像檢測網(wǎng)絡(luò)的訓(xùn)練當(dāng)中,而引入殘差模塊的網(wǎng)絡(luò)結(jié)構(gòu)生成的圖像質(zhì)量比較好,生成的蒙皮圖像故障的特征較清晰,可用于擴(kuò)充蒙皮故障圖像數(shù)據(jù)集。
通過從生成圖像中隨機(jī)選取500張圖像,計算3種指標(biāo)的平均值作為量化評價指標(biāo),改進(jìn)前后網(wǎng)絡(luò)結(jié)構(gòu)生成的圖像評價指標(biāo)如表2所示。
表2 樣本質(zhì)量評價指標(biāo)Table 2 Comparison of sample quality evaluation indexes
表2中DCGAN-OR為改進(jìn)前的模型,DCGAN-RE為引入殘差模塊的模型,通過其中的數(shù)據(jù)可以看到,DCGAN-RE模型生成的圖像質(zhì)量比改進(jìn)前的模型有了較大提升,表明改進(jìn)后的DCGAN能夠生成清晰度較高的圖像,無論是從直觀圖像還是客觀評價指標(biāo)來看,改進(jìn)后的網(wǎng)絡(luò)生成圖像的質(zhì)量能夠滿足飛機(jī)蒙皮圖像故障檢測應(yīng)用中的圖像要求。
將DCGAN應(yīng)用到飛機(jī)蒙皮故障圖像生成中,進(jìn)行數(shù)據(jù)樣本的擴(kuò)充,針對飛機(jī)蒙皮故障圖像的生成要求,對DCGAN的網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行改進(jìn),取得的成果主要有:
1)通過引入W距離作為新的損失函數(shù),加快了模型收斂的速度,提高了模型訓(xùn)練的穩(wěn)定性。
2)通過引入殘差模塊,模型生成的圖像質(zhì)量得到顯著改善,其中SMD值提升了30.6%,Tenengrad值提升了41.5%,Laplacian值提升了13.4%。