1.Introduction
相機對特征具有較強的追蹤性能,但立體視覺對外參標(biāo)定的依賴過強,對于有細小誤差的標(biāo)定結(jié)果可能會導(dǎo)致較大的深度估計誤差,然而激光的深度估計誤差較小,并且獨立于外參估計誤差。
目前激光到相機的標(biāo)定仍是一個活躍領(lǐng)域,精度在幾個像素誤差之內(nèi)。
該paper不顯式使用任何LIDAR-SLAM算法,實現(xiàn)激光和相機的深度信息融合的里程計和BA,但沒有實現(xiàn)回環(huán)檢測。
pipeline:
monocular image sequence(Camera)
- Feature extraction
- Feature preprocessing
- Frame to frame motion estimation
scale information(LIDAR)
- scale estimation
fusion
- compute camera poses and 3d structure
2.Feature extraction and preprocessing
該paper使用了viso2實現(xiàn)了特征提取和匹配,viso2包含了非極大值抑制、剔除離群值等功能,能在30-40ms能匹配2000個特征。作者還使用了深度學(xué)習(xí)來剔除在運動物體上的landmark
3.Scale estimation
思想:從LIDAR中獲得被檢測到的特征點的深度
A.方法概述
首先將LIDAR點云轉(zhuǎn)換到相機坐標(biāo)系,然后投影到圖像平面,然后對每一個圖像特征點f執(zhí)行一下五步:
- 選擇f周圍的ROI中的LIDAR點云集F(塊B)
- 從F中分割除前景集F_seg(塊C)
- 用前景集F_seg擬合平面p(塊D),如果f屬于地面,則使用一種特殊的擬合算法(塊E)
- 將p和f對應(yīng)的視線相交,得到f的深度
- 對估計的深度執(zhí)行測試
B.選擇鄰域(即ROI)
用矩形框作為ROI,ROI中的激光點要能組成一個平面,而不是一條直線上
C.前景分割
由于特征點通常都是角點,如果直接對點集F擬合一個平面,通常都會產(chǎn)生錯誤的估計,因此需要將前景分割出來。
前景分割算法利用了深度直方圖,以深度跳變點作為前后景的分界點,分割后f可以看作是前景平面中的一條邊。
D.平面擬合
從F_seg中選擇三點張成一個能夠穩(wěn)定估計值的最大面積的三角形F_delta。如果F_delta過小,則不使用該深度估計
E.特例:地面上的點
F_seg擬合得到的平面是垂直于雷達的垂直軸(?我認(rèn)為是水平軸)的。但在地面上的點是不可以用該方法估計的,因為激光雷達在垂直方向上的精度低于水平方向上的精度。但地面上的點是有價值的,所以利用RANSAC算法對激光雷達點云提取出具有魯棒擬合特性的地面
4.Frame to frame odometry
用PnP估計相機運動,為了解決具有有效深度的特征點較少的問題,該paper加入了極線約束。為了減少離群值的影響,該paper使用了柯西核函數(shù)包裹損失函數(shù)和極線約束。
5.后端
該paper提出了一個基于關(guān)鍵幀的BA框架,該框架從結(jié)構(gòu)和軟件上獨立于先驗估計。
A.選擇的重要性
衡量了準(zhǔn)確率和花銷
B.關(guān)鍵幀的選擇
C.地標(biāo)(Landmark)選擇
該paper將Landmark分成了三部分:近(Near),中(Middle),遠(Far)
- Near對平移估計較為重要
- Middle對平移和旋轉(zhuǎn)都重要
- Far對旋轉(zhuǎn)重要
為了保證三維地標(biāo)的均勻分布,該paper對三維地標(biāo)采用了中值濾波的體素濾波器。對不同的部分使用了不同的選擇策略。