熊凱飛,樊紹勝,吳 靜
(長沙理工大學(xué) 電氣與信息工程學(xué)院 電力機(jī)器人湖南省重點實驗室,湖南 長沙 410114)
隔離開關(guān)、絕緣子等電力設(shè)備是變電站變電設(shè)備的重要組成部分,實時地掌握其運行狀態(tài)對電力系統(tǒng)的穩(wěn)定運行至關(guān)重要[1]。目前,變電站主要采用的是人工巡檢的方式,無法及時掌握變電設(shè)備的狀態(tài)[2],這種方法不僅費時費力,且易受主觀性的影響,復(fù)雜環(huán)境(如強(qiáng)霧霾天氣)會影響檢修人員的判斷,因此復(fù)雜環(huán)境下變電站典型電力設(shè)備的識別定位成了智能變電站維護(hù)的重要一環(huán)[3-4],為后續(xù)的故障診斷研究奠定了基礎(chǔ)。
霧天環(huán)境下的變電站電力設(shè)備檢測分為2個階段:去霧階段和目標(biāo)檢測階段。目前,霧天圖片的去霧算法包括基于物理模型去霧、基于非物理模型去霧以及基于深度學(xué)習(xí)去霧3種。文獻(xiàn)[5-8]中,基于物理模型去霧主要考慮光的散射和衰減以及霧的成像原理來建立模型,其視覺效果較好,去霧過程中沒有增加額外的噪聲,但是該方法場景限制嚴(yán)重且容易出現(xiàn)顏色失真等問題;文獻(xiàn)[9-12]中,基于非物理模型去霧算法在一定灰度范圍內(nèi),通過在特定灰度范圍內(nèi)調(diào)整霧圖的空間灰度值分布來增強(qiáng)圖像的局部和整體對比度,從而達(dá)到去霧效果,但是沒有考慮圖像質(zhì)量降低的根本原因,導(dǎo)致去霧后的圖像不夠自然?;谏疃葘W(xué)習(xí)去霧算法通過構(gòu)建端到端的卷積神經(jīng)網(wǎng)絡(luò)來實現(xiàn)去霧,如AOD-Net[13]和DehazeNet[14],但以上網(wǎng)絡(luò)都需要大量成對的數(shù)據(jù)集進(jìn)行訓(xùn)練,間接增加了訓(xùn)練的難度。綜上分析,本文選取基于Cycle-Dehaze[15]的深度學(xué)習(xí)去霧算法,無需成對的有霧和相應(yīng)的無霧圖進(jìn)行訓(xùn)練,而是直接從有霧圖像生成無霧圖像,也無需估算大氣散射模型的參數(shù)來進(jìn)行有霧圖像的去霧處理。
隨著近些年深度學(xué)習(xí)目標(biāo)檢測的發(fā)展,越來越多的基于深度學(xué)習(xí)的目標(biāo)檢測算法被用于變電站電力設(shè)備檢測。文獻(xiàn)[16]利用Faster R-CNN目標(biāo)檢測算法對變壓器等進(jìn)行目標(biāo)檢測,檢測的平均精度值達(dá)到90.61%;文獻(xiàn)[17]采用YOLOv3算法,通過調(diào)整學(xué)習(xí)率等參數(shù),實現(xiàn)了模型的快速收斂,電力設(shè)備的平均識別準(zhǔn)確率為88.7%。但以上算法大都依賴于深層的網(wǎng)絡(luò),網(wǎng)絡(luò)參數(shù)量較大、檢測速度慢,且部署在巡檢機(jī)器人上難以達(dá)到實時性的要求。目前,主流的輕量級目標(biāo)檢測算法往往對一些現(xiàn)有的網(wǎng)絡(luò)進(jìn)行壓縮,對一些成熟的檢測網(wǎng)絡(luò)進(jìn)行了裁剪,調(diào)整其網(wǎng)絡(luò)結(jié)構(gòu),以犧牲檢測性能為代價,來減少網(wǎng)絡(luò)的參數(shù)量以提高速度,如YOLOv3-tiny[18]和YOLOv4-tiny[19]。
為了在保證精度不降低的情況下,減少模型的參數(shù)量而提高檢測速度,本文以YOLOv4[20]目標(biāo)檢測網(wǎng)絡(luò)為基礎(chǔ),用MobileNetv3[21]網(wǎng)絡(luò)改進(jìn)其主干特征提取網(wǎng)絡(luò),加強(qiáng)特征提取網(wǎng)絡(luò)PANet中的3×3卷積,用深度可分離卷積替代,進(jìn)一步降低網(wǎng)絡(luò)的參數(shù)量,最后,在檢測頭中嵌入SE注意力機(jī)制,在實現(xiàn)模型輕量化的基礎(chǔ)上提高變電站電力設(shè)備識別的精度,且部署在巡檢機(jī)器人上可以滿足實時檢測的要求。
Cycle-Dehaze圖像去霧算法是Cycle-GAN[22]體系的增強(qiáng)版本,它無需估算大氣散射模型中的參數(shù),直接從有霧的輸入圖像生成無霧圖像;無需成對的霧圖和相應(yīng)的Ground-Truth圖像進(jìn)行訓(xùn)練,并結(jié)合循環(huán)一致性損失和感知一致性損失來補(bǔ)充CycleGAN中的損失,前者確保了較高的PSNR值,后者則保留了圖像的清晰度。該種損失主要的思想是比較特征空間而不是像素空間中的圖像,因此Cycle-Dehaze在2個空間上將原始圖像與重建的圖像進(jìn)行比較,從而生成視覺上更好的無霧圖像。
CycleGAN結(jié)構(gòu)如圖1所示。
圖1 CycleGAN結(jié)構(gòu)Fig.1 Structure of CycleGAN
圖1(a)中的X和Y代表2個數(shù)據(jù)域,其目的是將X域中的圖像和Y域中的圖像相互轉(zhuǎn)換。CycleGAN由2個生成器G,F(xiàn)和2個判別器DX,DY構(gòu)成。圖1(a)中包含2組生成對抗網(wǎng)絡(luò),從正向來說,生成器G將X域中的圖像x轉(zhuǎn)換成Y域中的圖片G(x),然后通過判別器DY來判斷生成的圖G(x)是否存在于Y域,反之同理。同時,為了保證圖像x在被變換為Y域中的圖像后能夠與x具有對應(yīng)關(guān)系,并防止X域中的所有圖像被變換為Y域中的圖像,引入了循環(huán)一致性損失。如圖1(b)所示,通過循環(huán)一致性損失約束,圖像從X域轉(zhuǎn)換到Y(jié)域,然后再回到X域,得到的圖像盡可能接近原始圖像,這個過程是前向循環(huán)一致性。同樣,反向循環(huán)的一致性如圖1(c)所示。循環(huán)一致性的損失如式(1)所示:
(a) 標(biāo)準(zhǔn)卷積
(1)
式中,F(xiàn)(y)和G(x)分別表示反向生成器和前向生成器;F(G(x))和G(F(y))均屬于重新構(gòu)建的圖像;x屬于X域的圖像;y屬于Y域的圖像。
Cycle-Dehaze去霧算法模型如圖2所示。
圖2 Cycle-Dehaze去霧算法模型Fig.2 Cycle-Dehaze algorithm model
圖2所示的Cylce-Dehaze算法模型中,為了去霧,除了常規(guī)的生成器損失和判別器損失外,Cycle-Dehaze算法引入了感知一致性損失和循環(huán)一致性損失的組合,且循環(huán)一致性損失需要比感知一致性損失更高的權(quán)重。添加該組合損失后,該算法保留輸入圖像的紋理特征并生成唯一的無霧輸出。判別器Dy的對抗損失表示為:
LDy=Ey~Pdata(y)[lgDy(y)]+
Ex~Pdata(x)[lg(1-Dy(G(x)))],
(2)
判別器Dx的對抗損失表示為:
LDx=Ex~Pdata(x)[lgDx(x)]+
Ey~Pdata(y)[lg(1-Dx(F(y)))],
(3)
循環(huán)感知一致性損失如式(4)所示,其中(x,y)不是成對的霧圖和清晰圖。
(4)
Lsum=Lcycle+γ·LPerceptual+LDX+LDY,
(5)
式中,γ表示循環(huán)感知一致性損失的權(quán)重。
針對當(dāng)前的YOLOv4目標(biāo)檢測網(wǎng)絡(luò)結(jié)構(gòu)較為復(fù)雜、訓(xùn)練參數(shù)多且訓(xùn)練所需的配置高以及進(jìn)行變電站巡檢機(jī)器人實時巡檢的每秒傳輸幀數(shù)(FPS)低的問題,用MobileNetv3輕量級網(wǎng)絡(luò)結(jié)構(gòu)改進(jìn)YOLOv4主干特征提取網(wǎng)絡(luò)CSPDarknet53,通過MobileNetv3網(wǎng)絡(luò)中的深度可分離卷積大幅度減少主干網(wǎng)絡(luò)的參數(shù)量,通過其中的倒殘差結(jié)構(gòu)進(jìn)行通道擴(kuò)增并進(jìn)行單通道特征的提取以及多通道信息組合減少計算的復(fù)雜度;進(jìn)一步使用深度可分離卷積代替PANet中的3×3的普通卷積降低模型的參數(shù)量,且將檢測頭嵌入SE注意力機(jī)制獲得變電站電力設(shè)備更為豐富的語義信息和位置信息,提高檢測精度。改進(jìn)后的YOLOv4模型如圖3所示。下文對圖3所示的改進(jìn)算法的網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行詳細(xì)介紹。
圖3 改進(jìn)的YOLOv4算法結(jié)構(gòu)Fig.3 Structure of improved YOLOv4 algorithm
基于卷積神經(jīng)網(wǎng)絡(luò)的模型構(gòu)成復(fù)雜,所需的算力較大,難以部署到變電站巡檢機(jī)器人上,因此構(gòu)建輕量化的目標(biāo)檢測模型較為重要。本文所構(gòu)建的變電站電力設(shè)備檢測模型就是基于深度可分離的卷積神經(jīng)網(wǎng)絡(luò)搭建起來的。深度可分離卷積是一種可分解卷積的操作,即用深度卷積和逐點卷積代替原來的標(biāo)準(zhǔn)卷積。它將傳統(tǒng)卷積分解為一個深度卷積和一個1×1的傳統(tǒng)卷積,有助于減少模型參數(shù)、降低計算量。標(biāo)準(zhǔn)卷積和深度可分離卷積如圖4所示。
圖4(a)中標(biāo)準(zhǔn)卷積的過程是利用卷積核與各通道的輸入特征圖做卷積后相加再輸出特征。標(biāo)準(zhǔn)卷積操作的計算量S1為:
(a) YOLOv4-tiny
(a) 原圖
(a) 輕度霧去霧前
(6)
圖4(b)中深度可分離卷積把傳統(tǒng)卷積操作分解成一個3×3的深度卷積和一個1×1的傳統(tǒng)卷積兩步操作。深度可分離卷積操作的計算量S2為:
(7)
從式(6)和式(7)可以看出,深度可分離卷積通過解耦空間信息與深度信息,使模型的參數(shù)量大大減少,可以降低到標(biāo)準(zhǔn)卷積的1/N+1/Dk2。通常對于3×3的卷積核,用深度可分離卷積替換標(biāo)準(zhǔn)卷積后,計算量可以下降到原來的11.1%~12.5%。在本文中用深度可分離卷積改進(jìn)YOLOv4中PANet的普通卷積,初步實現(xiàn)模型的輕量化。
SE模塊是SENet中提出的一種自動學(xué)習(xí)不通過特征的重要程度關(guān)系的結(jié)構(gòu),使網(wǎng)絡(luò)更加關(guān)注信息量最大的通道特征,抑制不重要的通道特征。SE模塊由壓縮操作和激勵操作組成,如圖5所示。
圖5 SE注意力機(jī)制模塊Fig.5 SE attention mechanism module
壓縮操作對每個通道進(jìn)行全局池化操作,則通道權(quán)重Zc的計算公式為:
(8)
式中,Zc為第c個特征圖uc的全局平均輸出;(i,j)表示在大小為H×W的特征圖上橫縱坐標(biāo)為i和j的點。
激勵操作采用賦予權(quán)重、非線性操作的方法構(gòu)建各個通道之間的關(guān)系:
Sc=Fex(Zc,W)=sigmoid(W2×ReLU(W1,Zc)),
(9)
式中,Sc為激活函數(shù)的輸出,對應(yīng)生成的通道注意力權(quán)重;W,W1,W2分別為全局平均池化、ReLU激活函數(shù)和sigmoid激活函數(shù)的權(quán)重。最后,對輸入通道進(jìn)行加權(quán)調(diào)整,加權(quán)表達(dá)式為:
(10)
MobileNetv3是MobileNet網(wǎng)絡(luò)發(fā)展的第3代,綜合了MobileNetv1的深度可分離卷積、MobileNetv2的逆殘差結(jié)構(gòu)、線性瓶頸結(jié)構(gòu)、輕量級SE注意力機(jī)制模塊優(yōu)化變電站電力設(shè)備特征表達(dá),然后利用神經(jīng)結(jié)構(gòu)搜索來搜索網(wǎng)絡(luò)的配置和參數(shù),同時利用h-swish激活函數(shù)來改進(jìn)swish激活函數(shù),有效提高網(wǎng)絡(luò)的精度,效果優(yōu)于ReLU,達(dá)到減少網(wǎng)絡(luò)的參數(shù)量、提高計算能力,以及更高精度的效果。MobileNetv3特征提取網(wǎng)絡(luò)模塊結(jié)構(gòu)示意圖如圖6所示。
圖6 MobileNetv3模塊結(jié)構(gòu)示意Fig.6 Structure of MobileNetv3 module
本文設(shè)計的輕量級主干特征提取網(wǎng)絡(luò)MobileNetv3改進(jìn)YOLOv4主干特征提取網(wǎng)絡(luò)既保持了較強(qiáng)的特征提取能力,又降低了模型的復(fù)雜度、減小了計算量,進(jìn)一步實現(xiàn)模型的輕量化,從而提高識別速度,有利于算法模型在變電站巡檢機(jī)器人上的部署。
為了驗證本文去霧算法以及改進(jìn)的電力設(shè)備目標(biāo)檢測算法的有效性,提出的算法程序用Python語言編寫,實驗平臺為Windows10,Keras以及Python3.7的編程環(huán)境。訓(xùn)練的數(shù)據(jù)集來源于變電站真實有霧圖和無霧圖共5 642張,每張圖均含有需要識別定位的絕緣子、斷路器、電壓互感器、避雷器和隔離開關(guān)目標(biāo)。首先,利用本文Cycle-Dehaze去霧算法對真實變電站有霧圖片進(jìn)行去霧處理,然后,利用本文改進(jìn)的YOLOv4輕量級目標(biāo)檢測算法識別定位目標(biāo)并實時顯示在機(jī)器人上位機(jī)中。下面是本文具體的實驗過程。
基于Cycle-Dehaze去霧算法,考慮到樣本數(shù)據(jù)量的大小,將BatchSize設(shè)置為8,epoch設(shè)置為400輪,learning rate設(shè)置為10-3,采用Adam優(yōu)化器。訓(xùn)練數(shù)據(jù)集來源于變電站巡檢機(jī)器人所拍攝有霧圖片和無霧圖片5 642張。利用訓(xùn)練好的Cycle-Dehaze去霧模型對變電站霧天圖片進(jìn)行去霧處理,得到2種不同霧濃度下去霧處理前后的結(jié)果,如圖7所示。
由圖7不同霧濃度對比可知,在霧天的變電站環(huán)境下,經(jīng)過去霧操作后的圖片,變電站電力設(shè)備的輪廓更凸顯,信息更加豐富,顏色更加飽和,可辨識度以及對比度更高。
為了從量化指標(biāo)體現(xiàn)去霧算法的有效性,本實驗部分采用峰值信噪比(PSNR)和結(jié)構(gòu)相似性(SSIM)2個客觀評價指標(biāo)來評估去霧算法的性能。PSNR首先計算有霧圖和無霧圖的均方差(MSE),MSE越小,PSNR值越大,表示2張圖的相似性越大。對一張H×W的圖像,PSNR的計算表達(dá)式為:
(11)
(12)
SSIM表示2幅圖的相似程度,分別從亮度、對比度和結(jié)構(gòu)3個方面評價2張圖的相似程度,結(jié)果越接近1表示圖形越相似,圖像的失真越小,其表達(dá)式為:
(13)
(14)
(15)
SSIM(X,Y)=l(X,Y)·c(X,Y)·s(X,Y),
(16)
式中,?X,?Y表示圖像X和圖像Y的方差;uX,uY表示圖像X和Y的均值;C1,C2,C3為常數(shù)項;?XY表示圖像X和Y的協(xié)方差。
另外,選取基于物理模型、非物理模型以及深度學(xué)習(xí)去霧算法的代表,分別為暗通道先驗法、直方圖均衡化算法和DehazeNet算法進(jìn)行對比測試,如圖8所示。
從圖8可以看出,基于暗通道先驗法處理過后可以使圖像在視覺效果上更清晰,但是圖片整體變暗,如圖8(b)所示;基于直方圖均衡化去霧算法增強(qiáng)了圖像的對比度,但是產(chǎn)生了較多的噪聲,對后續(xù)的圖像識別工作產(chǎn)生了較大的影響,在圖8(c)上表現(xiàn)明顯;基于深度學(xué)習(xí)的去霧算法較基于物理模型和非物理模型去霧表現(xiàn)較好,但是本文使用的Cycle-Dehaze算法較DehazeNet算法在圖像質(zhì)量上有著較為明顯的提升,圖像原本的亮度沒有降低,且Cycle-Dehaze算法明顯提升了圖像的飽和度與色彩,如圖8(d)和(e)所示,為后文的變電站電力設(shè)備的識別奠定基礎(chǔ)。表1為1張帶霧圖片分別用4種算法處理前后的PSNR和SSIM指標(biāo)對比。
表1 4種去霧算法處理前后指標(biāo)對比Tab.1 Comparison of indicators before and after processing of four dehazing algorithms
由表1可知,經(jīng)過4種算法分別處理過后,Cycle-Dehaze去霧算法的PSNR和SSIM值最高,PSNR值分別相對于暗通道、直方圖均衡化和DehazeNet高3.502,2.863,1.391 dB;對于SSIM值,Cycle-Dehaze算法最接近于1,表明使用Cycle-Dehaze去霧算法圖像失真最小,去霧效果最好,圖像質(zhì)量最高。
3.2.1 數(shù)據(jù)集與訓(xùn)練參數(shù)
本實驗采用巡檢機(jī)器人拍攝的真實場景變電站電力設(shè)備數(shù)據(jù)集進(jìn)行訓(xùn)練,檢測目標(biāo)包括隔離開關(guān)(glkg)、斷路器(dlq)、電壓互感器(dyhgq)、絕緣子(jyz)以及避雷器(blq)。數(shù)據(jù)集為去霧處理后共5 642張圖片再通過圖像的翻轉(zhuǎn)、對比度增強(qiáng)、裁剪和亮度增強(qiáng)等物理增強(qiáng)方法擴(kuò)充至10 000張圖片,其中訓(xùn)練集7 000張,測試集3 000張。用keras框架,通過Anconda搭建深度學(xué)習(xí)環(huán)境,使用改進(jìn)后的YOLOv4網(wǎng)絡(luò)模型進(jìn)行240輪epoch的訓(xùn)練,圖片批處理大小設(shè)置為8,輸入的圖片大小為416 pixel×416 pixel×3,學(xué)習(xí)率為0.001,根據(jù)上述訓(xùn)練參數(shù)進(jìn)行訓(xùn)練,模型已收斂,其訓(xùn)練過程的損失函數(shù)如圖9所示。
圖9 改進(jìn)的YOLOv4訓(xùn)練曲線Fig.9 Improved YOLOv4 training curve
3.2.2 去霧后在不同檢測算法下的對比
在經(jīng)過Cycle-Dehaze算法去霧處理的圖片數(shù)據(jù)集上,基于改進(jìn)的YOLOv4算法進(jìn)行訓(xùn)練,經(jīng)過240輪epoch的訓(xùn)練,模型訓(xùn)練已收斂,訓(xùn)練效果較好。為了驗證改進(jìn)后的YOLOv4算法的優(yōu)越性,將其與SSD,YOLOv4-tiny和YOLOv4目標(biāo)檢測模型進(jìn)行對比,結(jié)果如表2所示,評價指標(biāo)采用mAP、檢測幀率和模型參數(shù)量。
表2 多算法實驗對比Tab.2 Comparison of various algorithm experiments
由表2可以看出,雖然本文算法在平均精度值上與原YOLOv4的mAP值較為接近,但模型的參數(shù)量下降了80.21%,模型的檢測速度快了15.59幀/秒,提高了1.2倍;與SSD,YOLOv4-tiny相比,電力設(shè)備能正確被定位,出現(xiàn)漏檢部分更少,平均精度值分別提升了5.1%,8.8%,其中相較于SSD算法,檢測速度提高了45.08%。綜上所述,在不減少更多精準(zhǔn)度的情況下,本文改進(jìn)的YOLOv4算法檢測速度更快,實現(xiàn)模型輕量化,更有利于模型在巡檢機(jī)器人的部署。不同檢測算法檢測結(jié)果可視化對比如圖10所示。
3.2.3消融實驗分析
為了更好地對比改進(jìn)的YOLOv4中各個模塊對檢測效果的影響,對各個模塊進(jìn)行消融學(xué)習(xí),結(jié)果如表3所示。
表3 消融實驗分析Tab.3 Results of ablation learning
由表3可以看出,MobileNetv3代替YOLOv4主干特征網(wǎng)絡(luò)CSPDarknet53后,雖然mAP值下降了4.8%,但檢測速度提高了13.75幀/秒;在用深度可分離卷積改進(jìn)PANet普通卷積后,mAP值下降1.4%,但是檢測速度提升了3.11幀/秒;檢測頭嵌入注意力機(jī)制后,mAP值提高了5.3%。結(jié)果表明,引入MobileNetv3改進(jìn)主干特征提取網(wǎng)絡(luò)以及深度可分離卷積改進(jìn)PANet中的普通卷積可大大提升檢測的速度;檢測頭引入SE注意力機(jī)制可提高電力設(shè)備的識別精度。綜上,在保證和YOLOv4精準(zhǔn)度相當(dāng)?shù)那闆r下,本文的改進(jìn)算法實現(xiàn)模型的輕量化,大大提高模型檢測的速度。
3.2.4 算法模型部署
將本文算法部署到變電站巡檢機(jī)器人上,巡檢機(jī)器人上位機(jī)Qt界面顯示如圖11所示。結(jié)果表明,本文算法的去霧能力與檢測定位速度均能滿足變電站實時巡檢的要求。
圖11 機(jī)器人上位機(jī)Qt界面顯示Fig.11 Qt interface display of robot host computer
本文將Cycle-Dehaze去霧算法和改進(jìn)后的YOLOv4算法相結(jié)合,成功將算法部署到巡檢機(jī)器人上,解決了霧天情況下變電站電力設(shè)備識別精度低、速度慢的問題。在去霧方面,利用Cycle-Dehaze去霧算法明顯提升了圖像的飽和度和色彩。在檢測方面,通過設(shè)計輕量級目標(biāo)檢測模型,在保證精度的前提下,大大減少了參數(shù)量,提高了檢測速度。改進(jìn)算法在真實變電站霧天環(huán)境下的變電設(shè)備檢測的mAP能達(dá)到92.5%,相比于YOLOv4算法,在保證精度的前提下,減小了模型的參數(shù)量,提高了狀態(tài)檢測的速度。
由于本文的數(shù)據(jù)集圖片相對于COCO等一些大型數(shù)據(jù)集較少,學(xué)習(xí)到的霧天場景下的變電站各種電力部件的特征有限,有大量存在遮擋以及重疊的目標(biāo)對象,對于這些對象定位的精準(zhǔn)率有待提高。未來將進(jìn)一步擴(kuò)大數(shù)據(jù)集以及增加不同的霧天場景,從而擴(kuò)大霧天環(huán)境下變電站巡檢機(jī)器人的適用范圍,提高穩(wěn)定性。