双目视觉测量原理及其实现(求取三维世界坐标)

版权声明:本文为博主原创文章,转载请附源链接。


一、双目视觉成像原理 

双目视觉测量原理及其实现(求取三维世界坐标)_第1张图片 双目视觉成像原理

 

上图所示为双目视觉的成像原理,对于空间中任意一点P,在左右相机中的成像点为\large p_l\large p_r,其坐标如图所示。

二、双目视觉坐标变换 

根据单目相机的成像原理。以及坐标的变换原理。有

双目视觉测量原理及其实现(求取三维世界坐标)_第2张图片

上式经过化简,如下:

双目视觉测量原理及其实现(求取三维世界坐标)_第3张图片

于是假设左相机坐标系是测量坐标系,即世界坐标系的位置。此时左边相机坐标系到世界坐标系的旋转矩阵(单位矩阵)为\large R_l=E,平移向量为\large t_l=0,即左相机坐标系和世界坐标系重合,则平移向量为0,

再次经过化简为:

双目视觉测量原理及其实现(求取三维世界坐标)_第4张图片

三、世界坐标的求解 

如前面所示,相机内外参数可以通过标定获得。可以用matlab进行双目标定,具体见另外一篇关于matlab标定的博客。

此时前面系数\large s_1\large s_2可以进行消元。将其消掉。那么四个方程含有三位未知数(世界坐标)。于是即可求解。

这是因为前面我们已经假设\large p_l\large P_r点是空间同一点P的对应点,因此已经假设了直线\large O_1p_l\large O_2P_r一定相交,或者说,这四个方程必定有解,而且解是唯一的。而实际应用中,由于数据总是有噪声的,此时可以用最小二乘法求出P的三维点坐标\large P(x_w,y_w,z_w)

将相机内参矩阵和外参矩阵进行化简,可以得下式:

双目视觉测量原理及其实现(求取三维世界坐标)_第5张图片

此时,即可求出三维点的坐标。

实质是指的是:由两个相机上的像素坐标,\large p_l\large \large p_r的坐标,通过最小二乘法求出P点坐标,即是世界坐标,最小二乘法的求解,可以看本人另外的博客有写。

前面系数矩阵可以通过相机标定获得。

双目测量的实质是:单目相机的实质:是一个点在一个相机上的图像坐标点和光心的射线

双目相机的实质是:两个单目相机,即两条射线。交于同一个点,即可确定世界坐标中的位置。

四、另外需要说明

对于运动的点的的三维坐标检测,则必须通过两个相机进行测量。两个相机的每一帧图片,可以根据上述公式,获得其三维坐标位置。于是P点的运动的每一个时刻,都能求得其三维坐标。

对于静态物体的检测:

1、可以使用双目相机,进行测量每一个特征点的三维坐标,即可得到两点间的距离,可以利用双目进行检测;

2、可以利用一个相机进行双目测量,但是必须是静态的物体,保证两幅图片能够同时对应起来,若是运动的物体,利用一个相机拍照两次(移动后再拍一次),此时,运动的物体,所拍的物体不能保证是同一时刻,无法匹配。

五、总结

1、对于振动测量,可以用双目相机采集两个二维图像逐点测量物体的空间振动。

测量之前,必须对测量系统进行相机标定,获得上述公式中的系数矩阵。

另外需要注意的是:可以用三个及三个以上的相机进行测量,测量精度更高,范围更大。

2、对于静态物体的测量,可以用双目相机测量;

也可以只使用一个相机测量,在不同的位置不同时刻进行采集图片即可。

你可能感兴趣的:(双目视觉测量,双目视觉测量原理,双目视觉测量其实现,求三维世界坐标)