国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

USME: 統一SLAM度量與評測技術研究

2021-02-03 03:36:30屈楨深張啟航楊志偉董鴻宇
導航定位與授時 2021年1期
關鍵詞:位姿魯棒性軌跡

屈楨深,張啟航,楊志偉,董鴻宇

(哈爾濱工業(yè)大學,哈爾濱 150001)

0 引言

隨著智能無人系統的不斷發(fā)展,同時定位與建圖(Simultaneous Localization and Mapping,SLAM)技術作為無人系統感知自身狀態(tài)與周圍環(huán)境的關鍵技術,已經成為了當前科技研究的熱點領域。針對現存SLAM算法,如何建立一致、定量的評估框架,以及用什么樣的具體評估指標集和測試方法來實現評估,從而既滿足不同算法統一評估的需求,又可針對特定應用場景進行專項評估,成為了當前待研究的重要課題。

SLAM算法研究初期,大多論文僅針對具體測試數據給出測試指標,不同方法之間缺乏一致性。2015年,Nardi等提出了SLAMBench[1]評估框架,該框架的主要工作是以不同的方式實現KinectFusion算法,然后通過ICL-NUIM數據集對其進行評估,比較不同方法實現時SLAM系統的性能、精度和能耗。2018年,在其后續(xù)的工作SLAM-Bench2[2]中, Bodin等在SLAMBench的基礎上增加了框架的適用性,具有與數據集無關,支持即插即用的特點。評價指標方面,在計算速度、算法精度和功耗之外增加了SLAM系統內存使用的評估指標,以全面評估算法在硬件平臺上的性能。該方法還支持使用多種數據集(包括ICL-NUIM、TUM RGB-D和EuRoC等)對多種SLAM算法進行評估。2019年,Zhao等提出了新的SLAM框架GSLAM[3],該框架不僅能夠提供性能評估的功能,還開發(fā)了對應的工具包,以便于定制化SLAM系統的開發(fā)。GSLAM將輸入數據集、SLAM算法實現、可視化以及SLAM應用全部置于一個統一的框架中。同年,Li等針對增強現實中的單目視覺慣性SLAM算法提出了一種評測方法[16],使用手機在真實場景中采集數據制作數據集,并通過跟蹤精度及魯棒性、初始化質量和重定位時間對SLAM算法進行評測。這些評估框架可以實現不同SLAM算法在同一框架下進行比較,但在性能評估方面還存在評價指標較為單一的問題。

對于測試SLAM算法性能的數據集主要包含兩種,一種是在仿真環(huán)境中獲取,而另一種是在實際場景中進行采集。針對第一種,2014年,Handa等利用POVRay作為渲染軟件為RGB-D SLAM生成兩個評測序列[24]。該數據集只含有用于定位和局部深度圖的真實值,而且圖像的數量和場景的復雜度都十分有限。2016年,Ros等提供了多個含有不同天氣、季節(jié)和光照條件的序列用于評測SLAM的性能[25],還提供了多視角相機的圖片數據和標定數據。但是該數據集僅以5fps的幀率進行錄制,無法對實時SLAM系統進行評估,而且圖片的質量也較低。針對第二種在實際場景中采集的數據集,現有的典型SLAM數據集,如KITTI數據集[4]、TUM數據集[5]和EuRoC數據集[6]等,通過使用不同的傳感器在不同的環(huán)境中采集數據,為SLAM系統的評估提供了較好的參照,但它們各自也存在場景不夠豐富、性能評估指標比較單一等問題。

本文針對現有評估框架和數據集存在的問題,提出了一類統一SLAM度量與評測(Unified SLAM Measurement and Evaluation,USME)框架。首先該框架針對SLAM性能從定位精度、地圖構建以及魯棒性等方面建立了指標體系。之后針對現有數據集存在的場景單一、測試方法缺乏針對性等問題,提出了數據集生成方式,并對典型SLAM算法長時間運行漂移、閉環(huán)檢測能力和算法魯棒性等方面的性能進行評估。最后建立了多體協同SLAM子系統性能、全局狀態(tài)以及協同SLAM效率的評估方法。

1 指標體系

SLAM系統通過搭載環(huán)境感知傳感器,利用環(huán)境觀測信息實現了實時定位與建圖[7]。所以為了對SLAM系統進行全面準確的評估,本文分別從SLAM的定位精度、地圖構建、魯棒性等方面對SLAM系統進行評估。在定位精度評估指標中,通過絕對軌跡誤差和相對位姿誤差對SLAM算法進行評估;在建圖方面,通過點云的重構誤差以及3D重構能力、點云稀疏程度和噪聲的比例來綜合評判SLAM所建的地圖;在魯棒性方面,則是通過跟蹤的魯棒性和跟蹤丟失時重定位的時間進行評估。最后通過初始化時間、內存的使用和能耗對SLAM系統的其他方面進行評估。其主要框架如圖1所示。

圖1 SLAM算法性能指標Fig.1 SLAM algorithm performance metrics

1.1 SLAM算法定位精度評估指標

無人系統通過SLAM定位,計算未知環(huán)境中自身的位置與姿態(tài)。SLAM定位精度也是SLAM性能最直接的評價指標之一,可通過絕對軌跡誤差和相對位姿誤差進行測算。

(1)絕對軌跡誤差

在已知真實軌跡的情況下,絕對軌跡誤差是直接測量真實軌跡點和估計軌跡點之間的差值。首先通過時間同步機制,在統一的時間度量下將估計軌跡點與真實軌跡點關聯起來;之后將軌跡進行對齊,過程如圖2所示;最后計算每個點對的差值,并輸出它們的均方根作為最后的絕對軌跡誤差。該指標可直觀地反映全局的位姿誤差,同時也可以很好地反映SLAM算法的性能。

圖2 絕對軌跡誤差示意圖Fig.2 Schematic diagram of absolute trajectory error

(1)

所以整條軌跡的絕對軌跡誤差可以定義為

(2)

其中,ΔRi表示估計軌跡狀態(tài)與真實軌跡狀態(tài)之間的旋轉矩陣;N表示軌跡上所有狀態(tài)的數量。

絕對軌跡誤差通過最直觀的方式給出了整條軌跡的誤差,其優(yōu)點是易于比較。但它對誤差發(fā)生的時間比較敏感,誤差發(fā)生在軌跡剛開始時會比發(fā)生在結束時產生更大的誤差。因此除了絕對軌跡誤差,相對位姿誤差也被廣泛使用,從而提供了更多信息。

(2)相對位姿誤差

相對位姿誤差是計算位姿變化量的差值。通過時間同步機制,在統一的時間度量下計算真實軌跡與估計軌跡每隔一段時間位姿的變化量,然后對該變化量做差,以獲得相對位姿誤差,該指標主要用于估計系統的漂移量。

相對位姿誤差的基本思想是當SLAM里程計在沒有全局參考時,通過測量不同時刻狀態(tài)之間的相對關系來評估軌跡的質量,其過程如圖3所示。

圖3 相對位姿誤差示意圖Fig.3 Schematic diagram of relative pose error

沿著軌跡選擇K個狀態(tài)對dk作為一個集合I

(3)

其中,e>s,對于每一段dk的相對位姿誤差δdk為

(4)

所以整條軌跡的相對位姿誤差可以記作

(5)

由于相對位姿誤差不是一個單一的量,而是滿足某些標準的所有子軌跡的誤差集合,因此可以通過計算中值和平均值等統計數據,這與絕對軌跡誤差相比能夠提供更多的信息。

1.2 SLAM算法地圖構建評估指標

地圖構建作為SLAM系統的另一個重要功能,地圖的質量直接影響了后續(xù)路徑規(guī)劃或者導航等其他功能的成功率。針對3D點云地圖[8],本節(jié)基于點云的幾何誤差、3D重構能力和稀疏程度等對3D點云地圖進行評估。

(1)點云的幾何精度

由于設備的精度、人為操作或者環(huán)境因素等影響,SLAM系統輸出的點云數據中不可避免地會出現一些離群點。為了能夠更加精確地計算點云的幾何精度,在進行點云配準之前,需要對這些點進行剔除。剔除通常使用統計異常值去除(Statistical Outlier Removal,SOR)濾波器。其主要思想是計算每一個點鄰域內所有臨近點的平均距離μ和標準差σ,然后篩選掉μ±ασ以外的點,此處的α取決于所分析鄰域的大小。剔除離群點后使用最近點迭代(Iterative Closest Points,ICP)[9]算法進行點云的配準[10]。ICP算法是一種點集對點集的配準方法,基于最小二乘的最優(yōu)匹配,重復進行確定對應關系點集到計算最優(yōu)剛體變換的過程

(6)

當點云配準之后,通過計算點云之間的距離評估SLAM構建地圖的幾何精度。最常用的方法是點云到點云的直接計算(Cloud-to-Cloud, C2C)。利用該方法比較3D點云地圖是最簡單直接的,不需要對點云進行分割或者特征提取。針對每一個需要比較的點,該算法都會在真實環(huán)境點云中尋找最近的點,同時計算它們的歐幾里得距離,如圖4所示。

圖4 點云距離計算示意圖Fig.4 Point cloud distance calcuation schematic diagram

在計算估計點云與真實點云之間的距離時,可能不是點對點之間的距離計算,而是一個點集對一個點集之間的計算。因此在C2C算法中,采用豪斯多夫距離(Hausdorff distance)計算點云之間的距離。點集A與點集B之間的豪斯多夫距離為

(7)

其中,a和b為點集A和B中的點,而d(a,b)表示a和b之間的歐幾里得距離。式(7)的含義是在A中選擇一個點a,然后計算它和B中所有點的歐幾里得距離,并選擇最小的一個;之后遍歷A中的點,選擇結果最大的一個作為豪斯多夫距離。這種方法只依賴于3D點云數據中點的密度變化,在生成點云時,如果可以使點云具有相似的局部密度,則可以最小化距離測量的誤差。

(2)點云地圖的其他評估指標

通過計算點云距離可以得到點云的幾何精度。但是針對點云地圖,只通過一個幾何精度并不能全面地評判其好壞。所以為了更客觀全面地評估SLAM算法的地圖構建能力,在幾何精度的基礎上又提出了三個指標,分別為點云的噪聲、點云稀疏程度以及3D重構能力。

當通過濾波器對點云進行過濾后,依然會存在一些無關點,這些點可以通過視覺上的檢查直接進行剔除,噪聲點的百分比就是清理掉點的數量與原始點云中點的數量的比。所以點云的噪聲可以定義為

(8)

其中,Nn和Nc分別代表清除掉的無關點數量和點云的總點數,同時Nc也可以反映點云的稀疏程度。像一些點云準確率很高的算法如ORB-SLAM[8,11],由于太過稀疏,幾乎不能應用于導航任務[12];反而像LSD-SLAM[13]這種準確率中等,但可以提供半稠密點云地圖的算法更適用于導航任務。對于3D重構這項指標,通過視覺上觀察就可以對其進行評價。

在對SLAM系統生成的3D點云地圖進行評估時,并不能僅僅只是關注精度的問題,還需綜合考慮該SLAM算法的應用場景。例如應用于導航或者路徑規(guī)劃時,一個高精度的稀疏點云地圖幾乎沒有任何幫助,但一個精度較低的半稠密或者稠密點云地圖往往會有更好的效果[14]。

1.3 SLAM算法魯棒性評估指標

當SLAM系統運行時,可能會受到各種各樣來自于外界的干擾,如光照的變化、移動物體等。一個魯棒性較好的SLAM系統可以對這些干擾做出正確的判斷,并盡可能地減少這些干擾對其產生的影響,從而保證系統的穩(wěn)定運行[15]。本節(jié)則通過跟蹤的魯棒性以及重定位的時間對SLAM系統的魯棒性進行評估。

(1)跟蹤的魯棒性

在極端情況下,視覺軌跡可能會出現跟丟的情況。一個魯棒性較好的系統應該盡可能快地從丟失狀態(tài)中恢復,并且可以將新的位姿與之前的軌跡相結合。假設在跟蹤時,發(fā)生了一小段丟失的情況。其中s1和s2分別代表丟失前后的兩段軌跡,這兩段軌跡相對于真實軌跡之間會分別存在一個旋轉矩陣和平移向量

s1→{R1,t1},s2→{R2,t2}

(9)

對于一個魯棒性較好的SLAM系統,子軌跡s1和s2應該能夠較好地與真實軌跡進行對齊,因此{R1,t1}和{R2,t2}應該比較接近;否則,估計軌跡將會與真實軌跡存在較大的偏差,從而造成全局的不一致性,如圖5所示。

圖5 SLAM系統跟蹤魯棒性示意圖Fig.5 SLAM system tracking robustness schematics diagram

通過SLAM系統獲得一個跟蹤結果時,其中可能發(fā)生多段丟失的情況。首先根據這些丟失的情況將軌跡進行分段,然后使用上述方法將每一段估計軌跡和真實軌跡進行對齊。通過比較兩個臨近子軌跡的變化來計算重定位誤差

(10)

其中,n代表總共子軌跡的數量;ξi和ξi+1則代表相鄰兩段子軌跡與其對應真實軌跡之間的相似變化。

一個好的SLAM系統應該可以從丟失狀態(tài)中快速恢復,并且回到正確的位置。同時丟失的時間越短,重定位的誤差越小,SLAM系統的魯棒性也就越好。

(2)重定位時間

跟蹤的魯棒性是用來反映SLAM系統穩(wěn)定性的性能指標,同時在軌跡發(fā)生丟失后,SLAM系統完成重定位的時間也十分重要。通過強迫系統進入重定位階段可以準確地獲取重定位時間,為此設計了一種測試方式。首先制作一個測試序列,其具體方式是:圍繞一個有紋理的物體平穩(wěn)旋轉幾圈。在繞過第一圈之后,將后面的一些幀換成黑色幀,其中黑色幀的時長定為τ。在第一圈時,一個SLAM系統可以將其所看到的視覺信息存儲起來,當黑色幀到來時,它被迫進入重定位階段;在當黑色幀結束后,會有一段時間的原始幀數據,SLAM系統可以在這段時間內進行重定位。通過手動添加黑色幀的方式可以準確地計算出重定位的時間,即黑色幀結束到開始輸出估計姿態(tài)的時間差。

假設將tsi作為第i次黑色幀結束的時間,tei是在第i次黑色幀結束后輸出的第一個有效位姿的時間。如果一共插入了N次黑色幀,那么平均的重定位時間可以定義為

(11)

1.4 SLAM算法的其他評估指標

(1)初始化時間

對于SLAM系統,一個快速準確的初始化可以帶來很好的用戶體驗。但是不同的SLAM系統可能使用不同的初始化策略。原始的PTAM算法需要用戶的交互,基于濾波的MSCKF需要設備保持靜止一段時間,而ORB-SLAM2則能夠自動地選擇兩幀用于初始化。如果使用SLAM系統傳回來的第一個有效位姿作為初始化結束的標志,其后面的估計位姿可能不是一個很好的估計結果。因此,通過判斷運動的估計尺度是否穩(wěn)定來確定初始化是否完成[16]。

在t時刻,將SLAM系統估計軌跡的尺度定義為s(t),當SLAM系統完成初始化時,需要達到一個穩(wěn)定的尺度。所以在時間[t,t+Δt]內定義最大相對尺度r(t)為

(12)

當r(t)小于某個閾值rinit時,就可以認為SLAM系統估計軌跡的尺度已經穩(wěn)定,系統已經完成初始化,此時的t記作tinit,表示SLAM系統的初始化時間。

除了初始化時間,在初始化時估計軌跡尺度的準確性也非常重要。計算在tinit時的對稱相對尺度誤差[16]為

(13)

其中,sg代表每條軌跡的全局尺度。對于視覺SLAM系統,可以通過將所有結果與真實軌跡進行對齊來獲得sg;對于視覺慣性SLAM系統[17, 26],則需要將sg設為1,因為對其來說,使用準確的尺度進行初始化是非常重要的。

(2)內存的使用及能耗

內存的使用及能耗是指SLAM系統在工作時所消耗的內存及能量。不同的使用者對于SLAM系統的需求可能不同,他們所使用的硬件平臺也不盡相同。有一些可能使用一些大型的移動設備,它們擁有較高的功耗和性能較好的處理器;而有一些則可能使用一些小型的移動載體[18],如小型的無人機,像這樣的載體設備對于功耗的需求和處理器的性能就會較為敏感。然而,SLAM系統,往往會消耗大量的內存,但是對于內存的消耗通常不會作為評估的標準。所以為了更好地幫助使用者選擇適合他們的SLAM系統,應該將功耗以及內存的使用作為兩個評估SLAM系統的重要指標。目前,SLAM算法的動態(tài)內存消耗可以在每一幀的水平上進行精確測量,同時也可以計算整體的內存消耗。而對于SLAM系統能耗指標的測量,可以采用一種常用的傳感器應用程序編程接口(Application Programming Interface, API)對其進行測量。

2 數據集

對SLAM算法進行評估時,往往需要使用數據集[19]。一個通用準確的數據集對于視覺SLAM系統的發(fā)展是非常重要的。目前,數據集的種類主要有兩種,一種是在實際環(huán)境中采集的數據集,現有的典型數據集有TUM RGB-D數據集、KITTI數據集和EuRoC MAV數據集。它們各自的特點如表1所示。

表1 典型SLAM數據集的特點

同時TUM數據集和KITTI數據集也提供了軌跡評估工具,可以通過絕對軌跡誤差和和相對位姿誤差對估計軌跡進行評估。但在真實環(huán)境中采集數據集也存在很多困難:

1)相機的位置和姿態(tài)難以獲取。準確地測量相機在每一幀的6自由度位姿是一項艱巨的任務。

2)準確的校準參數獲取較為復雜。大多數視覺SLAM系統都需要對相機的內參進行標定,如果是視覺慣性[20-21]SLAM系統,還需要對慣性測量單元(Inertial Measurement Unit, IMU)以及相機和IMU的外參進行標定。

3)無法模擬失真場景。實際場景中相機的畸變參數是固定的,并且人為不可控,所獲得的畸變效果不一定可以滿足使用的需求。

4)標簽標注較為困難。在一些結合語義信息的SLAM系統需要對每一張圖片進行語義的標注,但通過手動的方式對圖片進行標注需要大量的人力,同時也無法保證在每個物體的邊緣都有像素級的精度。

而另一種數據集是在仿真環(huán)境中進行采集。在真實環(huán)境中采集數據集存在以上困難,而在仿真環(huán)境中這些問題都可以輕松地被解決。首先在仿真環(huán)境中,可以準確地獲取相機的運動軌跡、任意時刻的姿態(tài)和相機的參數;同時相機的參數還可以根據自己的需求進行更改,從而實現了獲取的圖片中含有運動模糊等畸變效果。另外,針對環(huán)境的語義分割結果也可以實現像素級的精度,同時在仿真環(huán)境中,使用者可以使用任何載體搭載相機來獲取數據;除此之外,在仿真環(huán)境的另一個優(yōu)勢就是可以根據使用者的需求任意選擇場景。

在仿真環(huán)境中采集數據集具有對場景的選擇更加靈活、成本更低、獲取數據更加豐富準確的優(yōu)點,因此通過建立仿真環(huán)境來生成數據集,并使用仿真數據集對SLAM算法進行評估。本文基于Unreal Engine游戲開發(fā)平臺,使用由微軟開發(fā)的AirSim[22]插件來采集數據。同時為了對SLAM系統進行更加客觀真實的評測,選擇城市交通、居民住宅、工業(yè)廠房和房間等場景對SLAM算法進行測試。其中部分場景如圖6所示。

(a)住宅區(qū)

(b)城市場景

(c)工廠廠房

(d)房間場景圖6 部分SLAM測試場景Fig.6 Part of the SLAM test scenarios

住宅區(qū)場景和城市場景均為室外場景,其中住宅區(qū)場景的特點是含有較多的植被,在該環(huán)境下采集數據時,由于影子的原因會產生很多明暗變化的效果;同時該場景中的馬路較為規(guī)則,很方便形成多個閉環(huán),可以用于測試SLAM系統回環(huán)檢測的能力。而在城市場景中,存在很多運動的車和行人,可以用于測試SLAM系統應對移動物體時的魯棒性;同時該場景中的馬路交錯復雜,所以可以選擇合適的路線,在沒有閉環(huán)的情況下測試SLAM系統長期工作時的漂移量。

工廠廠房和房間場景均為室內場景,其中工廠廠房場景較大,而房間場景就相對狹窄。在工廠廠房中有很多移動的機器人,還有很多特征較為相似的貨架,這些因素對SLAM系統來說具有一定的挑戰(zhàn)性。在房間場景中,由于空間比較狹窄,相機移動時很有可能遇到白墻等特征點較少的情況,這對基于特征點匹配的SLAM算法也具有一定的挑戰(zhàn)性。同時在房間中光線變化較為明顯,這也可以對SLAM系統應對室內光照變化的情況進行評測。

在文中生成的仿真數據集中,包含在仿真環(huán)境中采集的RGB-D圖片、深度圖片、語義分割圖片,還包含相機的真實位姿,其中包括每個采樣時間所對應的三維位置和用四元數表示的旋轉。

3 測試方法

通過測試方法確定測試場景及如何開展測試。本文選擇8個典型數據集序列,針對不同情況開展指標測試。它們分別是在室外的住宅區(qū)和城市場景以及室內的工廠廠房和普通的房間場景中進行采集,然后針對在室內室外場景、是否存在閉環(huán)、是否含有運動模糊等一系列不同的情況,對SLAM系統進行測試。其中具體的測試方法如圖7所示。

圖7 數據集所包含的主要測試方法Fig.7 The primary test methods contained in the dataset

在實驗中,使用上述仿真環(huán)境生成的數據集對SLAM算法進行測試。為了對SLAM不同方面的性能進行評估,通過使用不同的場景以及不同特點的軌跡對其進行測試。具體的測試方式如下:

1)選擇不同的室內場景與室外場景進行測試。在所選的測試數據集中,室內場景大部分的光線強弱比較均勻,同時還存在一些像墻角和貨架等形狀規(guī)則的結構,這些結構有利于特征的提取及匹配。在室外場景中,由于存在一些植被和建筑,它們的影子會產生明暗變化的效果,所以可以通過這些序列測試SLAM算法對光照變化的魯棒性。

2)在住宅區(qū)場景中,本文通過錄制兩個相似的長序列,它們的主要區(qū)別是一個不存在閉環(huán),而另一個只是在最后形成一個大的閉環(huán),分別用于測試SLAM系統長時間運行的漂移量和檢測閉環(huán)的能力。

3)同樣是在住宅區(qū)場景中,本文則錄制了一個存在三個閉環(huán)的長序列,并且在其基礎上加入運動模糊生成另一個與其相似的序列,主要目的是測試視覺SLAM系統在應對相機失真情況時的性能表現。

4)在工廠廠房和城市交通場景中存在很多運動物體,這些運動物體對SLAM系統的定位與建圖會造成一定的干擾,所以可以通過這些序列對SLAM系統應對動態(tài)環(huán)境時的性能表現進行測試。

5)最后還有一些序列,它們的特點是存在相機的快速移動和旋轉,借此可以測試SLAM系統在快速移動和旋轉情況下跟蹤的穩(wěn)定性。同時還在其中一個序列中插入一段黑色幀,主要目的是測試SLAM系統從傳感器短暫中斷中恢復過來的能力。

每個數據集序列的具體特點如表2所示。

表2 仿真測試數據集

目前被廣泛使用的SLAM系統有很多,而ORB-SLAM與其他SLAM系統相比,其前端采用ORB特征進行提取與跟蹤,具有較好的魯棒性;后端則是基于圖優(yōu)化進行全局位姿的優(yōu)化,同時還采用詞袋模型實現了較為準確的回環(huán)檢測。因此,本文選擇使用ORB-SLAM對數據集進行測試,其輸出結果如圖8所示,圖中分別表示在住宅區(qū)場景、城市交通場景、工廠廠房場景和房間場景中ORB-SLAM輸出的估計軌跡及點云地圖。通過實驗結果驗證了仿真數據集在實際使用過程中的可行性。

圖8 在不同場景下運行ORB-SLAM2得到的輸出軌跡Fig.8 The output trajectories obtained by running ORB- SLAM2 in different scenarios

4 多體協同SLAM性能

相對于單體SLAM系統而言,多體協同SLAM系統能夠適應更加難以預先判斷的動態(tài)環(huán)境,同時在SLAM系統出現故障或者環(huán)境中干擾較大時具有更好的魯棒性[23]。大多數的多體協同SLAM系統采用一種集中式的結構,主要包括由各個子端組成的前端、服務器后端和多體協同工作決策系統。為了對多體協同SLAM系統性能進行準確和全面的評估,可以對每個子系統的性能、經過服務器后端融合優(yōu)化后的全局狀態(tài)以及多體協同SLAM系統的工作效率三個方面進行評估。

針對不同的子端和服務器優(yōu)化后的全局狀態(tài)的評估可以沿用前文提到的單體SLAM性能評估指標,但對于它們各自的側重點有所不同。其中各個子端是整個協同SLAM系統的前端,對其進行準確性、穩(wěn)定性和實時性的評估是十分必要的。針對定位的準確性,可以使用絕對軌跡誤差和相對位姿誤差進行評估,同時根據其跟蹤的穩(wěn)定性和實時性測試整個系統的魯棒性。

對于多體協同SLAM系統的后端,負責接收各個子端的關鍵幀信息,并對每個子系統的位姿估計進行優(yōu)化,對局部點云地圖進行融合、去噪與優(yōu)化,并作為SLAM系統的輸出。因此,對其整體的定位精度和地圖構建結果進行評估也十分重要。

(14)

所以,一個完整的系統軌跡的絕對軌跡誤差可以定義為

(15)

其中,ΔRi表示估計值和真實值狀態(tài)之間的旋轉矩陣;N表示軌跡上所有狀態(tài)的數量;M表示子系統的數量。

多體協同SLAM的絕對軌跡誤差給出了整個系統各個子端的平均誤差,便于對系統性能進行最直觀的測量。

(16)

所以,一個完整的多體協同SLAM系統軌跡的相對位姿誤差RE可以定義為

(17)

其中,M表示子系統的數量;N表示運動過程中所有子系統之間的狀態(tài)數量。

圖9 相對位姿誤差狀態(tài)圖Fig.9 Relative pose error state map

對于多體協同SLAM算法后端融合優(yōu)化得到的點云地圖進行評估時,本文延用之前對于單體SLAM系統3D點云地圖的指標進行評估,分析了3D點云的幾何誤差、3D重構能力和稀疏程度等因素。與單體SLAM的建圖效果進行比較,可得出協同SLAM算法的優(yōu)點與有待改進之處。

最后,提出了對多體協同SLAM工作效率的評估方法。相對于單體SLAM而言,多體協同系統額外引入了一個組合優(yōu)化的問題,優(yōu)化的效率決定了子系統的利用與協同效率。在面對大型或復雜任務時,通常會考慮引入多體協同SLAM系統,通過多個子端共同工作,減少了SLAM系統運行的時間,從而提高了系統的魯棒性與任務的執(zhí)行效率。所以在子系統個數相同的情況下,通過引入運行時間和各個子系統移動的平均路程這兩個重要指標來衡量協同SLAM系統的任務執(zhí)行效率。當SLAM系統任務完成的時間越短,移動的平均路程越少時,說明此系統具有更高的工作效率。

在時間的計算上,記錄多體協同SLAM系統開啟的時間t1和任務完成的時間t2,即可得到系統運行的時間

T=t1-t2

(18)

在路程計算上,為了得到每個系統的行走路程,可以在一段很短的時間Δt內近似子系統的SLAM運行軌跡為直線。將每個系統的軌跡分成了Nt段

(19)

計算每個子端移動的平均距離為

(20)

其中,M表示子系統的個數;xi,j表示子系統i的第j個狀態(tài)。

通過對每個子系統性能、后端融合優(yōu)化后的全局狀態(tài)以及多體協同SLAM系統的工作效率三個方面的評估,可以從系統的精確性、魯棒性、實時性以及多體協同效率對其做出更加準確和全面的評估。

5 結論

針對SLAM領域目前缺少定量準確的評估體系,本文提出了一類USME框架,從指標體系、數據集及評測方法三個維度為各種SLAM方法的性能度量及比較研究提供基準,主要的貢獻如下:

1)在指標體系中,通過絕對軌跡誤差和相對位姿誤差對SLAM的定位精度進行評估;通過幾何精度、3D重構能力、點云稀疏程度和噪聲程度對地圖構建進行評估;通過跟蹤的魯棒性和重定位時間對魯棒性進行評估;以及通過內存使用和能耗等對SLAM性能進行評估,從而構成了SLAM系統的全面評估體系。

2)基于3D仿真平臺生成自己的仿真數據集,以對SLAM系統在不同場景中的表現、長時間運行時的漂移量、閉環(huán)檢測的能力、相機遮擋及光照和運動物體對其性能的影響等方面進行測試。

3)通過對多體協同SLAM系統每個子系統的性能、經過服務器后端融合優(yōu)化后的全局狀態(tài)以及多體協同SLAM系統的工作效率三個方面進行評估。

希望該評估框架可加快SLAM領域在定位精度、地圖構建、魯棒性以及多體協同SLAM方向的發(fā)展,同時推動視覺導航定位的實際應用。

猜你喜歡
位姿魯棒性軌跡
軌跡
軌跡
荒漠綠洲區(qū)潛在生態(tài)網絡增邊優(yōu)化魯棒性分析
基于確定性指標的弦支結構魯棒性評價
中華建設(2019年7期)2019-08-27 00:50:18
軌跡
現代裝飾(2018年5期)2018-05-26 09:09:39
進化的軌跡(一)——進化,無盡的適應
中國三峽(2017年2期)2017-06-09 08:15:29
基于共面直線迭代加權最小二乘的相機位姿估計
基于CAD模型的單目六自由度位姿測量
基于非支配解集的多模式裝備項目群調度魯棒性優(yōu)化
非接觸移動供電系統不同補償拓撲下的魯棒性分析
平度市| 南丹县| 壶关县| 皮山县| 浪卡子县| 平度市| 磐石市| 泾川县| 慈利县| 高尔夫| 黄石市| 延寿县| 江油市| 华坪县| 鲁甸县| 唐海县| 大洼县| 德化县| 嵊泗县| 新巴尔虎左旗| 丁青县| 南昌市| 柘城县| 金门县| 阿尔山市| 穆棱市| 舒兰市| 密云县| 宜章县| 清水河县| 望谟县| 赣州市| 海晏县| 冕宁县| 南汇区| 陆河县| 吐鲁番市| 辽中县| 孝义市| 乾安县| 平和县|