結(jié)合語義不變量的點線立體視覺SLAM系統(tǒng)
傳統(tǒng)的同步定位與制圖(SLAM)系統(tǒng)使用環(huán)境的靜態(tài)點作為實時定位和制圖的特征。當可用的點特征很少時,系統(tǒng)很難實現(xiàn)。一個可行的解決方案是引入線特征。在包含豐富線段的復雜場景中,線段的描述差別不大,這可能導致線段數(shù)據(jù)的不正確關聯(lián),從而將誤差引入系統(tǒng)并加劇系統(tǒng)的累積誤差。針對這一問題,本文提出了一種結(jié)合語義不變量的點線立體視覺SLAM系統(tǒng)。該系統(tǒng)通過融合線特征和圖像語義不變信息,提高了線特征匹配的準確性。在定義誤差函數(shù)時,將語義不變量與重投影誤差函數(shù)融合,并應用語義約束減少長期跟蹤過程中姿態(tài)的累積誤差。在TartanAir數(shù)據(jù)集和KITTI數(shù)據(jù)集的Office序列上的實驗表明,該系統(tǒng)在一定程度上提高了直線特征的匹配精度,抑制了SLAM系統(tǒng)的累積誤差,平均相對位姿誤差(RPE)分別為1.38和0.0593米。
作者:魚骨 ?| 來源:3D視覺工坊
在公眾號「3D視覺工坊」后臺,回復「原論文」即可獲取論文pdf。
添加微信:dddvisiona,備注:SLAM,拉你入群。文末附行業(yè)細分群。
總結(jié):
(1)提出了一種結(jié)合語義不變量的點線立體視覺SLAM系統(tǒng)
(2)將語義不變量與重投影誤差函數(shù)融合定義誤差函數(shù),并應用語義約束減少長期跟蹤過程中姿態(tài)的累積誤差
(3)TartanAir數(shù)據(jù)集和KITTI數(shù)據(jù)集
引言
自工業(yè)4.0推出以來,機器人主導的智能制造產(chǎn)業(yè)已成為工業(yè)發(fā)展的支柱。視覺同步定位和映射(SLAM)系統(tǒng)是允許機器人探索未知環(huán)境、自我定位和構(gòu)建地圖的核心組件。視覺SLAM依靠廉價的輕型攝像機,可以有效地感知環(huán)境的外觀,這使得僅依賴視覺傳感器的SLAM系統(tǒng)成為機器人領域的熱點問題。視覺SLAM系統(tǒng)的框架正在走向成熟。盡管視覺SLAM的研究領域已經(jīng)取得了很大的進展,然而真實環(huán)境的可變性使得數(shù)據(jù)關聯(lián)的準確性不可靠甚至無效。這導致系統(tǒng)的魯棒性降低,難以滿足實際需求。因此,如何提高數(shù)據(jù)關聯(lián)的魯棒性,對于減少視覺SLAM的累積誤差,提高系統(tǒng)的整體魯棒性具有重要意義。根據(jù)所采用的跟蹤方法,將視覺SLAM系統(tǒng)分為直接跟蹤和間接跟蹤兩種方法。基于直接跟蹤的方法,如大尺度直接單目SLAM (LSD-SLAM)、直接稀疏里程計(DSO)和半直接單目視覺里程計(SVO),是基于最小化光度投影誤差的姿態(tài)估計方法。這些方法對光照變換很敏感,對單個像素的區(qū)分很差。相比之下,基于間接跟蹤的方法通過跟蹤圖像的點特征估計相機的姿態(tài)。代表性算法有并行跟蹤與映射(PTAM)、ORB-SLAM2、RGBD SLAM-v2等。在強紋理場景中,點特征對光照不敏感,易于提取。然而,在低紋理環(huán)境或運動模糊的場景中,提取是困難的。影響系統(tǒng)的魯棒性,嚴重時可能導致系統(tǒng)失效。在實際環(huán)境中,有大量的線特征具有與點特征相同的不變光照和視點特征,且易于提取。因此,可以克服低紋理場景造成的干擾,反映環(huán)境結(jié)構(gòu)的完整信息。因此,涉及跟蹤線特征的SLAM系統(tǒng)誕生了。線特征對遮擋很敏感,在缺乏紋理或高重復的區(qū)域不具有很強的識別能力,這導致匹配失敗,比只依賴點特征的SLAM系統(tǒng)更不可靠的位姿求解。直線特征的跟蹤非常耗時,不能滿足SLAM系統(tǒng)的實時性要求。因此,點和線特征融合被應用到SLAM系統(tǒng)中。這里也推薦「3D視覺工坊」新課程《深度剖析面向機器人領域的3D激光SLAM技術原理、代碼與實戰(zhàn)》
為了減少累積誤差的產(chǎn)生,現(xiàn)有的解決方案是通過在短期內(nèi)建立多幀圖像之間的約束,對位姿進行局部優(yōu)化,減少軌跡漂移。當約束失敗時,誤差仍然會累積。另一種解決方案是采用閉環(huán)來建立一個長期約束來糾正累積誤差,但這種解決方案嚴格依賴閉環(huán)檢測。
近年來計算機圖像技術的快速發(fā)展,如深度學習、目標檢測、語義分割等,為機器人提高場景理解提供了更多的可能性。語義分割是一種像素級分類技術。圖像中的每個像素被劃分為相應的類別。在SLAM系統(tǒng)中應用語義分割來提高數(shù)據(jù)關聯(lián)的魯棒性是一個比較熱門的研究課題。在SLAM系統(tǒng)中,隨著時間的推移,相機的運動會導致視點、尺度和光照等特征的變化,但語義描述不會發(fā)生變化。比如在汽車上跟蹤線段時,由于距離的變化,線段周圍的像素發(fā)生了劇烈的變化,這導致跟蹤失敗。但是這條線段的語義描述屬于汽車類,不受尺度和光照變化的影響。然后將線段的語義描述視為不變的,通過線段語義標簽的一致性約束及其重投影特征建立線段的中期跟蹤。
目前,線段相關的理論發(fā)展還不夠成熟,主要表現(xiàn)在線段描述不夠準確,這可能導致在包含許多線段的復雜場景中出現(xiàn)錯誤的數(shù)據(jù)關聯(lián)。這就導致了在基于點-線特征的SLAM系統(tǒng)中引入線段后,線段的匹配精度較低,導致系統(tǒng)誤差積累。
?本文提出了一種結(jié)合語義不變量的點和線特征的魯棒立體SLAM系統(tǒng)。
?提出了一種改進的線段匹配方法。將語義分割的結(jié)果應用到線段匹配中,提高了線段的數(shù)據(jù)關聯(lián)。
?定義線段的語義重投影誤差函數(shù),并將其應用于位姿優(yōu)化過程,以提高數(shù)據(jù)關聯(lián)的魯棒性。實現(xiàn)了線段的中期跟蹤,減少了軌跡漂移問題。
系統(tǒng)概述
本文以立體點線SLAM系統(tǒng)為基礎,針對線段引入后,線段的不匹配直接影響數(shù)據(jù)關聯(lián)的準確性,加劇了系統(tǒng)的累積誤差的問題。提出了一種有效的改進方法。該方法使用語義不變量為線段匹配提供約束,減少了線段特征失配的產(chǎn)生。定義了線段的語義重投影誤差函數(shù),實現(xiàn)了線段的中期跟蹤,有效地減少了軌跡漂移,提高了系統(tǒng)的魯棒性。如下圖所示為提出的系統(tǒng)的總體結(jié)構(gòu)。該系統(tǒng)遵循ORB-SLAM2框架,整個SLAM任務按照可視化里程計、局部映射和閉環(huán)三個線程并行運行。
在本文中,語義分割的結(jié)果主要應用于視覺里程測量和局部姿態(tài)優(yōu)化。如下圖所示,系統(tǒng)接收到圖像序列,然后進行點和線特征的提取和匹配。由于點特征的提取和匹配方法比線段更完備,語義分割結(jié)果只適用于線段的關聯(lián)。在現(xiàn)有線段關聯(lián)方法的基礎上,利用語義分割的結(jié)果對線段進行語義分類。這提供了線段關聯(lián)的語義不變約束,減少了不正確的數(shù)據(jù)關聯(lián)。當獲得點特征和線特征的關聯(lián)結(jié)果時,將局部地圖中的地標(點和線段)分別投影到當前幀及其對應的語義分割圖像中。然后,通過最小化重投影誤差項和重投影誤差項的聯(lián)合語義不變量來進行姿態(tài)優(yōu)化。
方法
在本節(jié)中,我們首先介紹LSD算法提取線段的預處理細節(jié),以及如何應用語義分割的結(jié)果約束線段的數(shù)據(jù)關聯(lián)。然后描述了利用語義不變量建立點、線特征的中期數(shù)據(jù)關聯(lián)后,如何進行位姿優(yōu)化的問題。
1、線段的預處理與關聯(lián)
線段提取采用LSD算法。LSD算法是一種局部直線檢測算法,可以在不調(diào)整參數(shù)的情況下快速提取圖像的局部直線輪廓。然而,由于遮擋或部分模糊等原因,線段被分割成幾條直線。為了解決這一問題,本文采用[18]文獻中的方法對折線段進行合并。折線段是否滿足合并條件由端點之間的距離和線段之間的距離共同決定。刪除合并后不符合長度閾值的線段。當預處理完成后,該方法對線段進行語義分類。線段是否屬于語義范疇的判定原則如下:
(1)檢測到的線段在類別區(qū)域的長度大于閾值d;
(2)如果檢測到的線段位于多個語義類別的邊界,則將其標記為概率最高的類別。
利用Detectron2對圖像進行語義分割預測。預測由地面和非地面組成。然后,根據(jù)上述規(guī)則對線段進行分類。分類結(jié)果如圖5所示。
線段的數(shù)據(jù)關聯(lián)應保證線段屬于同一語義類,具有較高的相關性。線段的相關性由線段的局部外觀描述確定,該描述由LBD描述符提供。
2、點和線重投影誤差函數(shù)的語義不變量融合
在SLAM系統(tǒng)中,減少軌跡累積誤差主要有兩種方法。一是通過幀間數(shù)據(jù)關聯(lián)優(yōu)化姿態(tài),減少軌跡漂移,這是一個短期約束。另一種方法依靠閉環(huán)檢測進行位姿校正,在圖像框架中建立長期約束。VSO利用圖像的語義分割信息建立點對的中期數(shù)據(jù)關聯(lián)。線段也具有語義不變性。因此,我們的方法利用這一性質(zhì)來建立線段上的中期數(shù)據(jù)關聯(lián)。圖6給出了攝像機運動過程中點與線特征的數(shù)據(jù)關聯(lián)過程。紅線表示視覺里程計框架中基于外觀的特性約束,綠線表示基于語義的約束。攝像頭1和攝像頭2可以建立基于外觀的特征約束和基于語義的特征約束。在攝像機移動過程中,由于對特征外觀的描述發(fā)生了劇烈的變化,在第k個攝像機中只能觀察到特征的語義約束。與基于外觀的約束相比,這種語義約束可以為特征數(shù)據(jù)關聯(lián)提供更長期的約束,這被稱為特征的中期跟蹤。
我們將語義不變量與重投影誤差結(jié)合起來定義了一個誤差函數(shù):
其中E是重投影誤差,E是融合語義不變量的誤差函數(shù)。通過最小化誤差函數(shù),實現(xiàn)了點特征和線特征的中期跟蹤,減少了軌跡的漂移。
(1)E的定義
基于點線特征的立體SLAM系統(tǒng)通常通過最小化重投影誤差,給定輸入
其中E和E分別表示點特征和線段的重投影誤差,E是第i個三維點的觀測值
其中π(·)為三維點P的重投影坐標,k為攝像機的本征矩陣,T是相對運動矩陣。
由于遮擋或其他原因,線段的端點出現(xiàn)了不確定性。因此,線段的重投影誤差函數(shù)不能簡單地用觀測線與其重投影之間的坐標距離來定義。更精確的方法是使用文獻[19]中的方法,其中線段的重投影誤差定義為投影線段的端點與被測直線之間的垂直距離之和。如圖7所示,l表示線段的觀測值,l表示三維線段的重投影,
(2)Eseg的定義
融合語義不變量的誤差函數(shù)描述了點和線特征在重投影后屬于C類的概率。與VSO中闡述的現(xiàn)象一致,在攝像機運動過程中,由于周圍的像素信息,特征會發(fā)生劇烈變化。因此,在數(shù)據(jù)關聯(lián)中,特征的這一部分的約束就消失了。相比之下,特征的語義描述在尺度變化時保持不變。因此,將這種語義不變性應用到數(shù)據(jù)關聯(lián)中,建立特征約束,延長特征的有效跟蹤時間,減少累積誤差的產(chǎn)生。
對于輸入的
其中
其中,
其中α是用于保證
同樣,對于一個三維線段L,它在I的投影也會使所投影的線段L具有一個語義類別j∈C。通過計算投影線段的兩個端點以及線段中點到語義類C最近邊界的距離來描述重投影線段屬于語義類C的概率。可以確定線段中點離C最近邊界的距離越小,線段屬于C類的可能性越大。為了確保大多數(shù)線段屬于C類,到語義區(qū)域最近邊界距離最小的端點也應該被聯(lián)合考慮。
其中,d和d分別表示從中點和端點到邊界的距離。
因此,投影線段屬于C類的概率用投影線段的中點和端點到C類邊界的距離來描述。線段的語義似然模型定義如下:
線段融合語義不變量的誤差可定義為:
其中為類別概率向量,描述一系列攝像機觀測到的線段L,類別屬于C的情況:
聯(lián)合語義不變量的誤差函數(shù)定義如下:
實驗
本節(jié)通過一系列的實驗來驗證本文提出的系統(tǒng)的有效性。利用彩色圖像進行語義分割是十分必要的。因此,使用公開可用的TartanAir數(shù)據(jù)集和KITTI數(shù)據(jù)集執(zhí)行驗證,這兩個數(shù)據(jù)集都提供了ground-truth的顏色序列。TartanAir數(shù)據(jù)集是一個室內(nèi)場景數(shù)據(jù)集,KITTI數(shù)據(jù)集是一個室外場景數(shù)據(jù)集。我們將我們的方法與幾種最先進的方法進行了比較,包括ORB-SLAM2和PL-SLAM。所有實驗都是在一臺CPU為Intel i5-4200U、內(nèi)存為4GB、操作系統(tǒng)為Ubuntu 16.04的筆記本電腦上進行的。語義分割結(jié)果是使用Facebook AI Research推出的Detectron2算法得到的。實驗結(jié)果表明:
(1)添加語義不變量后,線段之間的不匹配明顯降低,線段匹配的準確率提高。這里也推薦「3D視覺工坊」新課程《深度剖析面向機器人領域的3D激光SLAM技術原理、代碼與實戰(zhàn)》
(2)在沒有動態(tài)目標干擾的室內(nèi)場景中,該方法能較好地抑制軌跡漂移
(3)將語義不變性的結(jié)果應用于戶外場景的SLAM系統(tǒng)并不一定能有效地減少系統(tǒng)的軌跡漂移。產(chǎn)生這種結(jié)果的原因可能是室外場景的語義分割精度不夠高,語義類別劃分不夠精細,以及受到動態(tài)對象的影響。
(4)我們的系統(tǒng)基本能夠滿足實時性的要求。
結(jié)論
本文提出了一種融合語義不變量的點線立體SLAM系統(tǒng)。為了提高線段數(shù)據(jù)關聯(lián)的準確性,給出了線段的語義類別標簽。通過聯(lián)合語義不變量定義線段上的重投影誤差函數(shù),實現(xiàn)線段的中期跟蹤,使系統(tǒng)在進行局部優(yōu)化時獲得更好的結(jié)果,減少了軌跡中累積誤差的產(chǎn)生。在TartanAir數(shù)據(jù)集和KITTI數(shù)據(jù)集上驗證了該方法的有效性。將實驗結(jié)果與ORB-SLAM2和PL-SLAM系統(tǒng)進行了比較。結(jié)果表明,該算法能有效地提高系統(tǒng)的魯棒性,減少大部分序列的軌跡漂移。但是,由于對語義分割信息進行了預處理,在系統(tǒng)中沒有對原始圖像進行直接的實時分割。因此,后續(xù)將考慮實時語義分割的應用,進一步提高系統(tǒng)的完整性。
目前工坊已經(jīng)建立了3D視覺方向多個社群,包括SLAM、工業(yè)3D視覺、自動駕駛方向,細分群包括:[工業(yè)方向]三維點云、結(jié)構(gòu)光、機械臂、缺陷檢測、三維測量、TOF、相機標定、綜合群;[SLAM方向]多傳感器融合、ORB-SLAM、激光SLAM、機器人導航、RTK|GPS|UWB等傳感器交流群、SLAM綜合討論群;[自動駕駛方向]深度估計、Transformer、毫米波|激光雷達|視覺攝像頭傳感器討論群、多傳感器標定、自動駕駛綜合群等。[三維重建方向]NeRF、colmap、OpenMVS等。除了這些,還有求職、硬件選型、視覺產(chǎn)品落地等交流群。大家可以添加小助理微信: dddvisiona,備注:加群+方向+學校|公司, 小助理會拉你入群。