双目密集匹配及SGM算法

news2024/11/30 12:47:02

提示:

双目密集匹配及SGM算法

  • 前言
  • 一、双目密集匹配
    • 1、双目密集匹配概述
    • 2.、双目密集匹配四大步骤
      • 代价计算(per-pixel-cost):
        • 释义:
      • 代价聚集(cost-aggregation):
        • 释义:
        • 分类:
          • 窗口确定:
          • 窗口内各像素的加权计算方法:
      • 视差计算:
        • 局部算法:
        • 全局算法:
        • 半全局算法:
      • 视差优化:
    • 3、视差计算--局部,全局,半全局
    • 4、视差优化
  • 二、SGM算法详解
    • 1.
  • 总结


前言

提示:
因为要用到双目密集匹配,因此记录了此文


一、双目密集匹配

1、双目密集匹配概述

2.、双目密集匹配四大步骤

密集匹配算法一般分为4个步骤:代价计算->代价聚集->视差计算->视差后处理
在这里插入图片描述

代价计算(per-pixel-cost):

释义:

代价计算是指在给定的视差范围内,计算出每个像素不同视差值下,对应的代价值
相似度越高,代价值越小。

代价聚集(cost-aggregation):

释义:

代价聚集(或者说代价累积)是将初始视差空间中的匹配代价一定邻域范围内进行求和或加权操作,计算出新的匹配代价。
计算方式本质为对代价计算获取的初始匹配代价图进行卷积运算,因此代价聚集可以理解为基于窗口或不规则区域的加权平均。
研究发现,直接在初始代价值上使用WTA(winner-take-all),往往会出现很多错误结果,在聚集后的代价上使用WTA策略,会有显著的效果提升。
常用算法有: ASW(adaptive support weight ),SASW(segment-based adaptive support weight),BF(bilateral filtering),GF(guided filtering),NLC(non-local cost aggregation ),ST(segment tree)

分类:

代价聚集可解释为基于窗口或不规则区域的加权平均,因此,代价聚集关注两个问题:窗口确定窗口内各像素的加权计算方法

窗口确定:

窗口分为:固定的矩形窗口、自适应的不规则窗口。

窗口内各像素的加权计算方法:

加权方法分为:由参数控制的固定权值,根据影像灰度值计算的权值。

视差计算:

密集匹配问题最后都会转化为能量函数优化问题,能量函数用来度量一幅视差图D的质量。
视差计算分为局部算法,全局算法,半全局算法。

局部算法:

局部算法通常使用WTA(winner-take-all)策略,即选择最小代价对应的视差作为最优结果。

全局算法:

全局算法是对视差影像空间在一定邻域范围内进行能量传递,从而计算出累积后的代价。其通过建立全局能量函数,将最优视差估计转换为能量最小化问题。
全局能量函数通式:全局能量函数由数据项和平滑项两部分构成。
(一种区分局部算法和全局算法的方式:仅包含数据项的匹配算法是局部方法,融合平滑约束的匹配方法是全局方法。)

在这里插入图片描述

常用的全局优化方法包括: BP算法,MRF算法,Graphcut算法,SGM算法。

半全局算法:

视差优化:

经过上述步骤获取的视差图通常会存在一些噪声,误匹配,漏匹配等情况,其次由于大部分立体匹配算法获取的视差都是针对整像素的离散空间中得到,仍需进行拟合,以获取亚像素级的精度。
常用的视差优化操作包括: 无效区域插值,亚像素级精化, LRC(left-to-right-cross-checking),中值滤波(MF,median filter),加权中值滤波(WMF, weighted median filter ), 小区域移除(small area suppress)等。

3、视差计算–局部,全局,半全局

4、视差优化

二、SGM算法详解

1.


总结

提示:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/84818.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

以就业为目标,Python到底应该学什么?

前言 很多小伙伴知道Python火爆薪资高,开始自学,可是并不知道Python应该学哪些技术、学到什么程度才能找到工作。今天我们就来分析一下,Python学到什么程度才能找到工作。 相关:我是今年刚刚毕业的不入流大学的本科生&#xff0…

KingbaseES Create Index Concurrently 过程探究

前言: 我们知道Oracle 可以通过create index online 在线创建索引,而不影响其他会话修改数据,但Oracle 实际在online 创建索引的最后一步,实际还是需要进行锁升级,申请表级的S锁,因此,最后还是有…

STM32CUBEMX开发GD32F303(17)----内部Flash读写

概述 本章STM32CUBEMX配置STM32F103,并且在GD32F303中进行开发,同时通过开发板内进行验证。 本例程主要讲解如何对芯片自带Flash进行读写,用芯片内部Flash可以对一些需要断电保存的数据进行保存,无需加外部得存储芯片&#xff0c…

广告公司到底干什么的?欣奥诚分享

广告公司到底干什么的? 这篇文章从产业的角度拆分广告业,还原一个真实的广告业出来。 01. 它们是谁? 早年广告业有4类公司:品牌咨询类公司;设计创意类公司;媒介投放类公司;活动执行类公司。 …

[附源码]Python计算机毕业设计电子病历系统Django(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程 项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等…

前端大全之JavaScript(简称JS)

目录 一、概念 1.总体概要 2.来源说明 3.JavaScript和java的关系 4.JS的特点 5.浏览器执行JS的简介 6.JS的组成 二、引入方式 1.内部脚本例子 2. 外部脚本例子 三、使用规则 1.书写语法 2.报错的查看方式 3.输出语句 (1)写入警告框 &am…

SecXOps 中的数据集存储方式

安全数据资产 统一管理DataOps,即 Data 和 Operations 的集成,于 2014 年首次提出。Gartner 将 DataOps 定义为“一种协作性的数据管理 实践,专注于改进组织内数据管道的通信、集成和自动化”[7]。DataOps 是一种面向流程的自动化方法&#x…

基于Java开发的(控制台)模拟的多用户多级目录的文件系统【100010035】

多级文件系统 1 设计目的 为了加深对文件系统内部功能和实现过程的理解,设计一个模拟的多用户多级目录的文件系统,并实现具体的文件物理结构、目录结构以及较为完善的文件操作命令集。 2 设计内容 2.1系统操作 操作命令风格:本文件系统的…

110115-07-6,Ac-LLM-CHOCalpain 抑制剂

Ac-LLM-CHO (ALLM) is a potent competitive inhibitor of cathepsin L (Ki0.6 nM) and cathepsin B (Ki100 nM). Ac-LLM-CHO (ALLM)是组织蛋白酶L (Ki0.6 nM)和组织蛋白酶B (Ki100 nM)的有效竞争性抑制剂。 编号: 124055中文名称: Calpain 抑制剂 II: Ac-Leu-Leu-M…

[附源码]Node.js计算机毕业设计点餐系统设计Express

项目运行 环境配置: Node.js最新版 Vscode Mysql5.7 HBuilderXNavicat11Vue。 项目技术: Express框架 Node.js Vue 等等组成,B/S模式 Vscode管理前后端分离等等。 环境需要 1.运行环境:最好是Nodejs最新版,我…

游戏开发59课 性能优化

7. 耗电优化 游戏耗电和游戏卡并无必然联系,有些游戏在某些设备上虽然运行很流畅,但发现耗电很厉害,玩了不到半个小时,电量已经出现警报。游戏耗电的原因主要是因为:CPU占用普遍高,内存操作频繁&#xff0…

Spring MVC学习 | 获取请求参数

文章目录一、ServletAPI获取二、控制器方法形参获取2.1 不使用RequestParam注解2.2 使用RequestParam注解2.2.1 简介&使用2.2.2 相关注解2.3 实体类类型的形参三、中文乱码问题3.1 在tomcat中设置编码(了解)3.2 使用Spring MVC内部过滤器设置编码学习…

【PortSwiggerのWeb Security Academy靶场】SQL Injection系列 9th

Subject Lab: Blind SQL injection with conditional responses Url: portswigger.net/web-securit… Mind Palace 在带着 cookies的后续访问网页时会找到出现的 Welcome back! 标志 > 无法回显 > 采用盲注的方式 0x01 确认注入点 0x02 爆破数据库名 # 测试informati…

qiankun 部署微前端-vue2(一)

自从前后端分离以来,一直都有个困惑,就是随着项目的功能的不断拓展,项目变得不断臃肿,每次打包编译,都要把整个项目编译,非常耗时。如果前端也能像后端一样,在项目搭建初期,有类似微…

C++11【包装器】

包装器📖1. 为什么需要包装器📖2. 如何使用包装器📖3. bind函数📖1. 为什么需要包装器 包装器也叫做适配器,C中的function本质是一个类模板,也是一个包装器. 为什么需要function呢? 我们来看…

ant-design-vue修改input组件样式

问题场景 不得不说ant-design-vue的样式是真的难改。。。今天尝试了很多种方案,都无疾而终。最终,通过全局scss文件引入的方式解决了。 几种方案: 直接行内样式,发现部分可以,部分不行将style 的scoped属性去掉&#…

非线性负载的主要分类及其特性

非线性负载的主要分类 通常而言,由线性元件原件组成的负载称为线性负载,线性负载的输出与输入呈线性关系,典型的线性负载如电阻、电容和电感等;而由非线性元件构成的负载为非线性负载,在正弦波电压供电时会产生非正弦…

Sentinel服务流控

Sentinel通过流量控制(flow control)以及熔断降级来保护系统资源 QPS超过阈值直接失败 流量控制(flow control),其原理是监控应用流量的 QPS 或并发线程数等指标,当达到指定的阈值时对流量进行控制&#x…

如何使用ABAQUS对新能源动力电池进行Pack分析

电池Pack的仿真,按照系统层次,可从电芯、模组、Pack和整车逐级分析。电芯主要集中于机械性能的材料拟合、激光焊接以及电-化学-热-机耦合建模,模组主要集中于跌落、振动以及模组冷却,Pack主要集中于**、冲击和振动以及Pack热管理&…

Token Merging: Your ViT But Faster

论文:https://arxiv.org/pdf/2210.09461.pdf 代码: https://github.com/facebookresearch/ToMe 这篇论文写的很棒呀,以摘要为例,第一句话指明ToMe的作用(提高ViT-based模型的训练和推理速度)和特色&#x…