鮮開義, 楊利萍, 周仁彬, 梁洪軍, 蔣 鑫, 查 盛
(深圳市朗馳欣創科技股份有限公司,成都 610000)
變電站作為各級電網的核心樞紐,其安全可靠的運行直接關系著整個電網的穩定[1]。傳統的人工巡檢方式存在勞動強度大、受環境影響大、巡檢效率低、巡視結果客觀性不足等問題,已經很難滿足現代電網的發展需求[2]。近年來,隨著科技的進步以及無人值守智能變電站的快速發展,變電站巡檢機器人開始逐漸取代人工巡檢,并取得了良好的效果[3]。而對于變電站巡檢機器人而言,有效的導航避障是其正常工作的前提保障。目前,絕大多數巡檢機器人導航避障主要采用磁導航以及激光雷達的方式,磁導航主要通過在道路上鋪設磁條來引導機器人行駛,該方式雖然導航精度高,但鋪設相對困難、維護成本較高,且未考慮道路情況;激光雷達采用激光測距的方法進行導航避障,該方式檢測精度高,但提取的道路環境信息較少,對環境理解程度較低[4]。由此可見,現有大多數變電站巡檢機器人由于獲取的環境信息不足,對場景理解能力較低等因素,較大地限制了巡檢機器人的環境適應能力。因此,研究一種基于視覺的道路場景理解方法不僅可以為變電站巡檢機器人提供有效的路況信息,輔助機器人導航避障,而且對智能電網的建設具有巨大的推動作用。
傳統的基于視覺的變電站巡檢機器人道路場景理解主要通過手動提取變電站道路特征,如引導線、路標等,進而實現對可行道路區域以及機器人所處位置的判斷。薛陽等[5]根據變電站道路環境的特點,將樸素貝葉斯算法應用于對變電站道路導航線檢測中,有效的避免了光照變化對導航線提取的影響。趙坤等[6]針對變電站道路情況設計了直行、停止、拐彎等路面標識,通過對獲取的圖像進行濾波、畸變處理、角點檢測等操作來識別標志并指導機器人動作。這些傳統方法雖然操作簡單,但其維護成本較高,容易受到外界環境影響,同時也沒有較好體現機器人智能的一面。
隨著近年來計算機視覺與機器學習等領域的研究不斷突破,基于深度學習的圖像處理技術逐漸應用于各個領域,并取得了良好的效果[7]。對于圖像語義分割而言,自2014年Long等[8]在基于圖像分類的卷積神經網絡上提出用于圖像語義分割的全卷積神經網絡(fully convolutional networks,FCN)后,大量研究者投入到語義分割的研究中,并提出了一系列重要成果。Chen等[9-10]提出一系列DeepLab方法,通過引入空洞卷積、空間金字塔池化等方式提高網絡對全局信息的獲取,進而提高網絡精度。Badrinarayanan等[11]采用卷積編碼與反卷積解碼網絡結構設計出SegNet網絡,并通過最大池化索引的方式獲取更多目標細節信息,并降低了噪聲對網絡的干擾。為更好地將語義分割技術應用于手機等嵌入式設備,谷歌團隊提出了高效率的MobileNet系列網絡[12],采用可分離卷積來替代標準卷積,通道點卷積和深度卷積的方式對網絡通道進行壓縮和擴張,進而降低網絡計算量。Paszke等[13]提出的ENet網絡采用大編碼-小解碼結構,并借鑒類似ResNet[14](residual network)的bottleneck模塊,通過降維、卷積再擴張的方式來降低網絡運算量進而提高效率。Zhang等[15]提出的ShuffleNet網絡采用分組逐點卷積及通道重排的方式代替傳統卷積,降低計算量也保證了網絡精度。盡管目前已經提出了大量的語義分割網絡,但各個網絡針對的應用場景卻各不相同。因此,如何將基于深度學習的語義分割方法應用于變電站巡檢機器人對道路場景的理解中也是一個極具挑戰的課題。
針對上述問題,在前人的研究基礎上搭建出一種針對變電站道路場景的全卷積神經網絡。該網絡借鑒ResNet結構搭建卷積編碼網絡,用于提取圖像特征;解碼網絡采用多種解碼結構相融合的方式來獲取更多目標的多尺度信息、局部特征以及全局特征,有效地平衡了網絡識別精度與效率。同時,為了更好地應用于變電站巡檢機器人,將變電站道路場景語義分割結果進行了相應的轉換,使網絡在搭載NVIDIA Jetson TX2嵌入式平臺的變電站巡檢機器人上實現高效語義分割,并為機器人提供了有效的路況信息。
提出的變電站道路場景全卷積語義分割網絡整體結構如圖1所示。該網絡主要由編碼網絡和解碼網絡構成,編碼網絡借鑒文獻[13]的高效率ENet網絡結構,主要由卷積、池化、激活、批正則化等網絡層堆疊而成,用于提取圖像特征信息。解碼網絡主要根據編碼網絡提取的特征,恢復出圖像中各個目標的類別以及邊界。為保證網絡精度,采用了多種解碼結構相融合的方式,充分獲取圖像全局特征、局部特征以及多尺度特征,逐步恢復目標信息。該網絡在編碼部分保留了ENet網絡中高效特征提取結構,并在解碼部分充分彌補了ENet網絡對提取的特征信息利用率不足等缺陷,在盡可能保證語義分割效率的前提下,對網絡分割精度進行了有效的提升。

圖1 網絡結構框圖Fig.1 The structure diagram of network
目前,大多數語義分割網絡主要采用圖像分類網絡作為編碼結構提取圖像特征,不同網絡之間區別在于解碼網絡各不相同,如FCN、SegNet等網絡都是采用VGG16結構作為基本的特征提取網絡。而搭建的編碼網絡采用了類似ResNet殘差網絡的結構,與VGG16結構相比,該結構擁有的參數數量更少,內存占用更低,并且精度也更高。
編碼網絡結構由圖1前半部分可以看出,主要由一個初始模塊(Initial)和三個瓶頸模塊(Bottlenect)組成,兩種模塊結構如圖2所示。Initial初始模塊包含一個步長為2的3×3卷積和一個最大池化,該模塊主要對輸入圖像進行下采樣,降低噪聲的同時也提高網絡效率,而兩種并列降維方式也盡可能保存了圖像有效信息。Bottleneck模塊由多個小模塊堆疊組成,每個小模塊由兩個分支構成,主分支為常規的卷積,該分支通過兩個1×1的點卷積對網絡層通道進行壓縮和擴張,中間卷積層用于提取特征,這種卷積方式可以有效地降低網絡的計算量;另一個分支則是用于短接跨層鏈接,該方式一定程度上降低了信息丟失,緩解了梯度消失問題,同時在Initial、Bottleneck1和Bottleneck2之間由于特征圖尺度不一致,引入了最大池化層(MaxPooling),并在最大池化操作時保存最大池化索引信息(即保存每個池化窗口中最大特征值的位置),用于后續的解碼網絡中。編碼網絡盡管深度較深,但其編碼方式有效降低了網絡計算量,保證了網絡效率。

圖2 編碼網絡模塊[13]Fig.2 Encoder network module[13]
對于語義分割解碼網絡而言,關鍵在于如何有效獲取圖像的全局特征、局部特征以及多尺度特征等信息,實現不同目標精確分割。為此,不同的研究
者針對不同的問題設計出了相應的網絡結構,如DeepLab網絡通過空間金字塔提取圖像全局以及多尺度信息,SegNet網絡通過最大池化索引信息獲取圖像更多局部細節信息等。鑒于此,針對ENet網絡在解碼部分對特征利用率不足等問題,設計了一種融合多個解碼結構的網絡,充分利用編碼網絡提取的特征,提高了網絡的分割精度。
解碼網絡主要通過跳層連接、最大池化索引以及空間金字塔池化三種方式來充分獲取編碼特征,進而提高網絡精度,如圖3 所示。圖3(a)為跳層連接結構,通過將不同維度的特征圖從小到大進行逐層反卷積,使深層的目標類別信息逐步與淺層的邊界信息相融合,恢復圖像尺寸。圖3(b)為最大池化索引結構,通過將編碼結構中最大池化時保存索引信息應用于解碼結構的上采樣操作中,有效的保存了更多細節信息,同時也降低了噪聲的干擾。其中,a、b、c、d為解碼網絡特征值,配合對應編碼網絡層最大池化時的索引,上采樣至指定位置。圖3(c)為空間金字塔池化結構,主要分為空洞卷積和平均池化兩部分。通過不同空洞率的3×3空洞卷積和一個1×1的點卷積來提取圖像多尺度信息,并利用平均池化獲取圖像全局信息,提高對不同尺度目標的分割效果??梢钥闯?,三種方式獲取的特征信息各不相同,通過將其融合使提取到的特征信息相互補充,從而有效提升網絡的精度。同時,由于過于淺層的特征圖包含較多的噪聲,因此網絡將三種解碼方式上采樣至原圖1/4維度時便進行融合,然后再卷積上采樣至原圖大小,使網絡降低噪聲干擾的同時也降低了解碼結構的計算量。

圖3 解碼網絡模塊Fig.3 Decoder network module
對于變電站巡檢機器人而言,盡管語義分割能實現像素級識別,但機器人卻無法直接理解網絡分割結果,需要將分割結果進一步轉化為機器人所需的信息。因此,為了更好地輔助機器人導航避障,將語義分割結果轉化為機器人轉化為機器人前方目標、機器人偏離情況來指導機器人下一步動作,并將各信息上傳至上位機顯示。變電站道路場景應用示意圖如圖4所示。

圖4 變電站道路場景應用示意圖Fig.4 The flow diagram of substation road scene application
為方便變電站巡檢機器人實際應用,采用固定位姿的攝像頭獲取變電站道路圖像。根據道路在圖像中的位置以及大多數巡檢機器人尺寸,確定攝像頭選擇視場角為100°,安裝高度為50 cm,視角與地面夾角為45°。對于機器人前方目標的判斷,則通過對固定攝像頭位姿下圖像進行語義分割,根據分割結果獲取圖像中固定區域各類別像素個數,并選擇像素最多的類作為前方目標。而對于固定區域的大小則根據機器人所占面積映射到圖像中的大致區域,固定區域位置選擇在圖像垂直中線上(即機器人正前方),其在中線的具體位置可根據機器人避障反應時間確定,如圖5 所示。設機器人長寬均約60 cm,速度0.5 m/s,語義分割效率10 fps,由此可設定固定區域如圖5(c)所示,判斷前方 40~100 cm區域的目標,取40 cm即給機器人2 s的反應時間。

圖5 機器人前方目標區域Fig.5 The target area in front of robot
對于巡檢機器人偏離道路情況采用對比分割圖像中左右固定面積區域的道路像素個數來判斷,如圖6 所示。其中,左右區域的在圖像中的位置為道路邊界與圖像左右邊的交點(該交點隨機器人偏離而上下移動);區域寬度選擇20行像素單位,在盡量減少計算量的同時保證該方法的魯棒性。通過對比分割圖中A、B兩個區域道路像素來判斷機器人偏離方向以及偏離度,當B>A時判斷機器人左偏, A>B機器人右偏。同時,偏離度計算如式(1)所示。
(1)
式(1)中:nroadA、nroadB分別為區域A和區域B中道路像素個數,nroad為A、B區域中道路較多的道路像素個數(即若nroadA>nroadB則nroad=nroadA,反之nroad=nroadB),最后再將輸出偏離度歸一化為0~100。

圖6 機器人偏離判斷Fig.6 Robot deviation judgment
所提網絡是基于Caffe深度學習框架實現,實驗主要測試了網絡的性能以及在實際變電站場景中的適應性。為了更好地對比所提網絡與ENet網絡,訓練時各參數設置主要借鑒ENet網絡。網絡采用Adam方法進行優化,設置學習率(base_lr)為0.005,動量參數(momentum)為0.9,權值衰減系數(weight_decay)為0.000 2。實驗采用兩個硬件平臺,搭載英偉達公司的Titan Xp顯卡的臺式電腦和嵌入式開發板NVIDIA Jetson TX2對網絡性能進行了測試。同時,網絡性能評價采用語義分割中3個最常見的度量標準:全局精度G、平均精度C,交除并均值(MMIOU)。其中,交除并均值表示預測像素與標注像素的交集除以預測像素與標注像素的并集,通常為最有力的度量標準。
(2)
(3)
(4)

CamVid數據集來源于劍橋駕駛標簽視頻庫,是第一個具有對象類語義標簽的視頻集合。該數據集由不同時間段的城市道路圖像組成,并通過人工進行像素級標注,標注的類別包含車輛、行人、道路等共10余類,有效地解決了對實驗數據的需求,可以定量評估各類新興深度學習算法。CamVid數據集中包含了367幅訓練集圖像和 233幅測試集圖像,圖像大小為360×480。該數據集與變電站道路場景相對類似,且圖像數量較少,可以更快驗證網絡的性能。實驗通過在搭載Titan Xp顯卡的臺式機上采用遷移學習的方法來訓練測試網絡,驗證圖3中的三種融合結構,設置batchsize為2,經過20 000次優化迭代收斂后的結果如表1所示。其中,Base指只包含最大池化索引的解碼結構; Skip表示跳層連接結構; ASPP表示空間金字塔池化結構。同時,為驗證網絡的有效性,將所提網絡與文獻[11-13]中的網絡在TX2平臺上進行測試對比,對比結果如表2 所示,分割結果如圖7所示。

表1 解碼結構測試結果Table 1 Decoder structures test results

表2 網絡測試結果對比Table 2 Network test results comparison

圖7 CamVid數據集測試結果Fig.7 CamVid dataset test results
根據表1的實驗結果可以看出,通過依次融合不同的解碼結構,網絡的分割精度也不斷得到提升。不同的解碼結構可以有效避免解碼網絡獲取較多的冗余特征,而相互融合的方式可以互補各個解碼網絡對于特征提取的局限性,從而保證了特征的多樣性,對網絡的分割精度有較大的提升。從圖7 可以看出,通過個多種解碼結構相融合的方式使網絡對圖像的全局信息以及細節部分都能實現較好的分割。同時,由表2 可知,由于解碼結構的擴增,本文所提網絡在精度提升的同時效率相對于原ENet網絡略微下降,但相對于傳統卷積方式的SegNet網絡,該網絡在精度特別是效率方面都有較大的提升。
為了驗證所提網絡對變電站道路場景的語義分割效果,利用實際變電站道路場景圖像對網絡進行測試。通過變電站巡檢機器人采集變電站道路圖像,并篩選出重復率較低的圖像共約3 000張,并將圖像尺寸歸一化為256×256;利用Labelme軟件手動標注出圖像中的道路、雜草、石頭、路坑、圍欄以及背景六類目標;隨機選擇2 000張圖像作為訓練集,剩余的1 000張作為測試集;設置訓練batchsize為4,在搭載Titan Xp的臺式機上訓練20 000次后再在NVIDIA Jetson TX2進行測試,實驗結果如圖8、表3所示。由圖8、表3可以看出,本文的網絡可以較好地應用于變電站道路場景中,實現高效分割。同時,與同類型網絡相比,本文網絡在精度與效率之間進行了有效的平衡,使網絡能更好地適用于變電站巡檢機器人。

圖8 變電站道路場景識別效果Fig.8 Substation road scene recognition results

表3 變電站測試結果對比Table 3 Substation test results comparison

圖9 機器人偏離測試Fig.9 Robot deviation test
為了驗證本文方法在實際變電站場景中的適應性,通過模擬變電站巡檢機器人并以NVIDIA Jetson TX2為硬件平臺,在實際變電站道路中對上述方法進行測試。實驗主要測試了機器人偏離判斷精度、上位機顯示以及機器人對每幀道路場景圖像理解的效率。機器人偏離度測試方案如圖9所示,當機器人正常、平移、旋轉以及平移與旋轉疊加行駛時,測試方法是否能正確判斷。實驗總共測試了6段路,每段路分別多次測試4種偏離情況后計算其平均精度,測試結果如表4所示。

表4 機器人偏離測試結果Table 4 Robot deviation test results

圖10 上位機顯示結果Fig.10 Upper computer display results
對于上位機通信測試結果如圖10所示,通過Modbus TCP/IP通訊協議將原圖、分割圖、機器人前方目標、偏離方向、偏離度、報警及日志等信息上傳至上位機。從界面中可以看出,場景識別結果及判斷信息均能實現準確的傳輸。
同時,對于整個場景分割效率測試結果如表所示。從表5中可以看出,所提方法在變電站道路場景理解中的效率可以達到9~10幀/s,盡管網絡效率仍相對較低,但對于巡檢速度較慢的變電站巡檢機器人而言,基本滿足了其對道路場景實時理解的需求。

表5 機器人場景分割效率結果Table 5 Robot scene segmentation efficiency results
針對變電站道路場景,搭建了一個適用于變電站巡檢機器人的全卷積語義分割網絡。該網絡采用編碼-解碼結構,編碼結構借鑒ENet網絡提取圖像特征,解碼網絡通過將空間金字塔池化、最大池化索引等方法與跳層反卷積相融合,使網絡獲取更多目標全局及局部特征,恢復圖像尺寸。同時,為有效輔助巡檢機器人導航避障,將語義分割結果轉化為機器人前方目標及偏離道路情況,指導機器人下一步動作。通過在標準數據集以及實際變電站變電站數據集上實驗表明,提出的網絡有效地平衡了語義分割精度及效率;同時,在實際變電站場景中,該網絡能夠實現高效識別分割,并為機器人提供有效的路況信息。
盡管目前本文方法基本滿足變電站巡檢機器人對道路場景的需求,但仍有諸多改進之處。在后續的工作中,針對網絡的分割精度及效率可以進一步對網絡結構進行優化;同時,對于語義分割的結果,僅利用了較少的信息,后續工作中可進一步挖掘語義分割信息,提高機器人智能化。