黃均才,劉鑒棟,閆云鳳,齊冬蓮
(1.廣東電網(wǎng)有限責任公司廣州供電局,廣州 510050;2.浙江大學 電氣工程學院,杭州 310027)
隨著我國電力行業(yè)的快速發(fā)展,全國輸配電線路規(guī)模變得越來越龐大,發(fā)電站、變電站等電力設(shè)施也越來越多。由于電力的能量屬性,電力場景下的缺陷問題往往會演化為失控的能量釋放,電力場景下的火災成為了不可忽視的多發(fā)性問題,火災的預防和檢測是電力安全保障過程中受到關(guān)注的焦點之一,因此對電力場景下的明火進行準確及時的檢測具有重要意義。
近些年來,隨著數(shù)字通信、計算機技術(shù)的發(fā)展,數(shù)字圖像處理技術(shù)獲得了廣泛的應用。較之傳統(tǒng)的火災監(jiān)控設(shè)備,基于圖像處理的明火檢測技術(shù)具有識別速度快、適應能力強、誤報率低、使用方便等優(yōu)點。同時,如何精確地將火焰從復雜的背景及各種干擾光源中識別出來是其中的關(guān)鍵環(huán)節(jié)。
根據(jù)方法的不同,相關(guān)研究可以分為傳統(tǒng)算法和基于深度學習的算法。傳統(tǒng)算法主要通過火焰的顏色特征和運動特征建立統(tǒng)計學模型。在一般的火災中,火焰像素點的顏色主要分布在橙黃色到白色之間,為了描述火焰像素點的顏色分布情況,可以建立一個統(tǒng)計學的模型。文獻[1]在HSV 顏色空間利用固定閾值來分割火焰區(qū)域,可以比較粗略地分割岀火焰的區(qū)域。文獻[2]采用YCbCr 顏色空間,提出一種用于火焰像素分類的通用顏色模型。文獻[3]將明火檢測問題分解為兩個步驟,首先在OHTA 顏色空間分割出疑似火焰區(qū)域,然后提取對應區(qū)域的特征并通過SVM(支持向量機)進行分類,該方法可以比較準確地檢測出火焰。文獻[4]提出一種利用YCbCr顏色空間火焰圖像的統(tǒng)計參數(shù)(如均值、標準差等)進行森林火災檢測的方法,該方法可分離出高溫火災中心像素。
由于火焰的顏色特征經(jīng)常會與其他干擾光源非常相似,部分研究開始利用其他特征進行輔助檢測。明火燃燒過程中會在連續(xù)圖像視頻中呈現(xiàn)出變化明顯的運動特征:火焰燃燒初期,面積具有明顯的增長趨勢;隨著火焰燃燒過程的持續(xù),空氣氣流的流動導致火焰呈現(xiàn)一定程度的無序閃動[5]。因此,可以運用一些基于運動物體的算法來實現(xiàn)火焰檢測。文獻[6]首先利用幀間差分對運動區(qū)域進行分割,接著再提取HSI 顏色空間中的火焰特征。文獻[7]提出一種火災早期預警監(jiān)測系統(tǒng),使用背景減法來提取候選的運動區(qū)域,在此基礎(chǔ)上利用顏色、紋理等特征對火災火焰建模,具有魯棒性和高效性。文獻[8]利用火焰的顏色和動性特征,將圖像中顏色與火焰相似的區(qū)域提取出來。
近些年來,隨著人工智能技術(shù)尤其是深度學習的快速發(fā)展,不少研究也開始利用深度學習技術(shù)來進行火焰檢測。文獻[9]通過YOLOv3目標檢測網(wǎng)絡進行火焰檢測,取得了很好的效果。文獻[10]在Faster R-CNN 的基礎(chǔ)上引入多尺度信息,能較好地完成火焰檢測任務。文獻[11]針對森林火災圖像識別問題,在深入研究林火圖像特點的基礎(chǔ)上,采用PCNN(脈沖耦合神經(jīng)網(wǎng)絡)在保證識別率的前提下縮短識別時間、提升識別效率。
目前,基于深度學習的火焰檢測研究尚存在以下兩個問題:
1)現(xiàn)有研究都是將火焰檢測任務當成普通物體檢測任務,采用的是通用物體檢測框架,例如YOLOv3和Faster R-CNN。但是,火焰本身與通用物體有很大區(qū)別,火焰邊界具有很強的模糊性,如圖1所示。為了準確描述這種邊界不確定性,本文提出一種基于高斯建模的目標檢測模型Guassian-YOLOv5用于火焰檢測。
圖1 通用物體與明火包圍框
2)已有研究忽略了缺乏大規(guī)模數(shù)據(jù)的問題。基于深度學習的方法需要大量的有標簽數(shù)據(jù)進行訓練,但是目前并沒有大規(guī)模的公開明火檢測數(shù)據(jù)集。本文提出一種基于遷移學習的電力場景明火檢測訓練方法,可利用少量樣本訓練出高精度的電力場景明火檢測器。
本文首先介紹YOLOv5 的網(wǎng)絡結(jié)構(gòu),提出一種基于高斯建模的Guassian-YOLOv5;然后介紹改進的Guassian-YOLOv5損失函數(shù),以及遷移學習訓練方法;最后通過相關(guān)實驗,對所提出的電力場景明火檢測方法的有效性進行驗證。
YOLOv5的網(wǎng)絡結(jié)構(gòu)大致可以分為骨干網(wǎng)絡、頸部網(wǎng)絡和頭部網(wǎng)絡3個模塊。骨干網(wǎng)絡用于提取輸入圖像的特征信息,生成特征圖;頸部網(wǎng)絡一般用于擴大模型的感受野,對不同大小的特征圖進行特征融合;頭部網(wǎng)絡基于前述兩個模塊提取的最終特征進行分類和包圍框(即矩形框)的回歸,得到最終的預測結(jié)果。
Darknet-53 網(wǎng)絡結(jié)構(gòu)如圖2 所示,共有53 個卷積層,最后得到的特征圖下采樣倍數(shù)為32。
圖2 Darknet-53網(wǎng)絡結(jié)構(gòu)
Darknet-53 借鑒了ResNet 的殘差設(shè)計思路,引入BottleneckCSP 模塊作為基礎(chǔ)網(wǎng)絡的基礎(chǔ)模塊,其結(jié)構(gòu)如圖3 所示,其中:H和W分別為輸入特征圖的高和寬;C1和C2分別為該模塊輸入特征圖和最終輸出特征圖的通道數(shù);r為通道擴張系數(shù),默認設(shè)置為0.5;n為模塊中Bottleneck子模塊的堆疊次數(shù);“k×k,C”代表C個k×k大小的卷積核,步長默認為1;“⊕”代表逐元素相加,“⊕,concat”代表兩個特征圖的拼接;BN 為批歸一化(batch normalization);Hardswish 和LeakyReLU為兩種常見的激活函數(shù),分別表示為:
圖3 BottleneckCSP網(wǎng)絡結(jié)構(gòu)
式中:系數(shù)α默認為0.1。BottleneckCSP殘差模塊分為兩個分支,一個分支通過一個1×1 卷積改變輸出特征圖的通道數(shù),另一個分支通過n個Bottleneck 子模塊操作進行下采樣,最后兩個分支通道維度進行疊加。
目標檢測模型的輸入圖像一般是固定的單一尺寸(如640×640),但是圖像中的目標物體大小和比例卻是多變的,這種現(xiàn)象在電力場景下的明火檢測任務中尤為突出。因此,提升骨干網(wǎng)絡對于大小物體的檢測能力,并兼顧全局和局部感受野,對提升明火檢測模型性能具有重要意義。
在Darknet-53的基礎(chǔ)上引入SPP(空間金字塔池化)[12]模塊,通過不同尺度的池化操作,提升多尺度物體檢測的性能,具體結(jié)構(gòu)如圖4所示,其中“Maxpool,k”代表k×k大小的池化操作。輸入特征圖首先通過1×1 卷積降低通道維數(shù),減少計算量;接著,通過3個不同大小的最大池化操作得到3個不同感受野的特征圖,并和原始輸入的特征圖拼接,在保留原始輸入特征信息的基礎(chǔ)上增強模型多尺度檢測的能力;最后,經(jīng)過1×1 卷積、BN、Hardswish 操作,進一步組合不同感受野的特征,得到融合了豐富感受野的特征圖,并可根據(jù)需要輸出通道數(shù)為C2的特征圖。
圖4 SPP網(wǎng)絡結(jié)構(gòu)
針對電力場景明火檢測多視角、多場景、多姿態(tài)、多尺度等特點,本文在骨干網(wǎng)絡之后引入了PANet(路徑聚合網(wǎng)絡)[13]結(jié)構(gòu)作為頸部網(wǎng)絡,在特征金字塔網(wǎng)絡(圖5 中P3—P5)基礎(chǔ)上,連接了一個自底而上的特征增強路徑網(wǎng)絡(圖5中N3—N5),進行高低層特征圖的巧妙融合。此外,本文中的YOLOv5 采用了YOLOv3[14]的稀疏預測方式作為頭部網(wǎng)絡,最終得到Y(jié)OLOv5 的變電站電力場景明火檢測模型,整體網(wǎng)絡結(jié)構(gòu)如圖5所示。
圖5 YOLOv5網(wǎng)絡結(jié)構(gòu)
YOLOv5的損失函數(shù)由分類損失Lcls、置信度損失Lobj和坐標回歸損失Lbox組成。本文中分類損失和置信度損失均采用交叉熵損失函數(shù),并采用Sigmoid 函數(shù)將預測值歸一化在[0,1]區(qū)間,實現(xiàn)多標簽分類。
式中:CE(·)為交叉熵損失函數(shù);p為樣本真實標簽;x為網(wǎng)絡預測;σ(x)為Sigmoid函數(shù)。
傳統(tǒng)的YOLOv5 采用Smooth-L1 作為坐標回歸損失函數(shù),坐標回歸的目標如下:
式中:x和y為候選框的中心坐標;w和h為候選框的寬和高,其中含下標a的變量為候選框數(shù)值,含上標*的變量為真值框數(shù)值;ti為網(wǎng)絡預測坐標值;為坐標真實值;λi為縮放參數(shù);i∈{x,y,w,h}。
這種建模方式簡單直接,對于普通物體檢測非常有效。但是相比通用物體,火焰邊界具有很強的不確定性,為了準確描述這種邊界不確定性,本文提出一種基于高斯建模的目標檢測模型Guassian-YOLOv5 用于火焰檢測。普通建模方式和高斯建模的對比如圖6所示。
圖6 普通建模和高斯建模的對比
對于邊框的每個坐標t(t∈{x,y,w,h}),本文建模其為高斯分布,即:
檢測框的每個坐標t都可以由均值μ和方差σ2表示,即回歸框的每個坐標都可以用高斯分布表示,這種建模方式使得方差可以表示邊框的不確定性。基于此,Guassian-YOLOv5 的坐標回歸損失Lbox可以表示為高斯分布和真實分布之間的距離。本文采用交叉熵衡量兩個分布之間的距離:
式中:GT為坐標回歸目標;N(GT|μ,σ2)為高斯分布在GT處的概率密度值。在本文中,方差σ2被歸一化到[0,1]區(qū)間,推理階段的檢測框分數(shù)設(shè)計為類別分數(shù)和方差均值的乘積。
最終的損失函數(shù)L為:
式中:λobj、λcls、λbox為可調(diào)節(jié)的損失函數(shù)超參數(shù),本文中三者均設(shè)置為1。
基于深度學習的方法需要大量的有標簽數(shù)據(jù)進行訓練,但是目前并沒有大規(guī)模的公開明火檢測數(shù)據(jù)集,尤其在電力場景下難以收集大規(guī)模明火數(shù)據(jù)。為了在少量電力場景明火數(shù)據(jù)的條件下提升模型性能,本文提出一種基于遷移學習的電力場景明火檢測訓練方法,如圖7所示。
圖7 基于遷移學習的訓練方法
具體而言,基于遷移學習的電力場景明火檢測訓練方法分為兩個階段。
階段一,首先利用互聯(lián)網(wǎng)搜索引擎通過關(guān)鍵詞收集常見的火災圖片,人工利用Labelme開源軟件生成YOLO格式的標注文件,得到數(shù)據(jù)集A?;跀?shù)據(jù)集A訓練得到一個明火檢測初級模型,該模型已經(jīng)能比較好地進行明火檢測。但是搜索引擎收集到的圖片非常雜亂,大部分為森林火災圖片,與實際電力場景差距較大,因此當泛化到電力場景的明火檢測時,檢測器的性能會大幅下降。
階段二,利用初級模型給收集到的少量電力場景明火圖片打標簽,人工微調(diào)后構(gòu)成數(shù)據(jù)集B,利用數(shù)據(jù)集B 對初級模型進行微調(diào),得到最終的電力場景明火檢測模型。
為了驗證所提出的電力場景明火檢測方法的有效性,本文進行了相關(guān)實驗。在公開互聯(lián)網(wǎng)收集到15 000 張明火圖片進行實驗;另外收集到變電站明火模擬圖片1 000 張,其中500 張作為測試樣本,其他為訓練樣本。本文模型訓練與預測的實驗環(huán)境為NVIDIA V100 GPU,硬件為Ubuntu 16.04,編程語言為Python3.6。
在互聯(lián)網(wǎng)收集到的明火圖片數(shù)據(jù)集上進行預訓練,模型訓練優(yōu)化器采用隨機梯度下降,批次大小為32,初始學習率為0.001。在前1 000 次迭代時使用初始學習率,并在第1 000 次與第2 000次迭代時將學習率分別降低為當前學習率的0.1倍。模型訓練迭代次數(shù)為5 000。在使用變電站明火圖片進行微調(diào)訓練時,學習率固定為0.000 1,微調(diào)迭代次數(shù)為1 000。本文使用mAP(全類別平均正確率)作為評價指標,閾值設(shè)置為0.5。
訓練的損失函數(shù)曲線、精確率-召回率曲線、F1曲線(F1值可以看作精確率與召回率的加權(quán))、精確率曲線、召回率曲線如圖8 所示??梢园l(fā)現(xiàn),第一階段的損失函數(shù)較大,第二階段微調(diào)之后損失函數(shù)較小,證明了本文提出的兩階段訓練方法的有效性。
圖8 訓練的損失函數(shù)曲線、精確率-召回率曲線、F1曲線、精確率曲線、召回率曲線
模型的ROC(受試者工作特征)曲線和混淆矩陣如圖9所示,可以看出本文所提方法能較好地識別出明火。
圖9 ROC曲線和混淆矩陣
圖10為普通場景的明火識別結(jié)果,圖11為電力場景的明火識別結(jié)果,定量指標見表1。由于電力場景數(shù)據(jù)較少,基于少量數(shù)據(jù)進行訓練得到的模型性能較差,驗證了本文提出的遷移學習的必要性。從互聯(lián)網(wǎng)收集到的明火圖片大部分為森林山火,因此原始YOLOv5模型的mAP僅為78.6%;采用高斯建模后,Guassian-YOLOv5模型的mAP上升至81.2%;經(jīng)過用電力場景圖片微調(diào)后,Guassian-YOLOv5模型的mAP上升至86.4%。由實驗結(jié)果可知,本文提出的算法相比傳統(tǒng)的Faster R-CNN和YOLOv5有較大提升,可以實現(xiàn)電力場景明火的準確定位與識別。
圖10 普通場景的明火識別結(jié)果
圖11 電力場景的明火識別結(jié)果
對模型推理速度(幀率)進行了對比,如表1所示。可以看出,相比于Faster R-CNN,YOLOv5的推理速度更快。本文提出的方法是基于YOLOv5 的改進,推理速度和原始的YOLOv5 相當,但模型精度有較大提升,能滿足實際工程需求。
表1 電力場景明火檢測速度對比
明火檢測對于安全預警、保障電力設(shè)施安全具有重要意義。傳統(tǒng)算法通過顏色、運動等特征建立匹配模型,在復雜場景下極容易出現(xiàn)誤檢、漏檢情況。針對已有研究對火焰邊界模糊性考慮不足的問題,本文改進了傳統(tǒng)的YOLOv5檢測器,通過高斯建模捕獲邊框的不確定性;針對電力場景缺乏大規(guī)模明火數(shù)據(jù)的問題,本文提出了一種基于遷移學習的兩階段訓練方法,只需要少量電力場景明火圖片即可實現(xiàn)高精度的電力場景明火檢測器訓練。實驗結(jié)果表明本文提出的方法能較大程度地提高模型準確率,具有很強的應用性。