摘要
這里我們提供一個視覺雷達(dá)里程計的通用框架。這種方法表明它可以改善性能,提高魯棒性莉撇。通過視覺估計自身位姿來修正高頻點(diǎn)云的畸變害晦,然后台汇,基于掃描匹配的激光雷達(dá)測距儀同時改進(jìn)運(yùn)動估計和點(diǎn)云配準(zhǔn)。
1.簡介
最近在視覺測距法和激光雷達(dá)測距法中的獨(dú)立結(jié)果是有前景的篱瞎,因?yàn)樗鼈兛梢蕴峁?自由度狀態(tài)估計苟呐,測繪甚至障礙物檢測的解決方案。 然而俐筋,僅使用每個傳感器存在缺點(diǎn)牵素。 視覺測距方法需要適度的照明條件,并且如果清晰的視覺特征不充分可用則失敗澄者。 另一方面笆呆,通過移動激光雷達(dá)的運(yùn)動估計涉及點(diǎn)云中的運(yùn)動失真,因?yàn)樵谶B續(xù)激光雷達(dá)運(yùn)動期間在不同時間接收到距離測量粱挡。 因此赠幕,運(yùn)動常常需要用大量的變量來解決。 在諸如由平面區(qū)域支配的退化場景中询筏,掃描匹配也失敗榕堰。
在這里,我們提出了一個方法來組合單目相機(jī)和3D激光雷達(dá)的自我運(yùn)動估計嫌套。 我們希望準(zhǔn)確估計六自由度運(yùn)動以及環(huán)境的空間度量表示逆屡,實(shí)時并在機(jī)器人在未知環(huán)境中航行。 雖然照相機(jī)和激光雷達(dá)具有互補(bǔ)性優(yōu)勢和弱點(diǎn)踱讨,但將其結(jié)合到傳統(tǒng)濾光片中并不是直接的魏蔗。 我們的方法將兩種模式緊密結(jié)合在一起,以便它可以處理包括平移和旋轉(zhuǎn)在內(nèi)的侵略性運(yùn)動痹筛,以及缺乏光學(xué)紋理莺治,如完全黑白或黑屏圖像廓鞠。 在非病理情況下,運(yùn)動估計和環(huán)境重建的高精度是可能的谣旁。
我們提出的方法床佳,即V-LOAM,探索了每個傳感器的優(yōu)點(diǎn)并補(bǔ)償了另一個傳感器的缺點(diǎn)蔓挖,因此顯示出相對于現(xiàn)有技術(shù)的性能的進(jìn)一步改進(jìn)夕土。 該方法有兩個順序交錯的過程。一是使用以高頻運(yùn)行的視覺測距作為圖像幀速率(60Hz)來估計運(yùn)動瘟判。 二是使用低頻率(1 Hz)的激光雷達(dá)測距儀來細(xì)化運(yùn)動估計并消除由視覺測距的漂移引起的點(diǎn)云中的失真怨绣。
V-LOAM的基本算法是足夠通用的,它可以適用于使用不同類型的距離傳感器拷获,例如篮撑, 飛行時間相機(jī)。 如果先前的地圖可用匆瓜,該方法也可以被配置為僅提供本地化赢笨。
除了對KITTI odometry基準(zhǔn)[1]的評估外,我們還進(jìn)一步試驗(yàn)了廣角相機(jī)和魚眼相機(jī)驮吱。 我們的結(jié)論是魚眼攝像機(jī)由于其更大的視野和更高的圖像失真而帶來更強(qiáng)的魯棒性但精度更低茧妒。 但是,在掃描匹配細(xì)化之后左冬,最終的運(yùn)動估計達(dá)到相同的準(zhǔn)確性水平桐筏。 我們的實(shí)驗(yàn)結(jié)果可以在公開的視頻1中看到。
2.相關(guān)工作
基于視覺和激光雷達(dá)的方法在狀態(tài)估計中很常見[2]拇砰。 利用立體相機(jī)[3]梅忌,[4],基線為幫助確定運(yùn)動的比例提供了參考除破。 然而牧氮,如果使用單眼相機(jī)[5] - [7],運(yùn)動的尺度一般是不能解決的瑰枫,無需其他傳感器或運(yùn)動假設(shè)踱葛。 RGB-D相機(jī)的推出提供了將視覺圖像與深度關(guān)聯(lián)的有效方式。
RGB-D攝像機(jī)的運(yùn)動估計[8]躁垛,[9]可以輕松進(jìn)行剖毯。 還提出了許多RGB-D視覺測距法,顯示出有希望的結(jié)果[10] - [12]教馆。 但是,這些方法僅利用深度可用的成像區(qū)域擂达,可能會浪費(fèi)視覺圖像中的大面積而沒有深度覆蓋土铺。 在我們的系統(tǒng)中使用的視覺測距方法類似于[8] - [12]胶滋,因?yàn)樗鼈兌际褂镁哂蓄~外深度的視覺圖像。 但是悲敷,我們的方法旨在利用激光雷達(dá)的稀疏深度信息究恤。 它涉及具有和不具有解決運(yùn)動深度的特征。
對于3D地圖后德,典型的傳感器是(2軸)3D激光雷達(dá)[13]部宿。然而,由于激光雷達(dá)持續(xù)移動和移動瓢湃,因此在點(diǎn)云中存在運(yùn)動失真理张,因此難以使用這些激光雷達(dá)。消除失真的一種方法是結(jié)合其他傳感器來恢復(fù)運(yùn)動绵患。例如雾叭,Scherer等人的導(dǎo)航系統(tǒng)[14]使用與IMU集成的立體視覺測距來估計微型飛行器的運(yùn)動。激光雷達(dá)云由估計的運(yùn)動記錄落蝙。 Droeschel等人的方法[15]采用多攝像機(jī)視覺測距法织狐,其次是基于多分辨率點(diǎn)云表示的掃描匹配方法。與[14]筏勒,[15]相比移迫,我們的方法的不同之處在于它將相機(jī)和激光雷達(dá)緊密耦合,使得僅需要一個相機(jī)來進(jìn)行運(yùn)動恢復(fù)管行。我們的方法還考慮了由視覺測距的漂移引起的點(diǎn)云失真厨埋,即我們在短時間(1s)內(nèi)將漂移建模為線性運(yùn)動,并在掃描匹配期間用線性運(yùn)動模型校正失真病瞳。
它還表明揽咕,狀態(tài)估計只能用3D激光雷達(dá)。 例如套菜,Tong等人亲善。 通過堆疊來自2軸激光雷達(dá)的激光掃描產(chǎn)生的強(qiáng)度圖像中的視覺特征來解決運(yùn)動[16]。 運(yùn)動用恒定速度和高斯過程建模逗柴。 然而蛹头,由于該方法從激光圖像中提取視覺特征,因此需要密集點(diǎn)云戏溺。 另一種方法來自Bosse和Zlot [17]渣蜗,[18]。 該方法匹配局部點(diǎn)簇的幾何結(jié)構(gòu)旷祸。 他們使用手持式繪圖設(shè)備耕拷,由2D激光雷達(dá)和通過彈簧連接到手桿的IMU組成[17]。 他們還使用多個2軸激光雷達(dá)來繪制地下礦山[18]托享。 在這種方法中骚烧,通過批處理優(yōu)化處理分段數(shù)據(jù)來恢復(fù)軌跡浸赫,其中分段數(shù)據(jù)具有連接在分段之間的邊界約束。 該方法適用于離線調(diào)查赃绊,但不適合在線實(shí)時應(yīng)用既峡。
所提出的方法是基于我們在[19],[20]中的工作碧查,其中分別提出了視覺測距方法DEMO和激光雷達(dá)測距方法LOAM运敢。 LOAM需要平滑運(yùn)動并依靠IMU來補(bǔ)償高頻運(yùn)動。 在本文中忠售,對LOAM進(jìn)行了修改传惠,使得新方法V-LOAM將視覺測距輸出視為運(yùn)動先驗(yàn),然后是激光雷達(dá)測距档痪。 視覺測距中的相機(jī)型號也經(jīng)過修改并與魚眼相機(jī)兼容涉枫。 進(jìn)行了一系列新的實(shí)驗(yàn),結(jié)果表明V-LOAM具有較低的漂移腐螟。 結(jié)合高頻視覺測距和魚眼相機(jī)還可以使系統(tǒng)處理快速運(yùn)動愿汰。
3. 坐標(biāo)系和任務(wù)
本文討論的問題是估計攝像機(jī)和激光雷達(dá)系統(tǒng)的運(yùn)動,并用估計的運(yùn)動建立遍歷環(huán)境的地圖乐纸。 我們假設(shè)相機(jī)是由一個通用的中心相機(jī)模型[21]建模的衬廷。 使用這種相機(jī)型號,我們的系統(tǒng)可以使用常規(guī)和魚眼相機(jī)(請參見實(shí)驗(yàn)部分)汽绢。 我們假設(shè)攝像機(jī)內(nèi)在參數(shù)是已知的吗跋。 相機(jī)和激光雷達(dá)之間的外部參數(shù)也被校準(zhǔn)。 這允許我們對兩個傳感器使用單個坐標(biāo)系宁昭,即傳感器坐標(biāo)系跌宛。 為了簡化計算,我們選擇傳感器坐標(biāo)系與攝像機(jī)坐標(biāo)系一致 - 所有激光點(diǎn)在接收時投影到攝像機(jī)坐標(biāo)系中积仗。 作為本文的一個約定疆拘,我們使用左大寫字母來指示坐標(biāo)系。 在下面寂曹,我們來定義:
傳感器坐標(biāo)系{S}原點(diǎn)在相機(jī)光心哎迄,x軸指向左側(cè),y軸指向上側(cè)隆圆,z軸指向前側(cè)與相機(jī)主軸一致漱挚。世界坐標(biāo)系{W}由{S}的初始位置得到。
通過定義假設(shè)和坐標(biāo)系統(tǒng)渺氧,我們的測距和映射問題被表述為:
問題:給定{S}中獲得的視覺圖像和激光雷達(dá)云旨涝,根據(jù){W}確定{S}的姿勢,并在{W}中構(gòu)建遍歷環(huán)境的地圖侣背。
4. 系統(tǒng)總覽
圖2顯示了算法系統(tǒng)颊糜。 整個系統(tǒng)分為兩部分哩治。 視覺測距部分使用在激光雷達(dá)云幫助下的視覺圖像來估計圖像幀速率下的傳感器的幀到幀運(yùn)動秃踩。 在本節(jié)中衬鱼,特征跟蹤塊將提取并匹配連續(xù)圖像之間的視覺特征。 深度圖模塊修正激光雷達(dá)云模塊憔杨,并將深度與視覺特征相關(guān)聯(lián)鸟赫。 幀到幀運(yùn)動估計模塊采用視覺特征來計算運(yùn)動估計。
為了總結(jié)激光雷達(dá)測距部分消别,讓我們定義一個掃描抛蚤,因?yàn)?D激光雷達(dá)完成了一次全掃描覆蓋。 如果激光雷達(dá)的慢軸連續(xù)旋轉(zhuǎn)寻狂,則掃描通常是全球旋轉(zhuǎn)岁经。 但是,如果慢軸來回旋轉(zhuǎn)蛇券,則掃描是朝向相同方向的順時針或逆時針旋轉(zhuǎn)缀壤。 在我們的系統(tǒng)中,掃描持續(xù)1秒纠亚。 激光雷達(dá)測距部分每掃描一次執(zhí)行一次塘慕,處理在整個掃描期間感知的點(diǎn)云。 首先蒂胞,掃描到掃描細(xì)化塊匹配連續(xù)掃描之間的點(diǎn)云图呢,以細(xì)化運(yùn)動估計并消除點(diǎn)云中的失真。 然后骗随,映射修正塊的掃描匹配并在當(dāng)前構(gòu)建的地圖上修正點(diǎn)云蛤织,并發(fā)布相對于地圖的傳感器姿態(tài)。 傳感器姿態(tài)輸出是來自兩個部分的變換的整合鸿染,以高頻圖像幀速率指蚜。
5. 視覺里程計
本部分總結(jié)了視覺測距方法。 利用激光雷達(dá)云牡昆,該方法使用視覺測距的估計運(yùn)動來記錄和維護(hù)深度圖姚炕。 在計算運(yùn)動時,根據(jù)深度來源丢烘,它涉及三種類型的視覺特征:深度圖的深度柱宦,使用先前估計的運(yùn)動的三角測量的深度,以及不可用的深度播瞳。 但是掸刊,要使用超過180°視野的魚眼攝像機(jī),讓我們使用從現(xiàn)在開始的術(shù)語“距離”(特征的深度是其在Sz方向上的距離的投影)赢乓。讓我們用右上角k忧侧,k∈Z+表示圖像幀石窑,I表示視覺特征集。對于特征i蚓炬,i∈I松逊,與距離相關(guān),其坐標(biāo)在{Sk}中記為SXik=[Sxik,Syik,Szik]T肯夏。對于具有未知距離的特征经宏,我們使用其歸一化坐標(biāo)來代替。我們將傳感器運(yùn)動建模為剛體變換驯击, 令R和T為3×3旋轉(zhuǎn)矩陣和描述幀到幀運(yùn)動的3×1平移向量烁兰。 我們定義運(yùn)動為
在特征距離可用的情況下,我們可以將距離與SXik-1關(guān)聯(lián)徊都。然而沪斟,SXik的距離總是未知的。 由于在這個階段沒有計算幀k-1和k之間的運(yùn)動暇矫,我們無法從深度圖或三角測量中檢索SXik的距離主之。設(shè)Sdik為SXik未知的距離,雖然距離位置袱耽,可以利用公式1獲得線性方程杀餐,消去d可以獲得式(2)(3),如圖:
上述過程說明具有已知距離的特征提供了兩個等式作為(2)-(3)朱巨,而具有未知距離的特征提供了一個等式作為(4)史翘。 在求解運(yùn)動時,我們疊加所有方程冀续,并用六個未知量表示運(yùn)動估計問題琼讽,表示他的六自由度運(yùn)動。 問題由Levenberg-Marquardt方法解決洪唐。 運(yùn)動估計適應(yīng)于強(qiáng)大的擬合框架來處理特征跟蹤錯誤钻蹬。 根據(jù)(2)-(3)或(4)中的殘差分配權(quán)重。 具有較大殘差的特征被賦予較小的權(quán)重凭需,而具有大于閾值的殘差的特征被視為異常值并被賦予零權(quán)重问欠。 如果找到收斂或滿足最大迭代次數(shù),則優(yōu)化終止粒蜈。