黃睿,成旭毅,汪若飛,段博坤,陳曉璐,樊瑋
中國民航大學(xué)計算機科學(xué)與技術(shù)學(xué)院,天津 300300
航空發(fā)動機的健康狀況直接影響飛機的飛行安全和利用率。目前業(yè)內(nèi)普遍采用非接觸式的發(fā)動機孔探目視檢查技術(shù)對發(fā)動機損傷進行檢測,其檢測結(jié)果直接決定航空發(fā)動機是否要進行非例行更換(張勇,2004)。
李華等人(2016)通過對提取的邊緣進行膨脹和腐蝕等操作檢測葉片中的裂縫,實現(xiàn)了裂紋的識別和量化,但檢測損傷類別單一。張勇等人(2008)使用Canny 算子提取邊緣后,進行基于樣條插值測量,用于葉片缺口的檢測和量化。以上基于傳統(tǒng)的圖像處理方法的損傷檢測需要針對不同的圖像調(diào)整相應(yīng)的參數(shù)才可以得到可靠的損傷檢測結(jié)果,檢測精度低,魯棒性較差。基于深度學(xué)習(xí)的損傷檢測方法,通過從大量的損傷圖像中學(xué)習(xí)損傷的相關(guān)特征用于檢測發(fā)動機損傷。曠可嘉(2017)基于Faster R-CNN(faster region-based convolutional neural network)(Ren 等,2017)和SSD(single shot multibox detector)(Liu 等,2016)開發(fā)了一個損傷檢測系統(tǒng),實現(xiàn)了對凹痕、缺口和燒蝕三類損傷的檢測,檢測速度和準(zhǔn)確率相對于傳統(tǒng)圖像處理方法有大幅度提升。Li等人(2019)基于YOLOv3(you only look once version 3)(Redmon 和Farhadi,2018)提出了一個輕量的裂紋檢測網(wǎng)絡(luò)YOLOv3-lite(you only look once version 3 lightweight),將特征金字塔和YOLOv3 兩者相結(jié)合,加快檢測速度的同時保證了檢測精度。Wong 等人(2021)直接 使用Mask R-CNN(mask region-based convolutional neural network)(He 等,2017)檢測發(fā)動機葉片損傷,沒有考慮發(fā)動機葉片損傷檢測的特殊性,導(dǎo)致?lián)p傷檢測效果較差?,F(xiàn)有的基于深度學(xué)習(xí)的損傷檢測方法在部分類型的發(fā)動機損傷檢測上具有較高的檢測精度,但檢測的損傷類型少、涉及的發(fā)動機區(qū)域單一。
圖1 展示了 YOLOv5 和本文方法在發(fā)動機不同區(qū)域的損傷檢測結(jié)果以及不同區(qū)域各類損傷數(shù)量統(tǒng)計結(jié)果。圖1(a)中,不同顏色的檢測框代表不同的損傷類別??梢钥闯?,基于YOLOv5(Redmon 等,2016)的損傷檢測方法存在大量漏檢和誤檢。根本原因是現(xiàn)有的孔探圖像損傷檢測方法直接使用目標(biāo)檢測方法訓(xùn)練一個多類別損傷檢測器,對不同位置使用相同的參數(shù)進行損傷檢測,沒有考慮同種類型損傷在發(fā)動機不同區(qū)域發(fā)生的概率不同,固定的超參數(shù)可能導(dǎo)致較高的誤檢和漏檢。圖1(b)是某航空公司13 個航空發(fā)動機區(qū)域2 654 幅孔探圖像上燒蝕、裂縫、材料丟失、涂層脫落、刻痕和凹坑6 種典型的發(fā)動機損傷的數(shù)量統(tǒng)計情況??梢钥闯觯l(fā)動機的CC(combustion chamber)、HPC(high pressure compressor)、HPT(high pressure turbine)和HPTN(high pressure turbine nozzle)區(qū)域更容易發(fā)生損傷,并且不同區(qū)域發(fā)生的損傷類型和損傷所占的比例也存在差異。
圖1 YOLOv5和本文方法在發(fā)動機不同區(qū)域的損傷檢測結(jié)果以及不同區(qū)域各類損傷數(shù)量統(tǒng)計結(jié)果Fig.1 Damage detection results of YOLOv5 and the proposed method in different areas of an engine,as well as statistical results of various types of damage in different areas((a)damage detection results in different areas of an engine;(b)statistical results of various types of damage in different areas)
為了提高損傷檢測的準(zhǔn)確率,本文提出了一種自適應(yīng)參數(shù)的孔探圖像損傷檢測方法。通過識別孔探圖像所屬的發(fā)動機區(qū)域,針對不同區(qū)域孔探圖像設(shè)置不同的參數(shù)檢測發(fā)動機損傷。同時為了避免單檢測器上不同類型損傷之間相互干擾,采用獨立檢測器檢測單一類別的損傷,并對誤檢率高的損傷進行真假識別。通過合并檢測到的不同類型的損傷,得到最終的損傷檢測結(jié)果。為了改進水平的矩形檢測框,使用分割結(jié)果產(chǎn)生旋轉(zhuǎn)的檢測框,有效地減少了框中的背景區(qū)域。實驗結(jié)果表明,提出的自適應(yīng)參數(shù)的孔探圖像損傷檢測方法的準(zhǔn)確率和召回率分別達到了90.4%和90.7%,比當(dāng)前最好的目標(biāo)檢測方法(YOLOv5)的準(zhǔn)確率和召回率分別高24.8%和25.1%。
基于傳統(tǒng)圖像處理技術(shù)的損傷檢測主要使用邊緣檢測、小波變換、閾值分割和支持向量機等方法檢測發(fā)動機損傷。Meng和Luo(2009)使用支持向量機識別發(fā)動機葉片缺陷并進行損傷等級分類。李長有等人(2006)借助損傷區(qū)域邊緣的曲線粗糙度特征識別發(fā)動機葉片裂紋。李華等人(2016)提取葉片輪廓后,利用三次樣條函數(shù)進行差值計算,并使用一次和二次導(dǎo)數(shù)對材料丟失進行檢測和分析?;趥鹘y(tǒng)圖像處理技術(shù)的損傷檢測不需要大量的訓(xùn)練數(shù)據(jù),但要針對不同類型的損傷設(shè)計不同的檢測算法,檢測準(zhǔn)確率較低,無法用于實際的發(fā)動機損傷檢測。
隨著深度學(xué)習(xí)在計算機視覺領(lǐng)域取得了較大成功,研究人員嘗試在孔探任務(wù)中引入深度學(xué)習(xí)算法以提升分類或檢測性能。陳果和湯洋(2008)利用結(jié)構(gòu)自適應(yīng)網(wǎng)絡(luò),使用圖像灰度共生矩陣的表面紋理參數(shù)作為特征,對卷曲、腐蝕、裂紋及撕裂4 類損傷進行分類。Svensén 等人(2018)使用VGG(Visual Geometry Group)(Simonya 和Zisserman,2015)對發(fā)動機混合器、燃燒室、燃料噴管和高壓渦輪葉片的圖像進行分類,準(zhǔn)確率達到了77%。Kim 和Lee(2019)使用傳統(tǒng)的特征匹配算法篩選出孔探圖像中可能的損傷圖像塊,然后使用5 層的卷積神經(jīng)網(wǎng)絡(luò)判斷圖像塊中是否存在邊緣缺口。基于全卷積網(wǎng)絡(luò)(fully convolutional network,F(xiàn)CN)(Long 等,2015),Bian 等人(2016)提出可擴展的多尺度全卷積網(wǎng)絡(luò),檢測發(fā)動機葉片圖像中的熱障涂層丟失。Shen 等人(2019)提出基于FCN 的損傷檢測和定位模型,在裂紋和燒蝕這兩類損傷檢測和分割任務(wù)上取得了良好的效果。
基于深度學(xué)習(xí)的目標(biāo)檢測方法可以分為兩階段和一階段檢測方法(趙永強 等,2020)。兩階段檢測方法在每個位置產(chǎn)生固定數(shù)量的候選框,然后使用邊界框分枝判斷候選框的類別、回歸實例的準(zhǔn)確位置,同時使用掩碼分枝得到實例的分割結(jié)果。代表性工作有DeepMask(Pinheiro 等,2015)、SharpMask(Pinheiro 等,2016)、InstanceFCN(instance sensitive fully convolutional network)(Dai 等,2016a)、MNC(multi-task network cascades)(Dai 等,2016b)和BAIS(boundary-aware instance segmentation)(Hayder 等,2017)等。DeepMask 首先采用滑動窗口方式得到目標(biāo)區(qū)域,然后設(shè)計兩個分枝分別用于實例分割和目標(biāo)類別的預(yù)測。BAIS 針對預(yù)測的邊框進行了多尺度的反卷積操作,以解決由于邊框不準(zhǔn)確造成的分割不完整的問題。為了提高候選框的質(zhì)量,許多先進的目標(biāo)檢測工作都采用RPN(region proposal network)產(chǎn)生候選目標(biāo)區(qū)域(region proposal),代表性的工作有R-FCN(region based fully convolutional networks)(Dai 等,2016c)、Fast R-CNN(fast region-based convolutional neural network)(Girshick,2015)、Faster R-CNN、Mask R-CNN 和MS R-CNN(mask scoring RCNN)(Huang 等,2019)等。MS-R-CNN 從直接預(yù)測Mask 質(zhì)量分數(shù)的角度,解決Mask R-CNN 中目標(biāo)分類分數(shù)和Mask 質(zhì)量不匹配的問題。HTC(Chen 等,2019)將Mask R-CNN 與Cascade R-CNN(Cai 和Vasconcelos,2018)結(jié)合形成級聯(lián)結(jié)構(gòu),并在此基礎(chǔ)上提出增強結(jié)構(gòu),逐步改善邊框預(yù)測和Mask分割效果。
一階段檢測方法通過直接在每個位置判別當(dāng)前位置所屬的類別并計算其所在實例的邊框坐標(biāo),避免了對候選框的重復(fù)計算,大大提高了網(wǎng)絡(luò)的檢測速度,其中代表性的工作有ExtremeNet(extreme network )(Maninis 等,2018)、CornerNet(corner network)(Law 和Deng,2018)、FCOS(fully convolutional one stage object detection)(Tian 等,2019)、YOLO、SSD等。YOLO 將圖像劃分成S×S的網(wǎng)格,每個網(wǎng)格預(yù)測2 個邊框以及20 個類別概率,然后根據(jù)閾值去除可能性比較低的目標(biāo)。但由于YOLO 對小物體的檢測效果較差,后續(xù)的YOLOv2—v5 都采用錨點的方式提高了檢測精度。FCOS 的核心是一個特征金字塔和3 個分枝網(wǎng)絡(luò),除了分類和回歸分枝外,加入了中心度分枝剔除低質(zhì)量預(yù)測。Corner-Net 預(yù)測兩組熱圖(一組為“左上”角點,另一組為 “右下”角點),每組熱圖的通道數(shù)為實例的類別數(shù)量,開創(chuàng)性地利用角點檢測目標(biāo)。ExtremeNet 針對每一個類別,檢測上下左右4 類極值點和中心點坐標(biāo),再將極值點坐標(biāo)與中心點坐標(biāo)用幾何方式組合起來構(gòu)成一個實例框。兩階段檢測算法的速度慢,但精度較高;一階段檢測算法的速度快,但精度較低。
航空發(fā)動機損傷檢測的目的是使用目標(biāo)檢測算法在給定的孔探圖像I 上檢測損傷區(qū)域并識別損傷類型。給定損傷檢測模型?(I;W),W 表示損傷檢測模型的參數(shù),如YOLOv5 的網(wǎng)絡(luò)模型參數(shù)。在進行目標(biāo)檢測時,針對不同場景的目標(biāo)需要設(shè)置不同的超參數(shù)。航空發(fā)動機不同區(qū)域的差異較大,導(dǎo)致不同區(qū)域的損傷類型和數(shù)量存在較大差異。單一的檢測模型使用固定超參數(shù)和網(wǎng)絡(luò)模型參數(shù)檢測多類損傷,致使同種類型的損傷在一些區(qū)域出現(xiàn)誤檢,在另一些區(qū)域出現(xiàn)漏檢,影響了檢測模型的識別準(zhǔn)確率。此外,當(dāng)需要識別新的損傷類型時,需要在整個數(shù)據(jù)上重新訓(xùn)練損傷檢測模型。
本文提出一種自適應(yīng)參數(shù)的孔探圖像損傷檢測方法,如圖2 所示,通過識別孔探圖像所屬的區(qū)域,設(shè)定檢測模型對應(yīng)的超參數(shù),使用不同損傷類型的檢測器對損傷圖像進行檢測,以此解決新增損傷的檢測問題。具體來說,首先使用一個區(qū)域識別器φ(I)識別圖像所屬的發(fā)動機區(qū)域;然后,使用不同超參數(shù)的檢測器?(I;Wj,θjk)檢測對應(yīng)的損傷,Wj表示第j類損傷檢測模型的參數(shù),θjk表示第j類損傷檢測模型在第k個發(fā)動機區(qū)域使用的超參數(shù);為了去除假的損傷,使用真?zhèn)伪鎰e器ψ(Ri)對檢測到的損傷Ri進行識別,最終合并不同檢測器的檢測結(jié)果得到最后的損傷檢測結(jié)果。并針對涂層脫落,使用分割方法得到損傷區(qū)域,產(chǎn)生符合損傷形狀的旋轉(zhuǎn)框。
圖2 自適應(yīng)參數(shù)的孔探圖像損傷檢測方法框架Fig.2 Framework of the proposed parameter adapted borescope images damage detection method
2.2.1 區(qū)域識別器φ(I)
孔探針對航空發(fā)動機中的CC、LPTN(low pressure turbine nozzle)、HPC、HPT 等多個區(qū)域進行損傷檢測,不同區(qū)域包含的損傷類型和損傷所占比例都明顯不同。識別孔探圖像拍攝的發(fā)動機區(qū)域,可以針對不同的區(qū)域設(shè)置不同的超參數(shù),提高損傷檢測的準(zhǔn)確率。孔探圖像的區(qū)域識別對應(yīng)視覺中的圖像分類問題,本文使用圖像分類網(wǎng)絡(luò)Pytorch-Encoding作為區(qū)域識別器φ(I)??滋綀D像所屬的發(fā)動機區(qū)域k的計算式為
Pytorch-Encoding 采 用ResNeSt50(Zhang 等,2022)作為骨干特征提取網(wǎng)絡(luò),并將提取后的特征通過字典學(xué)習(xí)和殘差編碼的方式結(jié)合進行分類,在航空發(fā)動機區(qū)域識別任務(wù)上具有較高的分類準(zhǔn)確率。
2.2.2 單檢測器算法的損傷檢測
在進行目標(biāo)檢測時,一般使用單個目標(biāo)檢測器?(I;W)檢測多種類型的目標(biāo)。不同的目標(biāo)使用相同的網(wǎng)絡(luò)參數(shù)和超參,導(dǎo)致出現(xiàn)誤檢和漏檢的問題。考慮到Y(jié)OLOv5 的檢測速度和精度,本文使用YOLOv5作為基礎(chǔ)的損傷檢測器。
YOLOv5 借鑒了CSPNet(cross stage partial network)(Wang 等,2020)的設(shè)計思路,設(shè)計了兩種CSP結(jié)構(gòu)CSP1_x 和CSP2_x,將上一階段的特征輸入到兩個分枝中,分別進行卷積操作使得通道數(shù)減半,并對其中一個分枝進行若干次Bottleneck操作,然后拼接兩個分枝得到最終結(jié)果。通過上采樣和卷積操作,將不同尺度CSP模塊提取的特征進行融合,增強了網(wǎng)絡(luò)特征的提取和融合能力。在Neck 部分中,使用FPN(feature pyramid network)和PAN(path aggregation network)組合對特征進行融合,增強特征中的語義信息和位置信息。使用GIOU_Loss(generalized intersection overunion loss)作為檢測框的損失函數(shù),達到了更快更好的收斂效果。在輸入端改進了數(shù)據(jù)增強方式,加入了mosaic 模塊,通過隨機縮放、隨機裁剪和隨機排布的方式拼接圖像后訓(xùn)練,豐富數(shù)據(jù)集的同時減少了訓(xùn)練時間,提升了對小目標(biāo)對象的檢測效果。使用自適應(yīng)錨框計算將訓(xùn)練集中的效果最好的錨框值保存下來,并通過自適應(yīng)圖像縮放方法添加最少的黑色填充,降低了圖像縮放填充黑邊的影響,減少計算量的同時提升了檢測速度。
YOLOv5 中通過設(shè)置置信度閾值、NMS-IOU(non maximum suppression intersection over union)閾值等超參數(shù)控制目標(biāo)檢測效果。圖3 展示了使用YOLOv5 在HPT 區(qū)域分別改變置信度和IOU 閾值時的平均精度均值(mean average precision,mAP),紅色水平線為使用YOLOv5 默認置信度和NMS_IOU閾值參數(shù)時的mAP。可以發(fā)現(xiàn),改變置信度閾值對損傷檢測的影響最為明顯。
圖3 HPT區(qū)域使用不同置信度和IOU時的mAPFig.3 mAP with different confidence levels and IOU on HPT region
2.2.3 多檢測器融合的損傷檢測
本文提出一種自適應(yīng)參數(shù)的孔探圖像損傷檢測方法,通過識別孔探圖像所屬的區(qū)域,設(shè)定檢測器對應(yīng)的超參數(shù)。同時,為了提高損傷檢測模型的擴展性,本文針對每一類損傷訓(xùn)練一個獨立的損傷檢測器?(I;Wj,θjk),其中Wj為第j類損傷檢測的模型參數(shù),θjk表示第j類損傷檢測模型在第k個發(fā)動機區(qū)域使用的超參數(shù)。對于孔探圖像I 的損傷檢測結(jié)果由多個損傷檢測器的結(jié)果合并而產(chǎn)生,具體為
式中,∪ 表示合并操作,J表示損傷的類型總數(shù),K表示發(fā)動機的位置數(shù)。由于檢測器相互獨立,在得到發(fā)動機區(qū)域k后,可以并行檢測多個類型的損傷。獨立檢測器的方式方便增加新類型的損傷檢測,當(dāng)需要檢測新的損傷類別時,只需要重新訓(xùn)練一個損傷檢測器,將新的檢測器合并到已有的檢測器中,即可在不改變已有損傷檢測器的基礎(chǔ)上檢測新出現(xiàn)的損傷。不同類別損傷檢測器的檢測結(jié)果融合過程如圖4所示。
圖4 不同類型的損傷檢測器的檢測結(jié)果合并實例Fig.4 Examples of detection results combination of detectors of different types of damages
在實際應(yīng)用中,裂縫檢測器常將葉片鑄痕、氣流痕跡、孔探劃痕和部件之間連接縫隙等識別成裂縫,刻痕和凹坑也容易發(fā)生混淆。為了去除假的損傷,使用真?zhèn)伪鎰e器ψ(Ri)對檢測到的損傷Ri進行識別,確定損傷的真實類別。ψ(Ri)采用ResNet101(deep residual network 101)(He 等,2016)對檢測到的圖像塊進行分類。針對裂縫,ψ(Ri)判斷Ri是否為真實裂縫;針對刻痕和凹坑,ψ(Ri)判斷Ri所屬類別。
由于涂層脫落的面積較大,且拍攝時不能保證發(fā)動機葉片處于水平或垂直狀態(tài),導(dǎo)致矩形檢測框中包含大面積的背景區(qū)域,不利于損傷的量化和可視化。為了解決此問題,優(yōu)化檢測結(jié)果,本文采用BlendMask(Chen 等,2020)實例分割算法對檢測到的涂層脫落進行分割,并使用分割結(jié)果生成旋轉(zhuǎn)的矩形框。圖5 展示了兩組檢測框旋轉(zhuǎn)前后對比及中間過程的分割結(jié)果。從圖5 第1 列與第3 列對比可以看出,生成的旋轉(zhuǎn)矩形框可以準(zhǔn)確地覆蓋涂層脫落區(qū)域,有效地減少背景信息。
圖5 水平檢測框和旋轉(zhuǎn)檢測框結(jié)果對比Fig.5 Comparison of horizontal detection bounding boxes with rotated detection bounding boxes
3.1.1 數(shù)據(jù)集
數(shù)據(jù)集由國內(nèi)某航空公司工作人員拍攝的13個航空發(fā)動機區(qū)域的2 654 幅孔探圖像組成。使用Labelme 軟件對所有數(shù)據(jù)進行標(biāo)注后,按9∶1 的比例將數(shù)據(jù)劃分成訓(xùn)練集和測試集。每個區(qū)域的圖像數(shù)量和損傷數(shù)量如表1 所示。采用交互式數(shù)據(jù)擴展方法(樊瑋 等,2020)將訓(xùn)練數(shù)據(jù)集擴展,然后使用旋轉(zhuǎn)、裁剪和曝光等增強操作將所有的訓(xùn)練數(shù)據(jù)擴充10倍,用于損傷檢測模型的訓(xùn)練。
表1 發(fā)動機不同區(qū)域的孔探圖像和損傷數(shù)量明細Table 1 Detail of numbers of borescope images and damages of different areoengine regions
3.1.2 對比方法
實驗選取5 種先進的目標(biāo)檢測方法SSD、YOLACT(you only look at coefficients)(Bolya 等,2019)、YOLOv5、YOLOX(you only look once x)(Ge等,2021)和Mask R-CNN 進行對比實驗。模型在Ubuntu 系統(tǒng)上搭建,所有方法均使用Pytorch 框架實現(xiàn),在2080Ti上進行訓(xùn)練和測試。
3.1.3 實現(xiàn)細節(jié)
實驗時,區(qū)域識別器數(shù)據(jù)集使用發(fā)動機各區(qū)域圖像共5 680 幅,對13 個區(qū)域進行分類后,按9∶1 隨機劃分為訓(xùn)練集和測試集進行訓(xùn)練。Pytorch-Encoding使用ResNeSt50作為骨干網(wǎng)絡(luò),batch size為128,選取SGD(stochastic gradient descent)作為優(yōu)化器,momentum 為0.9,設(shè)置初始學(xué)習(xí)率為0.001,衰減率為0.000 1,訓(xùn)練500 個epoch,取最好結(jié)果為最終模型。
單個目標(biāo)檢測器使用beta1 momentum 為0.937的Adam 優(yōu)化器訓(xùn)練損傷檢測模型。預(yù)訓(xùn)練模型使用YOLOv5x,初始學(xué)習(xí)率為0.001,使用余弦退火算法對學(xué)習(xí)率進行更新,衰減率為0.000 5,batch size為64,訓(xùn)練300個epoch,選取最好的結(jié)果。
檢測框旋轉(zhuǎn)模塊使用劃分好的損傷數(shù)據(jù)集對涂層脫落損傷單獨進行分割訓(xùn)練,BlendMask 使用ResNet50 作為骨干網(wǎng)絡(luò),學(xué)習(xí)率設(shè)置為0.01,迭代270 k 次,學(xué)習(xí)率在210 k 和250 k 時衰減為原來的0.1倍。選取最后一次迭代的結(jié)果作為最終檢測模型。
真假判別器將裂縫與刻痕的GT(ground truth)和檢測結(jié)果中的FP(false positives)裁剪后的圖像作為訓(xùn)練集。選擇ResNet101 作為特征提取網(wǎng)絡(luò)訓(xùn)練損傷判別器,batch size 為64,使用SGD 作為優(yōu)化器,設(shè)置學(xué)習(xí)率為0.001,訓(xùn)練500 個epoch,選取在測試集上效果最好的模型作為最終模型。本文主要針對發(fā)動機孔探圖像損傷檢測提出了一種有效的訓(xùn)練框架,沒有修改所使用的分類、檢測和分割網(wǎng)絡(luò)模型。
3.2.1 區(qū)域識別效果
航空發(fā)動機不同區(qū)域的識別準(zhǔn)確率如表2 所示。除了LPTN(low pressure turbine nozzle)和HPTN的識別準(zhǔn)確率為78%和88%以外,其他區(qū)域的準(zhǔn)確率均高于90%,在損傷易發(fā)生的CC、HPT和HPTN這3個區(qū)域的識別準(zhǔn)確率達到了99%、98%和88%。所有區(qū)域的平均識別準(zhǔn)確率達到了95.35%。其中部分LPTN 區(qū)域的孔探圖像是近景拍攝的圖像,只關(guān)注葉片的部分區(qū)域,丟失了LPTN 葉片的全局圖像信息,導(dǎo)致此區(qū)域的識別準(zhǔn)確率相對較低。
表2 區(qū)域識別器在航空發(fā)動機不同區(qū)域的識別準(zhǔn)確率Table 2 Accuracy of recognition of different aero regions
基于航空發(fā)動機區(qū)域識別結(jié)果,分別設(shè)置不同類型損傷檢測器的超參數(shù)。對于損傷發(fā)生概率大、檢測難度高的區(qū)域,設(shè)定較小的閾值保證高的召回率。對于損傷發(fā)生概率小、誤檢比較多的區(qū)域,設(shè)定較大的閾值減少誤檢。根據(jù)3.3.1 節(jié)在不同置信度對損傷檢測影響的實驗,設(shè)置本文方法在不同區(qū)域使用的超參數(shù),具體參數(shù)設(shè)置如表3 所示。由于HPC(high pressure compressor)、HPTshroud、IGVActuationRing(inlet guide vane actuation ring)、LPC(low pressure compressor)、Miscellaneous、PistonRing 和RDS(radial drive shaft)的圖像數(shù)量及損傷數(shù)量較少,本文將其合并作為一類(others),使用相同的超參數(shù)。
表3 本文方法在不同區(qū)域使用的超參數(shù)Table 3 Hyperparameters of different regions
3.2.2 損傷檢測結(jié)果分析
圖6 展示了不同檢測方法的損傷檢測結(jié)果。其中,不同顏色的檢測框代表不同類型的損傷??梢钥闯?,SSD 可以檢測到明顯的損傷,但對于第1 和第2 幅圖中的裂縫、第2 幅圖中的材料丟失、第3 幅圖中的凹坑等類似的特征不明顯,重疊的損傷檢測效果較差。YOLACT、YOLOX、YOLOv5 的檢測結(jié)果優(yōu)于SSD,但無法檢測到第1 行中較短的裂縫,在第2 幅和第5 幅圖中有較多的誤檢。Mask R-CNN 無法檢測到第1 和第3 幅圖中的裂縫和凹坑,在第5 幅圖中重復(fù)檢測到圖像中的裂縫。本文方法可以準(zhǔn)確地檢測到5 幅圖像中的所有損傷,并正確地判斷損傷的類型。同時,使用旋轉(zhuǎn)框可以有效減少檢測框中的背景,準(zhǔn)確地標(biāo)出損傷區(qū)域。
圖6 不同檢測模型的損傷檢測結(jié)果Fig.6 Detection results of different detectors((a)SSD;(b)YOLOX;(c)YOLACT;(d)YOLOv5;(e)Mask R-CNN;(f)ours;(g)ground truth)
不同檢測方法mAP的量化結(jié)果如表4所示??梢钥闯?,本文方法針對不同損傷檢測的mAP 明顯高于其他對比方法。在所有對比方法中,結(jié)果最差的是SSD,平均mAP 僅為16.6%。YOLOv5 的平均mAP 為41.1%,是對比方法中檢測結(jié)果最好的。本文方法的平均mAP 是56.3%,分別超出YOLOv5 和SSD的平均mAP 15.2%和39.7%。在燒蝕和涂層脫落兩類損傷檢測上,本文方法的mAP 達到了79.5%和75.6%。但刻痕的損傷檢測結(jié)果較差,mAP 僅有13.3%。原因可能是大多數(shù)刻痕只有十幾個像素,而檢測網(wǎng)絡(luò)無法進行細粒度的檢測。本文方法的檢測速度達到4.3 幀/s,高于二階段檢測方法(Mask R-CNN),略低于一階段檢測方法(SSD、YOLO 等),但本文方法檢測結(jié)果的平均精度高于其他對比方法。
表4 不同檢測模型的檢測結(jié)果(mAP)及檢測時間Table 4 Detection results(mAP)and detection time of different detection models
表5 展示了不同檢測模型的準(zhǔn)確率及召回率。本文方法的平均準(zhǔn)確率和召回率分別是0.904 和0.907,遠高于其他的對比方法。在對比方法中,SSD 的量化結(jié)果較差,平均準(zhǔn)確率和召回率都低于0.2;YOLOv5 的結(jié)果最高,平均準(zhǔn)確率和召回率達到了0.65 以上。除了在刻痕損傷的檢測上,本文方法的準(zhǔn)確率低于0.8,其他損傷檢測的準(zhǔn)確率都高于0.9。高的準(zhǔn)確率和召回率保證了損傷檢測的正確性,減少了損傷的漏檢,從而使得本文方法更能滿足實際應(yīng)用的需求。本文方法在航空發(fā)動機損傷檢測方面具有高的平均精度、準(zhǔn)確率和召回率,檢測精度優(yōu)于直接使用現(xiàn)有的目標(biāo)檢測方法的精度。
表5 不同檢測模型的準(zhǔn)確率和召回率Table 5 Accuracy and recall of different detectors
3.3.1 不同置信度對損傷檢測的影響
表6—表8 給出了在不同置信度閾值下HPT、HPC和CC這3個區(qū)域中各類損傷檢測結(jié)果的F1值。如表6 所示,燒蝕在HPT 上最佳置信度為0.7 和0.8,裂縫在HPT 上的最佳閾值為0.7,在HPC 上為0.2~0.6,而在CC 上為0.6。材料丟失在HPT 上的最佳閾值為0.7,在HPC 上為0.6~0.8,而在CC 上為0.9??梢钥闯?,各類損傷在不同區(qū)域上的最佳檢測閾值存在差異,需要根據(jù)具體情況設(shè)置對應(yīng)的最佳參數(shù)。本文方法設(shè)置的參數(shù)能夠在各個區(qū)域上達到較高的準(zhǔn)確率,同時盡可能地減少FP數(shù)量。
表6 本文方法在HPT區(qū)域不同置信度下各類損傷的F1值Table 6 F1 values of the proposed method using different confidence levels on HPT region /%
表7 本文方法在HPC區(qū)域不同置信度下各類損傷的F1值Table 7 F1 values of the proposed method using different confidence levels on HPC region /%
表8 本文方法在CC區(qū)域不同置信度下各類損傷的F1值Table 8 F1 values of the proposed method using different confidence levels on CC region /%
3.3.2 真假損傷辨別對損傷檢測的影響
使用真假損傷判別器能有效減少檢測結(jié)果中的FP 數(shù)量,表9 給出了裂縫和凹坑是否使用判別器時的FP 數(shù)量。在使用判別器后,檢測結(jié)果中的FP 數(shù)量都有所下降。其中凹坑的損傷數(shù)量較少,生成的FP 也較少,在使用判別器后,F(xiàn)P 下降為0。裂縫損傷在使用判別器后,F(xiàn)P 數(shù)量減少了8 個??梢娬婕贀p傷判別器有助于提高損傷檢測器的性能。
表9 本文方法是否使用損傷判別器對比Table 9 Comparison of using a damage discriminator in the proposed method
發(fā)動機孔探任務(wù)中,不同區(qū)域的損傷分布及數(shù)量不同,使用固定的超參數(shù)檢測器無法適應(yīng)所有區(qū)域的損傷檢測。對此采用YOLOv5 作為基礎(chǔ)檢測器,提出了一種自適應(yīng)參數(shù)的航空發(fā)動機圖像損傷檢測方法。首先利用Pytorch-Encoding 對損傷圖像進行區(qū)域識別,對發(fā)動機區(qū)域進行分類處理。分類處理后的圖像通過修改檢測器參數(shù)能夠更準(zhǔn)確地檢測損傷,改進檢測效果,對于容易混淆的損傷類型,使用ResNet 分類器進行二次判別,本文方法還可以針對某一區(qū)域新增的損傷對檢測器進行擴展,同時不會影響已有的檢測器。為了更好地表示損傷,使用BlendMask 對損傷區(qū)域進行分割,并根據(jù)分割結(jié)果,使用最小外接矩形求出旋轉(zhuǎn)檢測框,減少預(yù)測框中無效的背景信息。大量的實驗驗證了本文方法的有效性。在后續(xù)研究中,將根據(jù)發(fā)動機孔探圖像的特點優(yōu)化孔探圖像區(qū)域識別網(wǎng)絡(luò),提升區(qū)域識別的準(zhǔn)確率;改進檢測網(wǎng)絡(luò)模型,提高微小損傷的識別率;優(yōu)化整體網(wǎng)絡(luò)框架,提升損傷檢測速度。