相机标定(三)-相机成像模型

>>>文章索引<<<

相机标定(一)-原理及内参、外参
相机标定(二)-畸变校正,张正友标定法
相机标定(三)-相机成像模型


1 人眼&相机结构

1.1 类比

在这里插入图片描述
类比来说,相机就是计算机的“眼睛”:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.2 成像

本质上来说,图像是真实世界场景中在二维平面(成像平面)的投影,它记录了两类信息:

  • 几何信息:位置、点、线等;
  • 光度信息:强度、色彩。

2 相机成像模型

  • 小孔成像模型(Pinhole camera model)
  • 正交投影(Orthographic projection)
  • 缩放正交投影(Scaled orthographic projection)
  • 透视投影(Perspective projection)

2.1 小孔成像模型(Pinhole camera model)

在这里插入图片描述
数学表示,具体也可参考博客
在这里插入图片描述
一般来说,我们使用右手坐标系:
在这里插入图片描述
小孔成像模型实际上是透视投影(perspective projection)的一种最简单的形式。假设我们要将真实世界中的三维点 ( X , Y , Z ) T (X,Y,Z)^T (X,Y,Z)T投影为二维图像上的点 p = ( x , y ) T p=(x,y)^T p=(x,y)T,则有:

{ X Z = x f Y Z = y f ⇒ { x = f X Z y = f Y Z (1) \begin{cases} \frac{X}{Z}=\frac{x}{f} \\ \frac{Y}{Z}=\frac{y}{f} \end{cases} \Rightarrow \begin{cases} x=f\frac{X}{Z} \\ y=f\frac{Y}{Z} \end{cases} \tag{1} {ZX=fxZY=fy{x=fZXy=fZY(1)

2.2 正交投影(Orthographic projection)

在这里插入图片描述

  • 3D场景距离相机无限远;
  • 所有投影线均平行于光轴。

则有 x = X , y = Y x=X, y=Y x=X,y=Y

2.3 缩放正交投影(Scaled orthographic projection)

在这里插入图片描述

  • 场景深度<<到相机的距离;
  • 场景中所有点的Z值均相同,如 Z 0 Z_0 Z0

这种情况相当于对垂直于相机Z轴方向上的一个平面场景进行成像,则对于场景中所有的点有: x = s X , y = s Y , s = f Z 0 x=sX, y=sY, s=\frac{f}{Z_0} x=sX,y=sY,s=Z0f

2.4 透视投影(Perspective projection)

在这里插入图片描述

3 相机参数

对于小孔成像模型中,有:

{ x = f X Z y = f Y Z (2) \begin{cases} x=f\frac{X}{Z} \\ y=f\frac{Y}{Z} \end{cases} \tag{2} {x=fZXy=fZY(2)

3.1 相机内参

上述为理想状态下的公式,下面来分析几种特殊情况。

3.1.1 像素不是正方形

当相机传感器(CCD)上的像素不是正方形时有:

{ x = k f X Z y = l f Y Z (3) \begin{cases} x=kf\frac{X}{Z} \\ y=lf\frac{Y}{Z} \end{cases} \tag{3} {x=kfZXy=lfZY(3)

  • x,y:坐标(pixel);
  • k,l:缩放因子(pixel/mm)
  • f:焦距(mm)

令上式中: f x = k f , f y = l f f_x=kf, f_y=lf fx=kf,fy=lf,则有:

{ x = f x X Z y = f y Y Z (4) \begin{cases} x=f_x\frac{X}{Z} \\ y=f_y\frac{Y}{Z} \end{cases} \tag{4} {x=fxZXy=fyZY(4)

3.1.2 相机主点(principal point)不在原点

即光轴与CCD中心有偏移。假设主点在图像上的坐标(像素)为 c x , c y c_x, c_y cx,cy,则有:

{ x = f x X Z + c x y = f y Y Z + c y (5) \begin{cases} x=f_x\frac{X}{Z}+c_x \\ y=f_y\frac{Y}{Z}+c_y \end{cases} \tag{5} {x=fxZX+cxy=fyZY+cy(5)

那么沿着相机的Z轴,有 X = Y = 0 X=Y=0 X=Y=0 x = c x , y = c y x=c_x, y=c_y x=cx,y=cy

3.1.3 x轴与y轴不垂直

理想情况下,x轴与y轴是相互垂直的,但一般情况下,x轴和y轴的夹角并不是90度。假设x轴和y轴之间的夹角为 θ \theta θ,则有:

{ x = f x X Z − f x c o t θ Y Z + c x y = f y s i n θ Y Z + c y (6) \begin{cases} x=f_x\frac{X}{Z}-f_x cot\theta \frac{Y}{Z}+c_x \\ y=\frac{f_y}{sin\theta}\frac{Y}{Z}+c_y \end{cases} \tag{6} {x=fxZXfxcotθZY+cxy=sinθfyZY+cy(6)

3.1.4 内参矩阵

组合所有参数,可以得到相机的内参矩阵 K K K

K = [ f x − f x c o t θ c x 0 f y s i n θ c y 0 0 1 ] = [ f x s c x 0 f y c y 0 0 1 ] (7) K= \begin{bmatrix} f_x & -f_xcot\theta & c_x \\ 0 & \frac{f_y}{sin\theta} & c_y \\ 0 & 0 & 1 \end{bmatrix} = \begin{bmatrix} f_x & s & c_x \\ 0 & f_y & c_y \\ 0 & 0 & 1 \end{bmatrix} \tag{7} K=fx00fxcotθsinθfy0cxcy1fx00sfy0cxcy1(7)

3.2 相机外参

相机外参反映了相机在世界坐标空间中的位姿,可通过一个刚性变换来表示,通常包含平移 T T T和旋转 R R R

平移矩阵:

T = [ T X T Y T Z ] (8) T= \begin{bmatrix} T_X \\ T_Y \\ T_Z \end{bmatrix} \tag{8} T=TXTYTZ(8)

旋转矩阵:

R = [ r 1 1 r 1 2 r 1 3 r 2 1 r 2 2 r 2 3 r 3 1 r 3 2 r 3 3 ] (9) R= \begin{bmatrix} r_11 & r_12 & r_13 \\ r_21 & r_22 & r_23 \\ r_31 & r_32 & r_33 \end{bmatrix} \tag{9} R=r11r21r31r12r22r32r13r23r33(9)

旋转矩阵是正交的,所以有: R T R = I R^TR=I RTR=I

4 畸变

畸变是光学透镜固有的透视失真特性,目前所有的镜头都存在畸变,只是程度不同。畸变又分为径向畸变和切向畸变,这里只以径向畸变为例。常见的径向畸变有桶形畸变、枕形畸变等:
在这里插入图片描述
径向畸变可以被建模为:
在这里插入图片描述
具体的畸变校正过程可以参考博客

5 相机标定

相机标定的目的就是获取前文提到的相机内参、外参和畸变系数。通常,标定方法分为两步:(1)从不同角度捕获棋盘格图像;(2)检测角点并计算相机参数。

在这里插入图片描述
在这里插入图片描述

可使用OpenCV或其他相机标定程序来完成参数计算。

参考

[1] 一个pdf,下载地址找不到了=_=

  • 11
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SLAM(Simultaneous Localization and Mapping)是一种同时进行定位和地图构建的技术,常用于机器人、自动驾驶等领域。相机标定是SLAM中的一个重要步骤,用于确定相机的内部参数和外部参数,以便准确地进行图像处理和维重建。 常用的相机标定模型有以下几种: 1. Pinhole模型:也称为针孔相机模型,是最简单的相机模型。它假设光线通过针孔投射到成像平面上,忽略了透镜的复杂光学效应。该模型使用焦距、主点和畸变系数来描述相机的内部参数。 2. 等距模型(Equidistant Model):该模型考虑了径向畸变,适用于具有较大畸变的相机。它使用四个径向畸变系数来描述相机的畸变情况。 3. 等角模型(Equisolid Model):该模型也考虑了径向畸变,适用于具有较小畸变的相机。它使用四个径向畸变系数来描述相机的畸变情况。 4. Brown模型:该模型是一种更通用的相机模型,可以同时考虑径向和切向畸变。它使用五个径向畸变系数和两个切向畸变系数来描述相机的畸变情况。 5. Fisheye模型:该模型适用于鱼眼镜头等具有大视场角的相机。它使用多项式函数来描述相机的畸变情况。 以上是常用的几种相机标定模型,不同模型适用于不同类型的相机和畸变情况。在SLAM中,选择适合相机的标定模型非常重要,以确保定位和地图构建的准确性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值