版权声明:本文为博主原创文章,转载请附源链接。
一、双目视觉成像原理

上图所示为双目视觉的成像原理,对于空间中任意一点P,在左右相机中的成像点为和
,其坐标如图所示。
二、双目视觉坐标变换
根据单目相机的成像原理。以及坐标的变换原理。有
上式经过化简,如下:
于是假设左相机坐标系是测量坐标系,即世界坐标系的位置。此时左边相机坐标系到世界坐标系的旋转矩阵(单位矩阵)为,平移向量为
,即左相机坐标系和世界坐标系重合,则平移向量为0,
再次经过化简为:
三、世界坐标的求解
如前面所示,相机内外参数可以通过标定获得。可以用matlab进行双目标定,具体见另外一篇关于matlab标定的博客。
此时前面系数和
可以进行消元。将其消掉。那么四个方程含有三位未知数(世界坐标)。于是即可求解。
这是因为前面我们已经假设和
点是空间同一点P的对应点,因此已经假设了直线
和
一定相交,或者说,这四个方程必定有解,而且解是唯一的。而实际应用中,由于数据总是有噪声的,此时可以用最小二乘法求出P的三维点坐标
:
将相机内参矩阵和外参矩阵进行化简,可以得下式:
此时,即可求出三维点的坐标。
实质是指的是:由两个相机上的像素坐标,和
的坐标,通过最小二乘法求出P点坐标,即是世界坐标,最小二乘法的求解,可以看本人另外的博客有写。
前面系数矩阵可以通过相机标定获得。
双目测量的实质是:单目相机的实质:是一个点在一个相机上的图像坐标点和光心的射线
双目相机的实质是:两个单目相机,即两条射线。交于同一个点,即可确定世界坐标中的位置。
四、另外需要说明
对于运动的点的的三维坐标检测,则必须通过两个相机进行测量。两个相机的每一帧图片,可以根据上述公式,获得其三维坐标位置。于是P点的运动的每一个时刻,都能求得其三维坐标。
对于静态物体的检测:
1、可以使用双目相机,进行测量每一个特征点的三维坐标,即可得到两点间的距离,可以利用双目进行检测;
2、可以利用一个相机进行双目测量,但是必须是静态的物体,保证两幅图片能够同时对应起来,若是运动的物体,利用一个相机拍照两次(移动后再拍一次),此时,运动的物体,所拍的物体不能保证是同一时刻,无法匹配。
五、总结
1、对于振动测量,可以用双目相机采集两个二维图像逐点测量物体的空间振动。
测量之前,必须对测量系统进行相机标定,获得上述公式中的系数矩阵。
另外需要注意的是:可以用三个及三个以上的相机进行测量,测量精度更高,范围更大。
2、对于静态物体的测量,可以用双目相机测量;
也可以只使用一个相机测量,在不同的位置不同时刻进行采集图片即可。