视觉SLAM十四讲 第5讲 相机与图像

一、相机模型

针孔相机模型

在这里插入图片描述

其中 O O O为相机的光心, P P P为现实世界空间中的一点,物理成像平面上的点为 P ′ P^{\prime} P P = [ X , Y , Z ] T , p ′ = [ X ′ , Y ′ , Z ′ ] T P=[X,Y,Z]^T,p^{\prime}=[X^{\prime},Y^{\prime}, Z^{\prime}]^T P=[X,Y,Z]T,p=[X,Y,Z]T,焦距为 f f f
根据相似三角形:
Z f = − X X ′ = − Y Y ′ \frac Zf =-\frac X {X^{\prime}}=-\frac{Y}{Y^{\prime}} fZ=XX=YY
为了消除负号,将成像平面反对称到光心前方,就可以得到:
Z f = X X ′ = Y Y ′ \frac Zf =\frac X {X^{\prime}}=\frac{Y}{Y^{\prime}} fZ=XX=YY
从而
X ′ = f X Z Y ′ = f Y Z \begin{aligned} X^{\prime} &= f\frac XZ\\ Y^{\prime} &= f\frac YZ \end{aligned} XY=fZX=fZY
上式描述了点 P P P与其像的空间关系,但在相机中,我们最终获得的是一个一个的像素, P P P的像 P ′ P^{\prime} P的坐标与像素坐标之间还存在者一定的关系。
像素坐标系通常定义为:原点 o ′ o^{\prime} o位于图像的左上角, u u u轴与 x x x轴平行, v v v轴与 y y y轴平行,故存在关系:
{ u = α X ′ + c x v = β Y ′ + c y \left\{ \begin{aligned} u &= \alpha X^{\prime} + c_x\\ v &= \beta Y^{\prime} + c_y \end{aligned} \right. {uv=αX+cx=βY+cy

{ u = α f X Z + c x v = β f Y Z + c y \left\{ \begin{aligned} u &= \alpha f\frac XZ+ c_x\\ v &= \beta f\frac YZ + c_y \end{aligned} \right. uv=αfZX+cx=βfZY+cy
α f = f x , β f = f y \alpha f=f_x, \beta f= f_y αf=fx,βf=fy,有
{ u = f x X Z + c x v = f y Y Z + c y \left\{ \begin{aligned} u &= f_x\frac XZ+ c_x\\ v &= f_y\frac YZ + c_y \end{aligned} \right. uv=fxZX+cx=fyZY+cy
反应出像素平面与像平面之间的缩放和平移的关系。
记成矩阵形式:
( u v 1 ) = 1 Z ( f x 0 c x 0 f y c y 0 0 1 ) ( X Y Z ) ≜ 1 Z K P \begin{pmatrix} u\\ v\\ 1 \end{pmatrix}= \frac1Z \begin{pmatrix} f_x & 0 & c_x\\ 0 & f_y & c_y\\ 0 & 0 & 1 \end{pmatrix} \begin{pmatrix} X\\ Y\\ Z \end{pmatrix} \triangleq \frac 1ZKP uv1=Z1fx000fy0cxcy1XYZZ1KP
这个矩阵 K K K称为相机的内参数矩阵(Camera Intrinsics)
同样的,上面的 P P P是在相机坐标系下的坐标,我们通常使用的是应该为被观测物体的世界坐标 P w P_w Pw,因此,这两者之间还要进行转换,我们已知相机的旋转矩阵 R R R和平移向量 t t t,那么有:
( u v 1 ) = 1 Z K ( R P w + t ) = 1 Z K T P w \begin{pmatrix} u\\ v\\ 1 \end{pmatrix} = \frac 1ZK(RP_w+t)= \frac1ZKTP_w uv1=Z1K(RPw+t)=Z1KTPw
对于上式, T P w TP_w TPw的结果应为一个 4 × 1 4\times 1 4×1的向量,表示相机坐标系下点 P P P的坐标,而 K K K 3 × 3 3\times 3 3×3,因此这时需要把 T P w TP_w TPw的前三维提出来与 K K K相乘,而又与 1 Z \frac1Z Z1相乘,使得其再一次进行了归一化,得到如下的形式:
P c = [ X Z Y Z 1 ] P_c= \begin{bmatrix} \frac XZ\\ \frac YZ\\ 1 \end{bmatrix} Pc=ZXZY1
称之为归一化坐标,该平面称之为归一化平面,归一化坐标经过内参之后就得到了像素坐标:
P u v = K P c P_{uv}=KP_c Puv=KPc
其中,相机的位姿 R , t R,t R,t称之为相机的外参数(Camera Extrinsics)

畸变

在实际中,为了获得更好的成像效果,会在相机前加装透镜,这会带来一定的影响,畸变就是其中一种。畸变可分为径向畸变和切向畸变。径向畸变通常由透镜形状引起,而切向畸变通常因为在相机组装过程中由于不能使透镜与成像面严格对其产生的。对于畸变,影响到的是上述过程的 P c P_c Pc,且有如下关系:
径向畸变:
x d i s t o r t e d = x ( 1 + k 1 r 2 + k 2 r 4 + k 3 r 6 ) y d i s t o r t e d = x ( 1 + k 1 r 2 + k 2 r 4 + k 3 r 6 ) x_{distorted} = x(1+k_1r^2+k_2r^4+k_3r^6)\\ y_{distorted} = x(1+k_1r^2+k_2r^4+k_3r^6) xdistorted=x(1+k1r2+k2r4+k3r6)ydistorted=x(1+k1r2+k2r4+k3r6)
切向畸变:
x d i s t o r t e d = x + 2 p 1 x y + p 2 ( r 2 + 2 x 2 ) y d i s t o r t e d = y + p 1 ( r 2 + 2 y 2 ) + 2 p 2 x y x_{distorted}=x+2p_1xy+p_2(r^2+2x^2)\\ y_{distorted}=y+p_1(r^2+2y^2)+2p_2xy xdistorted=x+2p1xy+p2(r2+2x2)ydistorted=y+p1(r2+2y2)+2p2xy
其中 [ x , y ] T [x,y]^T [x,y]T为归一化平面的坐标, [ x d i s t o r t e d , y d i s t o r t e d ] T [x_{distorted},y_{distorted}]^T [xdistorted,ydistorted]T为畸变后的坐标点,可据此对归一化平面上的点进行纠正,以获取原始图像的坐标。

双目相机模型

在单目相机模型中,仅根据一个像素,是不能确定空间对应该点的深度的,因为在光心与归一化平面像点的连线上的所有点,对应的都是同一个像素。而双目相机可以解决这一问题。
在这里插入图片描述

双目相机的原理如图所示:
在这里插入图片描述
两个相机光圈中心之间的距离称为双目相机的基线
若同一个空间点 P P P分别在两个相机上成像 P L P_L PL P R P_R PR,则根据几何关系:
z − f z = b − u L + u R b \frac{z-f}{z}= \frac{b-u_L+u_R}{b} zzf=bbuL+uR
z = f b d , d = u L − u R z= \frac{fb}{d},d=u_L-u_R z=dfb,d=uLuR
这里的 d d d称为视差,因为视差最小为一个像素,因此双目的深度存在一个最大值,由 f b fb fb决定,说明基线越长,双目能测到的距离就越远。
而在实际测量中,我们需要知道左眼图像中的某个像素出现在右眼图像的哪一个位置,也就是确保计算深度时,左右眼计算的是同一个点 p p p。这往往很难保证,因此给双目深度估计带来了一定的问题。

RGB-D相机模型

RGB-D相机按照工作原理可以分为红外结构光式(Structured Light),飞行时间法(Time-of-flight ToF)式。RGB-D相机像探测目标发出一束光线,在结构光原理中,相机根据返回的结构光图案,计算物体与自身的距离。而在TOF原理中,相机向目标发射脉冲光,然后根据发射到返回之间光束的飞行时间,确定物体与自身的距离。

往期链接
视觉SLAM十四讲 第4讲李群与李代数
视觉SLAM十四讲 第3讲 三维空间刚体运动
视觉SLAM十四讲 第2讲 初识slam

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

YWL0720

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值