楊學杰,李思毛,李建業(yè),李宋林,張 旭
(1.國網(wǎng)淄博供電公司,山東 淄博 255000;2.國網(wǎng)智能科技股份有限公司,山東 濟南 250101)
目前,變電站巡檢機器人已在國內(nèi)變電站推廣應(yīng)用,利用攜帶的紅外、可見光傳感器實現(xiàn)設(shè)備溫度自動測量、設(shè)備狀態(tài)自動識別,自動代替人工完成變電站設(shè)備的巡檢任務(wù),可根據(jù)設(shè)備綜合狀態(tài)綜合診斷設(shè)備故障[1]。經(jīng)過多年的機器人巡檢技術(shù)和巡檢模式研究,“機器人巡檢+數(shù)據(jù)后臺分析”模式已經(jīng)成為變電站智能運維的重要趨勢。
利用巡檢機器人采集圖像可實現(xiàn)電力設(shè)備狀態(tài)自動識別(表計讀數(shù)、刀閘開合狀態(tài)、斷路器開關(guān)等)與設(shè)備缺陷自動診斷(鳥巢、絕緣子破損等),以上任務(wù)可以利用人工智能領(lǐng)域的目標檢測技術(shù)完成[2-3]。目前常用的目標檢測算法主要包括RCNN系列網(wǎng)絡(luò)[4-6]、SSD網(wǎng)絡(luò)[7]、RFCN網(wǎng)絡(luò)[8]與YOLO系列網(wǎng)絡(luò)模型[9-11]等。YOLOv3與其他目標檢測算法相比,在檢測準確率和速度上,均取得了較好的效果,并在電力領(lǐng)域得到了廣泛應(yīng)用[12-13]。
盡管變電站巡檢機器人及人工智能技術(shù)的應(yīng)用提升了電力巡檢的自動化和智能化水平,但基于圖像的設(shè)備狀態(tài)分析算法有效性、可靠性仍需進一步提高,其高存儲、實時性差的問題仍然制約著機器人智能巡檢的推廣應(yīng)用。隨著深度神經(jīng)網(wǎng)絡(luò)模型日益深度化、復雜化,以上問題制約著人工智能技術(shù)在計算資源有限的機器人應(yīng)用環(huán)境中的推廣,如何在保證算法精度的前提下,實現(xiàn)深度模型的小型化和前置化是亟待解決的一個問題。
為了提升變電站巡檢機器人智能分析能力和設(shè)備狀態(tài)診斷效率,該文對電力設(shè)備狀態(tài)檢測前端化算法進行研究,以YOLOv3模型為基礎(chǔ)網(wǎng)絡(luò),對模型結(jié)構(gòu)進行剪枝壓縮及整體結(jié)構(gòu)輕量化改進,實現(xiàn)變電站設(shè)備定位及異物懸掛等典型缺陷檢測的邊緣計算,加強巡檢機器人的圖像分析、判別和智能決策能力,進一步提升電力巡檢的效率及智能化水平。
實現(xiàn)電力設(shè)備狀態(tài)檢測算法在機器人前端部署,選擇合適的嵌入式硬件平臺進行檢測算法的移植是首要前提。另外,為了滿足模型部署需求,選擇精度高、耗時少的目標檢測算法,實現(xiàn)設(shè)備狀態(tài)實時檢測。
目前深度學習網(wǎng)絡(luò)的使用基本上在GPU平臺下進行,其在嵌入式移動設(shè)備下的應(yīng)用主要依靠FPGA硬件,同時專用于DNN的芯片研究也正在開展。在現(xiàn)有機器人設(shè)備的基礎(chǔ)上,根據(jù)目前眾多的深度網(wǎng)絡(luò)部署硬件芯片應(yīng)用情況與性能對比,主要考慮兩種嵌入式硬件設(shè)備:英偉達Jetson TX2與海思Hi3559A。
英偉達Jetson TX2是由英偉達公司研發(fā)的Jetson系列GPU嵌入式平臺,主要用于深度學習模型的研究,其核心嵌入式組件體積與信用卡一般大小,可以嵌入到移動設(shè)備中使用,算法移植方便,但其屬于進口芯片,價格較高,不適合機器人產(chǎn)品小型化、批量化生產(chǎn)。海思Hi3559A芯片屬于國產(chǎn)硬件平臺,包含了深度學習的NNIE內(nèi)核,定制平臺算力可達4TOPS(Tera operations per second),是目前同等算力下性價比最好的平臺之一。兩款嵌入式平臺的性能與硬件參數(shù)對比如表1所示。

表1 Jetson TX2與Hi3559A芯片對比
綜合考慮兩種嵌入式AI平臺的計算能力與生產(chǎn)成本,海思Hi3559A硬件平臺在成本及算力上均優(yōu)于TX2,因此選用海思Hi3559A作為嵌入式平臺進行深度學習檢測算法在機器人前端部署。
面向機器人的設(shè)備狀態(tài)自動檢測算法實現(xiàn)主要分成三個部分:(1)各類設(shè)備及缺陷的圖像樣本采集與標注,建立圖像樣本庫;(2)利用目標檢測模型對樣本進行訓練,得到設(shè)備狀態(tài)自動檢測判別模型;(3)將訓練好的模型部署在機器人嵌入式硬件上,根據(jù)輸入的巡檢實時圖像輸出判別結(jié)果。
綜合考慮當前硬件平臺計算能力與巡檢圖像分析任務(wù),巡檢機器人采用前端檢測與后臺分析相結(jié)合的方式實現(xiàn)變電站設(shè)備狀態(tài)的自動檢測,將一些識別率高、需要現(xiàn)場確認的缺陷檢測功能放在機器人前端實現(xiàn),主要包含儀表讀數(shù)、刀閘狀態(tài)、絕緣子缺陷、鳥巢及異物四類目標的檢測。
當前的目標檢測算法根據(jù)設(shè)計差異總體上分為兩種:基于候選區(qū)域的目標檢測算法(RCNN系列算法)和基于回歸的目標檢測算法(SSD、YOLO系列等)。與以Faster RCNN[6]為代表的基于區(qū)域的目標檢測算法相比,YOLOv3算法可以實現(xiàn)端到端的訓練,減少了模型訓練的復雜度,并且圖像的檢測速度大幅度提高。與SSD算法[7]相比,YOLOv3擁有更高的檢測精度以及更快的處理速度,部署在嵌入式平臺上更接近設(shè)備狀態(tài)檢測實時處理的需求,因此選用YOLOv3算法作為電力設(shè)備狀態(tài)檢測的深度模型,不同算法的檢測結(jié)果如表2所示。

表2 YOLOv3與其他網(wǎng)絡(luò)性能對比
YOLOv3采用Darknet53的網(wǎng)絡(luò)結(jié)構(gòu),共包含53個卷積層,訓練時最大訓練迭代次數(shù)設(shè)置為100 000,學習率為0.001,訓練得到的參數(shù)量約為60 M,模型體積在300 M左右,單張圖像檢測時間大于100 ms,目標檢測速度和模型體積不適合往機器人的前端移植,因此需要研究深度模型的輕量化算法,在保證檢測精度的基礎(chǔ)上,減少判別網(wǎng)絡(luò)的計算量與模型體積。
由于機器人搭載的硬件計算能力與后臺服務(wù)器的計算能力無法比擬,為了實現(xiàn)設(shè)備檢測算法的前置化,部署模型需要少量的算法參數(shù),較少的內(nèi)存及運算時間,因此這里將原始YOLOv3模型進行輕量化改進。一種方法是對網(wǎng)絡(luò)模型進行輕量化設(shè)計,精簡模型結(jié)構(gòu),減少模型參數(shù);另一種方法是進行模型壓縮,去除模型卷積層中不必要的通道。
小型YOLOv3模型(Tiny YOLOv3,T-YOLOv3)[11]是YOLOv3模型的簡化,保留了原始模型兩個獨立預測分支,該網(wǎng)絡(luò)模型主要是由卷積層和池化層構(gòu)成,結(jié)構(gòu)更簡單,但精度有所下降。
T-YOLOv3模型引入了多尺度特征提取模塊,輸出2個尺度的特征圖來保證對不同大小目標的檢測性能。雖然這種模型結(jié)構(gòu)可以減少卷積特征層的參數(shù),提高模型運算速度,但在環(huán)境復雜的變電站場景下,這種網(wǎng)絡(luò)結(jié)構(gòu)容易造成淺層卷積特征圖信息丟失,并且對小目標及局部特征的目標輸出不敏感,很容易對遠處的小目標設(shè)備或存在遮擋的設(shè)備造成漏檢和誤檢,影響了目標的召回。
為了提高模型上下層的語義信息及小目標的檢測能力,對T-YOLOv3的網(wǎng)絡(luò)模型進行改進,增加兩個卷積層和池化層,提高網(wǎng)絡(luò)提取特征對變電站目標的表征,并在原有網(wǎng)絡(luò)結(jié)構(gòu)的基礎(chǔ)上增加一層上采樣層,為了避免訓練中的梯度消失并增強特征的復用,在網(wǎng)絡(luò)的分類回歸之前引入殘差模塊,改進后的網(wǎng)絡(luò)記為E-T-YOLOv3,其網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。

圖1 E-T-YOLOv3模型結(jié)構(gòu)
為了實現(xiàn)YOLOv3模型的壓縮,Zhang等人提出了一種基于通道剪枝的YOLOv3模型壓縮算法[14],并將壓縮后的模型部署在無人機上,取得了理想的效果。首先,該算法在原始模型的基礎(chǔ)上添加了三個空間金字塔池化(spatial pyramid pooling,SPP)模塊,SPP模塊可以提取不同尺度的特征信息,并將不同尺度的特征圖以串聯(lián)的方式進行特征融合,提高原始網(wǎng)絡(luò)的檢測精度,構(gòu)成模型修剪的基本模型。接著,為了刪除模型不重要的通道,提出了SlimYOLOv3-SPP3-50/90/95三種型號的修剪模型,此種模型修剪可以極大改善模型在機器人上的部署,但具有一定的精度損失。具體剪枝步驟為:
(1)對模型進行稀疏訓練,YOLOv3獲得每個信道的比例因子,評估模型中每個信道的重要性,然后去除那些具有小比例因子的信道。
(2)通過修剪得到的模型SlimYOLOv3在數(shù)據(jù)集上進一步微調(diào)獲得檢測結(jié)果,對剪枝后的模型進行效果評估,然后進入下一輪稀疏訓練。
(3)迭代重復前兩步通道剪枝過程,直到滿足設(shè)定的模型剪枝比或檢測速度要求。
此類通道自動剪枝策略對于YOLOv3殘差塊中的卷積網(wǎng)絡(luò)具有很好的壓縮效果,減少了整體網(wǎng)絡(luò)的寬度,但是當冗余的參數(shù)主要分布在網(wǎng)絡(luò)的深層次時,即使達到模型剪枝比停止訓練,實際的加速往往達不到理想的效果,并帶來一定的精度損失。為了進一步提高模型的壓縮質(zhì)量,在通道剪枝的基礎(chǔ)上,引入了層剪枝策略,在保持模型精度的前提下,使得模型在寬度和深度上得到有效剪枝。層剪枝的策略主要針對YOLOv3模型的直連(shortcut)層進行剪枝,具體步驟為:
(1)對于每個直連層前一個基礎(chǔ)模塊進行重要性評價,基礎(chǔ)模塊包括一個1×1與3×3的卷積核,層重要性評價系數(shù)選用Liu等人提出的縮放因子γ系數(shù)[15]。
(2)由于每裁剪一個shortcut層,會同時減掉與其相連的兩個卷積層,為保證YOLOv3的結(jié)構(gòu)完整,設(shè)置層剪枝shortcut剪枝數(shù)量閾值為12,即剪枝層數(shù)不超過36層,精度保持閾值為7%,即剪枝后模型的平均精確度(average precision,AP)下降不超過原模型AP值的7%。
(3)根據(jù)計算的γ系數(shù)對各直連層進行排序,在滿足閾值的前提下取最小的層進行剪枝。
這里將SlimYOLOv3-SPP3-50通道剪枝策略與層剪枝策略結(jié)合使用,整體過程如圖2所示。待剪枝完成后,對得到的輕量模型再進行參數(shù)的微調(diào)。以剪枝后的模型進行訓練參數(shù)的初始化,然后對模型進行重訓練,訓練中將最大訓練迭代次數(shù)減小到50 000,并在迭代30 000次后將學習率降低為原學習率1/5。通過微調(diào),最終得到壓縮后的深度判別模型。

圖2 通道剪枝與層剪枝模型壓縮過程
為了驗證輕量化模型的設(shè)備狀態(tài)檢測性能,首先對該文提出的算法訓練模型與原始YOLOv3及其他輕量化算法進行對比實驗。不同算法驗證實驗環(huán)境:CPU為E5-1607,內(nèi)存為16 GB,GPU為NVIDIA GeForce 1080TI,操作系統(tǒng)為Ubuntu16.04。
該文利用變電站巡檢圖像作為數(shù)據(jù)集,圖像分辨率為1 920×1 080,數(shù)據(jù)集共有4類對象,包含儀表、刀閘、絕緣子、鳥巢及懸掛物。每類圖像包含樣本1 000張,其中800張圖像作為訓練驗證集,200張圖像作為測試集。分別利用不同的模型算法對4類目標進行訓練及測試,驗證指標采用AP值及平均交并比(Intersection over union,Iou),AP值越高表示模型在全部類別找那個目標的綜合性能最高,Iou值越高代表檢測到的目標位置越精確。除此之外,對訓練模型的大小及4類目標的平均檢測速度進行比較,模型越小,檢測速度越快,越適合嵌入式平臺前端進行部署。
首先,為了確定最優(yōu)層剪枝直連層的剪枝個數(shù),設(shè)置不同的剪枝個數(shù)進行壓縮模型的性能測試,如圖3所示。橫坐標“比率”為層剪枝后模型相對于原模型的體積與AP值變化,從圖中可以看出,當剪枝直連層個數(shù)為2時,精度保持效果最好,但模型體積壓縮較少。其中當剪掉層數(shù)為1,2,4,6,8時,滿足設(shè)定剪枝層數(shù)與精度保持閾值的要求。為了兼顧精度與模型體積,選擇剪枝直連層的個數(shù)為8,模型共減掉24層,精度下降了4.3%,模型體積僅有31.3 M,壓縮了一半以上。

圖3 不同層剪枝個數(shù)的模型壓縮后性能
不同模型對4類目標的測試結(jié)果如表3所示,與原始YOLOv3模型相比,輕量化后的模型在精度上都有不同程度的下降,模型體積與單張圖像檢測耗費時間都有明顯提升,T-YOLOv3模型檢測速度最快,但精度下降比較嚴重,改進后的E-T-YOLOv3模型AP值提升了4.1%。基于SlimYOLOv3-SPP3通道剪枝的策略當壓縮比過高時精度下降比較嚴重。綜合檢測精度與速度因素,“SlimYOLOv3-SPP3-50+層剪枝”策略壓縮后的模型檢測速度降低至37 ms/張,AP值僅下降了2.4%,Iou下降了0.08,完全適應(yīng)機器人目標檢測前端部署需求。另外,PR曲線反映了精確率(precision)與召回率(recall)之間的關(guān)系,更能直觀地看出算法間性能的好壞,精簡模型與原始模型的PR曲線如圖4所示。與原始YOLOv3模型相比,模型剪枝后的YOLOv3模型與精簡YOLOv3模型在檢測效果上有略微的下降,SlimYOLOv3-SPP3-50+層剪枝后的YOLOv3模型要略優(yōu)于E-T-YOLOv3模型。

表3 不同算法的檢測結(jié)果比較

圖4 不同模型的PR曲線
為驗證巡檢機器人前端模型的識別效果,將經(jīng)過“SlimYOLOv3-SPP3-50+層剪枝”策略壓縮后的YOLOv3模型部署在變電站巡檢機器人上,測試環(huán)境為濟南220 kV許寺敞開式變電站,除了站內(nèi)待檢測設(shè)備的識別任務(wù)外,還人為制作了一些異物懸掛的場景進行測試。機器人巡檢過程中前端輸出的檢測結(jié)果如圖5所示,從輸出結(jié)果可以看出部署的模型可以有效地檢測出相應(yīng)的電力設(shè)備及異物,從圖5第三排圖像可以看到當前算法對于遮擋的絕緣子仍存在漏報的情況,下一步將針對遮擋設(shè)備檢測與進一步精簡判別模型技術(shù)進行研究,并引入知識蒸餾思想[16],進一步提升部署模型的性能。

圖5 變電站巡檢圖像檢測結(jié)果
針對變電站巡檢機器人設(shè)備狀態(tài)檢測技術(shù)前端化部署需求,從成本及算力方面考慮,選擇海思Hi3559A芯片作為算法開發(fā)的嵌入式平臺,以YOLOv3算法訓練模型作為基礎(chǔ)模型進行模型輕量化設(shè)計。研究了基于模型剪枝及小型模型設(shè)計的輕量化技術(shù),針對不同的模型輕量化算法,提出了改進的T-YOLOv3模型,增強模型上下層的語義信息特征提取能力。設(shè)計了基于通道卷積與層剪枝的模型壓縮算法,在精度保持的前提下,進一步壓縮模型的體積。最終將最優(yōu)的輕量化模型在機器人平臺上進行部署,實現(xiàn)設(shè)備狀態(tài)檢測技術(shù)在變電站巡檢機器人中的前置化。實驗結(jié)果及現(xiàn)場實際應(yīng)用表明,前端化的網(wǎng)絡(luò)模型大大減少了算法耗時,檢測精度得到有效保持,滿足了變電站設(shè)備狀態(tài)巡檢的需求。