導(dǎo)讀
視覺傳感器體積小重量輕、價(jià)格相對(duì)低廉,同時(shí)能夠提供豐富的信息供定位、感知等算法模塊使用,因此在機(jī)器人和自動(dòng)駕駛系統(tǒng)中的得到了廣泛應(yīng)用。作為視覺定位系統(tǒng)的重要組成部分,基于視覺傳感器的同時(shí)定位和建圖算法(SLAM)應(yīng)用廣泛,在學(xué)術(shù)界和工業(yè)界都得到了很多關(guān)注。具體來(lái)說(shuō),在自動(dòng)駕駛系統(tǒng)中,視覺SLAM可以在地圖不可靠、GPS不穩(wěn)定情況下(例如城區(qū)輔助駕駛)提供可靠的位姿估計(jì)和周圍環(huán)境信息。同時(shí),相對(duì)于激光雷達(dá)等傳感器,相機(jī)價(jià)格較低,配合視覺定位和感知算法,可以以低成本實(shí)現(xiàn)智能駕駛功能。
但是,視覺SLAM系統(tǒng)經(jīng)常被人詬病的一點(diǎn)是魯棒性。基于視覺的位姿估計(jì)的基本原理是追蹤匹配圖像中明顯的視覺特征,因此過(guò)曝、弱紋理、運(yùn)動(dòng)模糊等問(wèn)題一直是視覺SLAM系統(tǒng)實(shí)際應(yīng)用中的痛點(diǎn)。在研究和工程實(shí)踐中,多傳感融合、相機(jī)參數(shù)控制等手段都可以用來(lái)提高視覺SLAM系統(tǒng)的魯棒性;另一方面,目前的自動(dòng)駕駛系統(tǒng)往往都配備了多個(gè)相機(jī)形成環(huán)視視覺系統(tǒng),而合理利用多相機(jī)系統(tǒng)可以很大程度上提升SLAM系統(tǒng)的性能,因此本文將著重介紹在多相機(jī)SLAM系統(tǒng)的原理、和一般單目/雙目系統(tǒng)的區(qū)別及其在自動(dòng)駕駛系統(tǒng)中的應(yīng)用。
一、從單相機(jī)到多相機(jī)的拓展
自2004年視覺里程計(jì)技術(shù)被正式提出以來(lái),視覺SLAM技術(shù)經(jīng)過(guò)長(zhǎng)期發(fā)展,其基礎(chǔ)理論已經(jīng)相對(duì)完善(如立體幾何、非線性優(yōu)化和濾波等)。在工程實(shí)踐方面,研究者也總結(jié)出一套相對(duì)通用的系統(tǒng)框架:粗略來(lái)說(shuō),視覺SLAM系統(tǒng)通常被劃分為前端和后端,其中前端負(fù)責(zé)建立不同時(shí)刻圖像之間的匹配關(guān)系并進(jìn)行局部估計(jì),保證系統(tǒng)的實(shí)時(shí)位姿輸出,后端則負(fù)責(zé)在相對(duì)大范圍內(nèi)進(jìn)行優(yōu)化,保證系統(tǒng)的精度和全局地圖一致性。從具體系統(tǒng)實(shí)現(xiàn)上來(lái)說(shuō),大部分工作都是針對(duì)單目或者雙目相機(jī)進(jìn)行的,因此我們最熟悉的一些技術(shù)實(shí)踐不可避免是針對(duì)這兩種相機(jī)配置進(jìn)行設(shè)計(jì)的。
將單目/雙目SLAM系統(tǒng)拓展到多相機(jī)SLAM系統(tǒng)時(shí),前端-后端的系統(tǒng)框架一般可以沿用,但是需要對(duì)原有針對(duì)單目/雙目的具體算法模塊進(jìn)行改進(jìn),使其適用于多相機(jī)配置,下面以MultiCol-SLAM為例進(jìn)行說(shuō)明。MultiCol-SLAM基于ORB-SLAM設(shè)計(jì)了多相機(jī)SLAM,在基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)上將關(guān)鍵幀Keyframe的概念拓展到Multi-Keyframe(MKF),即不同相機(jī)在同一時(shí)刻觀測(cè)的集合:
MultiCol-SLAM中的多相機(jī)
因此這里我們關(guān)注的不再是某個(gè)相機(jī)的位姿,而是圖中body-frame的位姿,多個(gè)相機(jī)的觀測(cè)都可以為估計(jì)body-frame的位姿服務(wù)。其他算法模塊也需要針對(duì)MKF進(jìn)行適配,首先需要通過(guò)非線性優(yōu)化求解位姿的模塊(例如Tracking中相對(duì)局部地圖的定位、局部Bundle Adjustment)需要將body-frame的位姿作為求解變量并更改相應(yīng)的cost,其次,一些常用的位姿求解器需要替換為支持多相機(jī)的版本,例如在重定位中使用Generalized P3P和PnP算法替代EPnP求解位姿初值。
從單相機(jī)絕對(duì)位姿估計(jì)(左)到多相機(jī)絕對(duì)位姿估計(jì)(右),其中f代表視覺觀測(cè)。圖取自O(shè)penGV文檔。
從MultiCol-SLAM的例子可以看出,將適用于單目/雙目的SLAM系統(tǒng)拓展到多目整體來(lái)看是比較自然的:需要估計(jì)的位姿不再和相機(jī)綁定而是通過(guò)外參關(guān)聯(lián)到多個(gè)相機(jī),相應(yīng)的算法模塊也都可以比較容易地拓展到多相機(jī)系統(tǒng)。更一般地,從SLAM理論基礎(chǔ)的角度來(lái)說(shuō),非線性優(yōu)化和濾波的理論和工具相當(dāng)靈活,可以方便地根據(jù)多相機(jī)配置進(jìn)行適配,同時(shí),針對(duì)多相機(jī)的幾何視覺研究也相對(duì)成熟,常見的位姿求解問(wèn)題基本都可以找到相應(yīng)的工具。
但是,如果我們不僅僅滿足于讓多相機(jī)SLAM系統(tǒng)“跑起來(lái)”,而是想要實(shí)現(xiàn)一個(gè)魯棒、泛用的多相機(jī)SLAM系統(tǒng),就需要進(jìn)一步考慮各個(gè)模塊中引入多相機(jī)所帶來(lái)的額外問(wèn)題,而這些問(wèn)題往往會(huì)對(duì)系統(tǒng)的整體性能有明顯影響。下面對(duì)多目SLAM系統(tǒng)中的幾個(gè)難點(diǎn)進(jìn)行說(shuō)明。
二、多相機(jī)SLAM中的難點(diǎn)
初始化
視覺SLAM初始化的目的是建立初始的3D點(diǎn)地圖用于后續(xù)跟蹤,直接影響SLAM系統(tǒng)的精度指標(biāo)。對(duì)于單目和雙目系統(tǒng),分別通過(guò)5點(diǎn)法/planar homography和雙目三角化進(jìn)行初始化已經(jīng)成為事實(shí)上的標(biāo)準(zhǔn)方法。但是,對(duì)于多目相機(jī),由于相機(jī)的配置不確定,一套通用的初始化方法應(yīng)當(dāng)如何設(shè)計(jì)仍不明確。顯然,相機(jī)的具體配置,尤其是相機(jī)之間是否有overlap,決定了合適的初始化流程。MultiCol-SLAM對(duì)多相機(jī)組中的每個(gè)相機(jī)都計(jì)算相對(duì)位姿、從中選擇質(zhì)量最好的一組得到粗略的3D點(diǎn),再將這些3D點(diǎn)投影到其他相機(jī)中并利用所有觀測(cè)進(jìn)行聯(lián)合優(yōu)化,這種方法只適用于相機(jī)之間有overlap的情況。也有一些工作嘗試通過(guò)分析相機(jī)之間的overlap情況來(lái)決定初始化的策略,可以對(duì)不同的多相機(jī)配置實(shí)現(xiàn)一定程度上的自適應(yīng),但是整體來(lái)說(shuō),通用魯棒的多目相機(jī)初始化仍是一個(gè)開放的問(wèn)題。
在線外參估計(jì)
和多傳感融合算法一樣,多相機(jī)SLAM算法也需要精確的相機(jī)間外參才能正常工作。離線標(biāo)定雖然可以得到十分精確的結(jié)果,但是在系統(tǒng)運(yùn)行過(guò)程中由于碰撞、震動(dòng)等不可避免會(huì)出現(xiàn)外參的變化,尤其是對(duì)自動(dòng)駕駛汽車來(lái)說(shuō),由于相機(jī)之間距離較大,外參甚至可能隨著車體運(yùn)動(dòng)、負(fù)載狀況的不同發(fā)生變化,因此系統(tǒng)在正常運(yùn)行環(huán)境中(不依賴標(biāo)定設(shè)備)對(duì)相機(jī)外參進(jìn)行標(biāo)定的能力比較重要,學(xué)界對(duì)此也有很多研究工作。一類工作是利用多個(gè)相機(jī)(單目或者雙目組合)單獨(dú)運(yùn)行SLAM/SfM算法,再對(duì)不同相機(jī)的地圖進(jìn)行匹配融合,最后再通過(guò)聯(lián)合優(yōu)化得到外參;另一類工作是利用SLAM本身已有的非線性濾波或優(yōu)化求解過(guò)程,將外參作為額外待估參數(shù)加入求解器進(jìn)行估計(jì),可以實(shí)時(shí)估計(jì)外參變化(激勵(lì)充分時(shí)),例如有的提出一種MSCKF框架下的多相機(jī)、多IMU視覺慣性里程計(jì),實(shí)現(xiàn)了對(duì)相機(jī)和IMU外參的在線估計(jì);而針對(duì)自動(dòng)駕駛平臺(tái)上的多相機(jī)系統(tǒng),也有人將相機(jī)之間的外參加入視覺SLAM的局部BA中進(jìn)行估計(jì)。
原理上來(lái)說(shuō),上述方法和構(gòu)建一般的狀態(tài)估計(jì)問(wèn)題差異不大,但是相較于離線標(biāo)定問(wèn)題,在線標(biāo)定受限于系統(tǒng)的運(yùn)行狀況,需要額外注意當(dāng)前數(shù)據(jù)是否足以準(zhǔn)確估計(jì)外參(即系統(tǒng)是否有足夠的激勵(lì),相應(yīng)待估參數(shù)是否可觀)。相關(guān)地,也有工作從數(shù)據(jù)的角度出發(fā),自動(dòng)選擇信息量更大的數(shù)據(jù)對(duì)多相機(jī)外參進(jìn)行估計(jì)。
特征選擇
多個(gè)相機(jī)帶來(lái)更多的觀測(cè)數(shù)據(jù),理論上來(lái)說(shuō)總能帶來(lái)更好的定位建圖結(jié)果,但是也帶來(lái)了更大的計(jì)算量。因此實(shí)際中經(jīng)常需要面對(duì)的問(wèn)題是,如何對(duì)丟棄一定的觀測(cè)以減小計(jì)算量,同時(shí)對(duì)定位精度有較小的影響?啟發(fā)式的方法可以起到一定的效果(例如視覺SLAM中經(jīng)常用到的特征在圖像上平均分布的技巧),但是往往不是最優(yōu)的。因此一些研究工作提出了基于信息論的方法,粗略來(lái)說(shuō),是以一種數(shù)學(xué)上更嚴(yán)格的方法衡量丟棄觀測(cè)后對(duì)系統(tǒng)的影響,例如利用Hessian矩陣的信息度量對(duì)多個(gè)相機(jī)中的特征進(jìn)行選擇,或者通過(guò)對(duì)特征分布的合理假設(shè),簡(jiǎn)化Hessian矩陣的計(jì)算和多個(gè)相機(jī)的特征選擇問(wèn)題。本質(zhì)上來(lái)說(shuō),特征選擇是一種在盡量不影響求解結(jié)果的約束下,通過(guò)更改問(wèn)題結(jié)構(gòu)減小計(jì)算量的方法,這一方向的研究工作仍處于SLAM后端優(yōu)化的研究前沿。
HUIXI TECH
三、多相機(jī)SLAM在自動(dòng)駕駛中的應(yīng)用
自動(dòng)駕駛平臺(tái)上的多個(gè)相機(jī)往往覆蓋車身周圍360°的視角,能夠利用全方向的視覺信息,因此如果能夠充分利用這些相機(jī),多相機(jī)視覺SLAM系統(tǒng)可以實(shí)現(xiàn)不同外部條件下魯棒準(zhǔn)確的位姿估計(jì)。在論文“Towards Robust Visual Odometry with a Multi-Camera System”中,作者設(shè)計(jì)了一種基于光度一致性的多目視覺SLAM系統(tǒng),在配備有前、后、左、右四組雙目相機(jī)的平臺(tái)上進(jìn)行測(cè)試,結(jié)果表明,如果能夠利用全部四組雙目相機(jī),系統(tǒng)可以在不同光照條件下(白天、夜晚)穩(wěn)定地工作,并保持較高的位姿估計(jì)精度。“ROVO: Robust Omnidirectional Visual Odometry for Wide-baseline Wide-FOV Camera Systems”一文則針對(duì)包含4個(gè)魚眼相機(jī)的環(huán)視系統(tǒng)設(shè)計(jì)了基于特征點(diǎn)的視覺SLAM系統(tǒng),實(shí)驗(yàn)結(jié)果表明在多相機(jī)SLAM系統(tǒng)中加入在線外參估計(jì)對(duì)系統(tǒng)性能有明顯提升。
H. Seok and J. Lim, IROS 2018中的傳感器配置和SLAM效果
在自動(dòng)駕駛平臺(tái)上應(yīng)用多相機(jī)SLAM系統(tǒng)同時(shí)也需要考慮自動(dòng)駕駛汽車的特性。例如,自動(dòng)駕駛汽車的運(yùn)動(dòng)自由度有限,并存在大量速度變化不大情況,這對(duì)某些參數(shù)的在線標(biāo)定有一定影響,這一點(diǎn)在結(jié)合IMU搭建SLAM系統(tǒng)的時(shí)候需要尤其注意。另一方面,也可以利用車輛特有的性質(zhì)減小狀態(tài)估計(jì)的難度,例如通過(guò)離線實(shí)驗(yàn)識(shí)別出相機(jī)外參變化的可能模式(由具體相機(jī)安裝方式?jīng)Q定),隨后在在線外參標(biāo)定中將這些模式作為約束,提高了在線標(biāo)定的效率和精度,又如車道線作為結(jié)構(gòu)性很強(qiáng)的特征,可以作為外參在線標(biāo)定的重要線索。
自動(dòng)駕駛平臺(tái)上的感知系統(tǒng)往往也充分利用了多相機(jī)系統(tǒng),可以提供豐富的語(yǔ)義信息,例如車道線和分割結(jié)果等,這些信息和傳統(tǒng)視覺特征互為補(bǔ)充,可以作為多相機(jī)SLAM系統(tǒng)的重要輸入。例如有的利用IPM圖上提取的車道線信息構(gòu)建地下車庫(kù)的地圖,為自動(dòng)泊車提供定位功能,或者利用環(huán)視相機(jī)生成BEV視角下的分割結(jié)果,直接將該結(jié)果作為SLAM系統(tǒng)的輸入,實(shí)現(xiàn)相鄰幀的位姿估計(jì)和回環(huán)檢測(cè)等功能。另外,特斯拉在AI Day 2022上也提到,在FSD中集成了多目視覺-慣性-輪速里程計(jì),利用了神經(jīng)網(wǎng)絡(luò)輸出的多種結(jié)果(特征、全景分割、地面等),實(shí)現(xiàn)了100Hz、漂移率在1%左右的位姿估計(jì),該里程計(jì)輸出的位姿和3D結(jié)構(gòu)為下游自標(biāo)注系統(tǒng)提供了輸入。
Tesla AI Day 2022展示的多目視覺慣性里程計(jì)
四、總結(jié)
在視覺SLAM系統(tǒng)中引入多相機(jī)可以有效提高系統(tǒng)的魯棒性和精度,具體到自動(dòng)駕駛汽車,環(huán)視相機(jī)系統(tǒng)可以利用全方向的視覺信息,為視覺SLAM系統(tǒng)提供了很好的傳感器配置。從具體算法來(lái)說(shuō),雖然視覺SLAM的理論基礎(chǔ)相對(duì)成熟,但是實(shí)現(xiàn)一套效果優(yōu)秀的多相機(jī)SLAM系統(tǒng)仍需要解決若干痛點(diǎn),例如外參自標(biāo)定、如何平衡計(jì)算量和精度等,這里既有工程上的挑戰(zhàn),也有待研究的問(wèn)題。另外,自動(dòng)駕駛汽車感知系統(tǒng)提供的語(yǔ)義信息可以作為多相機(jī)視覺SLAM系統(tǒng)的重要輸入,如何將神經(jīng)網(wǎng)絡(luò)輸入的語(yǔ)義信息和傳統(tǒng)的非線性優(yōu)化濾波有效結(jié)合(例如如何衡量語(yǔ)義輸出的幾何不確定度)仍是一個(gè)開放的問(wèn)題。
審核編輯:劉清
評(píng)論
查看更多