-
计算机双目视觉技术,利用两个摄像机拍摄现场景物图像,进而根据左右图像的空间位置关系计算出每一个像素中的视差,从视差中恢复出景物的三维深度信息[1].
因为计算机双目视觉在自然光下就可以使用,并且不需要和被测物接触,是一种典型的无接触测量方法,因此在三维坐标测量、逆向工程、移动机器人导航、工业在线检测等领域中得到了广泛的应用[2-3].
从计算机双目视觉技术的实现流程上看,它包括了立体图像的拍摄、立体图像的去噪、立体图像的几何形变校正、立体图像之间的立体匹配、视差图像的优化、视差信息的三维坐标化、三维重建等等.这其中最为关键的核心环节就是立体匹配[4].立体匹配的实质是根据一定的运算关系,从立体图像间计算出带有深度信息的视差图像,它直接关系到计算机双目视觉技术的测量精度,也是整个技术流程中耗时最长的一个环节.鉴于立体匹配在计算机双目视觉中的重要意义,本文将对其进行深入研究.
全文HTML
-
立体匹配作为双目计算机视觉中的关键技术,近年来引起了国内外学者的普遍重视,他们在此方向开展了大量的研究工作.
立体匹配是在立体图像间寻找对应点,根据对应点的像素位置差异计算出视差.为了准确地寻找到对应点,基于像素灰度的相似性判断方法首先建立起来.但是单像素存在被噪声干扰的可能,基于单像素的相似性检测很可能存在误差[5].为此,基于窗口的像素聚合方法被设计出来,通过窗口内邻域像素的统计结果替代单像素的灰度进行匹配计算.这样的匹配窗口因为形状的不同,有矩形窗口、十字形窗口、米字型窗口等,其中矩形窗口最为常用[6].矩形窗口虽然最为常用,但需要注重其计算匹配代价的效率.
确定了窗口内每个像素的匹配代价后,立体匹配的进行还需要配合一系列的约束条件.最常见的约束条件有视差约束条件、梯度约束条件、极线约束条件等等.通过这些约束条件,可以限制视差的搜索过程,提高匹配效率[7-8].但是,约束条件设置过多过复杂,就会导致优化过程出现耦合.
结合窗口代价和视差约束在图像平面可以获得大部分像素的匹配结果,但是在遮挡和噪声区域还是会存在无法正确匹配的现象.为此,一系列的优化算法引入到视差计算过程中,这就是全局优化策略.这些优化方法包括极线扫描优化方法、图形切割优化方法、遗传算法优化方法、动态规划优化方法等等[9-12].其中,动态规划优化方法执行速度快,并且具有比较理想的优化结果,易于在实际中运用,其缺点是视差图像中存在一定的条纹瑕疵[13-14].本文以动态规划立体匹配方法为研究对象,并对其进行改进,以提升立体匹配的性能.
-
计算立体图像上每个像素的匹配代价,是执行立体匹配的前提工作.本文采用矩形窗口,用窗口内邻域像素的灰度统计结果作为每一个像素的匹配代价测算依据,计算过程为
其中,cx,cy代表矩形窗口的中心点; wx,wy代表矩形窗口的宽和高; ML的计算过程为
-
动态规划是一种典型的全局优化方法,其核心思想是将复杂问题进行多环节降解.如果用k表示复杂问题的每一个环节,用xk表示对应环节的状态,用uk表示各环节状态的迁移,那么状态迁移是否合理,就可以运用Vk,n这样函数进行度量和判断,此函数形式为
其中,vk(xk,uk)表示Vk,n第k个环节下的度量值.运用动态规划优化的最终目标,就是确定一个能让整个复杂问题都得到优化的最佳Vk,n.
运用动态规划实现立体匹配,k为图像中的像素,xk为像素的横坐标,uk为最终要求取的视差,vk(xk,uk)为用于判断匹配是否合适的度量函数.
对于vk(xk,uk)的设定,我们一方面考虑公式(1)计算出的匹配代价vdata(xk,uk),另一方面考虑立体图像间遮挡因素的存在,建立遮挡代价函数vsmooth(xk,uk),最终得到vk(xk,uk),为
-
运用动态规划方法完成立体匹配,优化过程清晰、优化速度相比于其他优化方法也具有一定优势.但是,动态规划因为状态的可分性和先前状态对后续失效,会导致视差图像上出现条纹瑕疵.
为了解决条纹瑕疵对最终获取的视差图像质量的影响,文献[8]提出控制点修正技术.在视差图像上,控制点应该是确定的匹配正确的点,亦是通过左右一致性校验的点,其计算公式为
在控制点的修正之下,如果动态规划在优化过程中出现了某个错误匹配,且这一点错误视差试图对后续进行影响形成条纹瑕疵时,控制点会及时终止这种行为.
需要指出的是,控制点的计算是通过左右一致性校验方法来获得的,其耗时时间很长.所谓左右一致性校验,就是分别以立体图像中的左右图像为参考图像,各自执行一次立体匹配,这就是2次立体匹配的时间.
为了有效降低控制点的计算时间,本文在原始立体图像的降维图像上执行左右一致性校验.例如,如果原始图像的大小为256×256,那么我们就在这个图像的降2维图像64×64面积上进行左右一致性校验,从而有效地缩短整个算法的执行时间.此处控制点修正方法主要分为3个步骤:
1) 对立体图像进行小波分解,形成对应于原始图像的低1维图像,低2维图像.
2) 在低2维图像上进行左右一致性校验,提取控制点.
3) 将低2维图像上的控制点映射回原始图像,用它们作为指导动态规划匹配过程的可心点.
2.1. 匹配代价的计算
2.2. 动态规划结合遮挡因素求取视差
2.3. 控制点对视差图像的进一步修正
-
为了验证本文提出的基于控制点修正的动态规划立体匹配方法的有效性,下面通过详细的实验过程和实验结果加以验证.在实验数据的选择上,以Middlebury立体视觉算法通用测试平台中的Staircase人工合成立体图像、Newkuba人工合成立体图像、Livingroom人工合成立体图像、Hoops人工合成立体图像分别为4组实验图像.在比较算法的选择上,分别以基于置信传递的立体匹配方法(BP)、基于图形切割的立体匹配方法(GC)和本文的方法(DP)进行对比.在实验中,所用计算机为酷睿双核笔记本电脑,单核CPU主频3.0 GHz,内存大小4 GB,硬盘1 TB.
-
分别将Staircase人工合成立体图像、Newkuba人工合成立体图像、Livingroom人工合成立体图像、Hoops人工合成立体图像设定为立体图像1组、立体图像2组、立体图像3组、立体图像4组,在其上分别执行基于置信传递的立体匹配方法(BP)、基于图形切割的立体匹配方法(GC)和本文的方法(DP),求取的视差图结果如图 1所示.
如图 1所示,第1列为立体图像1组及其视差图,第2列为立体图像2组及其视差图,第3列为立体图像3组及其视差图,第4列为立体图像4组及其视差图.第1行为立体图像中的原始左图像,第2行是这些立体图像对应的真实视差图,第3行是基于置信传递的立体匹配方法(BP)获得的视差图,第4行是基于图形切割的立体匹配方法(GC)获得的视差图,第5行是本文方法(DP)获得的视差图.
从图 1可以看出,对于立体图像的立体匹配结果,本文提出的基于控制点修正的立体匹配方法(DP)都获得了非常理想的视差效果,图像上视差稠密连续,杂点很少,各个区域边缘清晰明显.
对于条纹较为明显的第2组实验图像,在BP方法和GC方法获得的视差图中,都有比较明显的条纹瑕疵,而本文方法获得的视差图像中,条纹瑕疵则明显被弱化.
-
进一步比较基于置信传递的立体匹配方法(BP)、基于图形切割的立体匹配方法(GC)和本文方法(DP)获得的视差图中的坏像素结果(图 2).
如图 2所示,第1列为立体图像1组的视差图中坏像素分布,第2列为立体图像2组的视差图中坏像素分布,第3列为立体图像3组的视差图中坏像素分布,第4列为立体图像4组的视差图中坏像素分布.第1行是这些立体图像对应的真实视差图中的坏像素分布,第2行是基于置信传递的立体匹配方法(BP)获得的视差图中的坏像素分布,第3行是基于图形切割的立体匹配方法(GC)获得的视差图中的坏像素分布,第4行是本文方法(DP)获得的视差图中的坏像素分布.
从上述图像的比较中可以直观地看出,采用本文提出的基于控制点修正的立体匹配方法(DP)获得的视差图中坏像素分布最少,进一步对各坏像素图中的坏像素比例进行统计,结果如表 1所示.
从表 1的统计结果可以明显看出,本文方法获得的视差图像中,坏像素比例明显低于其他2种方法.对于立体图像2组而言,3种方法获得视差图像坏像素比例都高一些,但本文方法分别比BP和GC方法低2.4和1.3个百分点.
3.1. 3种方法计算出的视差图比较
3.2. 3种方法计算出的视差图中的坏像素占比比较
-
本文针对计算机双目视觉中立体匹配问题开展研究工作,提出了一种基于控制点修正的动态规划立体匹配方法(DP).首先,设置了计算匹配代价的矩形窗口; 其次,将动态规划的优化过程对应到立体匹配之上,构建了含有匹配代价和遮挡约束代价的优化函数; 再次,在降维图像上求取控制点,对动态规划的条纹效应进行抑制.选用4个组的立体图像和3种方法进行实验,实验结果充分表明本文提出的方法可以获得连续稠密的视差图像,且坏像素分布低于其他2种方法.