详解立体匹配系列经典SGM: (4) 视差计算、视差优化

2020 年 8 月 3 日 计算机视觉life

         

点击上方“计算机视觉life”,选择“星标”

快速获得最新干货

作者李迎松授权发布,武汉大学 摄影测量与遥感专业 博士

https://ethanli.blog.csdn.net/article/details/105065660

详解立体匹配系列经典SGM: (1) 框架与类设计
详解立体匹配系列经典SGM: (2) 代价计算
详解立体匹配系列经典SGM: (3) 代价聚合
代码已同步于Github开源项目:
https://github.com/ethan-li-coding/SemiGlobalMatching




视差计算




  在SGM算法中,视差计算采用赢家通吃(WTA)算法,每个像素选择最小聚合代价值所对应的视差值作为最终视差,视差计算的结果是和左影像相同尺寸的视差图,存储每个像素的视差值,在影像内外参数已知的情况下,视差图可以转换为深度图,表示每个像素在空间中的位置,图1为双目立体像对的真实视差图示意图。

图1 双目立体像对及左影像真实视差图示意图

  如图2所示,某个像素的所有视差下的代价值中,选择最小代价值所对应的视差作为最优视差。这一步非常简单,这意味着聚合代价矩阵S的值必须能够准确的反映像素之间的相关性,也表明上一步代价聚合步骤是立体匹配中极为关键的步骤,直接决定了算法的准确性。

图2 赢家通吃算法示意图


视差优化




  视差优化的目的是为了对通过视差计算得到的视差图进行进一步的优化处理,剔除错误视差,提高视差精度,使视差值更可靠、更精确。

剔除错误匹配

  错误匹配直观的反应是聚合后某些像素在真实视差位置的代价值并非最小值,有很多因素能够造成这一现象的产生,如影像噪声、遮挡、弱纹理或重复纹理,以及算法的局限性。实际上目前还没有哪个算法能够完美的处理以上所有问题,所以错误匹配的剔除对所有算法都是有必要的。目前最常用的错误匹配剔除方法是左右一致性法(L-R Check),它基于视差的唯一性约束,即每个像素最多只存在一个正确视差。具体步骤是将左右影像互换位置,即左影像成为右影像,右影像成为左影像,再做一次立体匹配,得到另一张视差图,因为视差图中每个值所反映的是两个像素之间的对应关系,所以依据视差的唯一性约束,通过左影像的视差图,找到每个像素在右影像的同名点像素及该像素对应的视差值,这两个视差值之间的差值若小于一定阈值(一般为1个像素),则满足唯一性约束被保留,反之则不满足唯一性约束而被剔除。一致性检查的公式如式1所示:

式1 LR-Check


图3 一致性检查示意图

  除一致性检查之外,剔除小连连通区(Remove Peaks)、唯一性检测(Uniqueness Check)也是常用的剔除错误视差的方法,可以结合使用。

  剔除小连连通区(Remove Peaks)是指剔除掉视差图中连通的极小块区域,同一个连通区内的视差与邻域视差之差小于设定阈值(一般为1)。

  唯一性检测(Uniqueness Check)是指对每个像素计算最小代价和次最小代价的值,若两者相对差小于一定阈值,则被剔除。

if ((SecMin-Min)/Min < T) {
    disparity = invalid;
}


提高视差精度

  提高视差精度采用子像素优化技术,因为视差计算得到的视差图是整像素精度,在很多应用中都无法满足精度要求,SGM采用二次曲线内插的方法获得子像素精度,对最优视差的代价值以及前后两个视差的代价值进行二次曲线拟合,曲线的极值点所对应的视差值即为新的子像素视差值,如图4所示。

图4 二次曲线拟合计算子像素视差


抑制噪声

  为了抑制噪声,小窗口(通常为3x3)的中值滤波(Median Filter)是常用的算法。双边滤波(Bilateral Filter)也比较常用,能够较好的保持边缘精度,效率较中值滤波低。                           

从0到1学习SLAM,戳↓

视觉SLAM图文+视频+答疑+学习路线全规划!

交流群

欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~


投稿、合作也欢迎联系:simiter@126.com

长按关注计算机视觉life

登录查看更多
1

相关内容

专知会员服务
43+阅读 · 2020年9月25日
【IJCAI2020南大】上下文在神经机器翻译中的充分利用
专知会员服务
15+阅读 · 2020年8月17日
专知会员服务
41+阅读 · 2020年2月20日
双目深度估计中的自监督学习概览
PaperWeekly
7+阅读 · 2020年3月5日
ICCV2019 | 高精度,高效率点云三维重建 PointMVSNet
计算机视觉life
23+阅读 · 2019年9月5日
立体匹配技术简介
计算机视觉life
27+阅读 · 2019年4月22日
实战 | 相机标定
计算机视觉life
15+阅读 · 2019年1月15日
计算机视觉方向简介 | 阵列相机立体全景拼接
计算机视觉life
6+阅读 · 2018年1月3日
Arxiv
24+阅读 · 2018年10月24日
Arxiv
5+阅读 · 2018年5月28日
VIP会员
相关资讯
双目深度估计中的自监督学习概览
PaperWeekly
7+阅读 · 2020年3月5日
ICCV2019 | 高精度,高效率点云三维重建 PointMVSNet
计算机视觉life
23+阅读 · 2019年9月5日
立体匹配技术简介
计算机视觉life
27+阅读 · 2019年4月22日
实战 | 相机标定
计算机视觉life
15+阅读 · 2019年1月15日
计算机视觉方向简介 | 阵列相机立体全景拼接
计算机视觉life
6+阅读 · 2018年1月3日
Top
微信扫码咨询专知VIP会员