郝偉勛 李建軍
摘? 要: 針對風機葉片表面缺陷識別率低、背景復雜及目標尺度差異大等問題,提出一種改進YOLOx-s的風機葉片缺陷檢測方法。在YOLOx-s頸部輸出端引入輕量型通道注意力機制提取圖像深層次信息,提升缺陷檢測準確率;構建特征提取能力更強的殘差結構替換主干網絡中的Resunit,通過調整殘差結構感受野,增強對小目標缺陷的檢測能力;經無人機實景拍攝采集葉片表面缺陷信息,使用Imgaug數據增強技術對數據集進行擴充。實驗表明,改進后的網絡模型對自建數據集的檢測速度為39幀/秒,與YOLOx-s網絡模型相比,mAP值從93.18%提高到96.61%。實現了風機葉片表面缺陷的高精度、高速度以及高魯棒性檢測。
關鍵詞: 風機葉片; 深度學習; 目標檢測; YOLOx-s
中圖分類號:TP391? ? ? ? ? 文獻標識碼:A? ? ?文章編號:1006-8228(2023)09-106-05
Research on the defect detection of fan blades based on YOLOx
Hao Weixun, Li Jianjun
(School of Information Engineering, Inner Mongolia University of science and technology, Baotou, Inner Mongolia 014010, China)
Abstract: Aiming at the problems of low recognition rate, complex background, and large difference in target scale of fan blade surface defects, a defect detection method for fan blades based on improved YOLOx-s is proposed. A lightweight channel attention mechanism is introduced at the neck output of YOLOx-s to extract the deep information of the image and improve the defect detection accuracy. A residual structure with stronger feature extraction ability is constructed to replace the Resunit in the backbone network, and the detection ability of small target defects is enhanced by adjusting the receptive field of the residual structure. The blade surface defect information is collected by UAV live shot, and the dataset is expanded using Imgaug data enhancement technology. The experiment shows that the detection speed of the improved network model for the self built dataset is 39 frames/second. Compared with the YOLOx-s network model, the mAP value is increased from 93.18% to 96.61%. It realizes the detection of surface defects of fan blades with high accuracy, high speed and high robustness.
Key words: fan blade; deep learning; target detection; YOLOx-s
0 引言
內蒙古、新疆等地,風力發電的應用較為廣泛。由于地處北方,沙塵較多,極易對葉片表面造成損傷。及時檢測出損傷位置及損傷類別并加以維護,可延長葉片的使用壽命。現有檢測方法有兩類,一是根據無缺陷葉片表面和缺陷葉片表面反射率的不同進行缺陷類型診斷,但所有設備造價高昂;二是基于深度學習計算機視覺的風機葉片缺陷檢測方法,其憑借檢測速度快、成本低,逐漸成為主流。
基于計算機視覺的方法又分為兩類:一類是基于區域先驗框的兩階段算法,如Faster R-CNN[1];另一類是基于回歸的單階段算法,如SSD[2]、YOLO[3]等。曹錦綱[4]等研究了基于魯棒主成分分析(RPCA)和視覺顯著性的表面缺陷檢測,得到較高的準確率,但此研究未涉及復雜背景下的缺陷檢測。胡翔宇[5]采集音頻信號特征做降噪處理,搭建BP神經網絡的三層結構,識別準確率達到93.75%,但該方法模型搭建復雜,且對小目標缺陷檢測效果差。張超[6]等采用以Mask R-CNN為基礎的網絡框架,提高檢測速度,但準確率僅為80.6%。曲忠侃[7]等針對風機葉片檢測成本高、效率低等問題,提出基于Faster R-CNN的膠衣脫落缺陷檢測方法,平均準確率達到92.6%,但缺陷類別少,難以滿足實際需求。李亦倫[8]等利用Mosaic數據增強以及改進目標檢測YOLOv4算法,風機葉片缺陷檢測mAP值達83%。YOLO系列憑借其出色的性能在風機葉片缺陷檢測領域受到廣泛關注。
現有研究方法存在以下不足:①所選取網絡架構的局限性,以v3網絡模型為例,其對小目標有效特征的提取能力差;②缺陷圖像背景復雜、缺陷類別多且尺度差異大。如“沙眼”屬于典型的小目標,而“油污”、“脫漆”目標較大。針對上述問題,本文以YOLOx-s網絡為基礎,改進網絡內部的殘差結構,并融合注意力機制。改進后的網絡模型大幅提升mAP值的同時對上述不足帶來的問題有了明顯改善。
1 YOLOX算法原理
1.1 輸入端、主干網絡及頸部
YOLOx-s以YOLOv3-spp[9]為基礎進行改進。算法框架主要分為四個部分:輸入端(Input)、主干網絡(Backbone)、頸部(Neck)以及預測(Prediction)[10]。輸入端、主干及頸部網絡結構如圖1所示。
輸入端Focus層結構由切片操作和基礎卷積運算組成,使得輸入的三通道圖像擴充為12通道,在保證低參數量和計算量的同時,完成下采樣操作。主干網絡由CBS、CSPLayer、SPP構成,其中CBS模塊包含卷積層、BN層和激活函數;CSPLayer模塊采用殘差結構,內部包含Resunit,加深了網絡的總體深度。SPP 模塊由池化核大小為5×5、9×9、13×13的池化操作(Maxpool)和基礎卷積組成,用于擴大感受野且不顯著增加模型尺寸。
主干網絡提取的不同尺度特征層由頸部進行深度特征提取及通道融合。其主要由特征金字塔網絡(feature pyramid network, FPN)、CBS模塊、CSPLayer模塊構成。將融合后的特征信息P1_out、P2_out、P3_out輸出到預測端。
1.2 預測
目標檢測任務中,同一個檢測頭檢測物體的位置和類別會嚴重影響檢測速度和準確率。鑒于定位和分類任務關注的重心不同,YOLOx-s使用Decoupled head對此進行優化。預測端網絡結構如圖2所示。
融合后的特征經CBS、卷積層及激活函數作用,形成三個分支結構,cls_output對目標框類別進行分數預測,obj_output對前、背景進行判別,reg_output預測目標框的坐標信息(x,y,w,h)。最后經Concat操作,得到不同維度的特征信息。此外,引入Anchor-free檢測器和SimOTA(Simplified Optimal Transport Assignment)標簽分配機制以及Focal Loss損失數。
1.3 損失函數
YOLOx-s損失由IOU損失、類別損失、置信度損失三部分構成。IOU損失指交并比。
[IOU=A∩BA∪B]? ? ⑴
其中,A為預測框;B為真實框。
IOU損失如式⑵:
[LossIOU=1-IOU2]? ⑵
類別損失和置信度損失使用BCEWith LogitsLoss計算,如式⑶、式⑷:
[lossc=l1,…,lN]? ⑶
[ln=-yn?logσx+1-yn?log1-σxn]? ⑷
其中,N為batch size,本文中設置為4。每個批次預測n個標簽,c為風機表面缺陷類別,[σx]表示sigmoid函數。
損失函數表達式如下:
[Loss=WeightLossIOU+Lossobj+Losscls]? ?⑸
2 網絡模型構建
針對風機葉片缺陷檢測任務中存在背景干擾、缺陷類型多、目標尺寸差異大等問題,構建如圖3所示的網絡框架。
主干網絡由CBS、CSPLayer、SPP、以及替換Resunit使用的殘差模塊(1×1Conv Resunit,CR)構成。頸部輸出不同維度的特征信息,通過輕量型通道注意力機制(Efficient Channel Attention, ECA)連接到預測端,強化網絡整體對葉片表面缺陷的感知能力。
2.1 CR殘差模塊
深度殘差網絡作為一類極深的體系結構出現。實際應用中衍生出不同種類的殘差模塊。Resunit采用傳統結構,如圖4(a)所示。殘差部分由CBS模塊構成,對淺層特征做進一部提取,經addition與直接映射部分進行通道融合。其特點在于,提升了網絡總體深度,可有效避免訓練過程中梯度消失、梯度爆炸等問題。但結構簡單,卷積核大小均為3×3,在小目標和被檢測目標尺度差異大的數據集上進行檢測,性能明顯不足。
CR殘差模塊結構如圖4(b)所示,直接映射部分添加1×1卷積進行降維,一定程度上減小主干網絡的計算量,卷積核越小,感受野則越小,提取到的特征更為直觀。殘差部分卷積核大小為3×3、5×5,卷積核大,則提取的信息語義層次更高,同時將第二個CBS結構中的SiLU激活函數移動到addition后面。利用SiLU激活函數無上界有下界、平滑、非單調的特性對不同卷積核提取到的featuremap整體進行激活運算。
CR模塊數學函數表達如式⑹所示。
[y=hx+f(x)1+exp [-hx+fx]]? ?⑹
其中,x為輸入,y為輸出,h(x)為直接映射部分的1×1卷積操作,f(x)表示殘差部分卷積、BN等一系列操作。相較于Resunit,CR殘差模塊具有更好的特征提取能力,有利于小目標和目標尺度差異大的缺陷檢測。
2.2 頸部融合注意力機制
缺陷檢測受復雜背景影響較大,特征提取過程中存在噪聲干擾。注意力機制通過挖掘各通道之間的相互聯系,學習不同通道特征的重要程度,使得網絡在運行過程中更好的關注重要特征。輕量型通道注意力機制ECANet網絡結構如圖5所示。
該網絡具備參數少、速度快、效果好的特點。首先對輸入進來的特征層進行全局平均池化,通道維數保持不變,然后通過卷積核大小為k的快速1D卷積實現跨通道信息交互,再取一次Sigmoid激活函數將值固定在(0,1)區間內,最后將權值與原輸入特征層相乘,以此來實現增加少量計算的同時,達到更好的去噪效果。
1D卷積核大小計算如式⑺所示。
[k=log2C+2]? ⑺
其中,k為1D卷積核大小,C為輸入通道數且C為偶數。
3 實驗結果與分析
3.1 實驗環境
實驗操作系統為Windows11,GPU 版本為NVIDIA GeForce RTX 3060 Laptop,Pytorch版本為1.10.2。訓練時輸入圖像大小為460×460,初始化IOU為0.5,epoch設定為300,batch size為4,優化器使用Adam。
3.2 數據集
通過無人機實景拍攝,獲取存在缺陷的葉片圖像,共1224張,其中脫漆309張,沙眼305張,裂紋285張,油污325張。使用Imgaug數據增強通過對圖像進行隨機色域、鏡像、旋轉不同角度等變換,得到可用于訓練的圖像共4896張,3916張用于訓練,496張用做驗證集,484張用做測試集。
使用Labelimg對葉片缺陷的類別及位置進行標注,如圖6所示。
3.3 評價性指標
本文選取了平均準確率(Average Precision, AP)、平均準確率均值(mean Average Precision, mAP)、檢測速率(Frame Per Second,FPS)作為評價指標。準確率計算如下:
[Precision=TPTP+FP×100%]? ?⑻
TP表示檢測到的缺陷類別與真實缺陷類別一致的樣本數量,FP 指檢測到的缺陷類別與真實缺陷類別不一致的樣本數量,FN 指真實缺陷目標存在但未被檢測出的樣本數量。
mAP指各類缺陷檢測準確率的均值,可以更全面地評估模型的有效性,計算如式⑼所示。FPS用于評估模型在設備上的處理速度,為用于實際提供數據支撐。
[mAP=i-1NAPiN]? ? ⑼
3.4 消融實驗
以YOLOx-s網絡模型為基礎進行實驗,“裂紋”類缺陷的檢測準確率為95.32%,由于網絡模型受復雜背景及噪聲干擾影響大,導致“沙眼”類的檢測準確率僅為87.15%,mAP值低。頸部輸出端融合輕量型通道注意力網絡連接到預測部分,減弱由背景復雜、噪聲干擾帶來的問題,mAP值提升0.73%。將CR模塊引入到主干網絡,加強網絡整體對小目標缺陷的特征提取能力,結果表明,mAP值達到96.34%且各類缺陷目標的檢測準確率均得到提升。較YOLOx-s網絡模型相比,mAP值提高3.16%,訓練過程loss曲線如圖7所示。
在80個Epoch至180個Epoch之間,由于葉片表面缺陷尺寸差異大,Loss曲線存在波動。
主干網絡引入CR殘差模塊并融合ECAnet網絡,模型收斂性得到優化, loss曲線如圖8所示。
結合兩種改進策略的具體實驗數據如表1所示。
本文針對YOLOx-s提出的兩點改進措施使得葉片表面缺陷檢測mAP值達到96.61%。“沙眼”類小目標的檢測準確率提升了6.72%。檢測速度為39幀/秒,可滿足實際應用的需求。
3.5 檢測結果
本文所提網絡模型檢測效果如圖9所示。其中,沙眼類小目標缺陷檢測如圖9(a)所示。圖9(c)的檢測結果表明,當拍攝受到光線或其他葉片的影響時,仍能準確識別。多目標檢測效果如圖9(d)所示。
3.6 對比實驗
為驗證本文所提方法在風機葉片缺陷檢測任務中的優秀表現,選取Faster-RCNN、YOLOv3、PP-YOLO、YOLOx-s、Mask R-CNN主流模型進行對比。對比結果如表2所示,其中mAP值有較大提升,與YOLOv3相比,mAP值提升了11.61%。相比于PP-YOLO提升了9.61%。
4 結論與展望
為更好的解決風機葉片缺陷檢測問題,本文提出以YOLOx-s 網絡模型為基礎,首先對數據集進行增強,達到可用于訓練的規模,其次對主干部分的殘差網絡進行改進,提升檢測準確率,最后引入注意力機制。對比現階段用于風機葉片缺陷檢測任務的主流模型,結果表明本文所提方法表現最佳,改進策略可有效提高檢測精度。
現階段面臨無公開且缺陷類別多樣的數據集。在保持高準確率的同時需要進一步提升檢測速率。創建界面顯示系統,保存風機編號及缺陷類型。繼續優化網絡結構,減小模型參數量,將訓練好的模型移植到無人機平臺上進行實時檢測并傳回檢測結果,真正做到便捷化、智能化。
參考文獻(References):
[1] REN S, HE K, GIRSHICK R, et al. Faster R-CNN:
Towards Real-Time Object Detection with Region Proposal Networks [J]. IEEE Transactions on Pattern Analysis & Machine Intelligence,2017,39(6):1137-1149.
[2] LIU W, ANGUELOV D, ERHAN D, et al. SSD: SingleShot MultiBox Detector[J].2015.
[3] REDMON J, DIVVALA S, GIRSHICKR, et al. You OnlyLook Once: Unified, Real-Time Object Detection[C]// Computer Vision & Pattern Recognition. IEEE,2016.
[4] 曹錦綱,楊國田,楊錫運.基于RPCA和視覺顯著性的風機葉片表面缺陷檢測[J].圖學學報,2019,40(4):7.
[5] 胡翔宇.基于音頻信號特征分析的風機葉片缺陷檢測方法研究[D].河北:華北電力大學,2020.
[6] 張超,文傳博.基于改進Mask R-CNN的風機葉片缺陷檢測[J].可再生能源,2020,38(9):1181-1186.
[7] 曲忠侃,李學峰,李鳳俊,等.基于Faster R-CNN的風機葉片缺陷圖像多點檢測系統設計[J].電子設計工程,2021,29(4):57-61.
[8] 李亦倫,成和祥,董禮,等.基于改進YOLOv4的風電機組葉片缺陷檢測算法[J].風機技術,2022,64(1):46-53.
[9] 曾凱,李響,賈建梅,等.基于YOLOv3-spp的缺陷檢測優化模型[J].計算機系統應用,2022,31(2):213-219.
[10] 周嘉灝,廖冠中.基于改進YOLOX的番茄病葉識別[J].信息與電腦(理論版),2022,34(4):91-97.