自动化设计基础讲解-机械手,相机(CCD)9点标定
在机器视觉应用中,相机标定技术需要准确的相机内参数和外参数作为重构算法的输入和先决条件,通过标定算法,可以计算相机的投影矩阵。本文讲解机械手-相机9点标定原理
1.目的
建立相机坐标系与机械手坐标系的关系,通过标定可以把某一点的相机坐标转换成机械手坐标,从而使视觉和运动相关联。标定得到结果如下,
2.标定外参—平面坐标变换
如图(1-1)设源坐标系内一点(x,y),用矩阵表示变换过程,这里(x,y)用向量形式表示,若旋转角度为θ,那么
其中(x’,y’)表示目标坐标系坐标,R为旋转变换矩阵,T为平移变换矩阵,上式也可以写成如下形式,
上述是已知坐标变换关系把一个平面内一点从一个坐标系变换到另一个坐标系,这个过程称之为正解。逆解就是已知目标位置反求坐标关系,即我们要做的标定过程。由公式(2)坐标变换需要四个参数(cosθ,sinθ,dx,dy),一个点可以列两个方程,那么平面内求逆解至少需要两个点,如下
点1、点2在源坐标系的坐标(x1,y1)、(x2,y2),在目标坐标系的坐标为(x1’,y1’)、(x2’,y2’)。
3.标定内参
理论上,建立两个平面坐标系之间的关系只需要两个点即可,实际情况相机与成像平面都会有少许倾斜,会导像素的x、y方向所代表的实际物理尺寸不同,这里需要一个补偿参数:纵横比Sx。内参标定的原理比较复杂,这里只做简单介绍,
如图(1-2)为机械手—相机模型,包含三个坐标系,即图像坐标系(u,v)、摄像机坐标系(Xc,Yc,Zc)和机械手坐标系(Xw,Yw,Zw),我们要建立图像坐标系(u,v)与机械手坐标系(Xw,Yw,Zw)的关系。图像坐标系(u,v)是定义在二维图像上的直角坐标系,以像素为单位,其坐标原点一般定义在图像左上角,如图(1-3)所示,
由上图可知像素值(u,v)与坐标(x,y)的关系为
其次矩阵形式为
式5是在假定相机相元是矩形的情况下得到的,若相机相元有少许倾斜,则要对该式进行修正,需要定义一个比例因子Sx来补偿,用α=tanθ来表示相元的倾斜率,考虑以上则
K简称为摄像机标定矩阵,它只与相机内参数有关,定义了相机的一些基本内部参数,表征了相机的几何光学性质。而R、T为相机的标定外参数矩阵,它表征了相机的方位信息。选取9个点是为了求出内参矩阵和外参矩阵,具体运算过程比较复杂,这里不做陈述,用编写好的标定算法可以直接实现,只需将9个点的图像坐标和机械手坐标输入即可。
4.标定步骤
1)取成像平面的一固定点P,获取点P在图像坐标系的坐标和当前机械手的坐标;
2)移动机械手9次,顺序为P点在图像坐标系的位置内呈2字形,如下所示并以此记录P点的图像坐标和对应的机械手坐标。
3)将获取的9个图像坐标和对应的机械手坐标带入到标定程序,即得到标定结果。