在我们进行机械臂抓取实验时候,总是少不了相机的标定环节。我认为相机标定可以分为两个部分。 一个部分是相机外参的标定,也就是获得相机坐标系与世界坐标系的关系,在我们的系统中,世界坐标系是可以自定义的。其中眼在手上的标定,不变的是相机与机械臂末端的坐标转换。通过手眼标定获得这两者的转换,结合机械臂TF树,便可以相机坐标与机械臂基座标的变换,进而获得相机坐标与世界坐标系的变换。而眼在手外的相机标定可以直接获得相机坐标与机械臂基座标的变换,进而获得相机坐标与世界坐标的关系,完成相机外参标定过程。
另一部分是相机内参的标定,之前有在matlab环境下进行相机的内参标定,那么为什么要进行内参标定呢?其实这里的相机标定主要为了解决空间中物体表面的三维几何点与其相对应的图像点的转换关系。下面我将介绍一下相机内参标定的原理,通过介绍可以理解为什么进行内参标定。 1,相机成像模型 相机的成像过程是将三维空间中的物体投影到二维图像空间的,即透视投影变换,也被称之为小孔成像。相机的成像模型涉及像素坐标系、图像坐标系、相机坐标系以及世界坐标系之间的坐标转换关系,各坐标系如图 所示。
2,相机模型坐标定义 像素坐标系 u,v轴组成,位于像素平面上,其原点位于图像左上角,单位为像素。 图像坐标系x,y轴组成, 位于成像平面上,原点在在成像平面的中心点附近,单位为物理单位(如 mm)。 相机坐标系 X,Y,Z轴组成,原点为光心,单位为物理单位。 世界坐标系 X w ,Y w, Z w 组成,是实际三维空间中的坐标系,根据使用需要进行定义,是用于表示系统中绝对位置的坐标系,单位为物理单位(如 mm)。 3,像素与图像坐标转换 像素坐标系和图像坐标系之间的转换关系可以通过单个像素的物理尺寸来关联:
其中, dx 和 dy 表示沿 x 和 y 轴方向上单个像素点的实际物理尺寸,与感光芯片有关, (u 0 ,v 0 ) 为原点 o 1 在像素坐标系下的坐标值。将上式用齐次坐标系表示:
4,相机与世界坐标转换 通过相机的外参标定,世界坐标系下的坐标可以通过旋转矩阵 R 和平移向量 t 转换到相机坐标系下:
式中矩阵 R 为 3×3 的正交单位阵,向量 t 表示 3×1 的三维平移量。 5,相机与图像坐标转换 对于三维空间中的一点 P,其对应在图像平面上的成像点为 P 与光心 O 的连线与图像平面的交点 p, O 与 o 1 之间的距离为焦距 f 。根据三角形相似定理可以推出相机坐标系与图像坐标的关系满足以下关系:
将上式用齐次坐标系表示:
6,像素与世界坐标转换 将式5和式5带入式2中可以计算出世界坐标系下的一点 P(X w , Y w , Z w ) 在像素坐标系下的成像点 p(u,v) :
7,畸变 其中, F x 和 F y 被称为等效焦距, M 1 为相机内参只与相机内部结构有关, M 2 为相机外参表示相机坐标系与世界坐标系之间的转换。 上述的相机模型为理想条件下的相机成像模型,而实际的成像过程往往存在偏差,即畸变。畸变又可以进一步划分为径向畸变以及切向畸变,径向畸变来源于相机透镜在制造过程中的误差,而切向畸变则来源于整个相机的组装误差。 产生两者畸变的原理图:
径向畸变矫正的表达式为:
其中,r 为图像坐标 (x, y) 到其原点的欧式距离, k 1 、 k 2 和 k 3 为畸变系数。 径向畸变包括:枕形畸变、桶形畸变
切向畸变矫正的表达式为:
其中, p 1 和 p 2 为畸变系数。 k 1 、 k 2 、 k 3 、 p 1 、 p 2 和 M 1 共同构成了相机的内参。 切向畸变图示: