吳克河 王敏鑒 李淵博
(華北電力大學(xué)控制與計(jì)算機(jī)工程學(xué)院 北京 102206)
隨著國民生產(chǎn)生活過程中對(duì)電能需求量的不斷增加,電網(wǎng)的建設(shè)規(guī)模也日益壯大,其中電力設(shè)備作為電網(wǎng)的重要組成部分對(duì)于電網(wǎng)的安全運(yùn)行起著至關(guān)重要的作用。據(jù)統(tǒng)計(jì)資料表明[1],電力系統(tǒng)中許多故障都與電力設(shè)備故障有著直接關(guān)系,而其中設(shè)備溫度的異常變化一般出現(xiàn)在故障的早期階段[2],因此,實(shí)現(xiàn)電力設(shè)備溫度變化的自動(dòng)監(jiān)控和分析對(duì)電力設(shè)備的故障診斷有著極其重要的意義。
紅外熱成像診斷技術(shù)將電力設(shè)備的紅外輻射能轉(zhuǎn)變成可見的紅外圖像,通過觀察紅外圖像,確定電力設(shè)備任意部位的溫度,異常溫度值可以反映出設(shè)備內(nèi)部潛在的故障[3~4]。紅外成像技術(shù)能簡單快速地完成對(duì)設(shè)備健康狀況的分析,滿足對(duì)電力設(shè)備故障診斷的要求,從而在電力設(shè)備故障診斷領(lǐng)域得到了廣泛應(yīng)用。在設(shè)備紅外圖像分析的過程中,首先需要把設(shè)備的紅外圖像從其他背景圖像中分割出來,分割的準(zhǔn)確性直接影響著故障分析的結(jié)果。
傳統(tǒng)的圖像分割多采用基于閾值的分割、基于邊緣的分割以及基于區(qū)域的分割等方法[5~6],這些圖像分割方法能大體上完成分割任務(wù),但是分割結(jié)果不夠精確,而且分割結(jié)果圖大多沒有保留原始紅外圖像信息,不利于紅外診斷分析工作。近年來,由于深度學(xué)習(xí)在計(jì)算機(jī)視覺領(lǐng)域取得諸多顯著成果,其逐漸成為解決計(jì)算機(jī)視覺問題的最好解決辦法。文獻(xiàn)[7]提出了全卷積網(wǎng)絡(luò),將全連接網(wǎng)絡(luò)替換成了卷積網(wǎng)絡(luò),使得網(wǎng)絡(luò)可以接受任意大小的圖片,并輸出和原圖一樣大小的分割圖,但訓(xùn)練麻煩且分割結(jié)果不夠精細(xì);文獻(xiàn)[8]提出空洞卷積,在特征圖縮小到同樣倍數(shù)的情況下可以掌握更多圖像的全局信息,但模型無法捕捉物體的精細(xì)邊界;Li等將文獻(xiàn)[9]中的分割候選系統(tǒng)與文獻(xiàn)[10]中的目標(biāo)檢測系統(tǒng)進(jìn)行了“全卷積目標(biāo)分割”(FCIS)的融合,用全卷積得到一組位置敏感的輸出通道候選,使得系統(tǒng)速度變得更快[11],但FCIS在重疊實(shí)例上出現(xiàn)系統(tǒng)錯(cuò)誤,并產(chǎn)生虛假邊緣。而Mask R-CNN提取更精細(xì)的物體空間布局,可用來解決目標(biāo)檢測、目標(biāo)分類、像素級(jí)目標(biāo)分割三大任務(wù)[12],且分割結(jié)果更加精細(xì),故本文采用基于Mask R-CNN的實(shí)例分割模型對(duì)電力設(shè)備紅外圖像進(jìn)行實(shí)例分割和目標(biāo)檢測,能夠?yàn)殡娏υO(shè)備的故障診斷提供信息支持。
Mask R-CNN是一個(gè)兩階段的框架:第一階段掃描圖像并生成建議區(qū)域(proposals,即可能包含目標(biāo)物體的區(qū)域);第二階段對(duì)建議區(qū)域進(jìn)行分類,生成邊界框(bounding boxes)和掩碼(mask)。Mask R-CNN是在Faster R-CNN的基礎(chǔ)上提出的,F(xiàn)aster R-CNN是一個(gè)流行的目標(biāo)檢測框架[13],Mask R-CNN將其擴(kuò)展為實(shí)例分割框架。Mask R-CNN整體架構(gòu)如圖1所示。
圖1 Mask R-CNN整體架構(gòu)圖
Mask R-CNN框架主要由四個(gè)部分組成:
1)主干架構(gòu)
主干架構(gòu)的主要作用是來進(jìn)行特征提取,因此一般主干架構(gòu)是一個(gè)標(biāo)準(zhǔn)的卷積神經(jīng)網(wǎng)絡(luò),通常采用ResNet50和ResNet101的殘差卷積神經(jīng)網(wǎng)絡(luò)。主干架構(gòu)作為特征提取器,底層提取輸入圖像的低級(jí)特征,比如邊角和邊緣等,高層提取更高級(jí)的特征,比如貓、鳥、天空等。以輸入圖像1024px×1024px×3(RGB)為例,經(jīng)過主干網(wǎng)絡(luò)的前向傳播之后,圖像轉(zhuǎn)換為32×32×2048的特征圖,該特征圖作為下一個(gè)階段的輸入。
對(duì)主干網(wǎng)絡(luò)引入特征金字塔網(wǎng)絡(luò)(FPN)可使主干網(wǎng)絡(luò)的性能進(jìn)一步提升,同時(shí)這也是Mask R-CNN相較于Faster R-CNN的一次進(jìn)步。圖2是引用自文獻(xiàn)[14]的金字塔網(wǎng)絡(luò)模型結(jié)構(gòu)示意圖。
圖2 FPN模型結(jié)構(gòu)示意圖
由圖2可看出,F(xiàn)PN通過增加另一個(gè)金字塔,將第一個(gè)金字塔上提取到的高級(jí)特征傳遞到底層,在這個(gè)過程中,每一級(jí)的特征都可以和高級(jí)、低級(jí)的特征相結(jié)合。通過自上而下和橫向連接將高層的語義信息與低層的高分辨率進(jìn)行融合,提高特征的表達(dá)能力,更好的實(shí)現(xiàn)物體檢測[15]。
2)區(qū)域建議網(wǎng)絡(luò)
RPN層是一個(gè)輕量級(jí)神經(jīng)網(wǎng)絡(luò),其使用滑動(dòng)窗口來掃描共享特征圖尋找存在目標(biāo)的區(qū)域。RPN掃描過的區(qū)域被稱為anchor,對(duì)于每個(gè)anchor,RPN做兩個(gè)操作,第一是判斷該anchor是前景還是背景,第二是為屬于前景的anchor進(jìn)行坐標(biāo)修正。RPN是一個(gè)樹狀結(jié)構(gòu),樹干是一個(gè)3×3的卷積層,樹枝是兩個(gè)1×1的卷積層,其中第一個(gè)卷積層解決前背景的輸出問題,第二個(gè)卷積層解決了邊框修正的輸出。
使用RPN的預(yù)測可以選出最好的包含了目標(biāo)的anchor,并對(duì)其位置和尺寸進(jìn)行精調(diào)。如果有多個(gè)anchor互相重疊,保留擁有最高前景分?jǐn)?shù)的an?chor,并舍棄余下的(非極大值抑制)。然后就得到了最終的區(qū)域建議,并將其傳遞到下一個(gè)階段。
3)ROI分類器和邊界框回歸器
這個(gè)階段是在由RPN提出的ROI上運(yùn)行的。與RPN類似,它為每個(gè)ROI生成了兩個(gè)輸出:
(1)ROI中的目標(biāo)的類別。與RPN得到前景和背景的兩個(gè)類別不同的是,這個(gè)網(wǎng)絡(luò)更深并且可以判斷區(qū)域的具體類別,比如貓、鳥、天空等。除此以外,還能生成一個(gè)背景類別。
(2)邊框精調(diào):進(jìn)一步精調(diào)邊框的大小和位置以封裝目標(biāo)。
Mask R-CNN對(duì)Faster R-CNN中的ROI Pool?ing做了改進(jìn)并提出了ROI Align,應(yīng)用雙線性插值在特征圖的不同點(diǎn)采樣生成固定尺寸的特征圖,在解決RPN中經(jīng)過邊框精調(diào)之后尺寸不一的問題的同時(shí),很好地解決了ROI Pooling操作中兩次量化造成的區(qū)域不匹配(mis-alignment)的問題。
4)分割掩碼
這一部分是Mask R-CNN相較于Faster R-CNN所獨(dú)有的部分,經(jīng)過前三部分的網(wǎng)絡(luò),可以完成目標(biāo)檢測任務(wù),而第四部分完成目標(biāo)分割任務(wù)。
掩碼分支同樣也是一個(gè)卷積神經(jīng)網(wǎng)絡(luò),該網(wǎng)絡(luò)以ROI分類器選擇的正區(qū)域?yàn)檩斎耄伤鼈兊牡头直媛实母↑c(diǎn)數(shù)型的軟掩碼。
本文采用基于Mask R-CNN的實(shí)例分割模型對(duì)電力設(shè)備紅外圖像進(jìn)行分割,整體流程如圖3所示。
2.2.1 網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計(jì)
1)特征提取網(wǎng)絡(luò)結(jié)構(gòu)
本實(shí)驗(yàn)采用使用ResNet101和FPN的主干網(wǎng)絡(luò)來進(jìn)行特征提取。ResNet101的結(jié)構(gòu)組成如表1所示。
經(jīng) 過 表 1 中 的 conv2_x、conv3_x、conv4_x、conv5_x四個(gè)殘差網(wǎng)絡(luò)輸出分辨率分別為65×65×256(包含conv1、pool和conv2_x的輸出分辨率)、33×33×512、17×17×1024、9×9×2048。由于 Mask R-CNN特征網(wǎng)絡(luò)部分采用的是ResNet+FPN的形式,每個(gè)殘差網(wǎng)絡(luò)都對(duì)應(yīng)一個(gè)FPN輸出層,分別為65×65×256、33×33×256、17×17×256、9×9×256,融合殘差網(wǎng)絡(luò)輸出和FPN輸出后生成最終的5個(gè)特征矩陣,分別為65×65×256、33×33×256、17×17×256、9×9×256、5×5×256,其中第5個(gè)特征矩陣5×5×256直接由倒數(shù)第二層降維而來。
圖3 電力設(shè)備紅外圖像分割流程圖
表1 ResNet101結(jié)構(gòu)組成
2)分割網(wǎng)絡(luò)結(jié)構(gòu)
根據(jù)前文介紹,Mask R-CNN的最后一部分網(wǎng)絡(luò)結(jié)構(gòu)負(fù)責(zé)候選框分類和分割處理。這一部分是對(duì)前一部分得到的候選窗口的進(jìn)一步處理,在得到目標(biāo)檢測的結(jié)果之后進(jìn)行目標(biāo)分割,具體流程是在ROI Align后得到特征矩陣并對(duì)其進(jìn)行反卷積操作。
2.2.2 損失函數(shù)設(shè)置
Mask R-CNN的損失函數(shù)具體公式如下所示:
其中為權(quán)重正則化損失,為區(qū)域推薦網(wǎng)絡(luò)損失,Lcls為目標(biāo)檢測分類損失,Lbox為目標(biāo)檢測坐標(biāo)回歸損失,Lmask為目標(biāo)。
分割結(jié)果的損失。下面是這五部分損失函數(shù)的具體計(jì)算公式:
1)權(quán)值正則化損失函數(shù)
權(quán)值正則化損失函數(shù)為所有權(quán)重系數(shù)的平方和與比例系數(shù)α的乘積,如式(2)所示。
2)目標(biāo)檢測分類損失函數(shù)
目標(biāo)檢測根據(jù)網(wǎng)絡(luò)結(jié)構(gòu)會(huì)得到200個(gè)區(qū)域推薦窗口,設(shè)pi為正確分類所對(duì)應(yīng)的概率值,選擇交叉熵作為衡量標(biāo)準(zhǔn),計(jì)算公式如式(3)所示。
3)目標(biāo)檢測坐標(biāo)回歸損失函數(shù)
坐標(biāo)回歸損失函數(shù)與目標(biāo)檢測分類損失函數(shù)標(biāo)準(zhǔn)不同,具體計(jì)算公式如式(4)所示。
4)目標(biāo)分割結(jié)果損失函數(shù)
目標(biāo)分割的結(jié)果為200個(gè)28*28維度的矩陣,矩陣的每個(gè)元素為0至1的概率值。式(5)為對(duì)數(shù)損失函數(shù)在單個(gè)數(shù)據(jù)點(diǎn)的定義。
每個(gè)目標(biāo)分割圖像矩陣維度為28*28,具體計(jì)算公式如式(6)所示。
(其中200為200個(gè)區(qū)域推薦窗口,目標(biāo)分割會(huì)輸出200個(gè)28*28的矩陣,矩陣的每個(gè)元素為0至1的概率值)
5)區(qū)域推薦網(wǎng)絡(luò)損失函數(shù)
值區(qū)分候選框是否為前景,二分類問題,參考Lcls、Lbox進(jìn)行計(jì)算。
本文實(shí)驗(yàn)硬件環(huán)境如表2所示,在此基礎(chǔ)上搭建軟件環(huán)境:Ubuntu16.04、Python等,框架使用Ten?sorflow1.11框架。
表2 實(shí)驗(yàn)硬件環(huán)境配置
實(shí)驗(yàn)數(shù)據(jù)集來自某市國家電網(wǎng)供電公司巡檢人員現(xiàn)場拍攝的紅外圖像庫,經(jīng)過篩選之后留下設(shè)備分明、背景清晰和角度正確的2000張紅外圖像和500張紅外圖像分別作為訓(xùn)練數(shù)據(jù)集和測試數(shù)據(jù)集,同時(shí)為了保證訓(xùn)練模型的準(zhǔn)確性,采用遷移學(xué)習(xí)的思想[16],取代從零開始訓(xùn)練一個(gè)新模型。本次實(shí)驗(yàn)先在COCO數(shù)據(jù)集(一個(gè)包含91類目標(biāo),328 000影像和2 500 000個(gè)標(biāo)簽的可以用來分割訓(xùn)練的圖像數(shù)據(jù)集)訓(xùn)練得到權(quán)重文件,雖然COCO數(shù)據(jù)集中不包含電力設(shè)備類別,但它包含了目前自然界的大量其他圖像(約12萬張),所以訓(xùn)練所得的權(quán)重文件已經(jīng)具有辨識(shí)大量常見特征的能力。
準(zhǔn)備好實(shí)驗(yàn)數(shù)據(jù)集之后需要對(duì)圖像進(jìn)行預(yù)處理,主要分為統(tǒng)一尺寸和圖像標(biāo)注兩部分。統(tǒng)一尺寸是將尺寸參差不齊的圖像統(tǒng)一到固定的尺寸,Mask R-CNN對(duì)于輸入圖像的尺寸沒有具體要求,但每次進(jìn)行訓(xùn)練的所有圖像需要統(tǒng)一尺寸,分析數(shù)據(jù)集中所有圖像中尺寸最小的圖像為256×256,因此最終將所有圖像的尺寸統(tǒng)一調(diào)整為256×256。
本實(shí)驗(yàn)的模型訓(xùn)練分為兩種:使用遷移學(xué)習(xí)的模型訓(xùn)練和不使用遷移學(xué)習(xí)的模型訓(xùn)練。對(duì)于使用遷移學(xué)習(xí)的模型訓(xùn)練,首先在COCO數(shù)據(jù)集進(jìn)行訓(xùn)練得到權(quán)重文件,然后在該權(quán)重文件的基礎(chǔ)上訓(xùn)練電力設(shè)備紅外圖像集合。訓(xùn)練采用隨機(jī)梯度下降算法(SGD),設(shè)置初始迭代數(shù)為5000次,隨機(jī)梯度下降算法的原理是不停地尋找某個(gè)節(jié)點(diǎn)中下降幅度最大的趨勢進(jìn)行迭代計(jì)算,逐步計(jì)算出最優(yōu)解的方法。對(duì)于整體步驟來說,首先是將輸入的數(shù)據(jù)輸入到模型之中,之后構(gòu)建數(shù)據(jù)模型,然后根據(jù)梯度下降算法更新一次模型的權(quán)重值,之后進(jìn)入下一次迭代,在下一次迭代的過程中,重復(fù)上述的步驟,但是使用一個(gè)不同的數(shù)據(jù)點(diǎn)去計(jì)算。重復(fù)這個(gè)過程,直到達(dá)到預(yù)定的迭代次數(shù)或者損失函數(shù)的差值在閾值之內(nèi),從而停止模型的訓(xùn)練。
經(jīng)過5000次迭代,得到各loss值的變化情況如圖 4所示,其中 loss對(duì)應(yīng)式(1)中的Lfinal,mrcnn_bbox_loss、mrcnn_class_loss、mrcnn_mask_loss分別為分割網(wǎng)絡(luò)層中的坐標(biāo)回歸損失、目標(biāo)分類損失和目標(biāo)分割損失,rpn_bbox_loss、rpn_class_loss分別為區(qū)域推薦網(wǎng)絡(luò)中的坐標(biāo)回歸損失、目標(biāo)分類損失。
圖4 訓(xùn)練迭代5000次各loss值變化圖
由上圖可以看到,隨著訓(xùn)練次數(shù)的增加,各loss的值也在逐漸下降,在5000次迭代訓(xùn)練結(jié)束時(shí),loss值的變化仍有下降的趨勢,所以再次增加迭代8000次和10000次的實(shí)驗(yàn)進(jìn)行比較。經(jīng)過比較,隨著訓(xùn)練迭代次數(shù)的增加,最終的loss值也逐漸降低,但下降的幅度逐漸放緩,從8000次迭代以后,各loss值逐漸穩(wěn)定。因此,針對(duì)電力設(shè)備紅外圖像集模型訓(xùn)練迭代次數(shù)應(yīng)在8000次左右為宜。
對(duì)于不使用遷移學(xué)習(xí)的模型訓(xùn)練,也采用隨機(jī)梯度下降算法進(jìn)行訓(xùn)練,但模型收斂速度慢,經(jīng)過12000次迭代后,各loss值才逐漸穩(wěn)定。
表3 迭代次數(shù)對(duì)比表
使用8000次迭代訓(xùn)練獲得的使用遷移學(xué)習(xí)模型和12000次迭代訓(xùn)練獲得的不使用遷移學(xué)習(xí)的模型分別對(duì)不包含在訓(xùn)練集中的圖像進(jìn)行目標(biāo)分割測試,對(duì)比結(jié)果如圖5所示。
圖5 從左至右分別為原圖和未使用遷移學(xué)習(xí)、使用遷移學(xué)習(xí)的模型分割圖
由圖5可看出,未使用遷移學(xué)習(xí)的Mask R-CNN實(shí)例分割模型對(duì)電力設(shè)備紅外圖像的分割結(jié)果并不是很好,對(duì)電力設(shè)備的邊緣處理精度較差,還會(huì)出現(xiàn)不完整分割、錯(cuò)割等情況。而使用了遷移學(xué)習(xí)的Mask R-CNN實(shí)例分割模型在電力設(shè)備紅外圖像分割方面則取得了良好的效果,其分割結(jié)果更加準(zhǔn)確,雖然對(duì)于電力設(shè)備的邊緣處理仍未達(dá)到極高的精確度,但這是由于實(shí)驗(yàn)數(shù)據(jù)集較小造成的,若實(shí)驗(yàn)數(shù)據(jù)集更大,則精度會(huì)進(jìn)一步得到提升。
本文選用在目標(biāo)分割領(lǐng)域先進(jìn)的Mask R-CNN框架來進(jìn)行電力設(shè)備紅外圖像的目標(biāo)分割,首先準(zhǔn)備了充分的實(shí)驗(yàn)環(huán)境,并對(duì)實(shí)驗(yàn)數(shù)據(jù)集完成分類、整理和標(biāo)注工作,然后采用基于ResNet101和FPN的Mask R-CNN結(jié)構(gòu)作為訓(xùn)練模型進(jìn)行訓(xùn)練。在訓(xùn)練過程中,通過分析不同迭代次數(shù)的Loss值的變化情況,確定電力設(shè)備紅外圖像分割效果最好的迭代次數(shù),生成最終的訓(xùn)練模型。實(shí)驗(yàn)結(jié)果展示了模型的分割效果,并且對(duì)比了遷移學(xué)習(xí)和非遷移學(xué)習(xí)對(duì)分割結(jié)果的影響,結(jié)果表明遷移學(xué)習(xí)可以大大地提高模型的分割效果。因此,本文驗(yàn)證了Mask R-CNN框架在電力設(shè)備紅外圖像分割領(lǐng)域具有良好的應(yīng)用前景,可以極大地提高電力設(shè)備故障分析工作的效率和準(zhǔn)確率。