胡志坤,趙超越,王振東,林 晨
(智洋創(chuàng)新科技股份有限公司,山東 淄博 255000)
輸電線路安全和穩(wěn)定運行是電力系統(tǒng)的重要環(huán)節(jié),同時保障輸電線路的安全和穩(wěn)定也是國家電力網(wǎng)絡(luò)基礎(chǔ)設(shè)施建設(shè)的重要基石?,F(xiàn)有的輸電線路桿塔狀態(tài)監(jiān)測方法存在智能化程偏低、實時性差、檢測結(jié)果不夠精確等缺陷。隨著我國智能電網(wǎng)的加速建設(shè),現(xiàn)有的輸電桿塔狀態(tài)監(jiān)測方法已不能滿足智能電網(wǎng)發(fā)展的要求。
目前,國家電網(wǎng)已采用無人機對電網(wǎng)的輸電線路桿塔進行巡檢。但是,在無人機進行巡檢時,輸電線路桿塔中關(guān)鍵部件是否出現(xiàn)故障,一般需要利用深層神經(jīng)網(wǎng)絡(luò)圖像智能識別技術(shù)對無人機傳回的海量圖像數(shù)據(jù)進行信息的離線分析和模型計算。雖然,后端服務(wù)器借助深層神經(jīng)網(wǎng)絡(luò)模型可以得到較好的檢測預(yù)測模型,但由于無人機采集數(shù)據(jù)傳回服務(wù)器計算的延遲很長,計算結(jié)果返回的比較滯后。而且無人機的續(xù)航時間一直是限制其技術(shù)發(fā)展的瓶頸,無人機空載的續(xù)航能力一般在20~30 min 之間,并不適用于長距離巡線任務(wù)。因此,研究了基于邊緣計算的嵌入式檢測算法。邊緣計算作為一種新的計算模式,將計算任務(wù)分解并將其遷移到邊緣節(jié)點進行處理,以降低云計算數(shù)據(jù)中心的計算負載,降低傳輸延遲,從而達到降低能耗、提高移動設(shè)備服務(wù)時間的目的。研究基于邊緣計算輕量級的微小隱患檢測算法,對在無人機隱患巡檢過程中進行實時的隱患檢測和分析具有非常重要的意義。
近年來,深度學習在圖像識別和智能檢測領(lǐng)域取得了很多成果。特別是R-CNN(區(qū)域卷積神經(jīng)網(wǎng)絡(luò))算法在圖像識別檢測上取得了顯著的成效[1]。卷積神經(jīng)網(wǎng)絡(luò)善于處理圖像的形態(tài)特征,在圖像識別和檢測任務(wù)中獲得很廣泛的應(yīng)用[2]。為了減少R-CNN 候選區(qū)域使用CNN 模型提取特征向量所消耗的時間,科學家提出了Fast R-CNN算法。為了更進一步地提高效率,F(xiàn)aster R-CNN算法引入了RPN(區(qū)域生成網(wǎng)絡(luò))直接產(chǎn)生候選區(qū)域,相較于傳統(tǒng)的R-CNN 算法、Fast R-CNN算法更為高效、輕量。隨后,科學家又進行了基于One-Stage Detection 的檢測方法的研究,其中,YOLO v1 創(chuàng)造性的將識別與定位任務(wù)合二為一,采用多任務(wù)聯(lián)合訓練的方式訓練神經(jīng)網(wǎng)絡(luò)。YOLO v3 在兩個方面進行了改進和優(yōu)化:第一,應(yīng)用殘差模型;第二,使用FPN(特征金字塔網(wǎng)絡(luò))架構(gòu)實現(xiàn)多尺度檢測。
在輸電線路桿塔隱患檢測研究中,文獻[3]提出了利用Faster R-CNN 檢測輸電線路中關(guān)鍵部件的隱患排查檢測方法,并在線路中的間隔棒、防震錘和均壓環(huán)三類部件上進行了檢測應(yīng)用的試驗,取得了較好的效果。文獻[4]提出一種基于深層神經(jīng)網(wǎng)絡(luò)U-net 網(wǎng)絡(luò)的航拍絕緣子檢測方法,可以實現(xiàn)自動分層并對不同層的信息進行特征提取,這種疊加方法可以有效地將淺層特征和高維的特征有機融合起來聯(lián)合訓練學習,進而避免一些關(guān)鍵信息被遮擋或丟失造成的隱患檢測中常出現(xiàn)的漏報和誤報問題。楊罡[5]提出了基于多尺度特征融合的輸電線路關(guān)鍵部件的檢測算法,使用了深層次的方便分離的卷積神經(jīng)網(wǎng)絡(luò)進行特征提取,并將算法應(yīng)用到移動端的ARM 設(shè)備上。但是,沒有考慮到邊緣計算模型上ARM 設(shè)備的計算能力有限、訓練數(shù)據(jù)量相對較少的問題,所以這種基于多尺度特征融合的檢測算法的檢測效果有待提高。目前,搭載在無人機上的巡檢算法無法滿足電網(wǎng)隱患檢測高質(zhì)量、高效率、低延遲的需求。
本文分析了目前輸電線路桿塔上隱患檢測算法的不足,研究了近些年來提出的電網(wǎng)隱患檢測算法,并在此基礎(chǔ)上進行了綜合的分析研究之后,提出了適用于輸電桿塔本體隱患智能識別的無人機邊緣計算的輕量級算法MGFF-KCD(關(guān)鍵部件檢測的多粒度特征融合算法),利用FPN 構(gòu)建Faster R-CNN 檢測模型來提取多粒度的特征圖像的融合方法,使用多個粒度的圖像特征融合后進行分類與檢測,提高了算法的準確率;將算法模型移植到華為Atlas 芯片并集成到無人機平臺中,在無人機終端進行實時智能分析。選取了銷釘、絕緣子、防震錘、均壓環(huán)、鳥巢五類關(guān)鍵部位進行實驗,結(jié)果表明,該算法在Atlas 200 芯片設(shè)備上可實現(xiàn)平均每張62 ms 的檢測速度和88%的準確率。
基于Faster R-CNN[6]檢測的整體網(wǎng)絡(luò)結(jié)構(gòu)如圖1 所示,該網(wǎng)絡(luò)結(jié)構(gòu)的輸入是一幅包含塔桿本體隱患的圖像(選取了銷釘、絕緣子、防震錘、均壓環(huán)、鳥巢五類關(guān)鍵部位),檢測識別后通過分類算法[7]輸出關(guān)鍵部位出現(xiàn)異常隱患特征的概率得分和隱患部位的邊界框。其中,RPN 生成400個候選區(qū)域提供給塔桿本體隱患智能識別模型Faster R-CNN 網(wǎng)絡(luò)模型,網(wǎng)絡(luò)模型中,將RPN和Fast R-CNN 的卷積層參數(shù)共享。
圖1 基于Faster R-CNN 的桿塔本體隱患智能識別網(wǎng)絡(luò)結(jié)構(gòu)
對于塔桿本體隱患智能識別的問題,傳統(tǒng)的方法是先構(gòu)建一幅圖像的金字塔,然后通過提取特征來形成特征金字塔,最后在每一層圖上進行預(yù)測,其缺點是計算開銷比較大[8]?;谏窠?jīng)網(wǎng)絡(luò)的智能識別方法僅需要在最后一層特征圖上進行預(yù)測,也能獲得較好的效果。但是,對于桿塔本體上小微部件的隱患檢測[9],其表現(xiàn)還是不太好,因此,仍然需要考慮金字塔。FPN 使用自下而上路徑、自上而下路徑以及橫向連接的方式將低分辨率、高語義信息的高層特征與高分辨率、低語義信息的低層特征結(jié)合在一起,使每一個尺度下的特征均擁有十分豐富的語義信息[10],如圖2 所示。
圖2 基于桿塔本體識別的特征金字塔網(wǎng)絡(luò)
本文試驗對象為7 304 張航拍巡檢圖像中6萬余個關(guān)鍵部件異常的圖像(包含銷釘缺失、鳥巢隱患、防震錘銹蝕、均壓環(huán)傾斜、絕緣子損壞),針對關(guān)鍵部位的隱患情況進行數(shù)據(jù)圖像特征的標注。本文對無人機拍攝到的圖像中關(guān)鍵部件在整張圖像中出現(xiàn)的占比進行統(tǒng)計分析,得出以下結(jié)論,7 304 張圖片中6 000 多張圖片占比在10%以下,約1 000 張圖片占比在10%~15%,所以關(guān)鍵部件在圖像占比在15%~100%范圍的數(shù)量非常少。如圖3 所示為電網(wǎng)線路存在小微關(guān)鍵部件標注,左上為防震錘銹蝕圖像、右上為絕緣子破損的圖像、左下為均壓環(huán)傾斜的圖像、右下角為銷釘識別出來的圖像。由圖3 可知,關(guān)鍵部件在無人機拍攝的圖片中占比比較小,所以本文針對輸電線路的小微關(guān)鍵部位的隱患情況進行數(shù)據(jù)圖像特征的標注,然后結(jié)合本文提出的強化細粒度圖像特征識別的邊緣計算的輕量級算法MGFFKCD 進行預(yù)測。
圖3 無人機拍攝圖像的小微關(guān)鍵部位標注
針對輸電桿塔本體關(guān)鍵部件的智能檢測識別和分類隱患圖像的問題,本文提出了基于華為Atlas 加速終端和輕量級算法MGFF-KCD 來處理多個粒度的特征信息。包括利用FPN 構(gòu)建Faster R-CNN 檢測模型來提取多粒度的特征圖像的融合方法,使用多個粒度的圖像特征融合后進行分類與檢測可以有效地改善微小部件隱患檢測的準確度和檢測速率[11]。
首先,本文使用FPN 替代單尺度特征圖以適應(yīng)RPN。為了達到多粒度融合的效果,需要在金字塔每個等級的每一個位置進行滑動卷積。在形態(tài)大小上,為了緩解卷積網(wǎng)絡(luò)上采樣過程中的混疊效應(yīng),得到的特征映射集為{P2,P3,P4,P5},本文設(shè)計了一種多粒度融合的模型,在形式上,{P2,P3,P4,P5}所對應(yīng)的尺度為{42,162,322,642}。由于FPN 之間有參數(shù)共享,故這樣的設(shè)計方法可以使得所有層級具有相似的語義信息。本文仍然使用3 種長度比{1:1,1:2,2:1},因此在金字塔中共有12 個錨點。訓練過程中,本文將重疊率大于0.7 的當做正樣本,小于0.3 的當做負樣本。由于FPN 之間有參數(shù)共享,故使得所有層級具有相似的語義信息。
在進行關(guān)鍵部件圖像識別預(yù)測的過程中,需要將特征信息進行分類,在本文的輕量級邊緣計算算法中可以近似將其看作一個凸二次規(guī)劃的優(yōu)化問題,其解可以通過構(gòu)造拉格朗日函數(shù)獲得分類函數(shù)的解:
式中:ai≥0 為拉格朗日乘子。
分別對式中的w 和b 求偏導數(shù),并令其等于0,有:
帶入式(1)中,有:
根據(jù)解得ai的得到權(quán)重w。決策函數(shù)為:
對于樣本線性不可分的情況,引入非負松弛變量ζ=(ζ1,ζ2,…,ζn)≥0,構(gòu)造最優(yōu)超平面,在錯誤最小的情況下將樣本分類:
式中:C 為懲罰因子,表征對錯誤的懲罰程度,C越大,表示對錯誤分類的懲罰越大。
然后,融合FPN 和Fast R-CNN。Fast R-CNN采用RoI pooling 層來提取特征,其通常在單尺度特征圖上執(zhí)行。如果要將其與FPN 一起使用,那么需要把不同尺度的RoI 分配給金字塔等級。在形式上,可以通過式(6)將寬度w 和高度h 的RoI分配給特征金字塔的等級k,即:
式中:224 表示ImageNet 數(shù)據(jù)集預(yù)訓練圖像大??;k0表示映射到wh=2242RoI 的目標水平,本文中將k0設(shè)置為4。式(6)意味著若RoI 的尺度變小(如:224 的二分之一),則其應(yīng)該被映射到更細粒度的級別。
為了滿足無人機邊緣計算中深度神經(jīng)網(wǎng)絡(luò)對芯片算力的需求,本文的無人機搭載了華為升騰AI 處理器Atlas 200。處理器不僅可以提供強大高效的乘加算力,并且在硬件體系結(jié)構(gòu)上對于深度神經(jīng)網(wǎng)絡(luò)進行了特殊的優(yōu)化。升騰AI 處理器主要的架構(gòu)組成部件包括特制的計算單元、大容量的存儲單元和相應(yīng)的控制單元,如圖4 所示。
圖4 升騰AI 處理器架構(gòu)
圖4 中,升騰AI 處理器采用達芬奇架構(gòu)設(shè)計AI Core,具有高通量、大算力和低功耗的特點,主要負責執(zhí)行標量、向量和張量相關(guān)的計算密集型算子,從而使之能夠以極高的效率完成目前主流的深度神經(jīng)網(wǎng)絡(luò)的前向計算,即深度模型的推理任務(wù),圖5 為升騰AI 處理器對輸入圖像的處理流程。
圖5 昇騰AI 處理器處理流程
圖5 中,圖像的轉(zhuǎn)碼、切分和變形由數(shù)字視覺預(yù)處理模塊完成;針對輸入數(shù)據(jù)完成包含正則化在內(nèi)的一系列預(yù)處理;核心推理的運算由AI core,即達芬奇架構(gòu)處理核心完成;運算結(jié)果交給CPU 進行處理,將結(jié)果輸出。在主機側(cè)已經(jīng)完成了算子的實現(xiàn)和執(zhí)行順序的編排,在設(shè)備側(cè)(無人機)秩序進行離線推理計算即可。
本文針對提出的算法改進方案進行試驗,操作系統(tǒng)是Ubuntu16.04,使用caffe 和Tensorflow框架。CPU 為Inter (R) Core (R) i7-9750H,3.4 GHz×12,64G 內(nèi)存,GPU 為Nvidia GeForce RTX 2080Ti,硬盤512G SSD(系統(tǒng)盤)和4T×2 的機械存儲盤。具有邊緣計算能力的移動端設(shè)備核心配置為Atlas 200 Develop Kit,Hi3559 Camera 模塊以及Atlas 200 AI 加速模塊,Ubuntu 服務(wù)器通過USB 接口與Atlas DK 開發(fā)者板連接。邊緣計算模塊連接方式如圖6 所示。
本文所用數(shù)據(jù)集來源于國家電網(wǎng)無人機巡檢時所拍攝的圖片,涵蓋了多個地區(qū)、不同時間段、各類場景。采集到的圖片分辨率較高,約為4 800×3 600 像素。本文中主要選取絕緣子、均壓環(huán)、防震錘銹蝕、銷釘缺失、鳥巢共5 種不同關(guān)鍵部件異常的圖片作為本文數(shù)據(jù)集的正樣本,數(shù)據(jù)總量有7 304 張。其中訓練集6 674 張,測試集630 張。不同類型的數(shù)據(jù)集數(shù)量和標注標簽展示如表1 所示。
表1 無人機拍攝關(guān)鍵部位的數(shù)據(jù)類型和數(shù)量
由于關(guān)鍵部件數(shù)據(jù)集數(shù)量不足,不建議直接對模型進行訓練,因為數(shù)據(jù)集數(shù)量太少容易引起過擬合問題,導致模型預(yù)測能力降低。因此,本文采取預(yù)訓練模型后導入模型進行參數(shù)初始化的預(yù)訓練方法:首先在監(jiān)控攝像機拍攝的10 萬余張電網(wǎng)線路隱患圖像匯總進行預(yù)訓練,從這些海量的圖像數(shù)據(jù)集中提取豐富的語義特征[12],動態(tài)調(diào)整學習到的特征參數(shù)。然后將模型參數(shù)發(fā)送到無人機設(shè)備端,上述過程在無人機啟動初期就完成了。啟動完成并導入服務(wù)器模型參數(shù)后,無人機開始拍攝圖像,接收到關(guān)鍵部件的圖片后,使用一開始導入的預(yù)訓練模型得到的特征參數(shù)作為模型初始化狀態(tài)[13],并結(jié)合Fast R-CNN 和RPN2種神經(jīng)網(wǎng)絡(luò)對關(guān)鍵部件的特征提取后的模型進行微調(diào),使得參數(shù)可以使用關(guān)鍵部件的數(shù)據(jù)。
本文開展的試驗研究采用的是3.2 節(jié)中介紹的包含正樣本數(shù)量總計7 304 張圖像,其中6 674張圖像為訓練集,其中,從訓練集中抽樣選取660 張圖片作為驗證集,余下的630 張圖像為測試集進行測試,采用預(yù)測的準確率作為評判標準。為了直觀展示融合效果,本文還進行了幾組消融試驗,結(jié)果如表2 所示。
圖6 邊緣計算模塊連接機制
表2 各類樣本的識別準確率
由表2 可以看出,鳥巢和絕緣子的識別率相對較高。一方面,鳥巢和絕緣子體積較大,容易識別;另一方面,鳥巢和絕緣子的樣本數(shù)目相對較多,提高了模型識別的正確率。其他的種類的識別率較低。銷釘和防震錘的圖像識別率不高,一方面是因為他們的樣本數(shù)目太少,另一方面是體積小,不容易發(fā)現(xiàn),銷釘?shù)捏w積就屬于比較小的,在圖像中占得比例不足2%,本文隨機抽取了幾張在Atlas 平臺上輸出的檢測實例,如圖7所示。
圖7 桿塔本體檢測算法輸出實例
圖7 展示了桿塔本體上檢測識別的實例。針對桿塔本體檢測和識別的關(guān)鍵部位對隱患區(qū)域進行標注并自動給出隱患類型的分類。
輸電桿塔本體的缺陷檢測主要采用基于深度學習的目標檢測算法,深度神經(jīng)網(wǎng)絡(luò)模型計算量大[14],目前無人機終端搭載的處理器由于計算能力不足,難以達到實時檢測的效果。
圖8 展示了桿塔本體隱患檢測和分類算法在不同的芯片上完成推理工作流程所需耗費的時間。顯然,Atlas200 推理耗時略高于GTX2080Ti,但是其遠低于CPU 的耗時。其次,隱患檢測算法在輸電線路的現(xiàn)場使用過程中會有其他方面的耗時,包含但不限于模型載入和傳輸?shù)臅r間。由于Atlas 比GTX2080Ti 小,可以跟隨輸電線路檢測的設(shè)備如攝像頭一起安裝到現(xiàn)場,所以其綜合用時最少。
圖8 桿塔本體隱患檢測和分類速率結(jié)果比對
R-CNN 算法解決了目標檢測中速度和數(shù)據(jù)集兩個關(guān)鍵問題,在圖像識別檢測的應(yīng)用上取得了顯著的成效。但仍存在訓練、測試速度慢,訓練空間大等問題,于是出現(xiàn)了基于R-CNN 改進的Fast R-CNN 算法、Faster R-CNN 算法。與RCNN 算法相比,F(xiàn)ast R-CNN 算法在最后一層卷積層后加了ROI pooling 層且損失函數(shù)使用了多任務(wù)損失函數(shù),將邊框回歸直接加入到CNN 網(wǎng)絡(luò)中訓練,改進了R-CNN 算法訓練、測試速度慢,訓練空間大等問題;相比Fast R-CNN,F(xiàn)aster R-CNN 算法使用RPN 代替原來的Selective Search 方法產(chǎn)生建議窗口以及產(chǎn)生建議窗口的CNN 和目標檢測的CNN 共享,提高了檢測精度和速度,真正實現(xiàn)了端到端的目標檢測框架。
為了更明確的了解各個算法之間的差異,本文進行了模型性能分析,對比結(jié)果如表3 所示。
表3 各算法的性能對比
由表3 可知,F(xiàn)aster-R-CNN 的Fps 遠快于R-CNN 和Fast-R-CNN,檢測精度也遠大與-CNN和Fast-R-CNN,于是本文選擇Faster-R-CNN 作為基本檢測算法,該算法高效且輕量。而且針對目前輸電線路桿塔上隱患檢測算法的不足,本文利用FPN 構(gòu)建Faster R-CNN 檢測模型來提取多粒度的特征圖像的融合算法MGFF-KCD 來處理多個粒度的特征信息,不僅提高了檢測算法的準確率,而且提升了無人機在輸電本體隱患巡檢過程中對輸電本體小微隱患檢測分類準確率和識別的實時性,試驗結(jié)果表明,該算法在Atlas 200 芯片設(shè)備上可實現(xiàn)每張62 ms 的檢測速度。
本文提出了一種基于邊緣計算和無人機巡檢圖像的輸電本體隱患智能檢測和分類應(yīng)用,基于華為Atlas 加速終端和輕量級算法MGFF-KCD 來處理多個粒度的特征信息。無人機搭載華為Atlas 200 人工智能計算加速模塊,具備非常強大的計算能力,為檢測算法提供更好的運算平臺[15]。在后端服務(wù)器預(yù)訓練模型后遷移到無人機端進行邊緣檢測模型的計算,輸電線路桿塔關(guān)鍵部件隱患檢測識別的準確率得到提升。選取了銷釘、絕緣子、防震錘、均壓環(huán)、鳥巢五類關(guān)鍵部位進行試驗,結(jié)果表明,該算法在Atlas 200 芯片設(shè)備上可實現(xiàn)每張62 ms 的檢測速度和88%的準確率。