当前位置:   article > 正文

立体匹配步骤

立体匹配步骤

立体匹配也称作视差估计(disparity estimation),或者双目深度估计。其输入是一对在同一时刻捕捉到的,经过极线校正的左右图像。而它的输出是由参考图像(一般以左图作为参考图像)中每个像素对应的视差值所构成的视差图 d。

立体匹配算法的几个步骤:
计算匹配的代价(Matching cost)
代价聚合(Cost aggregation)——cost volume
视差计算
视差优化

左右一致性检测(Left-Right Consistency(LRC) check):

[Occlusion]遮挡,顾名思义是只出现在一幅图像,而在另一幅图中看不到的那些点。在立体匹配算法中如果不针对遮挡区域做一些特殊处理是不可能通过单幅图提供的有限信息得到遮挡点的正确视差的。遮挡点通常是一块连续的区域,记作occluded region/area。

[LRC check] LRC check的作用是实现遮挡检测(Occlusion Detection),得到左图对应的遮挡图像。 
具体做法:根据左右两幅输入图像,分别得到左右两幅视差图。对于左图中的一个点p,求得的视差值是d1,那么p在右图里的对应点应该是(p-d1),(p-d1)的视差值记作d2。若|d1-d2|>threshold,p标记为遮挡点(occluded point)。

[Occlusion Filling]得到了二值的遮挡图像,之后是为所有黑色的遮挡点赋予合理的视差值。对于左图而言,遮挡点一般存在于背景区域和前景区域接触的地方。遮挡的产生正是因为前景比背景的偏移量更大,从而将背景遮盖。
具体赋值方法是:对于一个遮挡点p,分别水平往左和往右找到第一个非遮挡点,记作pl、pr。点p的视差值赋成pl和pr的视差值中较小的那一个。d(p)= min (d(pl),d(pr))(Occluded pixels have the depth of the background)。

[Median Filtering]这种简单的Occlusion Filling方法在遮挡区域赋值方面效果显著,但是对初始视差的合理性和精度依赖较高。

参考
https://blog.csdn.net/u010368556/article/details/75371035

以下几种情形生成的深度图像可能会有缺陷:
(1) 光学失真和噪声(亮度、色调、饱和度等失衡)
(2) 平滑表面的镜面反射
(3) 投影缩减(Foreshortening)
(4) 透视失真(Perspective distortions)
(5) 低纹理(Low texture)
(6) 重复纹理(Repetitive/ambiguous patterns)
(7) 透明物体
(8) 重叠和非连续(遮挡)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/596399
推荐阅读
相关标签
  

闽ICP备14008679号