相机成像原理与数学模型

相机的成像结果可以抽象为一个小孔和一个平面,用小孔成像模型描述。
在这里插入图片描述
三维世界的光线经过小孔即光心到达成像平面,形成二维投影。以相机的光心O为原点, X c X_c Xc Y c Y_c Yc Z c Z_c Zc 为坐标轴组成相机坐标系;以成像平面的中心 O ′ O' O为原点, x ′ x' x y ′ y' y 为坐标轴组成图像坐标系。成像过程即为相机坐标系下的三维点变换为图像坐标系下的二维点的过程。

假设P为三维空间中一点。在相机坐标系下,其坐标为 P = [ X , Y , Z ] T P = [ X,Y,Z]^T P=[X,Y,Z]T;在图像坐标系下为点 p p p,其坐标为 p = [ x , y ] T p = [x,y]^T p=[x,y]T

连接O 、O 与光轴重合,且与成像平面垂直,则p在相机坐标系下 p = [ x , y , z ] T p = [x,y,z]^T p=[x,y,z]T,其中 z = f z = f z=f f f f表示相机的焦距。仅考虑水平和光轴方向,模型抽象为一组相似三角形。
在这里插入图片描述
由几何关系:
Z f = X x = Y y \frac{Z}{f} = \frac{X}{x} = \frac{Y}{y} fZ=xX=yY
整理得:
x = f ⋅ X Z y = f ⋅ Y Z z = f (1) x = f \cdot \frac{X}{Z}\\ y = f \cdot \frac{Y}{Z}\\ z = f \\ \tag1 x=fZXy=fZYz=f(1)
扩展坐标的维度,将 Z Z Z线性化:
[ x ^ y ^ z ^ ] = [ f 0 0 0 0 f 0 0 0 0 1 0 ] [ X Y Z 1 ] \left[ \begin{matrix} \hat{x} \\ \hat{y} \\ \hat{z} \end{matrix} \right] = \left[ \begin{matrix} f&0&0&0 \\ 0&f&0&0 \\ 0&0&1&0 \end{matrix} \right] \left[ \begin{matrix} X \\ Y \\ Z \\ 1 \end{matrix} \right] x^y^z^=f000f0001000XYZ1
则坐标 ( x ^ , y ^ , z ^ ) (\hat{x} ,\hat{y} ,\hat{z}) (x^,y^,z^) 就是 p = ( x , y ) p = (x,y) p=(x,y)的齐次坐标。

相机的像素信息的计算机中占据一段连续的磁盘或内存空间,为了从存储信息的首地址开始读写,以成像平面的左上角为原点,水平向右作为 u u u轴正向,竖直向下作为 v v v轴正向,建立像素坐标系,其基本单位为像素。
两个坐标系的对应关系如下:
在这里插入图片描述
由此可知,图像坐标系和像素坐标系虽然在同一平面,但是相差了一个缩放和一个原点的平移。由于像素块是一个矩形,设其水平长度为 α \alpha α,竖直长度为 β \beta β。将图像坐标系下的点 ( x , y ) (x,y) (x,y)在水平方向上缩放 α \alpha α倍、平移 c x c_{x} cx,竖直方向上缩放 β \beta β倍、平移 c y c_{y} cy,得到像素坐标系下坐标 ( u , v ) (u,v) (u,v)
u = α ⋅ x + c x v = β ⋅ y + c y u = \alpha \cdot x + c_{x} \\ v = \beta \cdot y + c_{y} u=αx+cxv=βy+cy
式(1)带入:
f x = α ⋅ f f y = β ⋅ f f_{x} = \alpha \cdot f \\ f_{y} = \beta \cdot f fx=αffy=βf
写成齐次坐标的形式:
[ u v 1 ] = 1 Z [ f x 0 c x 0 f y c y 0 0 1 ] \left[ \begin{matrix} u \\ v \\ 1 \end{matrix} \right] = \frac{1}{Z} \left[ \begin{matrix} f_{x}&0&c_{x} \\ 0&f_{y}&c_{y} \\ 0&0&1 \end{matrix} \right] uv1=Z1fx000fy0cxcy1
得相机得内参数矩阵:
K = [ f x 0 c x 0 f y c y 0 0 1 ] K = \left[ \begin{matrix} f_{x}&0&c_{x} \\ 0&f_{y}&c_{y} \\ 0&0&1 \end{matrix} \right] K=fx000fy0cxcy1
其中 K K K称为相机的内参数矩阵,有四个未知数,这与相机的构造有关。根据以上推导可知, f x f_{x} fx f y f_{y} fy 与相机的焦距、像素的长宽有关; c x c_x cx c y c_y cy 与相机的成像平面大小有关。
综上所述,相机的成像过程为:
p = K ⋅ P p = K \cdot P p=KP
当相机移动时,相机坐标系的原点和坐标轴的方向也会随之变化,所以需要将其变换到系统的绝对坐标系下,即世界坐标系。

相机的运动可以用一个旋转和一个平移描述。设某一点在相机坐标系下坐标为 P c P_c Pc,在世界坐标系下坐标为 P w P_w Pw,旋转矩阵为 R R R,平移向量为 t t t,则其转换关系为: P c = R ⋅ P w + t P_c = R \cdot P_w +t Pc=RPw+t
写成齐次坐标形式为
[ X c Y c Z c 1 ] = [ R 11 R 12 R 13 t 1 R 21 R 22 R 23 t 2 R 31 R 32 R 33 t 3 0 0 0 1 ] [ X w Y w Z w 1 ] \left[ \begin{matrix} X_c \\ Y_c \\ Z_c \\ 1 \end{matrix} \right] = \left[ \begin{matrix} R_{11} & R_{12} &R_{13}&t_1 \\ R_{21}&R_{22}&R_{23}&t_2 \\ R_{31}&R_{32}&R_{33}&t_3 \\ 0&0&0&1 \end{matrix} \right] \left[ \begin{matrix} X_w \\ Y_w \\ Z_w \\ 1 \end{matrix} \right] XcYcZc1=R11R21R310R12R22R320R13R23R330t1t2t31XwYwZw1

[ X c Y c Z c 1 ] = [ R t 0 1 ] [ X w Y w Z w 1 ] \left[ \begin{matrix} X_c \\ Y_c \\ Z_c \\ 1 \end{matrix} \right] = \left[ \begin{matrix} R & t \\ 0&1 \end{matrix} \right] \left[ \begin{matrix} X_w \\ Y_w \\ Z_w \\ 1 \end{matrix} \right] XcYcZc1=[R0t1]XwYwZw1
得到相机的外参数矩阵
T = [ R t 0 1 ] T = \left[ \begin{matrix} R & t \\ 0&1 \end{matrix} \right] T=[R0t1]
综上所述,就得到了一个相机的矩阵:
[ u v 1 ] = [ 1 d x 0 c x 0 1 d y c y 0 0 1 ] [ f 0 0 0 0 f 0 0 0 0 1 0 ] [ R t 0 1 ] [ X w Y w Z w 1 ] \left[ \begin{matrix} u \\ v \\ 1 \end{matrix} \right] = \left[ \begin{matrix} \frac{1}{dx} & 0 & c_x \\ 0& \frac{1}{dy} & c_y \\ 0 & 0 &1 \end{matrix} \right] \left[ \begin{matrix} f&0&0&0 \\ 0&f&0&0 \\ 0&0&1&0 \end{matrix} \right] \left[ \begin{matrix} R & t \\ 0&1 \end{matrix} \right] \left[ \begin{matrix} X_w \\ Y_w \\ Z_w \\ 1 \end{matrix} \right] uv1=dx1000dy10cxcy1f000f0001000[R0t1]XwYwZw1
其中:

  • ( u , v , 1 ) (u,v,1) (u,v,1)表示像素坐标系下点的齐次坐标形式;
  • d x , d y dx,dy dxdy表示相机像素的长和宽,承前, α = 1 d x , β = 1 d y \alpha = \frac{1}{dx},\beta = \frac{1}{dy} α=dx1,β=dy1;
  • c x , c y c_x , c_y cx,cy表示图像坐标系原点和像素坐标系原点的偏移值;
  • f f f表示相机的焦距;
  • R R R表示相机的旋转矩阵
  • t t t表示相机的平移矩阵
  • ( X w , Y w , Z w , 1 ) (X_w , Y_w , Z_w , 1) (Xw,Yw,Zw,1)表示点在世界坐标系下坐标的的齐次坐标形式

这就推得了相机矩阵。相机矩阵的参数由内参数和外参数组成。相机在制造的过程中,难免会出现偏差,仅仅使用出厂参数是不够的,另外还要考虑镜头畸变引起的误差。相机标定是一个获取相机内参数和外参数以及矫正镜头畸变的过程。相机标定的结果的精度将直接影响相机工作时所得结果的准确度。

标定方法使用张定友教授提出的张氏标定法。

参考:高翔《视觉SLAM十四讲》

  • 5
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
相机的基本工作原理成像模型: 相机的基本工作原理是通过光学系统和图像传感器将光线转化为电信号,并最终生成图像。首先,光线通过相机的镜头,通过透镜的折射和聚焦,形成一个倒立且缩小的实像。然后,这个实像通过光圈控制进入相机的图像传感器,传感器是由光敏元件(如CMOS或CCD)组成的。 成像模型是一种用于描述相机成像原理数学模型,常用的有针结式和针孔式模型。针结式模型中,实像通过成像中心投影到图像传感器上,通过透视投影将实际世界中的三维点映射到二维图像上。针孔式模型中,实像通过一个理想化的小孔(针孔)投射到图像传感器上,不考虑透镜效应。 相机成像模型中有几个重要的参数:焦距、光圈以及图像传感器的分辨率。焦距影响相机的视角和景深,较长的焦距可以捕捉远处的细节,但视角较窄,较短的焦距则可以捕捉广角视野,但景深较大。光圈控制进入相机的光线量,较大的光圈可以获得更多光线,增加拍摄在低光条件下的清晰度和色彩细节。图像传感器的分辨率影响图像的细节和清晰度,较高的分辨率可以捕捉更多的细节。 总结来说,相机基于光学系统和图像传感器的工作原理,把光线转化为电信号,并通过成像模型将实际世界中的三维物体映射到二维图像上,以实现拍摄和记录图像的功能。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值