關於slam第五講物平面、歸一化平面、像素平面、成像平面的思考

隨着理解的加深,我又更新了一下,比之前更標準一些: 

經過好幾天對於slam裏那好幾個平面的倒來倒去,零基礎的我快要瘋掉了,還好我理出了些頭緒,和大家一起分享。

我們從頭開始一步一步理一下:

1、首先從相機座標系開始吧,物點在相機座標系下所在的平面叫做物平面(當然還有世界座標系,但是那個就涉及外參了,本文暫不討論那個);

2、物平面的點通過小孔成像後,投到成像平面(相機光心之後),雖然此時的面是真正的成像平面,但是此時得到的座標是負的,很麻煩的;

3、爲了方便計算我們把該成像平面放到相機之前,並且以後都這麼算,然後把此平面叫做成像平面,注意此時推到過程是:將X和Y座標乘以f(焦距)除以Z(z座標),因爲此過程會將3D轉化成2D,所以Z肯定要被消去,這樣理解可能更直觀,最具說服力的還是三角形相似拉;又因爲平行光成像都成在焦平面嘛,所以乘以f是理所應當的;

4、由於此時單位依舊是米,我們最終得到的可是像素座標,單位是像素,所以還需要一個米與像素之間的縮放。公式裏是α和β,當然我們還需要把整個點挪到像素原點去,像素圖像的原點在左上角,圖形的原點在中心,此時有一個cx,cy的平移,但是面的位置沒有改變,但是性質變了,已經成爲像素平面了,單位是pixel。

現在回頭看,我們需要做的是:

① 把第2步省去,因爲加負號不是我們想要的,所以我們的腦海裏將不再有相機之後的平面了;

② 推導出歸一化平面,把第3步分開,先除Z,此時物平面就轉到了相機前單位距離處,這時歸一化平面就有了。之後再乘以f,讓歸一化平面回到成像平面

③ 把乘f,米與像素的縮放(α、β),平移(cx,cy)整合成內參矩陣K。

所以最終的過程就是從物平面除以Z變成歸一化平面,乘以f變成成像平面,縮放平移變成像素平面,也可以乘以內參由歸一化平面變成像素平面。我們平時用歸一化平面多一些,畢竟齊次嘛,可以忽略物點深度的影響。這樣看來,由近及遠以此是:相機平面,歸一化平面(1),成像平面(f),像素平面(f)

再來一張自己做的一張圖吧,可能和別的博主有相似的地方:

本文沒涉及外參(也同相機位姿)只有內參

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章