SLAM十四讲ch5——相机成像模型

针孔相机模型

首先可以利用这样一个简单的模型解释相机成像过程:
SLAM十四讲ch5——相机成像模型_第1张图片
其中 O x y z Oxyz Oxyz是相机坐标系, O O O是相机光心,假设 P [ X , Y , Z ] T P[X,Y,Z]^T P[X,Y,Z]T P ′ [ X , Y , Z ] T P'[X,Y,Z]^T P[X,Y,Z]T,物理成像平面到小孔距离为焦距 f f f,那么有:
SLAM十四讲ch5——相机成像模型_第2张图片
从而有:
Z f = − X X ‘ = − Y Y ‘ {Z \over f } =-{ X \over X^ `}=-{ Y \over Y^ `} fZ=XX=YY
我们可以假设把成像平面绕相机光心旋转180°,这样可以把负号去掉,也能使得其像不是倒立的,整理得:
X ‘ = f X Z X^ `={f {X \over Z} } X=fZX Y ‘ = f Y Z Y^ `={f {Y \over Z} } Y=fZY
为了描述传感器将感受到的光线转换成图像的过程,我们假设在物理成像平面上铺了一层像素平面 o u v ouv ouv,每个落在物理成像平面的点都可以经过某种缩放和平移进而投射到像素平面。像素坐标系的原点在左上角, u u u轴和 x x x轴平行, v v v轴和 y y y轴平行。我们假设像素坐标在 u u u轴上缩放了 α \alpha α倍,在 v v v轴上缩放了 β \beta β倍,同时平移了 [ c x , c y ] T [c_x,c_y]^T [cx,cy]T,那么P点的像素坐标 [ u , v ] T [u,v]^T [u,v]T和P在物理成像平面上坐标的对应关系是:

{ u = α X ‘ + c x v = β Y ‘ + c y \begin{cases} u=\alpha X^ `+c_x\\ v=\beta Y^ `+c_y\\ \end{cases} {u=αX+cxv=βY+cy
进而我们可以求出P点的像素坐标 [ u , v ] T [u,v]^T [u,v]T和P的实际坐标的对应关系是:
{ u = f x X Z + c x v = f y Y Z + c y \begin{cases} u=f_x{X \over Z}+c_x\\ v=f_y{Y \over Z}+c_y\\ \end{cases} {u=fxZX+cxv=fyZY+cy
可以看出 f f f的单位是米, α \alpha α β \beta β的单位是像素/米, f x f y f_xf_y fxfy的单位是像素,上式可以写成矩阵形式,不过左侧需要用到其次坐标:
Z ( u v 1 ) = ( f x 0 c x 0 f y c y 0 0 1 ) ( X Y Z ) = K P Z\left( \begin{array} {ccc} u\\ v\\ 1 \end{array} \right)= \left( \begin{array} {ccc} f_x&0&c_x\\ 0&f_y&c_y\\ 0&0&1 \end{array} \right) \left( \begin{array} {ccc} X\\ Y\\ Z \end{array} \right)=KP Zuv1=fx000fy0cxcy1XYZ=KP
上面的K就是内参矩阵
有了内参,自然也要有外参,刚才我们所推导的公式中P点坐标都是P在像素坐标系下的坐标( P c P_c Pc),如果引进相机本身的位姿信息,那我们应该使用P在世界坐标系下的坐标( P w P_w Pw),相机的位姿由它的旋转矩阵 R R R和平移向量 t t t来描述:
Z P u v = Z [ u v 1 ] = K ( R P w + t ) = K T P w ZP_{uv}=Z \left[ \begin{array} {ccc} u\\ v\\ 1 \end{array} \right]=K(RP_w+t)=KTP_w ZPuv=Zuv1=K(RPw+t)=KTPw
上面的Rt就是相机的外参,注意上面的公式最后隐含了齐次坐标到非齐次坐标的转换,既上面公式的 T P w TP_w TPw仅仅代表了其前三个维度,因为最后一个维度仅包含一个1。
此外还有一个要提的是归一化坐标,既把 P c P_c Pc看成一个二维的其次坐标:
P c ^ = [ X Y Z ] , P c = [ X / Z Y / Z 1 ] \hat{P_c}= \left[ \begin{array} {ccc} X\\ Y\\ Z \end{array} \right], P_c= \left[ \begin{array} {ccc} X/Z\\ Y/Z\\ 1 \end{array} \right] Pc^=XYZPc=X/ZY/Z1
上式中 P c ^ \hat{P_c} Pc^代表其次坐标的表示方法。该坐标位于相机前方 z = 1 z=1 z=1的平面上,改平面称为归一化平面。我们也可以理解像素坐标 P u v P_{uv} Puv是对归一化平面上的点进行量化测量的结果,因为其 Z Z Z是1.

畸变模型

未完待续。。

你可能感兴趣的:(SLAM)