陳勇,李松,晉偉平,謝珉,楊永昆
(1.云南電網有限責任公司,昆明 650011;2.云南電網有限責任公司紅河供電局,云南 紅河州 661100)
近年來,隨著“雙碳”戰略[1]的推行以及數字經濟的應用,構建新型電力系統并實現發、輸、變、配、用五大環節的數字化轉型,挖掘數字信息的隱性價值,提升電網的數字化與智能化水平已成為電力行業發展進步的迫切需要[2]。其中,伴隨計算機視覺[3]與深度學習技術[4]的進步,針對輸變電等電力場景,使用包含景深信息的三維圖像數據進行電力設備的目標檢測對保障作業安全和實現電網高效運維具有極為重要的意義[5]。
由于三維圖像數據非空體積像素的稀疏性和不規則性,從三維圖像中檢測物體是一項具有挑戰性的任務。目前,國內外已經對基于三維圖像的目標檢測技術開展全方位的研究。考慮對圖像特征的表達方式不同,主流的方法可以被分成兩類:基于體素(三維體積像素)的方法和基于點的方法?;隗w素的方法先使用體素化操作將圖像數據轉化為三維體素網格,之后通過特征編碼層生成基于體素的特征,并將其投射到鳥瞰圖上來生成目標邊界框。MV3D(多視點三維網絡)[6]使用稀疏卷積算法從非空體素中提取特征,這極大地提高了基于體素的三維物體檢測算法的推理速度。自此之后,基于體素的方法在學術界和工業界快速發展。PointPillars[7]沿著縱軸將圖像分割為柱體,顯著提高了圖像特征編碼的速度。這種方法具有簡單的網絡,不使用復雜的三維卷積,因此在工業界廣受歡迎。SA-SSD(基于點云的結構感知單階段三維物體檢測)[8]將每個體素的中心視為一個點,并將預測的每個點在三維邊界框中的位置概率作為額外的監督信息來訓練模型。PVRCNN(基于點和體素的區域卷積神經網絡)[9]使用稀疏卷積從體素中提取特征并生成候選提案,將多尺度體素特征編碼為關鍵點,并通過聚合候選網格周圍的關鍵點特征來細化邊界框。這種方法將點信息添加到體素中,從而改善了檢測性能,但推理速度非常低。Voxel-RCNN(基于體素的區域卷積神經網絡)[10]使用稀疏卷積作為骨干網絡來生成三維候選框,之后在三維候選框內分布均勻的網格點,并對網格點上的體素特征進行編碼。值得注意的是,體素池化模塊不需要點信息,這使得Voxel-RCNN 比PV-RCNN 算法具有更快的目標檢測速度。STD(稀疏到密集三維目標檢測)[11]通過通道級變換器改進了體素池化模塊,可以獲取候選提案的全局信息,這對兩階段中的目標細化非常有用。M3DeTR(通過變換器統一多點云、特征尺度和建模點云相互關系的三維目標檢測)[12]在多表示、多尺度和變換器之間建立了關系,并在實驗中證明關聯信息對檢測性能具有非常重要的作用。
另一方面,基于點的方法也可以用來預測目標的三維邊界框?;邳c的方法是對圖像數據進行直接處理,采用自底而上的方式從圖像中提取點特征,然后將其組合以獲得整個物體的特征。這種范式可以直接從雜亂且密集的三維圖像場景中進行目標檢測,但存在模型復雜度較高的掣肘。PointNet[13]使用多層感知機和通道最大池化操作從無序的點集中學習全局特征,并在KITTI 數據集上取得不錯的三維目標檢測效果。而Point-Net++[14]是一種能夠從圖像中學習局部和全局特征的層次化網絡,作為圖像檢測器中的基礎模塊,它廣泛用于各種網絡中語義特征的提取。Point-RCNN[15]采用兩階段的網絡設計直接在激光雷達圖像上進行目標檢測。模型在第一階段生成三維邊界框的候選提議,然后通過投票機制進一步篩選效果出色的邊界框;在第二階段,模型利用PointNet++作為特征提取器,將這些特征與第一階段生成的候選提議進行對齊和融合,進而精細化地預測目標的三維邊界框和目標類別。
相對于基于點的方法嚴重依賴耗時的點算子,基于體素的方法使用稀疏卷積的效率更高。在基于體素的檢測模型中,三維稀疏卷積網絡是一個重要組成模塊。盡管三維卷積骨架具有優越的效率,但在電力設備目標檢測中,細長設備(如電線桿、輸電線路等)通常具有較長的空間結構,而感受野有限的卷積神經網絡可能無法捕捉到這些細長設備的完整上下文信息,從而影響目標檢測的準確性。需要設計一種新的結構來編碼更豐富的上下文信息。
最近在二維目標分類[17]、檢測[18]和分割[19]等任務上的研究進展表明,與卷積神經網絡[20]相比,注意力網絡Transformer[21]架構在視覺任務上更為有效。主要原因是注意力網絡Transformer 中的注意力機制可以建立二維像素之間的遠程聯系。然而,直接將標準的Transformer 模塊應用于三維圖像體素是不合適的,主要存在兩點原因:一是非空體素在體素網格中分布稀疏;二是三維場景中的非空體素雖然稀疏,但數量仍然較大,例如在Waymo 自動駕駛數據集中,每幀通常包含90k 個非空體素。因此,像標準的Transformer 網絡一樣應用全連接的自注意力機制在計算上負荷巨大,急需新的方法來擴大注意力范圍,同時保證Transformer 中的每個查詢嵌入所涉及的體素數量較小來降低計算復雜度。
為了實現這一目標,本文提出體素注意力網絡來進行三維圖像目標檢測。體素注意力網絡能夠在三維體積像素層面高效應用,同時可以作為主流三維卷積骨干網絡的更優替代。針對非空體素的稀疏特性,本文提出了子流形體素模塊和稀疏體素模塊來作為體素注意力網絡的基本搭建模塊。子流形體素模塊嚴格操作在非空體素上來保證原始的三維圖像數據的幾何結構不變;而稀疏體素模塊可以在空白體素位置上輸出特征,更加靈活且能進一步擴大非空體素空間。此外,為了解決非空體素進行自注意力計算復雜度過高的問題,本文進一步提出兩種注意力機制:局部注意力和空洞注意力來應用在子流形體素模塊和稀疏體素模塊上。局部注意力關注鄰近區域以保留詳細特征信息;而空洞注意力通過逐漸增加搜索步長,可以在只涉及少數參與體素的情況下獲得更大的注意力范圍。為了驗證模型的有效性,本文在目標檢測通用數據集Waymo和KITTI以及云南省某輸變電區域實際圖像數據集上進行測試。實驗結果表明,基于局部注意力和空洞注意力的體素網絡的三維平均精度比主流的目標檢測模型SA-SSD、Point-RCNN 和STD 的精度高,證明了本文所提出算法的優越性。
本文面向稀疏圖像數據提出一種體素注意力網絡來求解目標檢測任務,該網絡可以應用于所有基于體素的三維目標檢測器。一方面,體素注意力網絡通過構建稀疏體素模塊和子流形體素模塊來處理輸入圖像數據中的空白體素與非空體素。另一方面,該網絡利用局部注意力與空洞注意力機制進行多頭注意力計算,捕獲體素間的近程與遠程聯系。下面,本文將介紹體素注意力網絡的整體架構和每個模塊的具體設計。
基于體素的三維目標檢測過程如下:首先將三維圖像數據進行體素化操作,形成稀疏的體素網格數據;然后使用三維主干網絡進行特征提取獲得豐富的三維信息,并轉換形成二維鳥瞰圖;接著利用傳統的二維檢測網絡和檢測頭在二維圖像上進行檢測、定位,對目標框進行預測,最后將二維結果重新投影到三維中得到最終結果。這種方法相對簡單且易于實現,同時也可以充分利用已有的二維目標檢測算法和技術。本文針對三維主干網絡,提出采用體素注意力網絡進行高效目標提取。主干網絡包含3個稀疏體素模塊和6個子流形體素模塊,如圖1所示。具體而言,稀疏體素模塊針對三維體素數據進行3倍下采樣,并在不同體素位置輸出特征。每個稀疏體素模塊后面放置2個子流形體素模塊,它們在擴大感受野的基礎上,通過維持模塊輸入、輸出的非空體素位置相同來保證原始數據的三維流形相似。在這些模塊中都進行多頭注意力計算,每個查詢體素由兩種精心設計的注意力機制確定:局部注意力和空洞注意力。他們用于捕獲體素數據中的近程與遠程聯系。之后,體素注意力網絡提取到的體素特征被映射為二維鳥瞰圖以便生成檢測框。值得注意的是,本文所提出的體素注意力主干網絡是靈活通用的,可以替換所有基于體素的三維檢測器網絡。

圖1 基于體素注意力網絡的圖像目標檢測模型Fig.1 The image object detection model for power equipment based on SVGA-Net
本節詳細描述子流形體素模塊和稀疏體素模塊的設計過程。其中,子流形體素模塊與稀疏體素模塊的主要區別在于:子流形體素模塊嚴格地對非空體素進行操作,即只在非空位置上進行特征提取,從而保持三維場景的流形結構;而稀疏體素模塊可以在空白體素位置上進行特征提取,并且可以根據需要擴展原始的空白體素空間,展現了更強的靈活性。
1.2.1 面向稀疏體素的自注意力機制
定義一個包含Ndense個稠密體素和Nsparse個稀疏體素的立方網格來表示實際的三維場景,其中Nsparse遠小于Ndense。在實際操作中,網絡使用Nsparse×3 的整數索引陣列Υ、Nsparse×d的對應特征陣列Ψ來表示非空體素,其中d為所選擇的維度。在每個子流形體素模塊和稀疏體素模塊中,使用多頭注意力機制來構建非空體素間的近程和遠程聯系。給定查詢體素i,注意力范圍Ω(i)?Υ由所提出兩種注意力機制確定。同時,網絡對參與注意力計算的體素j∈Ω(i)使用多頭注意力機制計算得到fattendi。定義fi、fj∈Ψ 分別為查詢體素和參與體素的特征,vi、vj∈?分別為查詢體素和參與體素的整數索引,網絡首先根據p=(v+0.5)r將索引vi、vj轉換為對應真實體素的中心坐標pi、pj,其中r為體素大小。之后,使用注意力機制計算得到查詢嵌入Qi、鍵嵌入Kj和值嵌入Vj為:
式中:Wq、Wk、Wv、Wpos表示可學習矩陣;Epos表示位置編碼矩陣。
式中:σ(?)表示Softmax 函數;Qi表示查詢嵌入;Kj表示鍵嵌入;Vj表示值嵌入;d表示維度。上述注意力機制如圖2所示。

圖2 注意力機制示意圖Fig.2 Schematic diagram of the attention mechanism
1.2.2 子流形體素模塊
子流形體素模塊在輸入的非空體素的位置上進行特征輸出,這間接保持了輸入流形的三維結構。在該模塊中,引入兩個子層來捕獲每個非空體素的遠程上下文信息。第一個子層是自注意力層,它結合了局部注意力和空洞注意力兩種機制;第二個子層使用了簡單的前饋層,并在每個子層之間進行殘差連接。該模塊與標準的Transformer注意力模塊有三點差異:(1)前饋層后附加一個線性投影用于通道特征調整;(2)使用批歸一化代替層歸一化;(3)移除所有dropout 單元,因為參與注意力計算的體素數量不多,隨機丟棄會妨礙整個的學習過程。
1.2.3 稀疏體素模塊
與子流形體素模塊只在非空體素上進行操作不同,稀疏體素模塊在空白體素位置上進行特征提取,這導致原始非空體素空間的擴張,因而它通常需要降采樣過程。由于空白體素沒有可用的特征fi,因此網絡無法從特征fi中來獲取Qi。為了解決這個問題,本文從參與注意力計算的特征fj中對空白體素位置的查詢嵌入Qi進行近似:
式中:Λ(?)為最大池化函數;fi為參入注意力特征。之后,同樣使用式(3)進行注意力機制計算。
稀疏體素模塊的架構類似于子流形體素模塊,區別在于在前者缺少了自注意力層的一個殘差連接,如上所述,因為此時稀疏體素模塊處理的空白體素沒有可用特征及降采樣等過程,輸入和輸出不再相同,因此刪除殘差連接。
注意力的計算范圍Ω(i)決定了每個查詢嵌入的參與體素i,并且是稀疏體素注意力中的關鍵因素。Ω(i)應該滿足以下要求:(1)Ω(i)應該覆蓋臨近體素以保證細粒度的三維結構;(2)Ω(i)應該盡可能擴展范圍來獲得大范圍的上下文信息;(3)Ω(i)中的參與體素應該盡可能少以避免重負荷的計算開銷。為了滿足上述條件,本文提出兩種注意力機制:局部注意力機制和空洞注意力機制來控制注意力的計算范圍Ω(i)。
1.3.1 局部注意力
定義函數Θ(st,ed,se),它輸出閉區間[st,ed]中以步長se為間隔的非空索引。例如,在三維空間下,函數Θ((0,0,0),(1,1,1),(1,1,1))表示在集合{(0,0,0),(0,0,1),…,(1,1,1)}中搜索8個非空索引。在局部注意力機制中,給定一個查詢體素i,由Rlocal參數化的局部注意力范圍Ωlocal(i)可以被表示為:
在本文實驗中Rlocal=(1,1,1)。局部注意力固定步長se為(1,1,1),以便在局部范圍Rlocal內利用每個非空體素來保留整體的細粒度結構。
1.3.2 空洞注意力
空洞注意力的范圍Ωdilated(i)可以由一組相互無關的參數列表:
Ωdilated(i)可以被表示為:
式中:表示集合減法運算符;∪表示取所有非空集合的并集。
本節介紹所提出的體素注意力網絡在通用數據集Waymo和KITTI以及實際電網輸變電場景數據集的應用效果。首先,介紹目標檢測通用數據集和云南省某輸變電區域的三維圖像數據集;之后,介紹實驗設置及網絡參數選擇;最后,將所提出網絡在以上三種數據集上與其他主流的目標檢測網絡進行對比實驗并對結果進行分析。
Waymo 數據集共包含1 000 個序列,其中訓練集包含798 個序列(約158 000 個圖像樣本),測試集包含202 個序列(約40 000 個圖像樣本)。KITTI 數據集包含7 481 個訓練樣本和7 518 個測試樣本。官方評估指標都是使用閾值為0.7的旋轉交互比來計算三維平均精度。
對于實際電力數據集,本文選擇的是云南省某輸變電作業場景的三維圖像數據集。在該場景下,主要使用激光雷達進行數據采集。該數據集包含斷路器、避雷器、GIS 進線套管、電容、電感、電壓互感器、電流互感器、作業人員共8種對象。每個對象的圖像實例數量如表1所示。

表1 云南省某輸變電場景圖像實例數量Table 1 Number of image instances in a transmission and transformation scene in Yunnan province
在Waymo和KITTI數據集上,本文隨機選擇5 000個圖像樣本用于訓練,并在測試集中隨機選擇1 000 個圖像樣本用于測試。網絡的學習率取0.01,批大小為32,總共進行100輪訓練。對于云南省某輸變電場景圖像數據集,隨機選擇90%用于訓練,余下10%用于測試。網絡的學習率為0.003,批大小為32,總共進行250 次訓練。在三種數據集上,網絡均使用Adam 優化器進行優化。本文所有的算法都是基于Pytorch深度學習框架使用Python3.8.0 進行實現的,所有實驗都是在Intel Core i7-12700KF 處理器和英偉達GeForce RTX 3070顯卡上進行的。
首先在Waymo公開數據集上與主流目標檢測方法進行對比實驗以評價所提出注意力網絡的有效性。根據Waymo數據集官方劃分,分別列出難度為簡單、中等和困難三類測試樣本的三維平均精度,結果如表2所示??梢钥闯?,在簡單類圖像數據上,所提出算法取得89.82%的平均精度,比SA-SSD 高出1.40 個百分點;在中等類圖像數據上,所提出算法取得82.06%的平均精度,比經典的Point-RCNN 高出6.75 個百分點;在困難類圖像數據上,所提出的算法取得79.03%的平均精度,比通用的STD模型高出7.32個百分點。

表2 本文算法與其他算法在Waymo數據集上的三維平均精度Table 2 Three-dimensional average precisions of the proposed algorithm and other algorithms on the Waymo dataset %
其次,在KITTI 公開數據集上與主流目標檢測算法進行對比實驗。同樣地,根據KITTI 數據集中的官方劃分,圖像數據按照檢測難度分為簡單類、中等類和困難類共三類。實驗結果如表3所示。在簡單類圖像數據上,本文所提算法的三維平均精度為89.01%,比SA-SSD高出0.71個百分點;在中等類圖像數據上,本文所提算法的平均精度為83.98%,比經典的Point-RCNN 高出9.16個百分點;在困難類圖像數據上,本文所提算法的平均精度為78.49%,比通用的STD 高出7.22個百分點。這證明了所提出的體素注意力網絡在求解三維圖像目標檢測任務上的有效性。

表3 本文算法與其他算法在KITTI數據集上的三維平均精度Table 3 Three-dimensional average precisions of the proposed algorithm and other algorithms on the KITTI dataset %
最后,在云南省某輸變電作業場景圖像數據集上進行實際目標檢測測試,并與SA-SSD、Point-RCNN 和STD 這三種優秀算法進行比較,結果如表4所示。可以清晰看出,所提出的體素注意力網絡取得最高的平均精度88.06%并占用最小的模型空間25.23 MB,與上述三種模型相比,綜合性能較強。

表4 不同算法綜合性能比較Table 4 Comprehensive performance comparison of different algorithms
同時,針對稀疏體素模塊和子流形體素模塊進行消融實驗,去除上述模塊后,性能退化為與VoxelNet 相當,稀疏體素模塊相比較于子流形體素模塊缺少殘差網絡連接,可以擴大原有的非空體素空間特征,具有更強的靈活性,但對特征提取的性能提升影響較弱,子流形體素模塊嚴格作用于非空體素,是特征提取的主要模塊。
為了更清晰地展示上述四種模型在電網實際數據集上的表現,本文展示模型在不同訓練階段的三維平均精度,如圖3 所示。50 輪訓練后,三維平均精度達到60%以上;100 輪訓練之后,三維平均精度達到75%以上;200 輪訓練之后,三維平均精度穩定在80%之上,超過其他三種模型,并在最終達到88.06%。

圖3 模型精度效果Fig.3 Model accuracy performance
選取輸變電場景的三維圖像數據集中的兩個場景進行可視化。如圖4及圖5所示,GIS進線套管、避雷器、人員、斷路器、電流互感器等設備均被檢測出來。證明本文所提出的算法可以有效地應用于實際場景的目標檢測中。

圖4 電力設備及人員目標檢測效果圖Fig.4 Illustration of object detection for power equipment and personnel

圖5 電力設備目標檢測效果圖Fig.5 Illustration of object detection for power equipment
本文基于一種體素注意力網絡對三維圖像數據進行目標檢測。一方面,針對稀疏圖像數據,網絡精心設計稀疏體素模塊和子流形體素模塊來分別提取稀疏圖像和稠密圖像特征。另一方面,針對傳統注意力網絡對圖像所有區域做信息交互而導致計算復雜度高的問題,本文所提出網絡分別基于局部注意力機制和空洞注意力機制,使模型捕獲圖像近程和遠程的特征聯系,同時保證較低的計算量。為驗證所提出算法的有效性,本文在公開數據集Waymo和KITTI以及輸變電真實場景圖像數據集上進行對比實驗。實驗結果表明,所提出的體素注意力網絡在各數據集上的精度比主流的SA-SSD、Point-RCNN 和STD 高出最少1.40 個百分點。未來將進一步研究本文所提出的目標檢測模型在更多電力場景中的應用。