学海无涯

充满好奇心与恒心

相机模型详解及标定原理

数码相机图像拍摄的过程实际上是一个光学成像的过程。相机的成像过程涉及到四个坐标系:世界坐标系、相机坐标系、图像坐标系、像素坐标系以及这四个坐标系的转换。

一、理想透视模型——针孔成像模型

相机模型是光学成像模型的简化,目前有线性模型和非线性模型两种。实际的成像系统是透镜成像的非线性模型。最基本的透镜成像原理如图所示:


其中 u 为物距, f 为焦距,v 为相距。三者满足关系式:


相机的镜头是一组透镜,当平行于主光轴的光线穿过透镜时,会聚到一点上,这个点叫做焦点,焦点到透镜中心的距离叫做焦距 f。数码相机的镜头相当于一个凸透镜,感光元件就处在这个凸透镜的焦点附近,将焦距近似为凸透镜中心到感光元件的距离时就成为小孔成像模型。小孔成像模型如图所示。


小孔成像模型是相机成像采用最多的模型。在此模型下,物体的空间坐标和图像坐标之间是线性的关系,因而对相机参数的求解就归结到求解线性方程组上。四个坐标系的关系图如下图所示,其中 M 为三维空间点,m 为 M 在图像平面投影成的像点。


世界坐标系:是客观三维世界的绝对坐标系,也称客观坐标系。因为数码相机安放在三维空间中,我们需要世界坐标系这个基准坐标系来描述数码相机的位置,并且用它来描述安放在此三维环境中的其它任何物体的位置,用(Xw, Yw, Zw)表示其坐标值。

相机坐标系(光心坐标系):以相机的光心为坐标原点,X 轴和Y 轴分别平行于图像坐标系的 X 轴和Y 轴,相机的光轴为Z 轴,用(Xc, Yc, Zc)表示其坐标值。

图像坐标系:以CCD 图像平面的中心为坐标原点,X轴和Y 轴分别平行于图像平面的两条垂直边,用( x , y )表示其坐标值。图像坐标系是用物理单位(例如毫米)表示像素在图像中的位置。

像素坐标系:以 CCD 图像平面的左上角顶点为原点,X 轴和Y 轴分别平行于图像坐标系的 X 轴和Y 轴,用(u , v )表示其坐标值。数码相机采集的图像首先是形成标准电信号的形式,然后再通过模数转换变换为数字图像。每幅图像的存储形式是M × N的数组,M 行 N 列的图像中的每一个元素的数值代表的是图像点的灰度。这样的每个元素叫像素,像素坐标系就是以像素为单位的图像坐标系。

像素坐标系与图像坐标系的关系如图。


他们之间的转换关系为:


采用齐次坐标再用矩阵形式将上式表示为:

其中(u0, v0)是图像坐标系原点在像素坐标系中的坐标,dx dy分别是每个像素在图像平面x y方向上的物理尺寸。

图像坐标系与相机坐标系的转换为:


其中 f 为焦距(像平面与相机坐标系原点的距离)。用齐次坐标系和矩阵表示上述关系:


相机坐标系与世界坐标系的变换为:


其中 R 为3 × 3正交旋转矩阵,t 为三维平移向量,综合起来:


ax, ay分别是图像水平轴和垂直轴的尺度因子。K的参数中只包含焦距、主点坐标等只由相机的内部结构决定,因此称 K 为内部参数矩阵,ax, ay , u0, v0叫做内部参数。M1中包含的旋转矩阵和平移向量是由相机坐标系相对于世界坐标系的位置决定的,因此称M1为相机的外部参数矩阵,R和t叫做外部参数,M 叫投影矩阵相机标定就是确定相机的内部参数和外部参数。

实际成像模型

理想的透视模型是针孔成像模型,物和像会满足相似三角形的关系。但是实际上由于相机光学系统存在加工和装配的误差,透镜就并不能满足物和像成相似三角形的关系,所以相机图像平面上实际所成的像与理想成像之间会存在畸变。畸变属于成像的几何失真,是由于焦平面上不同区域对图像的放大率不同形成的画面扭曲变形的现象,这种变形的程度从画面中心至画面边缘依次递增,主要在画面边缘反映比较明显。为了减小畸变,拍摄图片时应尽量避免用镜头焦距的最广角端或最远端拍摄。实际的相机成像模型如下图所示。


其中 mr(xr,yr)表示实际投影点的像平面坐标系下的物理坐标,mi(xi,yi)表示理想投影点的像平面坐标系下的物理坐标。镜头的畸变模型可表示为:


σx 和σy是非线性畸变值,它包括径向畸变和偏心畸变和薄棱镜畸变等。

理论上来说镜头都存在径向和切向畸变,但是通常径向畸变较大,切向畸变较小。径向畸变的模型可由下面的模型来表示:

其中k1 k2 k3……示径向畸变系数,通常情况下径向畸变系数只考虑到一阶或二阶就可以满足精度需求了。

偏心畸变模型是由于多个光学镜头的光轴不能完全共线产生的,这种畸变是由径向和切向畸变共同构成的,数学模型可表示如下:


其中p1, p2为切向畸变系数。薄棱镜畸变是由于镜头设计制造缺陷和加工安装所造成的,如镜头与相机成像平面有一个很小的倾角等。因为薄棱镜畸变非常小,通常不考虑,这里只考虑径向畸变和偏心畸变,畸变总的可以表示为:


二、实际的成像模型为:


******************

作者:hao_09

时间:2015/8/13

文章地址:http://blog.csdn.net/lsh_2013/article/details/47615309

******************

三、手眼标定的两种情形

首先讲一下在工业应用中,手和眼(摄像机)的两种位置关系,第一种是将摄像机(眼)固定在机械手(手)上面,眼随手移动;第二种是摄像机(眼)和机械手(手)分离,眼的位置相对于手是固定的,下面用网上的两张图来说明下:


第一种情况:相机移动


第二种情况:相机固定

从上面两副示意图可以看出,第一种情况中我们要求的是相机坐标系和机械手坐标系的转化关系;第二种情况中要求的是相机坐标系和基础坐标系的关系;下面分别阐述其求解过程。

四、 相机移动时,标定求解过程

在推导过程中,我们会用到四个坐标系,分别是基础坐标系,机械手坐标系,相机坐标系,以及标定物坐标系,下面先给出示意图:


坐标系示意图


其中baseHcal表示基础坐标系到标定物坐标系的转化关系,包括旋转矩阵和平移向量;camHtool表示相机坐标系到机械手坐标系的转化关系;这两个转化关系在机械手移动过程中是不变的;camHcal可以由相机标定求出;baseHtool可以由机器人系统中得出。

接下来控制机器手从位置 1 移动到位置 2:

base = baseHtool (1)* tool(1)

tool(1) = inv(camHtool)*cam(1)

cam(1) = camHcal(1)*obj

联合上面三个公式:

base = baseHtool (1)* inv(camHtool)* camHcal(1)*obj

移动到机械手臂到位置2后:

base = baseHtool (2)* inv(camHtool)* camHcal(2)*obj

因为base和obj是固定的所以:

baseHtool (1)* inv(camHtool)* camHcal(1)=baseHtool (2)* inv(camHtool)* camHcal(2)

其中只有camHtool是未知量,具体求解过程将放在下篇文章。

五、 相机固定时,标定求解过程



坐标系示意图


对于固定相机的情况,还是控制机械手从位置1移动到位置2:


obj(1) = inv(camHcal(1)) *cam
cam = camHbase *base
base = baseHtool(1) * tool(1)
合并上面三个公式:
obj(1) = inv(camHcal(1)) * camHbase* baseHtool(1) *tool(1)
移动到位置2后:
obj(2) = inv(camHcal(2)) * camHbase* baseHtool(2) *tool(2)
因为obj和tool的相对位置是不变的,所以不管怎么移动:
inv(camHcal(1)) * camHbase* baseHtool(1)= inv(camHcal(2)) * camHbase* baseHtool(2)

其中变量只有camHbase,也就是我们要求的。
阅读更多
想对作者说点什么? 我来说一句

相机标定模型原理

相机标定

u013935644 u013935644

2016-12-08 18:58:57

阅读数:1358

没有更多推荐了,返回首页

不良信息举报

相机模型详解及标定原理

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭