陳 堃
(華電福新能源發(fā)展有限公司江蘇分公司,江蘇連云港 222227)
隨著煤炭?jī)r(jià)格的再創(chuàng)新高和發(fā)電成本不斷攀升,電量出現(xiàn)供需不平現(xiàn)象。為保證民生和企業(yè)生產(chǎn),我國(guó)開(kāi)始大力發(fā)展風(fēng)力發(fā)電,利用風(fēng)能資源來(lái)滿足電力需求。而作為風(fēng)機(jī)核心部件的葉片,易受風(fēng)速、風(fēng)力等級(jí)、葉片位置、葉片材料等影響,導(dǎo)致葉片在風(fēng)機(jī)運(yùn)行過(guò)程中出現(xiàn)故障,進(jìn)而影響風(fēng)機(jī)發(fā)電的效率,因此,如何智能檢測(cè)風(fēng)機(jī)葉片的運(yùn)行狀態(tài)并及時(shí)預(yù)警,成為亟待解決的難題。
目前,已經(jīng)有較多的葉片故障檢測(cè)方式,文獻(xiàn)[1]中提出了基于改進(jìn)的Canny 算法的風(fēng)機(jī)葉片結(jié)冰檢測(cè),通過(guò)將改進(jìn)Canny 算法與顯著物識(shí)別算法結(jié)合,識(shí)別圖像邊緣像素并計(jì)算每一個(gè)點(diǎn)的像素梯度,最后利用灰度值分割法確定最優(yōu)閾值,實(shí)現(xiàn)葉片結(jié)冰圖像識(shí)別;文獻(xiàn)[2]提出了一種基于全卷積神經(jīng)網(wǎng)絡(luò)的風(fēng)機(jī)葉片表面損傷檢測(cè),通過(guò)全卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行語(yǔ)義分割,然后通過(guò)對(duì)裂紋像素點(diǎn)提取計(jì)算出損傷區(qū)域和損傷級(jí)別,進(jìn)而進(jìn)行風(fēng)機(jī)葉片表面損傷識(shí)別;文獻(xiàn)[3]提出了基于Mask R-CNN 的風(fēng)機(jī)葉片缺陷分類及定位,以ResNet101 為骨干網(wǎng)絡(luò),先在Coco 數(shù)據(jù)集上對(duì)模型進(jìn)行預(yù)訓(xùn)練,后通過(guò)遷移學(xué)習(xí)對(duì)模型進(jìn)行微調(diào),將模型應(yīng)用在風(fēng)機(jī)葉片的缺陷分類、缺陷區(qū)域矩形框回歸和缺陷區(qū)域MASK 生成等,形成最終的風(fēng)機(jī)葉片缺陷識(shí)別模型。
本文提出了一種基于YOLO 模型的風(fēng)機(jī)葉片損傷檢測(cè)研究,利用公開(kāi)數(shù)據(jù)集進(jìn)行模型預(yù)訓(xùn)練,保存模型的網(wǎng)絡(luò)結(jié)構(gòu)和參數(shù),通過(guò)遷移學(xué)習(xí)對(duì)模型進(jìn)行微調(diào),結(jié)合風(fēng)機(jī)葉片數(shù)據(jù),提取出葉片損傷的圖像特征,并進(jìn)行葉片損傷判別和葉片損傷定位,為風(fēng)電現(xiàn)場(chǎng)運(yùn)維人員提供更為全面的輔助決策信息。
通過(guò)項(xiàng)目研究,風(fēng)機(jī)葉片的數(shù)據(jù)來(lái)源是在機(jī)艙頂部安裝攝像機(jī)平臺(tái)進(jìn)行視頻采集,考慮到風(fēng)機(jī)不同狀態(tài)下的視頻具有一定規(guī)律性、易出現(xiàn)冗余圖片,因此需要對(duì)視頻進(jìn)行預(yù)處理。本文的具體方法設(shè)計(jì)見(jiàn)圖1。
圖1 方法設(shè)計(jì)
風(fēng)機(jī)葉片存在兩種狀態(tài),靜止或旋轉(zhuǎn),在葉片靜止?fàn)顟B(tài)下,視頻畫(huà)面處于靜止,只需間隔取圖,減少服務(wù)器的計(jì)算壓力,在葉片旋轉(zhuǎn)狀態(tài)下,視頻畫(huà)面處于閃爍,需過(guò)濾不存在風(fēng)機(jī)葉片或葉片不完整的幀。
(1)視頻切圖。攝像頭云臺(tái)的幀率是50 fps,即每秒鐘顯示50 個(gè)畫(huà)面,對(duì)視頻進(jìn)行切圖處理,選取一段時(shí)間的風(fēng)機(jī)葉片旋轉(zhuǎn)數(shù)據(jù),并在此視頻中選取1000 張有效圖片進(jìn)行模型訓(xùn)練。
(2)圖片預(yù)處理。在計(jì)算機(jī)視覺(jué)中,為了擴(kuò)大數(shù)據(jù)集、抑制過(guò)擬合,提升模型的泛化能力,需要進(jìn)行數(shù)據(jù)增廣,隨機(jī)改變訓(xùn)練樣本以降低模型對(duì)某些屬性的依賴,常見(jiàn)的圖像增廣方式有隨機(jī)改變亮暗、對(duì)比度和顏色,隨機(jī)填充,隨機(jī)裁剪,隨機(jī)縮放,隨機(jī)翻轉(zhuǎn),隨機(jī)打亂真實(shí)框排列順序等。
YOLO 模型是將物體檢測(cè)作為一個(gè)回歸問(wèn)題進(jìn)行求解,傳統(tǒng)的目標(biāo)檢測(cè)是分為兩步:①通過(guò)策略提取候選框確定候選區(qū)域;②對(duì)候選框進(jìn)行兩個(gè)任務(wù),一是對(duì)候選區(qū)域內(nèi)容進(jìn)行圖像分類,二是對(duì)候選區(qū)域和真實(shí)框位置進(jìn)行框回歸。YOLO 模型只需要一步:輸入圖像經(jīng)過(guò)一次網(wǎng)絡(luò),便能得到圖像中所有物體的位置和其所屬類別及相應(yīng)的置信概率[4]。
YOLO 模型也經(jīng)過(guò)多次迭代,YOLO v1 和YOLO v2 因?yàn)槟P驮O(shè)計(jì)方面存在著小目標(biāo)檢測(cè)效果不好,因此選用YOLO v3 作為風(fēng)機(jī)葉片損傷模型的基本算法模型。
1.2.1 網(wǎng)絡(luò)結(jié)構(gòu)
YOLO v3 的骨干網(wǎng)絡(luò)選用Darknet53,該結(jié)構(gòu)由52 個(gè)卷積層構(gòu)成,沒(méi)有全連接層和池化層,保留卷積和殘差模塊為圖像特征提取的基本網(wǎng)絡(luò)結(jié)構(gòu)[5]。以圖片尺寸256×256 為例,Darknet53的結(jié)構(gòu)如圖2 所示。
圖2 DarkNet53 結(jié)構(gòu)
在確定了Darknet53 之后,再添加檢測(cè)相關(guān)的網(wǎng)絡(luò)模塊(圖3)。此外,模型還進(jìn)行了多尺度檢測(cè),建立不同錨框尺寸的多層級(jí)特征圖:錨框尺寸越大,能捕捉大尺寸目標(biāo)的信息;錨框尺寸越小,能捕捉小尺寸目標(biāo)的信息。
圖3 檢測(cè)網(wǎng)絡(luò)模塊結(jié)構(gòu)
1.2.2 損失函數(shù)
YOLO v3 是建立3 種類型的損失函數(shù):①目標(biāo)性損失Lobj,表征是否包含目標(biāo)物體的損失函數(shù);②框位置損失Lloc,表征物體位置的損失函數(shù);③分類損失Lcls,表征物體類別的損失函數(shù)。
然后將3 種類型的損失函數(shù)相加,形成總損失函數(shù)Loss總=Lobj+Lloc+Lcls。
在多尺度檢測(cè)中,不同層級(jí)的損失函數(shù)也是通過(guò)累加計(jì)算,形成最終得損失函數(shù)。其中,i 是設(shè)置的層級(jí)數(shù),默認(rèn)i=3。
1.2.3 激活函數(shù)
激活函數(shù)是在深度學(xué)習(xí)模型中加入非線性因素,使得避免在優(yōu)化過(guò)程中出現(xiàn)梯度消失和梯度爆炸。在YOLO v3 模型中,激活函數(shù)是用的Leaky Relu,雖然Relu 函數(shù)在一定程度上解決了梯度消失的問(wèn)題,但是在梯度為負(fù)值時(shí)直接將值修正為0,導(dǎo)致在神經(jīng)網(wǎng)絡(luò)中出現(xiàn)無(wú)效神經(jīng)元。為解決這一問(wèn)題,Leaky Relu給負(fù)值給予一個(gè)較小的線性分量來(lái)調(diào)整負(fù)值的零梯度:
其中,x 是YOLO v3 模型里邊的梯度值,a 是線性分量、默認(rèn)值為0.01[6]。
1.2.4 非最大抑制
YOLO 是將圖片分割成S×S 個(gè)格子,經(jīng)過(guò)骨干網(wǎng)絡(luò)之后,預(yù)測(cè)每個(gè)格是否存在目標(biāo)、目標(biāo)的邊界框、目標(biāo)的類別,并用非最大抑制篩選出最好的邊界框。其基本原則是,如果有多個(gè)預(yù)測(cè)框都對(duì)應(yīng)同一個(gè)物體,則只選出得分最高的預(yù)測(cè)框。
(1)模型評(píng)估。作為目標(biāo)檢測(cè)衡量檢測(cè)精度的指標(biāo),mAP(Mean Average Precision,均值平均精度)是對(duì)多個(gè)驗(yàn)證集個(gè)體求平均AP(Average Precision,平均精確度)值。以召回率和準(zhǔn)確率為行縱坐標(biāo),得到二維曲線(即PR 曲線),將曲線下的面積當(dāng)作衡量尺度,得到AP 值其中,QR是驗(yàn)證集的個(gè)數(shù),AP 是每個(gè)驗(yàn)證集PR 曲線下的面積。PR(Precision Recall)曲線是指用橫軸表示召回率、縱軸表示精確率,將數(shù)據(jù)繪制成圖表的形式所得到的曲線。
(2)模型優(yōu)化。在進(jìn)行損失函數(shù)優(yōu)化時(shí),Adam 優(yōu)化器能利用梯度一階矩估計(jì)和二階矩估計(jì)動(dòng)態(tài)調(diào)整每個(gè)參數(shù)的學(xué)習(xí)率。
本文選用某風(fēng)場(chǎng)10 臺(tái)風(fēng)機(jī)的視頻數(shù)據(jù)進(jìn)行預(yù)處理,并以YOLO v3 算法為檢測(cè)算法,進(jìn)行風(fēng)機(jī)葉片損傷識(shí)別。
通過(guò)Colabeler 進(jìn)行圖像標(biāo)注,生成包含圖片路徑、圖片大小、真實(shí)框位置、葉片損傷類別等關(guān)鍵性信息的xml 文件,記錄模型訓(xùn)練需要的各項(xiàng)信息。
神經(jīng)網(wǎng)絡(luò)模型需要用超參數(shù)來(lái)初始化模型,YOLO v3 模型的超參數(shù)設(shè)置見(jiàn)表1。
表1 超參數(shù)配置
首先固定好在Coco 數(shù)據(jù)集上訓(xùn)練好的模型參數(shù),只微調(diào)最后一層,用新的YOLO 預(yù)測(cè)函數(shù)替換預(yù)先訓(xùn)練好的預(yù)測(cè)函數(shù),并將風(fēng)機(jī)葉片數(shù)據(jù)集按照6、2、2 劃分訓(xùn)練集、驗(yàn)證集和測(cè)試集,最后加入到模型中訓(xùn)練。
為表現(xiàn)出YOLO v3 算法模型的優(yōu)勢(shì),特意選用YOLO v1,YOLO v2,YOLO v3 三個(gè)版本的模型形成對(duì)照組,則模型在數(shù)據(jù)集上的表現(xiàn)如圖4 所示。
圖4 3 種模型的mAP 曲線
從圖4 可以看出,YOLO v3 的迭代40 次時(shí)mAP 的表現(xiàn)性最優(yōu),因此,選用YOLO v3 為最終的風(fēng)機(jī)葉片損傷判別模型[7]。
本文通過(guò)視頻采集風(fēng)機(jī)葉片有效圖片并對(duì)圖片進(jìn)行增強(qiáng)處理,隨機(jī)進(jìn)行旋轉(zhuǎn)、裁剪、縮放、翻轉(zhuǎn)等,然后固定YOLO 在Coco數(shù)據(jù)集中的網(wǎng)絡(luò)參數(shù),微調(diào)最后一層,對(duì)風(fēng)機(jī)葉片進(jìn)行損傷判別。另外還選取YOLO 模型的3 種變體進(jìn)行綜合訓(xùn)練分析,將結(jié)果最好的模型作為最終的風(fēng)機(jī)葉片損傷判別模型。
模型訓(xùn)練結(jié)束后,將模型部署并進(jìn)行實(shí)時(shí)葉片圖像識(shí)別,能及時(shí)發(fā)現(xiàn)風(fēng)機(jī)葉片在運(yùn)行過(guò)程中的異常,并上傳工單及時(shí)告警,替代傳統(tǒng)的人工檢測(cè)方式,從而減少運(yùn)維成本和經(jīng)濟(jì)損失[8]。