您好,欢迎访问三七文档
第十一章深度图获取场景中各点相对于摄像机的距离是计算机视觉系统的重要任务之一.场景中各点相对于摄像机的距离可以用深度图(depthmap)来表示,即深度图中的每一个象素值表示场景中某一点与摄像机之间的距离.机器视觉系统获取场景深度图技术可分为被动测距传感和主动测距传感两大类.被动测距传感是指视觉系统接收来自场景发射或反射的光能量,形成有关场景光能量分布函数(即灰度图像),然后在这些图像的基础上恢复场景的深度信息.最一般的方法是使用两个相隔一定距离的摄像机同时获取场景图像来生成深度图.与此方法相类似的另一种方法是一个摄像机在不同空间位置上获取两幅或两幅以上图像,通过多幅图像的灰度信息和成像几何来牛成深度图.深度信息还可以使用灰度图像的明暗特征、纹理特征、运动特征间接地估算,主动测距传感是指视觉系统首先向场景发射能量,然后接收场景对所发射能量的反射能量.主动测距传感系统也称为测距成像系统(rangefinder).雷达測距系统和三角测距系统是两种最常用的两种主动测距传感系统.因此,主动测距传感和被动测距传感的主要区别在于视觉系统是否是通过增收自身发射的能量来测距.另外,我们还接触过两个概念:主动视觉和被动视觉.主动视觉是一种理论框架,与主动测距传感完全是两回事.主动视觉主要是研究通过主动地控制摄像机位置、方向、焦距、缩放、光圈、聚散度等参数,或广义地说,通过视觉和行为的结合来获得稳定的、实时的感知.我们将在最后一节介绍主动视觉.11.1立体成像最基本的双目立体几何关系如图11.1(a)所示,它是由两个完全相同的摄像机构成,两个图像平面位于一个平面上,两个摄像机的坐标轴相互平行,且x轴重合,摄像机之间在x方向上的间距为基线距离在这个模型中,场景中同一个特征点在两个摄像机图像平面上的成像位置是不同的.我们将场景中同一点在两个不同图像中的投影点称为共轭对,其中的一个投影点是另一个投影点的对应(correspondence),求共轭对就是求解对应性问题,两幅图像重叠时的共轭对之间的位置之差(共轭对点之间的距离)称差(disparity);通过两个摄像机中心和场景特征点的平面称为外极(epipolar)平面,外极平面面的交线称为外极线;同一图像平面上的所有外极线交于一点,该点称为外极点.在图11.1中,场景点P在左、右图像平面中的投影点分为P1和P2.不失一般性,假设坐标系原点与左透镜中心重合.比较相似三角形PMC1和P1LC1,可得到下式同理,从相似三角形PMC1和P1LC1,可得到下式其中F是焦距,B是基线距离。因此,各种场景点的深度恢复可以通过计算视差来实现。注意,由于数字图像的离散特性,视差值是一个整数,在实际中,可以使用一些特殊算法使视差计算精度达到子象素级。因此,对于一组给定的摄像机参数,提高场景点深度计算精度的有效途径是增长基线距离B,即增大场景点对应的视差,然而这种大角度立体方法也带来了一些问题,主要的问题有①随着基线距离的增加,两个摄像机的共同的可视范围减小;②场景点对应的视差值增大,则搜索对应点的范围增大,出现多义性的机会就增大;③由于透视投影引起的变形导致两个摄像机获取的两幅图像中不完全相同,这就给确定共轭对带来了困难。在图11.1中,左(右)图像中的每个特征点都位于右(左)图像中相同标号的行中,即外极线与图像行重合.在实际中,两条外极线不一定完全与图像行重合,即垂直视差不为零.但为了简单起见,双目立体算法中的许多算法都假设垂直视差为零.在实际应用中经常遇到的情况是两个摄像机的光轴不平行,比如,在某些系统中,调节两个摄像机的位置和姿态,使得它们的光轴在空间中相交在某一点,如图11.2所示,在这种情况下,视差与光轴交角有关.对于任意一个光轴交角,在空间中总存在一个视差为零的表面.比这一表面远的物体,其视差大于零;反之,比这一表面近的物体,其视差小于零.因此,在一个空间区域中,其视差可被划分为三组:这三组视差可用于解决匹配不确定问题。立体成像的最一般情况是一个运动摄像机连续获取场景图像,形成立体图像序列,或间隔一定距离的两个摄像机同时获取场景图像,形成立体图像对.图11.3所示的是处于任意位置和方位的两个摄像机,对应于某一场景点的两个图像点位于外极线上.这两幅图像也可以是一个摄像机由一点运动到另一点获取这两幅图像.即使两个摄像机处于一般的位置和方位时,对应场景点的两个图像点仍然位于图像平面和外极平面的交线(外极线)上.由图不难看出,外极线没有对应图像的某一行.11.2立体匹配立体成像系统的一个不言而喻的假设是能够找到立体图像对中的共轭对,即能够求解对应问题.然而,对于实际的立体图像对,求解对应问題极富有挑战性,可以说是立体视觉最困难的一步.为了求解对应,人们已经建立了许多约束来减少对应点误匹配,并最终得到正确的对应.下面我们将讨论几个最基本的约束,然后讨论边缘特征和区域特征在立体匹配中的应用.11.2.1基本约束1.外极线约束对于两幅从不同角度获取的同一场景的图像来说,传统的特征点搜索方法是首先在一幅图像上选择一个特征点,然后在第二幅图像上搜索对应的特征点.显然,这是一个二维搜索问題.根据透视投影成像几何原理,一幅图像上的特征点一定位于另一幅图像上对应的外极线上.因此,只要求得外极线,则在外极线上而不是在二维图像平面上求解对应问题,这是一个一维搜索问題.如果已知目标与摄像机之间的距离在某一区间内,则搜索范围可以限制在外极线上的一个很小区间内,如图11.4所示.所以,利用外极线约束可以大大地缩小寻找对应点的搜索空间,这样既可以提高特征点搜索速度,也可以减少误匹配点的数置(范围越小,包含误匹配点的可能性越小).请注意,由于摄像机位置及其方向的测置误差和不确定性,匹配点可能不会准确地出现在图像平面中对应的外极线上;在这种情况下,有必要在外极线的一个小邻域内进行搜索.2.一致性约束立体视觉通常由两个或两个以上摄像机组成,各摄像机的特性一般是不同的.这样,场景中对应点处的光强可能相差太大,直接进行相似性匹配,得到的匹配值变化太大.因3.唯一性约束一般情况下,一幅图像(左或右)上的每一个特征点只能与另一幅图像上的唯一个特征对应.4.连续性约束物体表面一般都是光滑的,因此物体表面上各点在图像上的投影也是连续的,它们的视差也是连续的.比如,物体上非常接近的两点,其视差也十分接近,因为其深度值不会相差很大.在物体边界处,连续性约束不能成立,比如,在边界处两侧的两个点,其视差十分接近,但深度值相差很大.11.2.2边缘匹配本算法使用的边缘特征是通过高斯函数的一阶导数获得的.在有噪声的情况下,使用高斯梯度来计算边缘更加稳定.使用边缘匹配的立体算法的步骤如下:①用四个不同宽度的高斯滤波器对立体图像对中的每一幅图像进行滤波,其中前一次滤波的宽度是下一次滤波器宽度的两倍.这一计算可以反复通过对最小的滤波器进行卷积来有效地实现(见5.3.2节).②在某一行上计算各边缘的位置.③通过比较边缘的方向和强度粗略地进行边缘匹配.显然,水平边缘是无法进行匹配的.④通过在精细尺度上进行匹配,可以得到精细的视差估计.11.2.3区域相关性尽管边缘特征是图像的基本特征,而且边缘检测算法也十分成熟,但边缘特征往往对应着物体的边界.物体边界的深度值一般是不确定的,它可以是(前景)物体封闭边缘的深度距离和背景点深度距离之间的任一值.特别是曲面物体,其封闭边缘是物体的轮廓影像边缘,在两幅图像平面中观察到的轮廓影像边缘与真实的物体边缘不是对应的.但图像平面的强边缘只能沿着这样的封闭.边缘才能检测到,除非物体有其它的高对比度的非封闭边缘或其它特征.这样,恢复深度的基本问题之一是识别分布于整幅图像中的更多的特征点,并作为候选对应点.还有许多用于寻找对应点潜在特征的方法,其中的一种方法是在立体图像对中识别兴趣点(interestingpoint),而后使用区域相关法来匹配两幅图像中相对应的点.下面讨论区域中兴趣点的检测.两幅图像中用于匹配的点应尽可能容易地被识别和匹配.显而易见,一个均匀区域中的点是不适合作为候选匹配点,所以兴趣算子应在图像中寻找具有很大变化的区域.一般认为图像中有足够多相互分离的区域可以用于匹配.在以某一点为中心的窗函数中,使用窗内所有象素来计算其在不同方向上的变化量,是该点在不同方向上显著性的一个好测度.方向变化量的计算公式如下其中S表示窗函数中的所有象素.典型窗函数尺寸从5×5到11×11的范围.因为简单的边缘点在边缘方向上无变化,所以,选择上述方向变暈的最小值为中心象素点的兴趣值,可以消除边缘点.否则,在第一幅图像中的边缘点可能与第二幅图像中沿着同一条边缘的所有象素相匹配,由此使得准确计算视差变得十分困难(特别是当边缘是沿着外极线时更是如此).兴趣点选择标准为最后,为了避免将多个相邻点选为同一个特征对应的兴趣点,可以将特征点选在兴趣测度函数具有局部最大值的地方.一个点被认为是一个“好”的好兴趣点,则对应的局部最大值一定大于原先设定的阈值.一旦在两幅图像中确定特征后,则可以使用许多不同方法进行特征匹配.一种简单的方法是计算一幅图像以某一特征点为中心的一个小窗函数内的象素与另一幅图像中各个潜在对应特征点中心的同样的小窗函数的象素之间的相关值.具有最大相关值的特征就是匹配特征.很明显,只有满足外极线约束的点才能是匹配点.考虑到垂直视差的存在,应将外极线邻近的特征点也包括在潜在的匹配特征集中.考虑两幅图像f1和f2.设待匹配的候选特征点对的视差为(dx,dy),则以特征点为中心的区域之间相似性測度可由相关系数r(dx,dy)定义为这里的f1和f2是被匹配的两个区域中的所有象素灰度平均值式符号是在以特征点为中心的小窗函数中的所有象素上进行的.在式(11.9)中,在每一个象素上使用阈值化处理后的具有正负符号的梯度幅值,而不是图像灰度值,可以改善相关性的计算精度.这可以通过下列过程来实现:计算未平滑两幅图像中的每个象素的梯度幅值,然后使用两个阈值,一个大于0,另一个小于0,将这些值映射到三值空间(-1,0,1).这样图像就被转换为波浪起伏阵列,可以产生更灵敏的相关值.如果使用上述方法,则无需在相关性计算公式中包括规范项,r(dx,dy)可以简化为相对应的象素值的乘积之和.11.2.4讨论在大多数情况中,相互靠近的特征点其对应的场景点深度也是十分靠近的.这种启发式方法来源于迭代式松弛方法,我们将在14.1.3节对这种方法进行介绍.我们注意到,基于特征的立体匹配算法产生对应于图像特征.点的场景稀疏深度图.在稀疏深度图上进行表面内插或逼近运算,可以重建一个表面,这部分内容将在第13章讨论.立体重建过程的主要难题之一是选择兴趣点.一种典型的兴趣点选择方法是基于灰度值的局部最大变化量.但是,这些点经常出现在拐角处或不满足平滑约束条件的表面不连续处.在一些机器视觉应用中,这个问题是通过使用结构光来解决的.将模式图投影到表面上来产生兴趣点,并可使区域变得光滑(见下一节内容).最后要说明的是,从图像象素集合中选择用于求解共轭对的象素子集意味着仅仅能恢复这些象素对应的特征点深度.要想得到其它点的深度值,必须通过使用有关计算方法来估算,如内插值技术.关于立体区配算法的经典论文和著作有许许多多。著名的Mair*Poggio~Gmnison双目立体匹配算法见[Grimson198),Mair1982],基于射影几何的立体视觉匹配见[Faugeras1993],使用迭代计算进行视差分析的算法见[Barnard1980],使用特征兴趣点求解对应性问题的方法见[Moravec1977].11.3多基线立体成像一幅图像上的每一个特征点只能与另一幅图像上的唯一一个特征点对应,通常将这一性质称为特征的唯一性约束.在实际中,由于大多数特征点不是十分明显,特别是重复纹理的出现,常常会产生对应多义性(ambiguity),即一幅图像上的一个特征点对应另一幅图像的若干个对应点,其中的一个点可能是真正的对应点,而其它点是假对应点.消除对应点多义性的一种有效方法是采用多基线立体成像方法[Okuto
本文标题:第十一章 深度图
链接地址:https://www.777doc.com/doc-3827678 .html