重投影誤差


計算機視覺中,經常會用到重投影誤差(Reprojection error)。比如在計算平面單應矩陣和投影矩陣的時候,往往會使用重投影誤差來構造代價函數,然后最小化這個代價函數,以優化單應矩陣或者投影矩陣。之所以使用重投影誤差,是因為它不光考慮了單應矩陣的計算誤差,也考慮了圖像點的測量誤差,所以其精度會更高。 


 最小化重投影誤差問題(Bundle Adjustment問題)---可以將位姿和三維特征點P同時優化

在SLAM中優化求解相機運動位姿時(3D-2D),會用到重投影誤差:是像素坐標(觀測到的投影位置)與3D點按照當前估計的位姿進行投影得到的位置相比較得到的誤差。

如下圖所示,我們通過特征匹配知道,觀測值和  是同一個空間點的投影,的投影與觀測值之間有一定的距離,也就是重投影誤差。於是我們調整相機的位姿,使這個距離變小,由於這個調整需要考慮很多個點,所以最后每個點的誤差通常不會精確到0。


 
 
 
考慮到n個三維空間點P和他們的投影,我們希望計算R,t,用李代數表示為。假設某空間點,其投影的像素坐標為

像素位置與空間點位置的關系如下:

寫成矩陣形式就是:

 由於相機位姿未知以及觀測點的噪聲,該等式存在一個誤差。我們將誤差求和,構建最小二乘問題,然后尋找做好的相機位姿,使它最小化:
用高斯牛頓法/列文伯格-馬誇爾特方法求解。

 

補充:

平面的單應性:從一個平面到另一個平面的投影映射 。
用單應性描述平面物體的觀測:從物體平面到圖像平面的映射,同時表征了這兩個平面的相對位置(外參)和相機投影矩陣(內參)。   


以平面單應矩陣的計算為例,假設兩幅圖像中的對應點滿足: 

這里寫圖片描述 
其中,H是平面單應矩陣,x和x’是圖像中的對應點,則重投影誤差的形式如下: 
這里寫圖片描述 
subject to: 
這里寫圖片描述 
其中,x^是x的估計值,H^是H的估計。最小化重投影誤差就是優化H^和x^。從重投影誤差公式可以看出,模型認為測量點並非絕對精確,而是存在一定的測量誤差,因此需要重新估計圖像點的坐標,而估計得到的新的圖像點之間完美的滿足單應關系。下圖就是重投影誤差的幾何表述,d和d’的和即為重投影誤差: 
這里寫圖片描述 
上面都是在假設圖像點有測量誤差的情況下討論的,如果x和x’都是圖像上的點,那么確實是滿足上面的模型的。但是有一種特殊情形,那就是攝像機定位時通常都會遇見的,x不是圖像點,而是平面標志點在世界坐標系下的坐標,只有x’是圖像點。在這種情況下,由於標志點(例如:棋盤圖上的角點)通常都是很標准的,都是嚴格按尺寸制定的,所以我們可以認為x是絕對准確的,那么此時只有x’存在測量誤差。如下圖: 
這里寫圖片描述 
此時,x的估計x^就是它本身,即x=x^,所以有: 
這里寫圖片描述 
那么重投影誤差在強約束條件x=x^下就退化為: 
這里寫圖片描述 
上式即為單邊變換誤差(Transfer error)。 
也就是說,如果給重投影誤差加上約束條件x=x^,重投影誤差就退化為單邊變換誤差,並且極大地簡化了優化算法。同時,從上面的推導也可以得出結論:在使用已知標志點給攝像機定位時,重投影誤差並非最好的選擇,因為重投影誤差模型會認為標志點存在誤差,從而重新估計標志點的坐標,引入多余的誤差;而此時,事實上,重投影誤差已經退化為單邊幾何變換誤差,所以在這種情況下,單邊幾何變換誤差才是最好的代價函數。

 

重投影誤差與對稱轉移誤差

                                                                                                                                                                                                        


免責聲明!

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



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