相機位姿估計(一):基本原理之如何解PNP問題

關於PNP問題就是指通過世界中的N個特徵點與圖像成像中的N個像點,計算出其投影關係,從而獲得相機或物體位姿的問題。
以下討論中設相機位於點Oc,P1、P2、P3……爲特徵點。

Case1: 當N=1時

當只有一個特徵點P1,我們假設它就在圖像的正中央,那麼顯然向量OcP1就是相機座標系中的Z軸,此事相機永遠是面對P1,於是相機可能的位置就是在以P1爲球心的球面上,再一個就是球的半徑也無法確定,於是有無數個解。

Case2: 當N=2時

現在多了一個約束條件,顯然OcP1P2形成一個三角形,由於P1、P2兩點位置確定,三角形的變P1P2確定,再加上向量OcP1,OcP2從Oc點射線特徵點的方向角也能確定,於是能夠計算出OcP1的長度=r1,OcP2的長度=r2。於是這種情況下得到兩個球:以P1爲球心,半徑爲r1的球A;以P2爲球心,半徑爲r2的球B。顯然,相機位於球A,球B的相交處,依舊是無數個解。

Case3: 當N=3時

與上述相似,這次又多了一個以P3爲球心的球C,相機這次位於ABC三個球面的相交處,終於不再是無數個解了,這次應該會有4個解,其中一個就是我們需要的真解了。

Case4: 當N=4時

N=3時求出4組解,好像再加一個點就能解決這個問題了,事實上也幾乎如此。說幾乎是因爲還有其他一些特殊情況,這些特殊情況就不再討論了。N>3後,能夠求出正解了,但爲了一個正解就又要多加一個球D顯然不夠”環保”,爲了更快更節省計算機資源地解決問題,先用3個點計算出4組解獲得四個旋轉矩陣、平移矩陣。根據公式:
這裏寫圖片描述
將第四個點的世界座標代入公式,獲得其在圖像中的四個投影(一個解對應一個投影),取出其中投影誤差最小的那個解,就是我們所需要的正解。

PNP問題的求解原理大致就是上面這樣了,至於具體的數學方法還是請大家自己去查閱文獻吧,本博客對這個問題的分析就到此爲止了。接下來請看通過解PNP問題,求解相機位姿的應用。

參考鏈接如下

鏈接內容

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