?

基于Transformer的3D點云場景識別研究與實現

2024-01-24 14:36胡麗娜曹政
電腦知識與技術 2023年34期
關鍵詞:回環描述符深度

胡麗娜 曹政

摘要:場景識別是智能機器人實現回環檢測、定位任務的關鍵,該方法通過分析、提取場景中特征從而推測所處位置是否已到訪過。由于視覺傳感器視場范圍小、易受光照影響的缺點,基于3D點云的場景識別方法成為計算機視覺研究領域的熱點。文章首先對研究背景和一些主流場景識別方法進行介紹。隨后,文章對提出算法的主要步驟進行介紹,包括數據編碼模塊、Transformer模塊以及NetVLAD描述符生成模塊。最后,文章在公開數據集KITTI上定量地對比了該文方法和其他開源算法。結果表明,文章提出的方法達到了SOTA(state-of-the-art) 水準。

關鍵詞:機器人;自動駕駛;場景識別;回環檢測;3D點云

中圖分類號:TP391? ? ? 文獻標識碼:A

文章編號:1009-3044(2023)34-0001-03

開放科學(資源服務)標識碼(OSID) :

0 引言

場景識別技術[1]涉及計算機視覺與機器人環境感知技術。它旨在通過機器人對當前環境的掃描數據進行特征提取,完成對環境的分析與識別,對是否曾經訪問過該場景做出判斷。它可以用于同時定位與地圖構建(Simultaneous Localization and Mapping,SLAM) 的回環檢測環節[1-2]。若當前數據和歷史數據之間被檢測出存在回環,將這兩數據之間的變換矩陣加入里程計的優化當中,可有效地消除里程計因相鄰數據匹配帶來的累積誤差。此外,它還可以應用于基于地圖的定位任務。通過當前數據與地圖數據之間的回環檢測,可以快速地定位機器人在地圖中的位置,實現機器人全局位置的初始化,為下游規劃、導航任務提供起點信息。對該技術進行研究不僅能提升SLAM方法建圖的準確性,還能在GPS拒止條件下為機器人的自主定位提供一種備選的方案。因此,具備理論價值和實際應用價值。

基于3D點云的場景識別技術大體上可分為兩個方向[1]:基于手工特征的場景識別與基于深度學習的場景識別。手工特征方法首先通過直方圖、體素化、投影等方式生成描述符,隨后通過描述符之間的相似度來判斷場景之間的相似度。例如,Scan Context[3]是典型的投影方式手工特征方法,它沿直徑方向和中心角方向將點云分割為20[×]60大小的子區域,通過記錄每個區域內點云的最大高度生成20[×]60的矩陣(即沿z軸方向將點云投影成一個平面描述符),隨后通過暴力匹配的方式計算描述符之間的相似性;LiDAR IRIS構建描述符的方式和Scan Context相類似,區別在于LiDAR IRIS[4]將虹膜間的相似度計算方法引入描述符中,提高了計算效率與準確性。深度學習方法則是通過事先標注好的訓練數據對深度模型進行訓練,當模型擬合后通過輸入測試數據便能知曉是否發現回環。OverlapNet[5]是一個典型的基于卷積神經網絡(Convolutional Neural Network,CNN) 構建的深度模型,它利用深度、灰度、語義等信息作為輸入,能夠在復雜環境中估計回環信息。本文將計算機視覺領域現階段比較火熱的Transformer[6]模塊引入傳統CNN結構當中,隨后利用NetVLAD模塊對特征進行整合,并生成一維向量描述符用于計算描述符間的相似性。

1 算法設計

1.1 算法流程概述

本文算法的整體流程如圖1所示,以KITTI 08序列中點云數據(第1幀和第1511幀)為例,數據編碼模塊首先將3D點云數據轉換為深度圖像(見圖1中[1×64×90]0大小的藍色條狀部分)。隨后,Vgg16網絡從輸入的深度圖像中提取特征。接著,Transformer模塊利用注意力機制對特征圖進行進一步的學習,對特征進行深度提取。最后,NetVLAD模塊將Vgg16網絡和Transformer模塊的輸出轉換為具有旋轉不變的一維向量(全局描述符,圖1中藍綠黃間隔的條形圖所示)。通過計算描述符之間的相似程度完成場景的識別。

1.2 數據編碼模塊

由于單幀點云內點的數量眾多,影響訓練效率。因此在送入深度網絡訓練之前,會將其轉換為深度圖像、灰度圖像或語義圖像,對數據進行壓縮以減小計算量。本文使用深度圖像作為輸入數據,深度圖像中每一個坐標位置[(u, v)]與點云中每個點[pi(x,y,z)]間的轉換關系如式(1) 所示:

[uv=12[1-arctan(y,x)?π-1]?w[1-(arcsin(z?r-1)+fup)?f-1]?h] (1)

其中,[r]是每個點到原點的距離,[fup]是傳感器是視場角的上界,[f=fup+fdown]是傳感器的垂直視場角,[w]和[h]分別是生成深度圖像的寬度和高度。此外,深度圖像中每一個位置的像素值[I(u,v)=r]。

1.3 Transformer模塊

與卷積神經網絡不同,Transformer并不需要通過堆疊多層卷積核以擴大感受野,而是通過注意力(Attention) 機制對整張深度圖像進行特征提取,以更好地捕捉全局信息,使得深度模型有更好的魯棒性,也更適合于處理時間較長的場景識別任務。

本文提出的Transformer結構如圖2所示,整體上分為空間注意力機制部分和通道注意力機制兩部分。從Vgg16輸出的特征圖中并不是所有區域對場景識別任務都同樣重要,只有任務相關區域才是重心,空間注意力模型的作用則是針對這部分重心進行處理。通道注意力模型則是對空間注意力模塊的輸出進行建模,評估其各個特征通道的重要程度,并針對任務類型增強或抑制這些通道。每種注意力模型具體使用的操作見圖2虛框中內容。

1.4 NetVLAD模塊

NetVLAD是由傳統VLAD算法改進而來,以使其能夠參與深度網絡訓練。該算法的實現分為四個步驟:

1) 通過深度網絡模型將Transformer模塊輸出的[N]個[D]維特征描述子[xi]劃分為[k]個聚類中心[ck];

2) 計算分配矩陣[ak(xi)],其公式如式(2):

[akxi=e-αxi-ck2j=1ke-αxi-cj2]? ? ? ?(2)

當[xi]和[ck]越接近,[ak(xi)]趨近于1,反之越趨近于0;

3) 通過分配矩陣將特征描述子到聚類中心的殘差進行累加,求取加權殘差向量和,即獲取一個[K×D]維的全局特征,其公式為(3):

[V(k)=i=1Nak(xi)(xi-ck)]? ? ? ? ?(3)

4) 將對全局特征[V(k)]通過多層感知機(Multi-layer Perceptron,MLP) 進行通道維度的降維操作,得到最終所需要的一維向量描述符。

2 實驗與評估

本文使用公開數據集KITTI[7]來評估本文方法的性能,并和兩個傳統手工方法Scan Context、LiDAR IRIS以及兩個深度學習方法OverlapNet、MinkLoc3D進行比較。本文在KITTI數據集的03-10序列上對提出模型進行訓練,并將02序列用作驗證集,最終在00序列上對各個算法的性能進行評估。實驗中具體設定如下,64線雷達點云數據被編碼為[1×64×900]的深度圖像。此外,NetVLAD模塊的聚類中心數量[k]被設定為64。對于評價標準,本文使用了深度學習相關方法常用的Recall@1和Recall@1%作為指標。本文提出方法與對比方法的結果如表1所示:

從表1中可以看出,本文方法在KITTI 00序列上的表現要優于所有對比方法。其中召回率Top1(Recall@1) 為0.891,這說明檢索到的正樣本數量占數據中所有正樣本數量的89.1%,查全率接近9成。比第二名MinkLoc3D高出1.5%。此外,如果將檢索范圍從Top1變為Top1%,即對于每一幀數據選出總幀數1%數量的候選幀,只要結果之中有一幀與該檢索數據的回環真值一致則判定檢索成功,則本文提出方法的查全率為95.2%。實驗結果表明,將Transformer模塊引入深度學習的場景識別方法之中有助于提升算法的性能,也表明本文方法達到了現有方法的水準。

圖3展示了所提出算法在KITTI 00序列上的場景識別效果,其中粉色線條代表00序列的整體軌跡,黃色線條代表已走過的路徑,黑色代表當前位置。在黑點所在的T形路口上,車輛兩次經過該路口,本文算法都能夠成功地檢索到了這兩次回環。這意味著無論從路口的哪個方向進入該位置,該算法都能夠準確地識別出該位置已到訪過。說明該算法同時具備旋轉不變性和準確性。

3 結束語

本文基于深度學習網絡和Transformer模塊設計了一種新的場景識別方法,并在公開數據集KITTI上將提出方法與幾種前沿方法進行了對比。定量的實驗結果表明,該算法具備較高的回環檢測性能,實現了較高的召回率(Recall@1 0.891和Recall@1% 0.952) 。實驗也表明該算法尚存在提升的空間,在一些特殊情況下檢索不到回環數據或找不到正確的回環。在未來,可以通過設計新的卷積神經網絡對Vgg16進行替換以獲得更好的圖像特征。此外,還可以設計多層的Transformer結構,通過特征級融合的方式提升網絡的性能。

參考文獻:

[1] 趙夢成,黎昱宏,張宏宇.ROS的服務類移動機器人SLAM導航的研究[J].電腦知識與技術,2020,16(9):274-276.

[2] 劉煥釗,蔣林,郭宇飛,等.基于三維點云轉換視覺圖像的回環檢測算法[J].組合機床與自動化加工技術,2023(4):91-95,99.

[3] KIM G,KIM A.Scan context:egocentric spatial descriptor for place recognition within 3D point cloud map[C]//2018 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS).ACM,2018:4802-4809.

[4] WANG Y,SUN Z Z,XU C Z,et al.LiDAR iris for loop-closure detection[C]//2020 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS).IEEE,2020:5769-5775.

[5] CHEN X,L?BE T,MILIOTO A,et al.OverlapNet:loop closing for LiDAR-based SLAM[C]//Robotics:Science and Systems XVI.Robotics:Science and Systems Foundation,2020.

[6] 張瑋智,于謙,蘇金善,等.從U-Net到Transformer:深度模型在醫學圖像分割中的應用綜述[J] 計算機應用.[2023-10-27]. https://kns.cnki.net/kcms2/article/abstract?v=QGW0A_jem_lpuq_w9i3Oshuspl1mJthja0UXxm2oilNlHLcukmxPOS2rH 5DHDd_0vfZPw5c3HSQjZHuGWbwu-tvtfYt5ssfoMd0R_0O_jC eBtiOCF4cw==&uniplatform=NZKPT.

[7] GEIGER A,LENZ P,URTASUN R.Are we ready for autonomous driving?The KITTI vision benchmark suite[C]//2012 IEEE Conference on Computer Vision and Pattern Recognition.IEEE,2012:3354-3361.

[8] KOMOROWSKI J.MinkLoc3D:point cloud based large-scale place recognition[C]//2021 IEEE Winter Conference on Applications of Computer Vision (WACV).IEEE,2021:1789-1798.

【通聯編輯:光文玲】

猜你喜歡
回環描述符深度
基于結構信息的異源遙感圖像局部特征描述符研究
深度理解一元一次方程
基于AKAZE的BOLD掩碼描述符的匹配算法的研究
深度觀察
深度觀察
深度觀察
透 月
Linux單線程并發服務器探索
利用CNN的無人機遙感影像特征描述符學習
學習“騎撐前回環”動作的常見心理問題分析及對策
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合