位姿估计的来龙去脉——内外参,三维重建,Pnp问题
關于相機的參數,大致可以分為內參與外參。對于內參,就是一些焦距,畸變參數等信息,可以根據張定友標定法進行標定。對于外參,它描述了物體到相機的相對運動,由旋轉矩陣與平移矩陣構成,作用是將世界坐標系中的點映射到相機坐標系中。平移和旋轉共擁有6個自由度,所以其實外參的標定過程就是相機的位姿估計。
數學模型已經建好了,剩下的就是引入一些先驗的對應關系然后去求解。模型:世界坐標系到圖像坐標系到變換矩陣稱為基礎矩陣,它與內參和外參有關。先驗知識:可以提前知道指定點的三維世界坐標與圖像坐標。此外,對于內參估計,外參可以看做是已知的(認為指定相機的位置與角度);對于外參估計,內參已經估計得到,所以內參此時也可以看做是已知的。
可以看到aachen數據集,其中一項是內參
The intrinsic calibration is defined by the width `w` and height `h` of the image, its focal length?`f`, the position of the principal point (`cx` and `cy`), and a radial distortion parameter `r`.?
以那么現在的問題就是如何去找到對應點。因為是在估計位姿,所以此時的相機位置和角度是固定的,所以我們要坐的就是找到三維點(一般以點云表示)與相機成像的2D點之間的對應關系。而直接去找這種對應關系是比較難的:需要知道投影關系才能找到對應關系,而我們的目的就是去求解投影關系。這怎么辦呢,可以使用sfm的三維重建模型。通過sfm,我們可以得到三維點與相機/圖像的對應關系:三維點的個數是百萬級別的,相機/圖像的個數是幾千級別的,所以同一個三維點會在多個圖像中成像(points3D.bin中以image_idx表示),同一個圖像中可能包含多個三維點(images.bin文件中以point3D_ids表示,大于0表示valid,valid的數目正好和特征點數目一樣)。數據庫中的數據每個圖像的二維特征點對應三維坐標已知,只需要知道當前在線圖像與數據庫中的二維圖像匹配關系,就可以間接得到三維坐標,就可以去求解。
為什么三維重建可以知道二維坐標點對應的3D坐標呢?核心:特征點匹配,重投影誤差。通過特征點匹配我們知道同一三維位置在各個圖像中的對應關系,以不同角度的兩幅圖像為例:
和對應的坐標和深度分別為,可得:.是兩個角度的相對旋轉和位移矩陣,可以通過對極約束得到。那么可以由Cramer's法則,或者叉乘,或者mid point method求解得到深度。這一步叫做三角定位triangulation,由光心和深度確定了三維空間點的位置。https://www.cnblogs.com/Jessica-jie/p/7730731.html
得到物體和相機的相對位置之后,按照估計出的投影關系將該位置的點投影到圖像中,看重投影得到的點和之前的點(第一次投影)位置是否重合。實際上肯定不會完全重合,所以我們可以計算得到重投影誤差reprojection error
可以使用Bundle adjustment最小化sum of reprojection error重投影誤差和。https://www.pianshen.com/article/49561166266/
到這里,這個問題就被抽象為了PnP問題。PNP(Perspective N Points)問題首先于1981年由Fishler和Bolles提出,類似的問題可以追溯到1841年攝影測量學領域。PNP問題的已知條件就是三維點坐標與其對應的二維特征點,要求的是三維點在相機坐標系下的坐標。那么求解思路就有兩個:1.求三維點到光心動距離;2.求世界坐標系到相機坐標系到變換矩陣(旋轉和平移)。
第一種的示意圖及方程組:
?第二種就是更符合坐標系變換意義的解。
和N的關系。當N≥6時,PNP問題成為經典的DLT(Direct Linear Transformation?? 直接線性變換)問題,此時(R,t)均可解,因此研究N≥6的PNP問題已沒有多大意義。
當N=3,一般使用P3P方法,它利用三角形相似,將問題轉換為了3D到3D的位姿估計問題,但是也只能利用三組點對。?
Reference:
1.兩種途徑https://blog.csdn.net/Zz8474/article/details/82963651
2.https://www.jianshu.com/p/b3e9fb2ad0dc
3.https://blog.csdn.net/luohuiwu/article/details/80722542
4.https://zhuanlan.zhihu.com/p/61742217
5.https://blog.csdn.net/weixin_43206570/article/details/84797361
6.http://slazebni.cs.illinois.edu/spring16/
7.https://blog.csdn.net/honyniu/article/details/51004397
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的位姿估计的来龙去脉——内外参,三维重建,Pnp问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 大数据计算引擎:impala对比hive
- 下一篇: 一篇文章搞懂数据仓库:数据仓库架构-La