張 靜 ,農(nóng)昌瑞 張海兵 ,張亞周
(海軍航空大學(xué)航空基礎(chǔ)學(xué)院1,岸防兵學(xué)院2:山東 煙臺 264001,青島校區(qū)3:山東 青島 266041)
航空發(fā)動(dòng)機(jī)葉片的工作環(huán)境非常惡劣,在工作過程中極易產(chǎn)生裂紋,在飛行過程中易因外來物撞擊而被打傷,導(dǎo)致缺口損傷(缺損)等故障,因此,發(fā)動(dòng)機(jī)葉片的狀態(tài)在很大程度上影響著航空發(fā)動(dòng)機(jī)的整體性能。
航空發(fā)動(dòng)機(jī)葉片的故障檢測常采用無損檢測技術(shù)。李華等針對航空發(fā)動(dòng)機(jī)的自主檢測技術(shù),利用樣條插值方法實(shí)現(xiàn)對特征點(diǎn)的精確提取;江海軍等針對傳統(tǒng)故障檢測的效率以及精度問題,設(shè)計(jì)研發(fā)了超聲波裂紋檢測系統(tǒng);李浩針對裂紋的識別與定位精度問題,建立了新型圖像識別方法,在識別能力與定位精度方面均取得較大進(jìn)步;張治衡針對裂紋的識別監(jiān)測技術(shù),探索了一種聲發(fā)射技術(shù),開辟了裂紋監(jiān)測與識別的新途徑,并且提高了識別精度;宋強(qiáng)等針對裂紋檢測算法的效率以及精度問題,提出了一種滲透檢測算法,在裂紋檢測的精度以及收斂速度上均取得很大進(jìn)展。以上方法相比于傳統(tǒng)的檢測方法均取得了較好的檢測效果,但在高效化、智能化等方面存在不足,發(fā)動(dòng)機(jī)葉片裂紋檢測難以批量化。而基于深度學(xué)習(xí)理論的檢測方法,如基于卷積神經(jīng)網(wǎng)絡(luò)的目標(biāo)檢測方法是一種高效、智能化的檢測方法。
目前,深度學(xué)習(xí)是人工智能領(lǐng)域的研究熱點(diǎn),特別是在目標(biāo)檢測識別等任務(wù)中取得了非常顯著的成果。但是深度學(xué)習(xí)在目標(biāo)檢測中需要依賴大樣本數(shù)據(jù)集才能獲得較好的檢測效果,而在實(shí)際應(yīng)用中收集到的發(fā)動(dòng)機(jī)葉片故障圖像數(shù)據(jù)十分有限,訓(xùn)練效果不太理想。此外,為提高目標(biāo)檢測的精度,一般的目標(biāo)檢測算法都采用較深的網(wǎng)絡(luò)結(jié)構(gòu),但是在精度提高的同時(shí),訓(xùn)練與檢測過程耗時(shí)也有所增加。所以迫切需要一種針對小樣本數(shù)據(jù)集的深度學(xué)習(xí)檢測方法。
為此,本文通過引入Res2Net多層級殘差單元并集成到ResNet-50 結(jié)構(gòu)中,提出一種多尺度殘差網(wǎng)絡(luò)結(jié)構(gòu)Res2Net-50,并將其作為主干特征提取網(wǎng)絡(luò)集成到Faster R-CNN 目標(biāo)檢測算法中;同時(shí),利用多次余弦退火衰減法對訓(xùn)練過程中學(xué)習(xí)率進(jìn)行調(diào)整。
Faster R-CNN 是任 少卿等在Fast R-CNN 基礎(chǔ)上改進(jìn)的目標(biāo)檢測算法,網(wǎng)絡(luò)結(jié)構(gòu)主要包括特征提取網(wǎng)絡(luò)、區(qū)域推薦網(wǎng)絡(luò)(Region Proposal Network,RPN)和Fast R-CNN 目標(biāo)檢測網(wǎng)絡(luò)3 部分,算法檢測流程如圖1所示。
圖1 Faster R-CNN算法檢測流程
特征提取網(wǎng)絡(luò)主要通過卷積神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)圖像的特征提取。其中,卷積層通過權(quán)值共享的方法實(shí)現(xiàn)對網(wǎng)絡(luò)訓(xùn)練參數(shù)與訓(xùn)練時(shí)間的優(yōu)化,降低了網(wǎng)絡(luò)的訓(xùn)練成本。針對小樣本數(shù)據(jù)集,在圖像輸入網(wǎng)絡(luò)之前,采用拉伸變換、加噪聲、增加對比度等圖像增強(qiáng)手段對數(shù)據(jù)集進(jìn)行樣本擴(kuò)充,保證網(wǎng)絡(luò)的訓(xùn)練效果。
為提升網(wǎng)絡(luò)的訓(xùn)練效果,在輸入網(wǎng)絡(luò)前需要對不同尺寸的圖像進(jìn)行尺寸調(diào)整,隨后進(jìn)入多層卷積層與池化層進(jìn)行卷積與池化操作,提取輸入圖像的深度特征并輸出特征圖,后續(xù)的RPN 網(wǎng)絡(luò)與Fast R-CNN 網(wǎng)絡(luò)均共享該特征圖。特征提取網(wǎng)絡(luò)是Faster R-CNN的主干網(wǎng)絡(luò),常用的有VGG、ResNet、Xception等。
本文對ResNet-50 殘差網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行改進(jìn),通過Conv Block 和Identity Block 2 個(gè)基本塊來改變網(wǎng)絡(luò)的維度和深度,在一定程度上克服了傳統(tǒng)網(wǎng)絡(luò)深度加大導(dǎo)致學(xué)習(xí)效率降低的問題。
RPN 網(wǎng)絡(luò)結(jié)構(gòu)如圖2 所示。RPN 網(wǎng)絡(luò)主要用于推薦候選區(qū)域,其輸入是特征提取網(wǎng)絡(luò)輸出的特征圖,經(jīng)過卷積層與全連接層的操作,輸出1 組區(qū)域推薦候選框(建議框)。
圖2 RPN網(wǎng)絡(luò)結(jié)構(gòu)
RPN在輸入的特征圖映射上滑動(dòng)窗口,每個(gè)滑動(dòng)窗口分別對應(yīng)9 個(gè)先驗(yàn)框(Anchors),這些先驗(yàn)框由3種尺寸(128×128、256×256、512×512)和3種比例(1∶1、1∶2、2∶1)的長寬比組成?;瑒?dòng)窗口在滑動(dòng)過程中實(shí)現(xiàn)對特征圖的降維,將其映射成相應(yīng)的低維特征向量,作為邊界框分類層(cls)和邊界框回歸層(reg)的輸入。cls通過softmax函數(shù)實(shí)現(xiàn)背景區(qū)域與目標(biāo)區(qū)域判定,reg用于計(jì)算并返回坐標(biāo)參數(shù)(相對于真實(shí)框的偏移)。
在RPN 網(wǎng)絡(luò)訓(xùn)練過程中,依據(jù)先驗(yàn)框與真實(shí)邊界框區(qū)域的交并比(Intersection over Union,IoU)給每個(gè)先驗(yàn)框分配標(biāo)簽,遵循以下原則:
(1)IoU 最大值或者IoU 值超過0.7 對應(yīng)的先驗(yàn)框,定義為正標(biāo)簽。
(2)IoU值低于0.3的先驗(yàn)框,定義為負(fù)標(biāo)簽。
對先驗(yàn)框定義正負(fù)標(biāo)簽的目的是為了提高網(wǎng)絡(luò)的訓(xùn)練效果。對定義之后的先驗(yàn)框,需要最小化目標(biāo)函數(shù)的任務(wù)損失,圖像的損失函數(shù)定義為
式中:為先驗(yàn)框的索引序號;p為第個(gè)先驗(yàn)框判斷為目標(biāo)的預(yù)測概率;若標(biāo)簽為正,p=1,反之p=0;t為預(yù)測邊界框的4 個(gè)坐標(biāo)參數(shù);t為標(biāo)簽為正的先驗(yàn)框?qū)?yīng)真實(shí)框的4 個(gè)坐標(biāo)參數(shù);和為損失函數(shù)的歸一化參數(shù);和分別為分類損失函數(shù)和回歸損失函數(shù)
式中:為魯棒性的損失函數(shù)
4 維向量(,,,)表示邊界框,一般采用以下4個(gè)坐標(biāo)參數(shù)
式中:(,)、、為預(yù)測邊界框的坐標(biāo)、寬和高;(x,y),w,h為先驗(yàn)框的坐標(biāo)、寬和高;(,)、、為真實(shí)框的坐標(biāo)、寬和高。
Fast R-CNN 目標(biāo)檢測網(wǎng)絡(luò)包括1 個(gè)感興趣區(qū)域(Regions of Interest,ROI)池化層、2 個(gè)全連接層,其結(jié)構(gòu)如圖3所示。
圖3 Fast-RCNN結(jié)構(gòu)
ROI 池化層的作用是對公共特征圖和候選框進(jìn)行固定大小的特征提取,并將輸出的特征向量分類回歸。利用分類層對預(yù)測框進(jìn)行分類并對最終的預(yù)測框進(jìn)行位置調(diào)整得到目標(biāo)檢測的結(jié)果。RPN 網(wǎng)絡(luò)與Fast R-CNN 網(wǎng)絡(luò)共享特征提取網(wǎng)絡(luò)的輸出,可以減少卷積層的運(yùn)算次數(shù),加快網(wǎng)絡(luò)的訓(xùn)練速度。
針對小樣本數(shù)據(jù)集訓(xùn)練,本文對特征提取網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行了優(yōu)化,通過引入更細(xì)粒級的多尺度特征融合方法來提高模型的特征提取能力;同時(shí),對學(xué)習(xí)率的衰減方法進(jìn)行改進(jìn),采用多次余弦退火衰減法對網(wǎng)絡(luò)進(jìn)行訓(xùn)練,提高模型的訓(xùn)練與檢測速度。
ResNet 殘差網(wǎng)絡(luò)將短連接引入神經(jīng)網(wǎng)絡(luò),既能加深網(wǎng)絡(luò)結(jié)構(gòu),也能緩解梯度消失問題。在特征提取過程中,短連接允許卷積核的不同組合,從而產(chǎn)生大量等價(jià)的特征尺度。ResNet 的殘差網(wǎng)絡(luò)單元如圖4 所示。對輸入向量分別進(jìn)行1 次1×1 卷積、3×3卷積、1×1 卷積,最后與輸入直接進(jìn)行堆疊相加得到輸出。
圖4 ResNet 殘差網(wǎng)絡(luò)單元
小樣本數(shù)據(jù)集雖然本身數(shù)據(jù)量較小,但是圖像中目標(biāo)的特征信息十分豐富,如果能夠充分利用可以有效提高網(wǎng)絡(luò)對于小樣本數(shù)據(jù)集的檢測識別能力,而傳統(tǒng)的殘差結(jié)構(gòu)對于細(xì)節(jié)特征的提取還可以作進(jìn)一步的優(yōu)化,為此,本文引入了一種多層級制的殘差連接優(yōu)化結(jié)構(gòu)Res2Net,用多層級的3×3 卷積核取代通用的3×3 卷積核,單個(gè)殘差塊內(nèi)的分層殘差類連接,使得單元的輸出在更細(xì)粒度的水平上提取細(xì)節(jié)和全局特征,Res2Net 殘差網(wǎng)絡(luò)單元如圖5所示。
圖5 Res2Net殘差網(wǎng)絡(luò)單元(s=4)
Res2Net 的網(wǎng)絡(luò)單元在第1 個(gè)1×1 卷積核后,將輸入劃分為個(gè)子集,定義為x,∈{1,2,…,},每一特征都具有相同的尺度,除了之外的其他子特征都有相應(yīng)的3×3 卷積核并定義為KO,KO的輸出表示為y,每個(gè)子特征x都與K的輸出相加,然后進(jìn)行KO卷積,為了減少參數(shù)量,結(jié)構(gòu)省略了的3×3 卷積核,y可以表示為
Res2Net模塊輸出的感受野在數(shù)量與尺寸上的不同組合,構(gòu)成了多尺度特征。在Res2Net 模塊中,對輸入進(jìn)行多尺度處理,有利于全局和局部信息的提取。為了更好地融合不同尺度上的信息,將所有的分割集連接起來并通過1×1 卷積。分割和串聯(lián)策略可以強(qiáng)化卷積以更有效地處理特征。特征重用可以減少參數(shù)量,為此省略了第1 次分割的卷積。使用作為尺度尺寸的控制參數(shù),較大的可能允許學(xué)習(xí)具有更豐富感受野大小的特征,而由串聯(lián)引入的內(nèi)存開銷可以忽略不計(jì)。
Res2Net 模塊的多尺度表示能力與CNNs 的分層特征聚合模型是正交的,可以很容易地將Res2Net 模塊集成到先進(jìn)的特征提取網(wǎng)絡(luò)中,本文將Res2Net 集成到ResNet-50模型中,得到Res2Net-50模型。采用優(yōu)化后的網(wǎng)絡(luò)結(jié)構(gòu)可以提取出發(fā)動(dòng)機(jī)葉片故障圖像中更有效的特征信息,從而提高模型的識別能力。
ResNet-50 主干提取網(wǎng)絡(luò)改進(jìn)前后框架的變化如圖6 所示。為了便于展示,省略了一些重復(fù)的殘差模塊,模型共分為4大卷積板塊,共有48個(gè)卷積層,加上前面1 個(gè)7×7 卷積與最后1 個(gè)FC 全連接層,一共有50 層,故稱ResNet-50。其中原框圖為ResNet-50 的組成部分,而改進(jìn)后的Res2Net-50 是將紅色虛線中的單個(gè)3×3 卷積替換成3×3 卷積組,其中的數(shù)量由尺度尺寸參數(shù)控制,進(jìn)而實(shí)現(xiàn)細(xì)粒級特征的提取。
圖6 Resnet-50主干提取網(wǎng)絡(luò)改進(jìn)前后框架的變化
在深度學(xué)習(xí)的模型訓(xùn)練過程中,學(xué)習(xí)率的調(diào)整非常重要,較高的學(xué)習(xí)率可以加快學(xué)習(xí)速率,同時(shí)幫助跳出局部最優(yōu)值;較低的學(xué)習(xí)率可以細(xì)化模型,提高模型的精度。適當(dāng)調(diào)整學(xué)習(xí)率可以提高模型的訓(xùn)練性能。
目前常用的學(xué)習(xí)率衰減方式有階層性衰減、指數(shù)型衰減、余弦退火衰減等。階層性衰減是指訓(xùn)練過程中l(wèi)oss 值不再繼續(xù)降低后,學(xué)習(xí)率調(diào)整為原來的1/2或者1/10,該方法需要較高的初始學(xué)習(xí)率,否則訓(xùn)練效果不佳。指數(shù)型衰減是指學(xué)習(xí)率會(huì)以指數(shù)函數(shù)形式降低
余弦退火衰減如圖7 所示。學(xué)習(xí)率會(huì)先升高再降低,升高時(shí)為線性升高,降低時(shí)模擬余弦函數(shù)衰減。對余弦函數(shù)進(jìn)行改進(jìn),采用多次余弦退火衰減,前期調(diào)整的周期較短,后期調(diào)整的周期較長,如圖8所示。
圖7 余弦退火衰減
圖8 改進(jìn)的余弦退火衰減
優(yōu)化后的學(xué)習(xí)率在訓(xùn)練初期變化速度較快,在后期進(jìn)行精細(xì)化訓(xùn)練,提高訓(xùn)練精度,因此變化速度相對較慢。多次余弦退火衰減能夠有效避免陷入局部最優(yōu)值的情形,使模型的訓(xùn)練速度有一定的提升。
試驗(yàn)運(yùn)行的硬件環(huán)境配置見表1。軟件環(huán)境為:Python、OPENCV、CUDA-10.0.130、Cudnn-7.6.5等,框架使用基于TensorFlow-1.13.0的Keras-2.1.6框架。
表1 試驗(yàn)硬件環(huán)境配置
數(shù)據(jù)集為采集的某型航空發(fā)動(dòng)機(jī)葉片故障圖像,共計(jì)110 張,包括裂紋與缺損2 種不同的故障類型。在110 張圖像中隨機(jī)選取10 張用于測試模型的訓(xùn)練效果,其余的100張圖像制作成VOC格式的數(shù)據(jù)集用于網(wǎng)絡(luò)訓(xùn)練。
將制作好的VOC 格式的故障數(shù)據(jù)集(100 張圖像)按比例進(jìn)行劃分,選取90%(90 張圖像)的數(shù)據(jù)作為訓(xùn)練集,剩余的10%(10張圖像)作為驗(yàn)證集。
在訓(xùn)練過程中載入預(yù)先下載好的預(yù)訓(xùn)練權(quán)重文件,通過遷移學(xué)習(xí)的方式提高網(wǎng)絡(luò)訓(xùn)練的效果。將數(shù)據(jù)集輸入到網(wǎng)絡(luò)后,設(shè)置迭代次數(shù)(epoch)為100,每一步輸入的圖像數(shù)據(jù)數(shù)量(epoch_length)為200。為了提高模型的訓(xùn)練速度,強(qiáng)化遷移學(xué)習(xí)能力,將訓(xùn)練過程分為2個(gè)階段:第1階段的epoch 為20個(gè),將特征提取網(wǎng)絡(luò)后的結(jié)構(gòu)冰凍,主要對特征提取網(wǎng)絡(luò)進(jìn)行遷移訓(xùn)練,快速提升特征提取能力;第2階段的epoch 為80 個(gè),此階段進(jìn)行解凍后模型的細(xì)化訓(xùn)練,以提高模型的訓(xùn)練精度。
模型訓(xùn)練主要分為分類訓(xùn)練和回歸訓(xùn)練,訓(xùn)練的損失主要包括RPN網(wǎng)絡(luò)和Fast R-CNN 網(wǎng)絡(luò)的分類與回歸損失,損失曲線如圖9所示。
圖9 損失曲線對比
從圖中可見,2 個(gè)模型的損失(loss)值降低趨勢相似,在前20 個(gè)epoch 中,loss 值降低速度很快;在后80個(gè)epoch中,loss值降低較慢。基于ResNet-50的模型在訓(xùn)練過程中l(wèi)oss 值降低的過程浮動(dòng)比較大,且經(jīng)過100 個(gè)epoch 后降低到1.1 附近。而基于Res2Net-50 模型的loss 值降低的過程明顯比優(yōu)化前穩(wěn)定,且loss值降低到0.9附近。通過對比可知,模型loss值降低了18.18%,說明優(yōu)化后的模型收斂效果更好。
訓(xùn)練過程中模型準(zhǔn)確率曲線對比如圖10 所示。從圖中可見,準(zhǔn)確率在提高過程中存在明顯的波動(dòng),這是由于數(shù)據(jù)集中某些圖像的目標(biāo)特征不突出,導(dǎo)致識別出現(xiàn)偏差,在第20 個(gè)epoch 后,準(zhǔn)確率得到了很大提高,此后基本保持較小的提高速度,說明模型的精細(xì)化訓(xùn)練確實(shí)能夠提高模型的識別能力。從圖中還可見,基于ResNet-50的模型準(zhǔn)確率為90.2%,優(yōu)化的Res2Net-50模型準(zhǔn)確率提高到90.9%,提高了0.7%。
圖10 訓(xùn)練過程中模型準(zhǔn)確率曲線對比
在深度學(xué)習(xí)中,針對不同的學(xué)習(xí)任務(wù)有不同的評價(jià)標(biāo)準(zhǔn),常用的評價(jià)指標(biāo)有準(zhǔn)確率和召回率,合適的評估標(biāo)準(zhǔn)可以有效提高模型的訓(xùn)練效率。計(jì)算出每個(gè)類別的精確度(Precision)和召回率(Recall),得到1 條P-R 曲線,曲線下的面積就是檢測精度(Av?erage Precision,AP)。AP值結(jié)果如圖11所示。
圖11 AP值結(jié)果
對所有類別的AP 值求平均得到平均檢測精度(mean Average Precision,mAP),mAP 是衡量模型精度的重要指標(biāo),能夠反映目標(biāo)分類與預(yù)測框的位置是否準(zhǔn)確
式中:為模型的mAP 值;為每一類別的AP 值;為類別數(shù)量。
模型訓(xùn)練結(jié)束后,分別對10 張測試圖像進(jìn)行檢測,以ResNet-50、Res2Net-50 為特征提取網(wǎng)絡(luò)的模型檢測結(jié)果分別如圖12、13所示。
圖12 以ResNet-50為特征提取網(wǎng)絡(luò)的模型檢測結(jié)果
從圖12 中可見,不同故障類型的檢測效果也有所不同,從圖12(a)中可見,2條裂紋只檢測出1條,且檢測結(jié)果的置信度較低,同時(shí),檢測的真實(shí)框的長度偏長,不能很好地?cái)M合裂紋的邊框;對于缺損故障的檢測效果較好,但是檢測結(jié)果的置信度還不足0.90。從圖13 中可見,能夠檢測出圖中所有的裂紋,且裂紋與缺損故障的檢測置信度均優(yōu)于ResNet-50模型的。
圖13 以Res2Net-50為特征提取網(wǎng)絡(luò)的模型檢測結(jié)果
模型改進(jìn)前后的檢測精度與訓(xùn)練時(shí)間的數(shù)據(jù)對比見表2?;赗esNet-50 模型的缺損故障的值為88.0%,裂紋的值為78.0%,模型的為83.0%,而基于Res2Net 模型的缺損故障的值為90.0%,裂 紋 的值 為79.0%,模 型 的值 為84.5%,優(yōu)化后的模型值提高了1.8%,訓(xùn)練時(shí)間縮短了5.56%。
表2 模型改進(jìn)前后指標(biāo)數(shù)據(jù)對比
將本文采用的Faster R-CNN 目標(biāo)檢測算法與現(xiàn)在流行的YOLOv3、SSD目標(biāo)檢測算法進(jìn)行比較,其結(jié)果見表3。從表中可見,對于裂紋故障,其他2種模型的檢測精度均低于本文模型的;對于缺損故障,3種模型的檢測效果則相差無幾。本文模型在平均檢測精度上也優(yōu)于其他2 種模型的,驗(yàn)證了本文模型更適用于發(fā)動(dòng)機(jī)葉片的故障檢測。
表3 不同檢測算法的檢測精度對比 %
(1)針對小樣本數(shù)據(jù)集訓(xùn)練效果不佳和訓(xùn)練速度慢等問題,引入更具細(xì)粒度的多尺度殘差結(jié)構(gòu)Res2Net模型,明顯提高了模型的檢測效果,優(yōu)化后模型的平均檢測精度提高了1.8%。
(2)改進(jìn)學(xué)習(xí)率衰減方法,采用多次余弦衰減,使訓(xùn)練過程明顯加快,訓(xùn)練時(shí)間縮短了5.56%。
試驗(yàn)結(jié)果證明,改進(jìn)后的模型在檢測性能上得到了一定的提高。