- 41
- 0
- 约2.36千字
- 约 5页
- 2016-11-23 发布于北京
- 举报
立体匹配算法的分类对比研究.doc
立体匹配算法的分类对比研究
摘 要 立体视觉主要利用多图像成像技术,通过多个图像来获取物体的深度信息。本文首先叙述了常用的立体匹配算法的组成,将立体匹配算法分为三类,详细说明了三种匹配算法分类中具有代表性的块匹配算法、半全局立体匹配算法和图割法的具体实现步骤,从匹配速度和匹配效果上分析总结了三种算法的优缺点。最后概况归纳了现有的立体匹配算法所存在的问题以及对立体匹配算法发展的展望。
关键词 立体匹配;算法分类
中图分类号:TP391 文献标识码:A 文章编号:1671-7597(2013)18-0045-02
人时刻处在一个复杂的三维场景中,我们的双眼从场景中获得二维图像,大脑自动地将两幅图像进行叠加以产生三维信息,这样就很自然地知道周围物体距离自身的远近。双目视觉是在充分理解人类视觉原理的基础上使用计算机来模拟人类的双目成像系统,利用成像设备代替人眼获取两幅图像,通过计算机代替人脑获取所拍物体的三维信息。立体匹配是双目立体视觉系统中最关键的一部分。
1 立体匹配算法的分类
本文将立体匹配算法分为 :局部立体匹配算法、半全局立体匹配算法以及全局立体匹配算法。
1.1 局部立体匹配算法
局部匹配算法又称基于窗口的方法,为每个像素计算一个大小、形状和权重适合的支撑区域,然后将支撑区域中的视差值加权平均。理想的支撑区域应当覆盖无纹理区域,且在深度不连续处停止。
SAD是最简单的算法,可以很容易的嵌入到FPGA和SOC,是实时系统的典范,但是它在两幅图像间很容易出现强度变化。与SAD算法相比,SSD方法有更高的算法复杂性,这是由于它涉及更多的乘法运算。包含相同像素值的两个区域将产生零值。ZSAD和ZSSD解决了在辐射失真的情况下不能产生正确结果的这个问题。但ZSAD和ZSSD在性能上的改进由于大幅度增加的算法复杂性而被抵消。NCC对不同光照条件下的亮度变化有鲁棒性。但它的计算时间比SAD和SSD更长。ZNCC将NCC算法的优势嵌入于其中并且对亮度失真不敏感,但是比NCC更复杂。
NCC和ZNCC对小窗口能够得到优质的结果,然而其他算法就可能产生椒盐噪声。因此NCC和ZNCC适合小窗口,SAD、SSD、ZSAD和ZSSD通常在处理大窗口时能得到良好的效果,但计算时间较长。
1.2 全局立体匹配算法
与局部算法相反,全局算法产生非常精确的结果,目标是找到最佳视差函数d=d(x,y),使得全局代价E最小。
全局算法利用图像的全局约束信息,它由上述四个部分中的匹配代价计算和视差计算两部分组成。全局匹配算法的关键是要定义一个适合的目标函数,并且要为寻找全局或局部最小值提供有效的计算方法去。典型的全局匹配算法包括基于动态规划算法、图割法、置信度传播算法。
1.3 半全局立体匹配算法
还有一类方法被称为半全局立体匹配。半全局立体匹配算法实质上是改进了的动态规划的方法,它的特点是具有高效性和较高的精确性。半全局立体匹配算法通过对深度的不同变化加以不同惩罚来保证平滑约束,通过左右深度图的一致性检查保证了唯一性约束。
2 立体匹配三类算法中的典型算法比较
鉴于目前立体匹配算法的研究发展趋势,本文从匹配速度和精度的角度,讨论立体匹配算法的三种分类中每一类算法的典型方法,并加以比较。
2.1 块匹配算法
算法具体流程如下:首先构造一个小窗口,类似于卷积核;用构造出的窗口将左边的图像覆盖,选出覆盖区域内的像素;同样用窗口将右边的图像覆盖,选出覆盖区域的像素;将左右覆盖区域相减,求出所有像素点差的绝对值的和;移动右边图像的窗口,重复第三步和第四步,直至超出搜索范围时跳出;找到这个范围内SAD值最小的窗口,即找到了左边图像的最佳匹配的像素块。
2.2 半全局立体匹配算法
半全局立体匹配算法一般由四部分组成:使用互信息计算像素的匹配代价、代价的聚合、视差选择及中值滤波和左右一致性校验。
首先,使用互信息(MI)计算匹配代价。该计算使用到了左图和右图的熵以及两幅图像的联合熵。联合熵是由泰勒展开式计算的,它是所有像素点p与它们的对应点q的数据项之和,数据项是由概率分布和高斯卷积核计算的。
3 小结
立体匹配问题是研究的热点。越来越多的应用程序需要的不单纯是高的精确度,对实时性的要求也很高。目前的实时系统大多数采用的是简单的匹配算法,但是对遮挡问题、纹理问题和光照强度等问题带来的影响没有较为周全的考虑,而一些精确度高的算法,它的复杂度又较高,处理的速度不理想。要想兼顾实时性和准确性,可以从研究可靠地并行算法、借助多台摄像机、研究多种算法的融合等方面来发展算法,并且不断提高硬件水平。
参考文献
[1]于乃功,秦永钢,阮晓钢
原创力文档

文档评论(0)