立体匹配算法不足

立体匹配算法的分类

根据不同的标准,立体匹配算法有不同的分类方法。首先,根据匹配基元的不同,立体匹配算法可分为:基于区域的匹配算法,基于特征的匹配算法和基于相位的匹配算法。
1.基于区域的匹配算法。主要利用左右视图中,局部窗口之间灰度信息的的相关程度进行匹配。该算法可利用所有的图像信息,最大限度地恢复场景细节特征,在视差连续且纹理丰富的区域有着较高的精确度,能得到稠密的视差图。但该算法存在下几个问题:
(1)弱纹理或重复纹理区域,匹配效果不好;
(2)对光照、噪声等外界环境比较敏感;
(3)该算法在视差不连续区域匹配效不好;
(4)支持窗口大小选择困难。
2.基于特征的匹配算法。该算法巧用图像几何特征信息,如边缘、轮廓、角点等几何基元进行匹配,由于不直接依赖灰度同时图像的特征点数量少、特征性强,所W算法的匹配精度高,速度快。但该算法获得的是稀疏视差图,必须经过复杂的插值方法获取调密视差,在这过程中会产生误差而造成最终视差图的精确度降低。
3.基于相位的匹配算法。上述匹配算法是在空域范围的进行视差估汁,相位匹配算法是在频域范围内进行视差估计。该方法认为参考图像与待匹配图像的匹配点的局部相位是相等的,该算法通过分析带通滤波信号上的相位信息求得匹配图像间的视差值。使用比较多的基于相位的匹配算法有;相位相关法与相位差频法等。我们知道相位反映的是信号的结构信息,因此对图像的高频噪声有很好的抑制效果,能得到亚像素级精度的稠密深度图。但当局部结构存在的假设不成立时,就会发生相位奇点和相位转绕问题,另外由于某些区域纹理信息较少、前景后景遮挡等原因,将会导致错误视差值,降低匹配精度,此时必须对视差图中的误差点进行查找纠正。

根据约束条件的作用范围及搜索策略的不同,立体匹配算法可分为局部匹配算法和全局匹配算法。局部区域立体化配算法一般通过局部优化求取视差,根据匹配基元的不同,局部区域化配算法有很多,常用的匹配算法有SAD,NCC等,算法通过相似性测度建立能量函数,并最小化能量函数获取匹配基元对应的视差值。由于能量函数是局部值,视差估计范围具有局限性,得到的视差值精度有限,与全局匹配算法的精度相比有着很大的差距,但局部立体匹配算法的运行速度很快,效率高,实时性强。局部区域立体匹配算法主要分为3类:自适应窗体立体匹配算法、多窗体立体匹配算法和自适应权值的立体匹配算法。局部算法的基本思想是,建立选择合适的邻域像素作为支持像素,确定支持窗口。支持窗口内的邻域像素与中也像素应该尽可能的具有相同真实视差,通过支持像素对中也像素进行约束,可减少误差,提高视差估计的准确性。自适应窗体是指窗口的的大小和形状根据需要自适应的变化,生成合适的支持窗口和支持像素。多窗体立体匹配算法的思想是从若干个已有窗体中,根据特定的原则,确定合适的窗体,作为支持窗体进行视差计算。自适应权值的立体匹配算法,通过计算支持窗口邻近像素对中屯、像素的支持程度,进行代价函数的聚合。主要是根据邻近像素之间的相关性及具有相同视差的概率大小确定支持权重。全局立体匹配算法引入全局最优捜索策略,构造全局能量函数,求取最小能量函数,此时对应的视差值就是最优视差。局部算法在匹配过程中,由于外界环境等因素的影响,经常会产生局部极值而造成误差。而全局立体匹配算法在其建立的能量函数中,既有数据项,还包括了平滑项。能量函数通过数据项衡量像素之间的相似性问题,通过平滑项平滑像素间的视差关系。常见的全局立体匹配算法主要有:动态规划法、松弛法、图割法、基于遗传算法等匹配算法。全局立体算法求得视差精度较高,但算法耗时较长,效率不高,无法满足实时性要求。

原创文章 92 获赞 58 访问量 3948

猜你喜欢

转载自blog.csdn.net/weixin_42076938/article/details/105841622