1 引言
随着科技水平的提高,工业机器人在生产中的运用越来越普遍,因此视觉技术在工业机器人的发展方面发挥的作用也越来越明显。机器视觉对于工业机器人在工厂中的搬运、焊接及喷涂等工作意义重大,可以有效的提高工作效率和工作质量,而机器视觉中的视觉标定亦是其中的关键所在。本文将通过KUKA机器人工作台等相关的设备来研究视觉标定的内容,完成理论内容和实验仿真方面的内容。
摄像机视觉拍照的过程实质上就是空间中物体形态的转变,物体由三维立体空间转变到二维平面空间,在此过程中为了研究的方便和更好的理解,将在拍照的整个过程中设定四个不同的坐标系,分别为世界坐标系、摄像机坐标系、图像坐标系和图像像素坐标系[1]。摄像机标定的过程就是通过研究各个不同坐标系之间的转换关系从而确定摄像机的参数。
2 摄像机模型
2.1 摄像机的成像原理
摄像机的成像过程与小孔成像的过程具有同样的原理,物体的形状将通过摄像机的镜头成像在摄像机的成像平面上展现出来。摄像机成像的标定过程实质上就是各个坐标系之间的关系换算,所以需要建立四种不同的坐标系来表示,它们分别是世界坐标系、摄像机坐标系、图像坐标系和图像像素坐标系[1]。需要注意的图像像素坐标系是以像素为单位的,而其余的坐标系则是以毫米为单位的,具体成像原理及建立的坐标系如下图1所示[2]。
图1 坐标系
图1其中,世界坐标系的轴为Xw,Yw,Zw,摄像机坐标系各个轴为Xc,Yc,Zc,图像坐标系的坐标轴为X,Y,图像像素坐标系的坐标轴为U,V。将点P设定为需要成像的标定物,并且设在世界坐标系中的坐标为P(Xw,Yw,Zw),则P点经过成像后在各个坐标系中的坐标为P’(Xc,Yc,Zc),在图像坐标系的点,坐标为M(x,y),坐标O1(u0,v0)为成像平面的中心点,f则表示为相机的焦距,即从摄像机光心O1到成像中心点Oc(u,v)之间的距离,O1与Oc所在的直线为光轴。
2.2 摄像机的参数
摄像机的参数问题主要是指摄像机内部的参数和摄像机外部的参数类两类,摄像机内部的参数就是在拍摄物体时的实际物体点与拍摄后所成图像点之间的关系,我们可以用相应的矩阵来表示出来。顾名思义,摄像机内部的参数我们称之内参数问题,比如焦距等,是因摄像机的物理结构所造成的,是不可随便改变的内在物理量。而摄像机外部参数是拍摄物体时镜头与物体之间的位置关系,它包括旋转角度和平移量的变化等。当然还存在畸变参数,一般不做太多的研究,我们将以上主要的这些参数统称为摄像机的参数。
2.3 世界坐标系——相机坐标系
由世界坐标系向摄像机坐标系转变的过程实际为矩阵的刚体变换[3],由图1坐标系中可知世界坐标系中标定物点P(Xw,Yw,Zw),而摄像机坐标系中的P’(Xc,Yc,Zc),两者的转换关系为下式(1),其中R为3*3的旋转矩阵,表示绕x,y,z三个轴旋转的角度变化,T为3*1的平移矩阵,表示平移的位置量。
(1)
2.4 摄像机坐标系——图像坐标系
由摄像机坐标系到图像坐标系之间的关系转化过程是符合小孔成像中的相似三角形定理的,所以通过图中的数学关系可以得到(2)式,另外我们将(2)用矩阵的形式表达出来则为下面的(3)式,式中的f表示焦距,它是镜头光中心的位置与图像坐标系中成像平面中心点u0,v0之间的距离大小。
(2)
上式用矩阵表示为如下
(3)
2.5 图像坐标系——图像像素坐标系
图像坐标系是以毫米为单位的,而图像像素坐标系是以像素为单位,两者之间的变化关系如下式(4),dx,dy表示每个像素在x轴与y轴上的物理尺寸大小,u,v表示点在图像像素坐标系中的坐标,而u0,v0则表示像素坐标系中心点的位置坐标。
(4)
上式用矩阵进行表示可得下式(5)。
(5)
联立上面各个坐标系中的转化公式可得下式(6)。
(6)
上式(6)中的是摄像机的物理焦距f转换成在像素坐标系中以像素为单位的u和v轴上面的系数,Min中包含四个变量,分别表示的是摄像机内部的一些参数,它只与摄像机内部的物理构造有关是不可改变的,所以Min也成为摄像机的内部参数,而Mout表示的矩阵由3*3的旋转矩阵和3*1的平移矩阵组成[4],它表示的是摄像机坐标系与世界坐标系的位姿变换关系,是可以随位置的改变而发生变化的,所以也成为摄像机的外部参数。
3 摄像机标定方法
3.1 线性与非线性模型
摄像机成像时具有两种不同类型的模型,一种是不考虑畸变的线性模型,另一种则为考虑畸变的非线性模型[5]。线性模型是一种理想状态下的模型,是一种理论上的结果,在实际的运用中是不存在的,在摄像机成像的过程中总会因为摄像机的制作精度或者其他方面的原因导致在成像的过程中出现畸变,也就是所谓的非线性模型,非线性模型中的畸变主要包括径向畸变和切向畸变[6],但是也存在一些其他的畸变,其中的径向畸变和切向畸变影响比较大,所以一般情况下只考虑这两种类型的畸变,其他的畸变则忽略不计,由畸变引起的参数变化将其称为畸变参数。
3.2 标定物与自标定
摄像机的标定就是在建立了目标物和成像之间的对应关系之后的基础上来求出这种对应关系之间参数的过程,也就是各个坐标系之间的关系转换过程[7]。目前具有两种不同的方式,一种是基于标定物的标定法,另一种为自标定法[8]。这两种标定方式具有不同的特征,基于标定物的标定方式需要得知标定物的具体物理尺寸,然后建立标定点和图像坐标系中的联系,由建立好的联系再通过模型求解各个参数,具有精确性高,误差小的特点,但是操作比较麻烦。自标定法是在不明确标定物物理尺寸的情况下利用了多个图片计算,自标定法标定时需要的条件比较少,但是存在着精确度不高,误差大的缺点。
3.3 张正友棋盘格标定
1998年张正友教授提出了著名的单平面棋盘格标定方法[9],张正友教授提出的标定方法不需要复杂的标定物,仅需要用将棋盘图像打印在纸张上,然后利用相机对图像从不同的角度进行拍摄,将得到不同角度后的图片进行图像的标定实验,与其他的标定方法相比,标定方法简便,标定的精确度也比较高,总之成了一种比较好的标定方法为大家所使用。
4 MATLAB仿真
本文通过KUKA工业机器人试验台系统来对摄像机的标定仿真实验,实验所用照片使用试验台自带的相机进行拍摄,仿真系统选用MATLAB中的Calibration Toolbox平台进行实验,采用线性仿真的模型经过仿真后可以得到如下的实验结果如下图2所示。
图2 视觉标定仿真图
从上图中可以分析出,图像点与各个网格的交点重合,说明可以达到比较高的精度,符合实验的要求。为了得到实验结果的准确,将拍摄多幅图片进行多次实验。
5 结束语
从上面的实验中我们可以分析出,利用以上所述的摄像机模型理论仿真后可以达到我们所需要的要求,可以在机器视觉中进行很好的定位设计运用,通过以上的摄像机模型可以将其运用到的工业中的KUKA机器人的实际操作中,将会极大的提高工作的效率和质量,从而可以极大的解放劳动力和提高生产水平。