文章目录

  • AD
  • SAD
  • Cencus
  • AD-Cencus

之前谈到过双目立体匹配的步骤,主要分为四步(半全局方法):匹配代价计算、代价聚合、视差计算、视差优化。匹配代价计算是双目立体匹配的第一步,其有很多实现的方法,现举其中的几种方法,旨在理解匹配代价的计算过程。

AD

  AD算法可以说是匹配代价计算中最简单的算法之一,其主要思想是不断比较左右相机中两点的灰度值大小,首先固定左相机中的一点,然后遍历右相机中的点,不断比较它们之前的灰度之差,灰度之差即为匹配代价。其数学公式为:

  其中,p,q分别为左右图像中的两点, IL()表示左图像中的灰度值,同理 IR()表示右图像中的灰度值。上式为灰度图像的匹配代价;若为彩色图像,则AD算法计算代价的公式为:

  即左右视图像素点的三个颜色分量之差的绝对值取平均。
  AD算法是基于单个像素点计算的匹配代价,受光照不均、图像噪声影响较大,但对纹理丰富区域有较好的匹配效果。

SAD

  SAD(Sum of absolute differences)也是匹配代价计算中基础的算法,其基本思想是:差的绝对值之和。相对于AD算法计算的代价是通过两点之间的灰度值进行的,而SAD的匹配代价则是通过某点及其一定范围内的像素点决定的,其基本流程如下:
  首先输入两幅图像,一幅Left-Image,一幅Right-Image。其次对左图,依次扫描,选定一个锚点:
(1)构造一个小窗口,类似于卷积核;
(2)用窗口覆盖左边的图像,选择出窗口覆盖区域内的所有像素点;
(3)同样用窗口覆盖右边的图像并选择出覆盖区域的像素点;
(4)左边覆盖区域减去右边覆盖区域,并求出所有像素点灰度差的绝对值之和;
(5)移动右边图像的窗口,重复(3)-(4)的处理(这里有个搜索范围,超过这个范围跳出);
(6)找到这个范围内SAD值最小的窗口,即找到了左图锚点的最佳匹配的像素块。
 
  其中,SAD的匹配代价计算公式如下:

  其中 , Np、Nq分别表示p、q周围的像素点。

Cencus

  Census变换法也被广泛用于匹配代价计算。它能够较好地检测出图像中的局部结构特征,如边缘、角点特征等。其基本的思想如下:在图像区域定义一个矩形窗口,用这个矩形窗口遍历整幅图像。选取中心像素作为参考像素,将矩形窗口中每个像素的灰度值与参考像素的灰度值进行比较,灰度值小于或等于参考值的像素标记为0,大于参考值的像素标记为1,最后再将它们按位连接,得到变换后的结果,变换后的结果是由0和1组成的二进制码流。
  Cencus变换过程可通过如下公式表达:

  其中p是窗口中心像素,q是窗口中心像素以外的其他像素,Np表示中心像素p的邻域。I(*)表示像素点*处的灰度值,⊗\otimes⊗为比特位的逐位连接运算。 ξ()\xi ()ξ()运算则由下面公式定义:

  通过上文的公式可以得到了Cencus变换的一串二进制,基于Census变换的匹配代价计算方法是计算左右影像对应的两个像素的Census变换值的汉明(Hamming)距离,即匹配代价为:

  其中,T( p)为左图产生的二进制串,T(q)为右图产生的二进制串。Hamming距离即两个比特串的对应位不相同的数量,计算方法为将两个比特串进行亦或运算,再统计异或运算结果中的比特位中为1的个数。
  我们可以通过下图辅助理解Cencus匹配代价的计算方法,先分别计算出左图和右图中一定范围的Cencus变换的二进制串结果(上文已经介绍),然后对得到的两串二进制进行异或操作,得到结果中1的个数即为所求匹配代价(下图结果为2)。

  我们前面说到,AD和SAD算法都对光照较为敏感,这里的Cencus变换则对图片的明暗变化并不敏感,因为Cencus算法是比较的相对灰度关系,所以即使左右影像亮度不一致,也能得到较好的匹配效果。但是Cencus变换对重复区域的匹配效果不好,例如下图的两个领域窗口中灰度完全不同,但Cencus变换得到的代价完全相同。

AD-Cencus

  前文已经介绍了AD算法和Cencus变换,显而易见,AD-Cencus是将AD和Census结合,这样就能对两种方式起到一个互补作用。Cencus算法对重复纹理的效果不好,而AD算法是基于单像素的,可以在一定程度上缓解Cencus算法对重复纹理处理棘手的问题。但是将两种算法结合存在算法结果尺度不一致的问题,需要进行归一化处理。,AD的结果是亮度差,范围是[0,255],而Census是比特串对应位值不相同的个数,范围为[0,N](N等于比特串的位数)。因此,需要通过归一化,将两者的结果归一化到相同的范围区间,AD-Census所采用的方法是一个值区间在[0,1]的自然指数函数:

  其中c是代价值,λ是控制参数,当c和λ都为正值时,这个函数的值区间在[0,1]的。并且c即代价值越大,函数值越大。因此可以通过该函数将任意代价值归一化到[0,1]的范围。
  最终,AD-Census的代价计算公式为:

  两个结果进行归一化后,最终的结果范围为[0,2]。

下一篇:双目立体匹配之代价聚合

双目立体匹配之匹配代价计算相关推荐

  1. 双目立体匹配经典算法之Semi-Global Matching(SGM)概述:匹配代价计算之互信息(Mutual Information,MI)...

      半全局立体匹配算法Semi-Global Matching,SGM由学者Hirschmüller在2005年所提出1,提出的背景是一方面高效率的局部算法由于所基于的局部窗口视差相同的假设在很多情况 ...

  2. 【理论恒叨】【立体匹配系列】经典SGM:(1)匹配代价计算之互信息(MI)

      半全局立体匹配算法Semi-Global Matching,SGM由学者Hirschmüller在2005年所提出1,提出的背景是一方面高效率的局部算法由于所基于的局部窗口视差相同的假设在很多情况 ...

  3. 【理论恒叨】【立体匹配系列】经典SGM:(2)匹配代价计算之Census变换

    理论恒叨系列 [理论恒叨][立体匹配系列]经典SGM:(1)匹配代价计算之互信息(MI) [理论恒叨][立体匹配系列]经典SGM:(2)匹配代价计算之Census变换 [理论恒叨][立体匹配系列]经典 ...

  4. 双目立体匹配入门【一】(理论)

    文章目录 参考文章 1 专有名词 2 双目视觉基础 1 针孔摄像机模型 2 双目交会 3 立体测量的基本原理:三角化 4 极线约束 5 极线校正/立体校正 6 立体匹配难点 7 立体匹配方法分类 8 ...

  5. 【码上实战】【立体匹配系列】经典SGM:(2)代价计算

    码上教学系列 [码上实战][立体匹配系列]经典SGM:(1)框架与类设计 [码上实战][立体匹配系列]经典SGM:(2)代价计算 [码上实战][立体匹配系列]经典SGM:(3)代价聚合 [码上实战][ ...

  6. AAAI 2020 开源论文 | 用于深度立体匹配的自适应单峰匹配代价体滤波

    ©PaperWeekly 原创 · 作者|张承灏 学校|中科院自动化所硕士生 研究方向|深度估计 本文介绍北航和深动科技在 AAAI 2020 上的论文 Adaptive Unimodal Cost ...

  7. 【码上实战】【立体匹配系列】经典AD-Census: (3)代价计算

    海内存知己,天涯若比邻. 下载完整源码,点击进入: https://github.com/ethan-li-coding/AD-Census 欢迎同学们在Github项目里讨论! 上篇主类中,我们对A ...

  8. 【理论恒叨】【立体匹配系列】经典AD-Census: (1)代价计算

    下载AD-Census完整源码,点击进入: https://github.com/ethan-li-coding/AD-Census 欢迎同学们在Github项目里讨论,如果觉得博主代码质量不错,右上 ...

  9. 【码上实战】【立体匹配系列】经典PatchMatch: (4)代价计算

    下载完整源码,点击进入: https://github.com/ethan-li-coding/PatchMatchStereo 欢迎同学们在Github项目里讨论,如果觉得博主代码质量不错,右上角s ...

最新文章

  1. AI专家警告:GPT-3令人赞叹,但缺乏透明度
  2. Microsoft 用户体验虚拟化 UE-V 1.0 RC 发布
  3. boost::intrusive::treap_algorithms用法的测试程序
  4. mysql可重复读和间隙锁_解决MySQL可重复读——详解间隙锁
  5. MySQL建库建表语句
  6. premiere学习笔记01帧定格,时间码,透明视频,调整图层,转场及批量转场,插件安装,音频调整,关键帧,马赛克,蒙版,嵌套序列
  7. 中国出口印度尼西亚主要商品
  8. win7 C盘满如何清理
  9. python分组统计excel数据_python中excel数据分组处理
  10. 类文件解析004-解析常量池元素
  11. 如何关掉ie浏览器的增强安全配置?
  12. 数字信号处理——FFT
  13. micro SD(TF)卡详解
  14. 武汉理工大学计算机学院导师联系方式,武汉理工大学计算机学院班主任(班导师)工作条例.doc...
  15. 死宅BALBALBA的奇妙冒险(0)——C语萌新的新手村
  16. 一文看懂用word制作电子公章,2分钟就能搞定!
  17. IDEA新推出的优雅美观字体初体验(赏心悦目)——JetBrainsMono
  18. 加药装置 全自动加药装置 示踪加药装置介绍
  19. 打印机Print Spooler服务自动关闭
  20. iconfont图标引入方法

热门文章

  1. 从零开始撸论文-英文润色篇(工具版)
  2. 华为ICT人才生态:撬动数字经济的原动力
  3. Single-CenterLoss for Face Forgery Detection论文阅读
  4. 按键精灵(手机版)对接聊天机器人
  5. 算术右移(right arithmetic shift)逻辑右移(right logical shift)算术左移和逻辑左移(left logical shift)
  6. python樱花树代码_自动生成樱花树
  7. [附源码]JAVA毕业设计问卷调查系统(系统+LW)
  8. nprogress的使用
  9. 【第三方接口数据一致性】本地保存数据调用第三方接口保证数据一致性
  10. 英语CET-6级(一)