福建國電風力發電有限公司 鄭啟山 朱少紅 陳長紅 晏錫忠 廈門理工學院 常海青
隨著經濟的發展,國家對于能源的需求不斷增加。然而,傳統的化石能源已經出現了供應不足的情況。為了減少能源損耗、減少廢氣排放和減少環境污染,開發新能源是必不可少的。風能作為一種潔凈的能量來源,其設施日趨進步,大量生產已經降低了成本。隨著風力發電技術的發展,風力渦輪機也在我國得到了大量應用。但是,由于風力渦輪機所處位置的環境惡劣,常常會受到風沙、雨水等因素的侵蝕。長此以往,這將對風力渦輪機的葉片造成極大的損害,因為風機是可再生能源的重要組成部分,其缺陷導致能源損失和設備維護成本的增加,甚至可能危及人員安全[1]。因此,需要在風機葉片受損的早期進行葉片修復。
傳統的葉片缺陷主要是人工通過望遠鏡進行檢測。但是這種方法存在檢測效率低和漏檢數量大的問題。隨著人工智能的發展,結合視覺檢測將大大提高風機缺陷檢測的效率[2]。目前,通過無人機搭載攝像頭進行風機巡檢已成為風機缺陷檢測的主流方式。無人機結合深度學習算法,可以實時檢測到風機葉片的缺陷,從而大大提高了檢測的效率。近年來,深度學習在目標檢測領域快速發展。目標檢測算法主要分為一階段和二階段算法。二階段算法主要以Fast-RCNN 和Faster-RCNN 為主,精度較高,但檢測實時性差。一階段算法的實時性高,更符合風機缺陷檢測的需求,其算法包括YOLO 系列算法和SSD 等。為了兼顧檢測精度和速度,本文選擇了YOLOv5算法進行風機缺陷檢測,并加入了CBAM 注意力機制,以降低誤檢率和漏檢率。
YOLOv5是一種基于深度學習的目標檢測算法,根據網絡深度和寬度的大小可以分為四種模型:YOLOv5s、YOLOv5m、YOLOv5l 和YOLOv5x。YOLOv5的Backbone、Neck 和Detect 部分保持一致,唯一的區別在于模型的深度和寬度設置。隨著模型深度和寬度的增加,模型的特征提取能力增強,但是參數量也隨之增加,導致檢測速度下降。因此,為了滿足實時檢測的效果,本文使用了YOLOv5s 模型進行風機缺陷檢測。
數據增強是一種提高模型泛化能力的有效方法,常見的數據增強方法包括Cutmix[3]、Cutout[4]、Mixout[5]等。本文使用Mosaic 數據增強方法,這是一種創新的數據增強方法,與CutMix 數據增強方法有一定相似性,Mosaic 數據增強方法利用四張圖片進行拼接,與CutMix 數據增強方法的兩張圖片進行拼接相比,Mosaic 方法具有更好的背景豐富性,并且在batch normalization 計算時同時計算了四張圖片的數據。具體實現方法為,首先選擇四張圖片,對其進行旋轉、縮放和色域變化,然后按照四個方向位置擺放好,最后進行圖片組合。Moasic 數據增強效果如圖1所示。

圖1 Moasic 數據增強效果
使用YOLOv5算法進行風機缺陷檢測的時候,會存在一些缺陷較小,存在誤檢和漏檢的情況。因此本文添加在Backbone 后添加了CBAM 注意力機制,以此來更好地定位風機的缺陷。YOLOv5改進算法結構如圖2所示。

圖2 YOLOv5改進算法結構
CBAM 模塊由兩個部分組成:通道注意力模塊(Channel Attention Module,CAM)和空間注意力模塊(Spatial Attention Module,SAM)。
如圖2中的紅色框所示,CAM 模塊通過對每個通道的重要性進行自適應加權,首先將輸入的特征經過基于高和寬的全局平均池化和全局最大池化,突出特征向量中的重要信息,將然后將通過兩層卷積來更新每個通道的權重參數,MLP 表示兩層卷積計算,傳統的注意力機制使用全連接層進行計算,這里將全連接層計算替換為卷積操作實現更加高效地計算,最后得到的輸出特征與原始特征進行相乘,從而增強了特征圖中有用的信息,其中表示激活函數和分別表示兩層卷積各自的權重。
如圖2黑色框所示,SAM 模塊通過自適應加權對每個空間位置的重要性進行加權。首先,對輸入特征進行基于通道維度的全局最大池化(MaxPool(F))和平均池化(AvgPool(F))。然后,使用7×7卷積(f7×7)來更新空間維度上的權重參數,并將輸出特征與原始特征相乘,從而增強特征圖中的有用信息。
本文使用無人機拍攝的風機缺陷數據集,包括風機葉片的污垢和損傷共2995張圖片,使用了labelImg 對檢測目標進行標注,將數據集按照9:1劃分為訓練集和驗證集,數據集可視化效果如圖3所示。

圖3 數據集可視化效果
本文使用召回率(Recall, R)、 精確率(precision, P)、均值平均精度(mean Average Precision, mAP)作為深度學習模型的評價指標。mAP@0.5表示在IOU(交并比)為0.5時,計算每一類別的所有圖片的平均精度AP,然后對所有類別的AP 求平均,即為mAP。mAP@0.5:0.95表示在不同IOU 閾值(從0.5~0.95, 步長為0.05)上的平均mAP。評估指標的計算公式(3)~(6)所示。 其中,TP(true positives)表示正確識別出的風機缺陷數量,FN(negatives)表示未識別出的風機缺陷數量, FP(positives)表示將其他物體誤檢為風機缺陷的數量。P(precision)為精確率,表示預測的風機缺陷中,預測正確的數量占比。R(recall)為召回率,表示所有的風機缺陷中,模型能夠識別出來數量占比。其中,n 為總類別數,i 為當前類別的序號。
本研究采用了基于pytorch 深度學習框架的YOLOv5算法,設置批量大小為64,學習率為0.01,通過50個訓練周期進行模型的訓練和驗證。試驗結果顯示,改進模型的訓練和驗證損失持續下降,模型的精度逐漸提高,直到約50個訓練周期后穩定。改進模型檢測效果如圖4所示。改進前后模型性能對比詳見表1。

表1 改進前后模型性能對比

圖4 改進模型檢測效果
由表1可知,本文改進的模型在相同的風機缺陷檢測數據集上,取得了優秀的表現。準確率、召回率和mAP 分別達到了83.3%、74.7%和79.7%,比YOLOv5s 原模型分別提高了6.9%、1.3%和2%,這表明CBAM 注意力機制的應用對模型性能的提升是有效的。為了進一步驗證模型的優越性,對測試數據進行了檢測,檢測效果對比如圖5所示。

圖5 檢測效果對比
圖5(a)為改進模型檢測圖,圖5(b)為YOLOv5原模型檢測圖,與YOLOv5原模型相比,改進模型在檢測過程中漏檢情況更少,同時檢測置信度也更高。
為了提高風機缺陷檢測的準確性,本文對YOLOv5算法進行了改進,將CBAM 注意力機制加入YOLOv5的主干網絡中。這一改進能夠幫助模型更好地學習風機缺陷的特征,提高特征提取的能力,從而減少誤檢和漏檢的情況。這項改進對于工業缺陷檢測具有重要的實際應用價值。