TUM博士最新開(kāi)源!很適合SLAM消融實(shí)驗(yàn)的結(jié)構(gòu)化數(shù)據(jù)集!
作者:泡椒味的口香糖 ?| 來(lái)源:3D視覺(jué)工坊
在公眾號(hào)「3D視覺(jué)工坊」后臺(tái),回復(fù)「原論文」可獲取論文pdf和代碼鏈接。
添加微信:dddvisiona,備注:3D點(diǎn)云,拉你入群。文末附行業(yè)細(xì)分群。
最近SLAM的很多文章也開(kāi)始搞深度學(xué)習(xí)那一套的消融實(shí)驗(yàn),用來(lái)驗(yàn)證新設(shè)計(jì)的某個(gè)模塊是否有效。但很多文章的消融實(shí)驗(yàn)其實(shí)是不太fair的,整個(gè)實(shí)驗(yàn)的數(shù)據(jù)處理說(shuō)的云里霧里,對(duì)比實(shí)驗(yàn)也不在同等環(huán)境下進(jìn)行,因此也很難證明所提出的模塊就是有效的。
最近,TUM的李博士,也是3D視覺(jué)工坊知識(shí)星球的特邀嘉賓,就提出了Open-Structure數(shù)據(jù)集,用于SLAM的消融實(shí)驗(yàn),還提供了一個(gè)SLAM baseline用來(lái)生成仿真數(shù)據(jù)和評(píng)估數(shù)據(jù)集。跟其他數(shù)據(jù)集只提供原始圖像不一樣,Open-Structure數(shù)據(jù)集提供了很多中間的特征和匹配關(guān)系,比如2D/3D點(diǎn)線觀測(cè)、匹配關(guān)系、結(jié)構(gòu)化地圖等等,這樣就可以直接對(duì)某個(gè)模塊進(jìn)行評(píng)估。嚴(yán)格來(lái)說(shuō)Open-Structure的數(shù)據(jù)并不很新,很多數(shù)據(jù)都是從現(xiàn)有數(shù)據(jù)集(TUM et al.)二次開(kāi)發(fā)的,但是對(duì)SLAM消融實(shí)驗(yàn)和驗(yàn)證模塊有效性來(lái)說(shuō)非常有幫助!這里也推薦「3D視覺(jué)工坊」新課程《徹底剖析激光-視覺(jué)-IMU-GPS融合SLAM算法:理論推導(dǎo)、代碼講解和實(shí)戰(zhàn)》。
Open-Structure數(shù)據(jù)集包含16個(gè)真實(shí)場(chǎng)景序列(來(lái)源于TUM、ICL-NUIM、TartanAir數(shù)據(jù)集)和6個(gè)仿真序列(由論文開(kāi)源的baseline生成),兩部分的格式都是一致的。
每條軌跡都包含軌跡真值和深度值(原始數(shù)據(jù)集提供)、3D點(diǎn)(ORB提?。?D線(FLD提?。?/p>
由于提供了3D的點(diǎn)線,因此2D的結(jié)構(gòu)關(guān)系也很容易獲得。給定2幀之間的特征匹配關(guān)系,那么2個(gè)圖像幀之間的位姿也就可以計(jì)算。而借助位姿和特征觀測(cè),就可以使用baseline來(lái)維護(hù)一個(gè)局部地圖。借助這個(gè)局部地圖,就可以利用map-to-frame的匹配來(lái)以另一種方式計(jì)算位姿。
在獲得觀測(cè)關(guān)系和初始估計(jì)后,可以使用baseline構(gòu)建共視因子圖,基于因子圖對(duì)點(diǎn)線結(jié)構(gòu)和位姿進(jìn)行優(yōu)化。
最終,可以直接獲得所有提到的數(shù)據(jù)類型,包括點(diǎn)和線測(cè)量值(帶噪聲)、3D點(diǎn)線路標(biāo)、匹配關(guān)系、結(jié)構(gòu)化3D線以及共視因子圖。其中2D點(diǎn)(特征點(diǎn)+線端點(diǎn))包括像素坐標(biāo)和深度值。
李博士還定量分析了每幀的特征數(shù)量,還有基于占用網(wǎng)格的特征分布。基于特征點(diǎn)線的數(shù)量,可以分析測(cè)量次數(shù)和姿態(tài)估計(jì)結(jié)果之間的關(guān)系。至于特征分布,是將每幅圖像分成若干個(gè)網(wǎng)格(10×10)。如果一個(gè)以上的像素位于一個(gè)單元上,則該單元將被視為被占用。
本文介紹了一種新的基準(zhǔn)數(shù)據(jù)集Open-Structure,用于評(píng)估視覺(jué)里程計(jì)和SLAM方法,它直接配備點(diǎn)和線測(cè)量、匹配、結(jié)構(gòu)關(guān)聯(lián)和共視因子圖,而不是提供原始圖像?;谒岢龅幕鶞?zhǔn)數(shù)據(jù)集,這些2D或3D數(shù)據(jù)可以直接輸入到SLAM管道的不同階段,以避免消融實(shí)驗(yàn)中數(shù)據(jù)預(yù)處理模塊的影響。首先,我們提出了一個(gè)用于真實(shí)世界和模擬場(chǎng)景的數(shù)據(jù)集生成器。在真實(shí)世界場(chǎng)景中,它保持與實(shí)際特征提取結(jié)果相同的觀察和遮擋。這些生成的模擬序列通過(guò)引入各種精心設(shè)計(jì)的軌跡和觀測(cè),增強(qiáng)了數(shù)據(jù)集的多樣性。第二,使用我們的數(shù)據(jù)集提出了SLAM基線,以評(píng)估相機(jī)姿態(tài)跟蹤、參數(shù)化和優(yōu)化模塊中廣泛使用的模塊。通過(guò)在不同場(chǎng)景中評(píng)估這些最先進(jìn)的算法,我們可以辨別每個(gè)模塊在攝像機(jī)跟蹤和優(yōu)化過(guò)程中的優(yōu)勢(shì)和劣勢(shì)。
首先來(lái)看一下測(cè)量信息的生成過(guò)程。
對(duì)于真實(shí)世界序列,場(chǎng)景是直接從ICL-NUIM、TUM和Tartanair這三個(gè)數(shù)據(jù)集中的RGB-D序列生成。具體的特征提取過(guò)程是,首先計(jì)算使用ORB和FLD計(jì)算點(diǎn)、線特征。由于深度值已知,因此可以直接獲得相機(jī)坐標(biāo)系下點(diǎn)特征的3D坐標(biāo),之后再投影到世界坐標(biāo)系下。借助KD-Tree剔除冗余點(diǎn),就可以直接構(gòu)建3D點(diǎn)云地圖。最后,將3D地圖投影回圖像幀視為點(diǎn)特征的真值。線特征的投影過(guò)程和點(diǎn)特征很相似,也是借助深度值和位姿真值,將線特征上的離散像素投影到世界坐標(biāo)系。然后使用RANSAC獲得兩個(gè)線端點(diǎn)的3D表征。線地圖的融合方法是,比較現(xiàn)有地圖線和新建地圖線之間的方向量度和線距離,以此來(lái)來(lái)建立不同幀之間的共視線關(guān)系。最后,不斷更新像素值和深度值。
對(duì)于6個(gè)模擬序列來(lái)說(shuō),由于沒(méi)有深度圖像,所以要先設(shè)計(jì)3D場(chǎng)景和軌跡,然后在物體表面隨機(jī)分布稀疏地標(biāo)。3D場(chǎng)景由幾個(gè)立方體盒子構(gòu)成,波浪形軌跡中的每個(gè)視圖都聚焦在場(chǎng)景上。通過(guò)將這些路標(biāo)重新投影到每一幀,如果重投影的點(diǎn)和線位于這些視圖的圖像平面上,則可以獲得觀測(cè)結(jié)果。注意,觀測(cè)真值最后還引入了高斯噪聲才轉(zhuǎn)換為測(cè)量值。
之后,再來(lái)看一看用來(lái)初始化的baseline架構(gòu)。這個(gè)pipeline直接讀取點(diǎn)和線的測(cè)量值,通過(guò)3D-2D配準(zhǔn)和地標(biāo)融合模塊同時(shí)估計(jì)初始相機(jī)姿態(tài)和稀疏地圖。之后,共視關(guān)系、初始姿態(tài)和路標(biāo)被饋送到共視圖優(yōu)化模塊,其中優(yōu)化的、初始的和真值路標(biāo)分別以深綠色、淺綠色和紅色顯示。
實(shí)驗(yàn)這一塊,主要是使用Open-Structure數(shù)據(jù)集來(lái)評(píng)估Frame-to-Frame和Map-to-Frame的位姿估計(jì)精度和基于點(diǎn)、基于點(diǎn)線的優(yōu)化策略。其中,兩個(gè)優(yōu)化策略分別來(lái)源于ORB-SLAM2和PL-SLAM,計(jì)算的也就是重投影誤差。實(shí)驗(yàn)設(shè)備是i7-8700 CPU、評(píng)估指標(biāo)是ATE和RPE。
對(duì)于仿真場(chǎng)景來(lái)說(shuō),很多序列很有挑戰(zhàn)性。比如sphere1的幀間重疊很小,corridor2序列包含走廊的純平移和拐角處的急劇旋轉(zhuǎn)變化,box1有波浪形軌跡來(lái)平衡平移和旋轉(zhuǎn)運(yùn)動(dòng)。
先看位姿估計(jì)結(jié)果,顯然MtF的精度要比FtF高,這個(gè)也很正常,畢竟很多SLAM算法都還需要依靠局部地圖對(duì)位姿進(jìn)行優(yōu)化。當(dāng)把初始位姿加到共視圖里優(yōu)化以后,精度提升很明顯。對(duì)比兩個(gè)優(yōu)化,如果點(diǎn)特征不足,那么精度提升很明顯,比如livingroom2里精度從0.014提升到了0.007。但如果點(diǎn)特征足夠的話,那么精度提升就不是很明顯,比如office2和stru_texture_near序列。當(dāng)然本身這個(gè)實(shí)驗(yàn)也不是驗(yàn)證BA和點(diǎn)線對(duì)精度提升多少的,而是驗(yàn)證數(shù)據(jù)集的有效性。這里也推薦「3D視覺(jué)工坊」新課程《徹底剖析激光-視覺(jué)-IMU-GPS融合SLAM算法:理論推導(dǎo)、代碼講解和實(shí)戰(zhàn)》。
需要注意的是,corridor2中增量重建的初始稀疏圖的質(zhì)量很差,尤其是拐角區(qū)域。因此,MtF方法在軌跡末端顯示出大的斜度。
最后是一個(gè)測(cè)量和姿態(tài)計(jì)算魯棒性的實(shí)驗(yàn)。如果在幀中檢測(cè)到足夠的匹配關(guān)系(b),那么EPnP方法效果不錯(cuò)。當(dāng)匹配關(guān)系較少時(shí)(c),基于因子圖的優(yōu)化方法可以更好得優(yōu)化初始位姿。同時(shí),越長(zhǎng)了2D線越有助于提供軌跡優(yōu)化的精度(d中第803幀到第813幀)。
李博士最近開(kāi)源了Open-Structure,很適合評(píng)估SLAM系統(tǒng)中某個(gè)模塊的消融實(shí)驗(yàn)。Open-Structure數(shù)據(jù)集可以直接獲得2D點(diǎn)線測(cè)量值,3D點(diǎn)線坐標(biāo),初始相機(jī)姿態(tài),結(jié)構(gòu)匹配關(guān)系和共視圖。Open-Structure的真實(shí)場(chǎng)景序列保留了真實(shí)世界序列中的遮擋關(guān)系,模擬序列還引入了挑戰(zhàn)性的運(yùn)動(dòng)和環(huán)境(急劇純旋轉(zhuǎn))。李博士也提出,未來(lái)將探索新的參數(shù)化和優(yōu)化策略,特別是基于提出的結(jié)構(gòu)規(guī)則實(shí)現(xiàn)更準(zhǔn)確和魯棒的姿態(tài)估計(jì)和重建性能。感興趣的小伙伴快去試試這個(gè)數(shù)據(jù)集吧!