相机的内外参与相机标定

Posted Matrix_11

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了相机的内外参与相机标定相关的知识,希望对你有一定的参考价值。

相机的内外参与相机标定

我们所生活的现实世界是一个三维的世界,人类生活期间,已经能够熟练地估计周围物体的深度及定位,但是,现在的照相机一般都只能拍摄二维图像,场景从三维变到二维的时候,一个最重要的信息,深度,就丢失了,在只是为了观赏的时候,一个二维的图像也是足够的,如果想做导航,定位及其它3D 重建等应用的时候,这个深度信息及物体之间的相对关系,距离就显得很重要了,如何从二维图像,估计出真实的三维世界,也是计算机视觉一个比较重要的任务,由此发展出多视几何,计算几何等学科。

相机的内外参估计,是几何测量的基础,相机的内外参,构建了三维世界坐标系到图像坐标系的变换关系,也就是完成了一个三维坐标到二维坐标的映射。相机的内外参,对我们理解相机成像模型也有很大的帮助。

我们先给出如下的定义:

  • 世界坐标系, P w = ( x w , y w , z w ) P_w = (x_w, y_w, z_w) Pw=(xw,yw,zw), 原点为 O w O_w Ow,这个原点可以是三维世界的任意一个点
  • 相机坐标系, P c = ( x c , y c , z c ) P_c = (x_c, y_c, z_c) Pc=(xc,yc,zc), 原点为 O c O_c Oc,一般把相机的原点设置在相机的光心处
  • 图像坐标系, P i = ( u i , v i , 1 ) P_i = (u_i, v_i, 1) Pi=(ui,vi,1), 原点为 O i O_i Oi,一般把图像的左上角设为图像坐标系的原点
相机外参

世界坐标系的一个点 P w P_w Pw,如果以相机作为参考系,相机原点在世界坐标系中的坐标为 O c O_c Oc,则该点的坐标就变成了 P w − C P_w - C PwC C C C 表示世界坐标系的原点与相机坐标系原点之间的偏移量,这个比较好理解,我们以二维平面坐标为例,如果二维坐标的原点为 (0, 0),那么在二维坐标系中的一个点为 (2, 3),如果相机的原点就在 (2, 3),那么以相机作为参考,该点的坐标就是 (0, 0),所以世界坐标系中的一个点在相机坐标系中有一个平移的关系。

另外,由于相机本身在三维坐标系中,会发生不同角度的旋转,就是我们常说的 pitch, yaw, roll,所以相机坐标系的三个坐标轴与世界坐标系的三个坐标轴,会存在三个夹角,所以相机坐标系中的一个点与世界坐标系中的一个点的关系满足如下的式子:

P c = R ( P w − C ) P_c = \\mathbfR(P_w - C) Pc=R(PwC)

上式中的 R \\mathbfR R 表示一个旋转矩阵, C C C 表示世界坐标系的原点与相机坐标系原点之间的偏移量,这两个量构成了相机的外参,将世界坐标系与相机坐标系联系起来了。

相机内参

接下来,我们再看一下相机的内参,相机的内参主要表示相机坐标系到图像坐标系的映射,在相机坐标系中,真实世界的一个点还是一个三维的点, P c = ( x c , y c , z c ) P_c = (x_c, y_c, z_c) Pc=(xc,yc,zc),但是投影到图像坐标系之后,深度消失了,也就是 z c z_c zc 消失了,只剩下 x c , y c x_c, y_c xc,yc,假设相机镜头的焦距为 f f f,在小孔成像模型中,像平面就在焦距 f f f 处,根据简单的三角关系,我们可以推出:

u i = f x c z c v i = f y c z c u_i = f \\fracx_cz_c \\quad v_i = f \\fracy_cz_c ui=fzcxcvi=fzcyc

上面的式子说明了相机坐标系与图像坐标系存在一个尺度的变化,这个尺度和点的物距有关,这个式子也很好的解释了为什么小孔成像中会有近大远小的关系。

不过,上面的式子,像平面的原点是在像平面与主光轴的交点处,也就是图像的中心,我们一般设定的图像原点在图像的左上角,为了适配这种关系,可以给上面的式子再加一个平移量,则上式变为:

u i = f x c z c + p u v i = f y c z c + p v u_i = f \\fracx_cz_c + p_u \\quad v_i = f \\fracy_cz_c + p_v ui=fzcxc+puvi=fzcyc+pv

上面的式子换成矩阵形式:

z c [ u i v i 1 ] = [ f 0 p u 0 f p v 0 0 1 ] [ x c y c z c ] z_c \\beginbmatrix u_i \\\\ v_i \\\\ 1 \\endbmatrix = \\beginbmatrix f & 0 & p_u \\\\ 0 & f & p_v \\\\ 0 & 0 & 1 \\endbmatrix \\beginbmatrix x_c \\\\ y_c \\\\ z_c \\endbmatrix zcuivi1=f000f0pupv1xcyczc

写成一个更紧凑的形式:

z c P i = K P c z_c P_i = \\mathbfKP_c z<

以上是关于相机的内外参与相机标定的主要内容,如果未能解决你的问题,请参考以下文章

相机的内外参与相机标定

相机的内外参与相机标定

相机的内外参与相机标定

相机的内外参与相机标定

相机的内外参与相机标定

计算机视觉|针孔成像,相机内外参及相机标定,矫正的重要性