1. 程式人生 > >視覺SLAM中相機詳解

視覺SLAM中相機詳解

目的 攝像頭 像素 一定的 原理 接收 計算 傳感 span

視覺SLAM中,通常是指使用相機來解決定位和建圖問題。

SLAM中使用的相機往往更加簡單,不攜帶昂貴的鏡頭,以一定的速率拍攝周圍的環境,形成一個連續的視頻流。

相機分類:

單目相機:只是用一個攝像頭進行SLAM的做法成為單目SLAM。

單目相機的數據就是照片,照片就是拍照時的場景在相機的成像平面上留下的一個投影,它以二維的形式反映了三維的世界,在這個過程中丟掉了一個維度即深度(距離)。我們無法通過單張照片計算場景中的物體與我們之間的距離。(照片:近小遠大原理)

如果想要通過單目相機拍攝的照片恢復三維結構,必須改變相機的視角(移動相機,才能估計它的運動和場景中物體的遠近與大小)。

通過移動,我們知道“近處的物體移動快,遠處的物體移動慢”從而得知物體的遠近,但這仍然是相對值。

單目SLAM無法僅憑圖像確定物體的真實尺寸。即尺度不確定性。

平移之後,可以計算深度,但無法確定真實尺寸。這給單目SLAM的應用造成了很大的麻煩。

雙目相機:有兩個攝像頭,由兩個單目相機組成(兩個相機之間的距離叫“基線”是已知的),通過這個基線(進行大量計算並且是不太可靠的)來估計每個像素的空間位置來測量物體與我們之間的距離,客服單目相機無法知道距離的缺點。

雙目相機測量到的深度範圍和基線有關,基線距離越大,能夠測量到的就越遠。可用於室內也可用於室外。

缺點:配置與標定較為復雜,其深度和精度受雙目的基線或者分辨率所限,並且視差的計算非常消耗計算機資源,在現有的條件下,計算量是雙目的主要問題之一。

RGB-D(深度相機)攜帶多個攝像頭,可以采集到彩色圖片,還可以讀出每個像素與相機之間的距離。

最大的特點:可以通過紅外結構光或Time-of-Flight原理,像激光傳感器那樣,通過主動向物體發射光並接收返回的光,測量物體與相機之間的距離。這是通過物理測量的方法來計算距離,相比雙目相機通過軟件計算距離來說深度相機可以節省大量的時間。

缺點:大多數深度相機的測量範圍窄,噪聲大,視野小,易受日光幹擾,無法測量投射材質等。

在SLAM中,主要用於室內,室外則較難應用。

在相機的運動過程中,我們可以得到一些列連續變化的圖像,視覺SLAM的目標就是通過這樣的圖像進行定位和地圖重建。SLAM需要一個完善的算法框架,現在框架已經相對成熟了。

視覺SLAM中相機詳解