SLAM中的逆深度參數化


參數化問題
  在SLAM的建圖過程中,把像素深度假設成了高斯分布。那么這么假設是否是合適的呢?這里關系到一個參數化的問題。

  我們經常用一個點的世界坐標x,y,z三個量來描述它,這是一種參數化形式。我們認為x,y,z三個量都是隨機的,它們服從三維的高斯分布。然而,在極線搜索中使用了圖像坐標u,v和深度值d來描述某個空間點(即稠密建圖)。我們認為u,v不動,而d服從(一維的)高斯分布,這是另一種參數化形式。那么這兩種參數化形式有什么不同嗎?我們是否也能假設u,v服從高斯分布,從而形成另一種參數數化形式呢?

  不同的參數化形式,實際都描述了同一個量,也就是某個三維空間點。考慮到我們在相機看到某個點時,它的圖像坐標u,v是比較確定的(u,v的不確定性取決於圖像的分辨率)而深度值d則是非常不確定的。此時,若用世界坐標x,y,z描述這個點,那么根據相機當前的位姿,x,y,z三個量之間可能存在明顯的相關性。反映在協方差矩陣中,表現為非對角元素不為零。而如果用u,v,d參數化一個點,那么它的u,v和d至少是近似獨立的,甚至我們還能認為u,v也是獨立的----從而它的協方差矩陣近似值為對角陣,更為簡潔。

逆深度
  逆深度(Inverse depth)是近年來SLAM研究中出現的一種廣泛使用的參數化技巧。在極線搜索和塊匹配中,我們假設深度值滿足高斯分布。然而仔細想想會發現,深度的正態分布確實存在一些問題:

1.實際想表達的是:這個場景深度大概是5-10米,可能有一些更遠的點,但近處肯定不會小於相機焦距(或者認為深度不會小於0).這個分布並不是像高斯分布那樣,形成一個對稱的形狀。它的尾部可能稍長,而負數區域則為零。

2.在一些室外應用中,可能存在距離非常遠,乃至無窮遠處的點。我們的初始值中難以覆蓋這些點,並且用高斯分布描述他們會有一些數值計算上的困難。(沒徹底理解,為什么初始值中難以覆蓋這些點?為什么用高斯分布描述他們會有數值困難,是因為數值過於小會造成巨大誤差嗎?)

  於是,逆深度應運而生。人們在仿真中發現,假設深度的倒數(也就是逆深度),為高斯分布是比較有效的。隨后,在實際應用中,逆深度也具有更好的數值穩定性,從而逐漸成為一種通用的技巧。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM