双目立体视觉技术的内容

          双目立体视觉技术(Binocular Stereo Vision)是机器视觉的一种重要形式,它是基于视差原理并利用成像设备从不同的位置获取被测物体的两幅图像,通过计算图像对应点间的位置偏差,来获取物体三维几何信息的方法。(双目视觉是模拟人类视觉原理,使用计算机被动感知距离的方法。从两个或者多个点观察一个物体,获取在不同视角下的图像,根据图像之间像素的匹配关系,通过三角测量原理计算出像素之间的偏移来获取物体的三维信息。得到了物体的景深信息,就可以计算出物体与相机之间的实际距离,物体3维大小,两点之间实际距离。)

           双目立体视觉融合两只眼睛获得的图像并观察它们之间的差别,使我们可以获得明显的深度感,建立特征间的对应关系,将同一空间物理点在不同图像中的映像点对应起来,这个差别,我们称作视差(Disparity)图像。

           双目立体视觉测量方法具有效率高、精度合适、系统结构简单、成本低等优点,非常适合于制造现场的在线、非接触产品检测和质量控制。对运动物体(包括动物和人体形体)测量中,由于图像获取是在瞬间完成的,因此立体视觉方法是一种更有效的测量方法。双目立体视觉系统是计算机视觉的关键技术之一,获取空间三维场景的距离信息也是计算机视觉研究中最基础的内容。

一、图像获取

双目立体视觉的图像获取是由不同位置的两台(CCD)摄像机经过移动或旋转拍摄同一幅场景,获取立体图像对。假定摄像机C1与C2的角距和内部参数都相等,两摄像机的光轴互相平行,二维成像平面X1O1Y1和X2O2Y2重合,P1与P2分别是空间点P在C1与C2上的成像点。

一般情况下,针孔模型两个摄像机的内部参数不可能完成相同,摄像机安装时无法看到光轴和成像平面,故实际中难以应用。在满足测量范围的前提下,应选择两CCD之间夹角在50℃~80℃之间。

二、相机标定 

          在图像测量过程以及机器视觉应用中,为确定空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系,必须建立相机成像的几何模型,这些几何模型参数就是相机参数。在大多数条件下这些参数必须通过实验与计算才能得到,这个求解参数的过程就称之为相机标定(或摄像机标定)。无论是在图像测量或者机器视觉应用中,相机参数的标定都是非常关键的环节,其标定结果的精度及算法的稳定性直接影响相机工作产生结果的准确性。因此,做好相机标定是做好后续工作的前提,提高标定精度是科研工作的重点所在。

        相机标定方法有:传统相机标定法、主动视觉相机标定方法、相机自标定法。

         相机标定是实现立体视觉基本而又关键的一步,通常采用单摄像机的标定方法,分别得到两个摄像机的内、外参数。再通过同一世界坐标中的一组定标点来建立两个摄像机之间的位置关系。

目前常用的单摄像机标定方法:

1)摄影测量学的传统设备标定法。利用至少17个参数描述,计算量大。

2)直接线性变换性。涉及的参数少、便于计算。

3)透视变换短阵法。从透视变换的角度来建立摄像机的成像模型,无需初始值,可进行实时计算。

4)相机标定的两步法。首先采用透视矩阵变换的方法进行求解线性系统的摄像机参数,再以求得的参数为初始值,考虑畸变因素,利用最优化方法求得非线性解,标定精度较高。

5)双平面标定法。

在双摄像机标定中,需要精确的外部参数。需要至少6个以上已知世界坐标点,才能得到比较满意的参数矩阵。实际测量过程不但复杂,而且效果并不一定理想,此外还需考虑镜头的非线性校正、测量范围和精度的问题。

 三、特征点提取

       特征提取是计算机视觉和图像处理中的一个概念。它指的是使用计算机提取图像信息,决定每个图像的点是否属于一个图像特征。特征提取的结果是把图像上的点分为不同的子集,这些子集往往属于孤立的点、连续的曲线或者连续的区域。在进行特征点像的坐标提取前,需对获取的图像进行预处理。通过此处理可显著改进图像质量,使图像中特征点更加突出。立体像对中需要提取的特征点应满足与传感器类型及抽取特征所用技术等相适应,具有足够的鲁棒性和一致性。

 特征类型主要有:

①边缘:边缘是组成两个图像区域之间边界(或边缘)的像素。一般一个边缘的形状可以是任意的,还可能包括交叉点。在实践中边缘一般被定义为图像中拥有大的梯度的点组成的子集。一些常用的算法还会把梯度高的点联系起来来构成一个更完善的边缘的描写。这些算法也可能对边缘提出一些限制。局部的看边缘是一维结构。

②角:角是图像中点似的特征,在局部它有两维结构。早期的算法首先进行边缘检测,然后分析边缘的走向来寻找边缘突然转向(角)。后来发展的算法不再需要边缘检测这个步骤,而是可以直接在图像梯度中寻找高度曲率。后来发现这样有时可以在图像中本来没有角的地方发现具有同角一样的特征的区域。

③与角不同的是区域描写一个图像中的一个区域性的结构,但是区域也可能仅由一个像素组成,因此许多区域检测也可以用来检测角。一个区域监测器检测图像中一个对于角监测器来说太平滑的区域。

区域检测可以被想象为把一张图像缩小,然后在缩小的图像上进行角检测。

④脊:长条形的物体被称为脊。在实践中脊可以被看作是代表对称轴的一维曲线,此外局部针对于每个脊像素有一个脊宽度。从灰梯度图像中提取脊要比提取边缘、角和区域困难。在空中摄影中往往使用脊检测来分辨道路,在医学图像中它被用来分辨血管。

 四、立体匹配

立体匹配是双目立体视觉中最困难的一步,根据匹配基元的不同,立体匹配可分为区域匹配、特征匹配和相位匹配三大类。

区域匹配算法的实质是利用局部窗口之间灰度信息的相关程度,它在变化平缓且细节丰富的地方可以达到较高的精度。但该算法的匹配窗大小难以选择,其次是数据计算量大、速度慢,采取由粗至精分级匹配策略能大大减少搜索空间的大小,与匹配窗大小无关的互相关运算能显著提高运算速度。

特征匹配不直接依赖于灰度,具有较强的抗干扰性,计算量小,速度快。但存一些不足:特征在图像中的稀疏性决定特征匹配只能得到稀疏的视差场。特征的定位过程直接影响匹配结果的精确度。

相位作为匹配基元,本身反映信号的结构信息,对图像的高频噪声有很好的抑制作用,适于并行处理,能获得亚像素级精度的致密视差。但存在相位奇点和相位卷绕的问题,需加入自适应滤波器解决。

 五、三维重建

在得到空间任一点在两个图像中的对应坐标和两摄像机参数矩阵的条件下,即可进行空间点的重建。通过建立以该点的世界坐标为未知数的四个线性方程,可以用最小二乘法求解得该点的世界坐标,实际重建通常采用外极线结束法计算。

你可能感兴趣的:(双目立体视觉)