1
1、双目视觉的视差与深度
人类具有一双眼睛,对同一目标可以形成视差,因而能清晰地感知到三维世界。因此,计算机的一双眼睛通常用双目视觉来实现,双目视觉就是通过两个摄像头获得图像信息,计算出视差,从而使计算机能够感知到三维世界。一个简单的双目立体视觉系统原理图如图 1 所示。
两个相机的投影中心的连线的距离为 b,也叫做基线,三维空间任意一点 P 在左相机的成像点为 PL,在右相机的成像点为PR。根据光的直线传播的原理可知,三维空间点 P 就是两个相机的投影中心点与成像点连线的交点。线段L和R分别是左右相机成像点到左成像面的距离,则点 P 在左右相机的视差可以定义如下:
两个成像点PL和PR之间的距离为:
根据相似三角形理论可以得出:
则可以得到点 P 到投影中心平面的距离Z
当点 P 在三维空间上移动时,点 P 在左右相机上的成像位置也会改变,从而视差也会发生相应变化,由上式可知,视差与三维空间上的点到投影中心平面的距离成反比。因而,只要知道某点的视差,就可以知道该点的深度信息。
三维空间点 P 在相机的成像图如下图所示。由图可以看出,根据相似三角形原理, 有以下关系:
因此,当已知三维空间上任意一点的在不同图像上的视差,再根据相机的参数,就可以知道该点的三维坐标。
2
2、双目相机的相关坐标系
物体的三维信息都是通过二维图像推导而来的。要想明确物体在三维空间的具体位置,除了图像的信息,还需知道相机的具体参数。相机参数的确定过程就叫做相机的标定。在双目视觉系统中,除了对每个相机进行标定外,还需要知道相机间的相互关系以及相机与待测物体的坐标关系,这一过程叫做系统的标定。
从图像上的物体到三维空间上的物体的映射过程实际上是坐标系的变换。图像上的某一点,经过物理关系的转换可以得到现实的物理坐标,然后将图像平面映射成相机坐标系的某一平面,得到该点在相机坐标系的坐标,最后通过相机坐标系与世界坐标系的旋转平移变换就可以确定该点的实际三维坐标了。所以要想确定点的三维坐标,首先要了解这四个坐标系。
(1) 像素坐标系。在数字图像中,一幅图像就是一个 M 行 N 列的数组,数组中的每个数值就是该点的亮度。在图像的左上角建立直角坐标系 u、v, 每一像素的坐标(u, v)就是该像素在数 组中的行和列。以像素作为单位的坐标系就叫做像素坐标系。
(2) 图像坐标系。要想知道物体在三维空间的具体位置,