视觉slam系列更多偏向对本人的记录而非讲解,因此叙述部分会占多数,推导过程几乎没有,文章主要内容摘自《视觉slam十四讲》《计算机视觉中的多视图几何》《机器人学中的状态估计》,博客内容仅为帮助自己记忆,本人仅起到总结作用,所有内容均摘自以上几本书。
相机模型
像素坐标系
针孔相机模型
f f f代表相机的焦距,空间上有某点P [ X , Y , Z ] T [ X , Y , Z ] ^ { T } [X,Y,Z]T,成像点为P′ [ X ′ , Y ′ , Z ′ ] T \left[ X ^ { \prime } , Y ^ { \prime } , Z ^ { \prime } \right] ^ { T } [X′,Y′,Z′]T 。P′ 的像素坐标 [ u , v ] T [ u , v ] ^ { T } [u,v]T 。
真实成像平面,对称成像平面,归一化成像平面的图示(上图)。整理得:
X ′ = f X Z Y ′ = f Y Z \begin{aligned} X ^ { \prime } & = f \frac { X } { Z } \\ Y ^ { \prime } & = f \frac { Y } { Z } \end{aligned} X′Y′=fZX=fZY
像素坐标系通常的定义方式是:原点 O ′ O ^ { \prime } O′位于图像的左上角, u u u 轴向右与x 轴平行, v \mathcal { v } v轴向下与y 轴平行。像素坐标系与成像平面之间,相差了一个缩放和一个原点的平移。我们设像素坐标在 u u u轴上缩放了 α \alpha α 倍,在 v \mathcal { v } v上缩放了 β \beta β倍。同时,原点平移了 [ c x , c y ] T \left[ c _ { x } , c _ { y } \right] ^ { T } [cx,cy]T。那么,P′ 的坐标与像素坐标 [ u , v ] T [ u , v ] ^ { T } [u,v]T 的关系为:
u = α X ′ + c x u = \alpha X ^ { \prime } + c _ { x } u=αX′+cx
v = β Y ′ + c y v = \beta Y ^ { \prime } + c _ { y } v=βY′+c