赞
踩
立体匹配也称作视差估计(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) 重叠和非连续(遮挡)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。