博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
双目立体匹配经典算法之Semi-Global Matching(SGM)概述:匹配代价计算之Census变换(Census Transform,CT)...
阅读量:4563 次
发布时间:2019-06-08

本文共 929 字,大约阅读时间需要 3 分钟。

  基于互信息的匹配代价计算由于需要初始视差值,所以需要通过分层迭代的方式得到较为准确的匹配代价值,而且概率分布计算稍显复杂,这导致代价计算的效率并不高。学者Zabih和Woodfill 提出的基于Census变换法也被广泛用于匹配代价计算。Census变换是使用像素邻域内的局部灰度差异将像素灰度转换为比特串,思路非常简单,通过将邻域窗口(窗口大小为n×m,n和m都为奇数)内的像素灰度值与窗口中心像素的灰度值进行比较,将比较得到的布尔值映射到一个比特串中,最后用比特串的值作为中心像素的Census变换值Cs,如公式1所示:

式1

2018110109040690.png

其中,n’和m’分别为不大于n和m的一半的最大整数,为比特位的逐位连接运算,ξ运算则由公式2定义:

式2

20181101090610567.png

基于Census变换的匹配代价计算方法是计算左右影像对应的两个像素的Census变换值的汉明(Hamming)距离,即

式3

20181101090648725.png

  Hamming距离即两个比特串的对应位不相同的数量,计算方法为将两个比特串进行亦或运算,再统计亦或运算结果的比特位中不为1的个数。

  基于Census变换的匹配代价计算方法如图1所示,

图1 汉明距离示意图

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3JzX2x5cw==,size_16,color_FFFFFF,t_70,

  从图1可以看出,Census变换对整体的明暗变化并不敏感,因为是比较的相对灰度关系,所以即使左右影像亮度不一致,也能得到较好的匹配效果。

  Census相比互信息还具有并行度高的优点,因为Census变换值是局部窗口运算,所以每个像素可以独立运算,这个特性让其可以很好的设计多线程并行计算模型,无论是CPU并行还是GPU并行都能达到非常高的并行效率。

  在实际匹配过程中,简单的执行匹配代价计算并不能得到高质量的视差图,必须经过代价聚合步骤,聚合后的代价能够更准确地反应匹配相似度,下篇博客中,将为大家详解SGM的代价聚合步骤,查看请点击 >>


  1. ZABIH R, WOODFILL J. Non-parametric local transforms for computing visual correspondence[M]. 1994: 151-158.

转载于:https://www.cnblogs.com/ethan-li/p/10216645.html

你可能感兴趣的文章
通过控制台运行程序
查看>>
Pycharm中配置Git版本管理
查看>>
手机app测试之我见
查看>>
Fiddler实现移动端手机抓包
查看>>
wps直接打开CVS文件会把长串数字订单号最后4位变为0
查看>>
BPM配置故事之案例8-根据表单数据调整审批线路
查看>>
LeetCode OJ 3Sum 3个整数之和
查看>>
Knockout应用开发指南 第八章:简单应用举例(2)
查看>>
Bootstrap WPF Style,Bootstrap风格的WPF样式
查看>>
Stern-Brocot Tree [HDU 4556]
查看>>
103 Binary Tree Zigzag Level Order Traversal 二叉树的锯齿形层次遍历
查看>>
springboot项目中使用maven resources
查看>>
ubuntu12.04 卸载和安装mysql
查看>>
转:phpStudy for Linux (lnmp+lamp一键安装包)
查看>>
记录项目从无到有
查看>>
博客园文章编辑器【客户端应用程序】V2.0.0发布,命名为51cnblogs
查看>>
C# WPF获取任务栏时间区域的Rectangle
查看>>
DIV+CSS:如何编写代码才能更有效率
查看>>
利用Idea查看类的继承关系图
查看>>
跨进程访问共享内存的权限问题
查看>>