引言:
航空發動機長時間在高溫、高壓和交變負荷等環境下工作,其零/部件容易出現裂紋、燒蝕和缺失等損傷,及時發現損傷對航空發動機安全運作十分重要。孔探檢測是航空發動機檢修必不可少的關鍵環節,但目前孔探儀不能自動識别損傷類型,檢修過程依賴人員的專業知識和經驗。
自動識别損傷類型可提高孔探檢測效率,避免外部因素的幹擾,給檢測人員提供更為客觀的判斷依據,是以,實作航空發動機損傷的自動、準确檢測成為研究熱點。近年來,研究人員将圖像處理技術和機器學習應用到航空發動機損傷自動檢測中。ZHENG等人将Otsu自适應門檻值方法與Canny邊緣檢測方法相結合,對航空發動機渦輪葉片的灰階圖像分割。YAN使用随機森林算法對航空發動機故障進行診斷,并通過線性特征變換解決原始随機森林算法在特征評估中沒有考慮到特征互相作用的問題。
陳果等人設計結構自适應算法,将反向傳播(Back Propagation, BP)神經網絡和遺傳算法結合,實作模型參數自适應選取,解決網絡結構設計困難的問題,驗證了模型對航空發動機損傷檢測的有效性。葉志鋒等人将機率神經網絡與BP神經網絡進行對比,在測量參數噪聲較小時。
兩者對航空發動機損傷檢測準确率都較高;當測量參數噪聲較大時,PNN損傷檢測的準确率高于BP神經網絡,但圖像處理技術和傳統機器學習存在較大局限性,對噪聲和灰階不均勻敏感,需要人工設計特征,提取損傷特征資訊有限,模型泛化能力差,并且航空發動機孔探圖像背景複雜,包含大量噪聲,同種類型損傷形狀和尺寸差異較大,上述方法難以滿足航空發動機損傷自動檢測的需求。随着深度學習的快速發展,越來越多的目标檢測模型被提出,給損傷檢測提供新的思路。深度卷積神經網絡(Deep Convolutional Neural Networks, DCNN)在航空發動機損傷檢測領域性能優越,主要有兩階段檢測和單階段檢測共2種方法。
兩階段檢測方法中主要為Faster R-CNN算法[8]及優化方法在孔探損傷檢測中得到應用。Faster R-CNN算法由Fast R-CNN算法基礎上改進而來,添加區域建議網絡(Region Proposal Network, RPN)産生候選區域,再對目标進行分類。JANG等人使用Faster R-CNN算法對渦輪葉片上裂紋和凹痕2種損傷進行了檢測,平均準确率為96.1 %。
HE等人提出改進的Mask R-CNN算法對航空發動機葉片進行損傷檢測,Mask R-CNN算法既能對損傷進行分類,又能實作損傷像素級的分割。雖然兩階段檢測方法損傷檢測精度高,但檢測過程需生成候選區域,導緻檢測速度慢,不能滿足實時檢測的工作需求。以YOLO為代表的單階段檢測方法舍棄候選區域生成過程,直接對目标進行定位和分類。CHEN等人使用K-means聚類方法對YOLOv4目标檢測算法錨框重新設計,使錨框更接近航空發動機葉片損傷情況,平均精度提高約1 %。BIN等人提出改進的YOLOv4檢測算法對航空發動機部件表面缺陷進行檢測,在特征提取網絡的輸出層和空間金字塔池化層添加卷積結構,損傷檢測的mAP值提高了4.55 %,但引入額外的參數使模型的檢測速度有所降低。
與兩階段檢測方法相比,單階段檢測方法網絡結構精簡,計算量降低,檢測速度更快,能夠滿足實時檢測的要求,但由于現有損傷檢測模型參數量大,對硬體性能要求高,而孔探檢測需移動裝置完成,其算力有限,模型不能在移動端部署。為了減少模型參數量和提高檢測速度,降低模型對硬體性能的要求,本文提出了一種基于YOLOv4目标檢測算法的輕量化航空發動機損傷檢測模型。
通過引入深度可分離卷積結構,将頸部結構(Neck)中普通卷積重構為逐通道卷積和逐點卷積,實作了特征融合結構的輕量化,減少了網絡的備援參數;使用MobileNetv3作為特征提取網絡,進一步降低了模型參數量和提高了檢測速度;在路徑聚合網絡的卷積層中引入注意力卷積子產品,從通道和空間兩個次元優化特征權重分布,增強有效特征權重,同時抑制無效特征權重,提高了輕量化改進後的模型對航空發動機損傷檢測的準确性。輕量、高效的損傷檢測模型更好地滿足了航空發動機對智能化孔探檢測的需求。
YOLOv4基本模型
YOLOv4是一種高效快速的單階段檢測算法,分析驗證了免費包(Bag-of-Freebies)和特贈包(Bag-of-Specials)2種方法對訓練和推理的影響,并引入了跨小型批量連接配接(Cross mini-Batch Normalization, CmBN)、跨階段部分連接配接。(Cross-Stage-Partial-Connections, CSP)和标簽平滑(Label Smoothing)等方法對網絡結構和訓練政策改進。這些改進方法使得YOLOv4的檢測精度有了較大的提升。YOLOv4模型整體結構主要由主幹(Backbone)、頸部結構(Neck)和檢測頭(Prediction Head)3部分組成。
YOLOv4的網絡結構模型
可知,YOLOv4的主幹網絡為CSPDarkNet53,其中包含5個CSPX子產品,每個CSPX子產品中包含X個小殘差單元結構。跨階段部分連接配接中的小殘差單元結構。
可知,CSPX将輸入特征圖分割成兩部分,一部分經過包含X個殘差單元的路徑進行卷積,另一部分通過殘差邊與上一部分輸出經過Concat結合,使特征提取網絡的梯度在不同路徑中傳播,進而使特征提取網絡的梯度組合更豐富,同時去除了重複的梯度資訊,在精度損失較小的情況下,有效降低了模型計算量。同時,在CSPDarkNet53網絡中引入了Mish激活函數,與Leaky ReLU激活函數相比,Mish激活函數非單調,函數曲線平滑,具有下邊界,能夠保留較小的負值,使特征提取網絡梯度更加穩定,提高了網絡的準确性和泛化能力。
頸部結構使用了空間金字塔池化結構和PANet。頸部結構将不同尺度和多層次的特征融合,提高了模型的檢測精度。
SPP結構使用了4種尺度的最大池化對主幹網絡輸出的特征進行處理,有效分離上下文特征,擴大了卷積的感受野;PANet在特征金字塔網絡(Feature Pyramid Network, FPN)的基礎增加了自下向上的特征融合結構,增強路徑充分利用了淺層特征的位置資訊,将淺層特征與深層特征融合,進一步提高網絡特征提取能力。在頸部結構中,使用了較多的3×3卷積,其中CBL×3卷積塊和CBL×5卷積塊分布,這些标準卷積引入了較多的參數,不利于模型對損傷的檢測和在移動裝置上的應用。檢測頭用來預測目标位置、種類和置信度資訊。檢測頭部分輸出3個不同尺度的特征圖,利用3×3卷積和1×1卷積分别對特征和通道進行調整。
綜上可知,在訓練過程中,YOLOv4檢測方法使用了Mosaic資料增強、CIoU損失函數、學習率餘弦退火衰減和Label Smoothing等方法優化了模型的訓練過程。
結合注意力機制的輕量化YOLOv4
現有的目标檢測模型通過加深網絡和增加分支等方法提升檢測精度,以極大的運算代價換來微小的性能提升。在實際航空發動機損傷檢測場景中,模型計算量是評估模型的重要名額。減少模型參數可以提高模型的檢測速度,使模型用更少的計算時間對目标進行特征提取,降低對硬體的算力要求。
航空發動機孔探檢測通常在室外進行,含有大量參數的模型很難在移動端部署,不能滿足實際工作需求,是以,為了滿足移動裝置的要求,需要對目标檢測模型進行輕量化改進。
基于深度可分離卷積的Neck輕量化改進
普通卷積輸出通道與所有輸入通道有關,在卷積過程中會産生大量備援參數。深度可分離卷積對特征圖的每個通道設定一個卷積核,使輸出通道數與輸入通道數保持一緻,然後使用1×1的卷積對通道數進行調整,有效減少了模型的參數量。深度可分離卷積包含逐通道卷積和逐點卷積共2個過程,普通卷積和深度可分離卷積計算過程。
可知,輸入特征大小為DF×DF×M,輸出特征大小為DH×DH×N,其中M為輸入通道數,N為輸出通道數,DF和DH均為特征映射邊長,DK為卷積核邊長。普通卷積計算過程所示,使用DK×DK×M大小的卷積核和相應特征圖相乘,再将結果相加。在普通卷積計算過程中,乘法計算量遠大于加法,是以加法的計算量忽略不計,普通卷積計算量U1為:
U1=M×DK×DK×DF×DF×N
逐通道卷積計算過程,使用DK×DK×1大小的卷積核與特征映射進行點乘求和,輸出特征圖為DH×DH×M,該過程計算量為DK×DK×M×DF×DF。為逐點卷積計算過程,負責對通道進行調整,使用的卷積核大小為1×1×M,該過程計算量為 DF×DF×M×N。綜上所述,可知,深度可分離卷積總的計算量U2為:
U2=DK×DK×M×DF×DF+DF×DF×M×N
則深度可分離卷積和普通卷積計算量比值為:
U2U1=DK×DK×M×DF×DF+DF×DF×M×NM×DK×DK×DF×DF×N=1N+1DK2
U2U1=DΚ×DΚ×Μ×DF×DF+DF×DF×Μ×ΝΜ×DΚ×DΚ×DF×DF×Ν=1Ν+1DΚ2
YOLOv4檢測算法的Neck結構使用了較多的3×3普通卷積,為降低模型參數量,本文設計了輕量化的特征融合結構,在CBL×3子產品和CBL×5子產品中引入了深度可分離卷積結構,将普通卷積重構為逐通道卷積和逐點卷積的形式。
改進後的卷積子產品
Conv3和Conv5為輕量化改進後的卷積子產品,Conv-dw為深度可分離卷積過程。CBR卷積結構是由ReLU6激活函數替換原CBL卷積結構中的LeakyReLU激活函數而來。ReLU6激活函數限制了最大輸出值,使裝置在低精度的情況下有很好的數值分辨率,減少精度損失。假設卷積過程采用3×3的卷積核,輸出通道數為512,通過上述公式計算可得深度可分離卷積計算量約為普通卷積的1/9,是以,在Neck結構中使用深度可分離卷積重構普通卷積可有效降低模型參數量和計算量。
基于MobileNetv3的主幹網絡輕量化改進YOLOv4檢測算法的主幹網絡在DarkNet53的基礎上引入了跨階段部分連接配接,降低了模型計算量,但CSP DarkNet53網絡中包含了72個卷積層,并使用了大量3×3普通卷積,對裝置的算力要求較高,損傷檢測模型難以在移動端部署。為進一步降低模型計算量,對YOLOv4的主幹網絡進行改進。