【双目视觉】 立体匹配算法原理之“代价函数”

简介: Census方法任取左图一个像素点P,观察周围3*3窗口的像素点灰度值,如果小于P就置1,否则为0,然后编码。右图也是如此。最后异或比较,根据异或后的结果,看‘1’的个数,计算汉明距离

🔥预备知识: 【双目视觉】 理想条件下计算物体距离_什么都只会一点的博客-CSDN博客


image-20220809154728317.png


立体匹配流程


image-20220809154759347.png


定义


db2eaebfff054ecd27d14bad08e2d489.png


代价函数用于计算左、右图中两个像素之间的匹配代价(cost)。cost越大,表示这两个像素为对应点的可能性越低


常见的代价函数


1.AD/BT


C A D ( x , y , d ) = ∣ I L ( x , y ) − I R ( x − d , y )


左图任取一个像素点,减去 向右移动d个像素值的右图,求得代价函数C;我们的目的,就是寻找代价值C最小时,d的值,根据Z =image.png求出距离


2.AD+Gradient


01162ec690c5496b9c21bf57052f231d.png

τ c o l :截断阈值


α :权重


τ grad  :截断阈值


AD+Gradient本质上跟AD相近,只不过是通过阈值去分配权重


3.Census


image-20220809160136197.png


Census方法任取左图一个像素点P,观察周围3*3窗口的像素点灰度值,如果小于P就置1,否则为0,然后编码。右图也是如此。最后异或比较,根据异或后的结果,看‘1’的个数,计算汉明距离


4.SAD/SSD


5.NCC


image-20220809160550819.png


1.特性:对图像亮度的线性变化具有不变性

2.物理意义: 两个向量的夹角的余弦值


6.AD+Census


因为AD代价函数容易实现,但是它容易受辐射差异的影响。 而在Census变换中,不要求像对之间的颜色一致性。因此,它对于辐射差异更加鲁棒


image.png


效果

0b5f10cfef5dbf960dd6e503c1599811.png


7.CNN

相关文章
|
19天前
|
数据采集 机器学习/深度学习 算法
|
14天前
|
前端开发 算法 JavaScript
React原理之Diff算法
【8月更文挑战第24天】
|
2天前
|
机器学习/深度学习 算法 Python
群智能算法:深入解读人工水母算法:原理、实现与应用
近年来,受自然界生物行为启发的优化算法备受关注。人工水母算法(AJSA)模拟水母在海洋中寻找食物的行为,是一种新颖的优化技术。本文详细解读其原理及实现步骤,并提供代码示例,帮助读者理解这一算法。在多模态、非线性优化问题中,AJSA表现出色,具有广泛应用前景。
|
25天前
|
机器学习/深度学习 算法 搜索推荐
【机器学习】机器学习的基本概念、算法的工作原理、实际应用案例
机器学习是人工智能的一个分支,它使计算机能够在没有明确编程的情况下从数据中学习并改进其性能。机器学习的目标是让计算机自动学习模式和规律,从而能够对未知数据做出预测或决策。
31 2
|
26天前
|
机器学习/深度学习 算法 数据可视化
决策树算法介绍:原理与案例实现
决策树算法介绍:原理与案例实现
|
1月前
|
算法
PID算法原理分析及优化
今天为大家介绍一下经典控制算法之一的PID控制方法。PID控制方法从提出至今已有百余年历史,其由于结构简单、易于实现、鲁棒性好、可靠性高等特点,在机电、冶金、机械、化工等行业中应用广泛。 在大学期间,参加的智能汽车竞赛中就使用到了PID经典控制算法,对于智能小车的调试更加的方便。 一、PID原理 PID控制方法将偏差的比例(proportional)、积分(integral)、微分(derivative)通过线性组合构成控制量,对被控对象进行控制。 常规的PID控制系统如图所示: 系统的输入r(t)为控制量的目标输出值,输出y(t)为控制量的实际输出值,e(t)为输出量目标值与实际值
38 1
|
16天前
|
存储 负载均衡 监控
自适应负载均衡算法原理和实现
自适应负载均衡算法原理和实现
|
18天前
|
算法
【Azure Developer】完成算法第4版书中,第一节基础编码中的数组函数 histogrm()
【Azure Developer】完成算法第4版书中,第一节基础编码中的数组函数 histogrm()
|
19天前
|
算法 安全 网络安全
Diffie-Hellman (DH) 算法的工作原理
【8月更文挑战第23天】
67 0
|
22天前
|
数据采集 搜索推荐 算法
【高手进阶】Java排序算法:从零到精通——揭秘冒泡、快速、归并排序的原理与实战应用,让你的代码效率飙升!
【8月更文挑战第21天】Java排序算法是编程基础的重要部分,在算法设计与分析及实际开发中不可或缺。本文介绍内部排序算法,包括简单的冒泡排序及其逐步优化至高效的快速排序和稳定的归并排序,并提供了每种算法的Java实现示例。此外,还探讨了排序算法在电子商务、搜索引擎和数据分析等领域的广泛应用,帮助读者更好地理解和应用这些算法。
14 0