立体匹配十大概念综述 .

2023-11-04 07:58

本文主要是介绍立体匹配十大概念综述 .,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

http://blog.csdn.net/david__jiang/article/details/6707613

 

一、概念

        立体匹配算法主要是通过建立一个能量代价函数,通过此能量代价函数最小化来估计像素点视差值。立体匹配算法的实质就是一个最优化求解问题,通过建立合理的能量函数,增加一些约束,采用最优化理论的方法进行方程求解,这也是所有的病态问题求解方法。

二、主要立体匹配算法分类

1)根据采用图像表示的基元不同,立体匹配算法分为:

       A、区域立体匹配算法(可获取稠密视差图。缺点:受图像的仿射畸变和辐射畸变影响较大;像素点约束窗口的大小与形状选择比较困难,选择过大,在深度不连续处,视差图中会出现过度平滑现象;选择过小,对像素点的约束比较少,图像信息没有得到充分利用,容易产生误匹配。)

       B、基于特征的立体匹配算法(可获得稀疏的视差图,经差值估计可获得稠密视差图。可提取点、线、面等局部特征,也可提取多边形和图像结构等全局特征。缺点:特征提取易受遮挡、光线、重复纹理等影响较大;差值估计计算量大)

       C、基于相位立体匹配算法(假定在图像对应点中,其频率范围内,其局部相位是相等的,在频率范围内进行视差估计)

2)依据采用最优化理论方法的不同,立体匹配算法可以分为:

       A、局部的立体匹配算法

       B、全局的立体匹配算法

三、匹配基元(match primitive)

目前匹配算法中所采用的匹配基元可以分成两大类:

1)在所有图象像素点上抽取量测描述子

      A、像素灰度值(最简单、直接,但必须在同一光照条件下获得)

      B、局部区域灰度函数(主要是利用求得在各种大小不同窗口中灰度分布的导数信息,描述像素点周围的结构矢量。)

      C、卷积图象符号(利用各种大小算子与图象进行卷积,用灰度梯度局部极大值或极小值作为特征信息,描述整个图像)

2)图像特征

      A、过零点

      B、边缘(由于边缘是图像特征位置的标志,对灰度值的变化不敏感,边缘是图像匹配的重要特征和描述子)

      C、角点(虽然其没有明确的数学定义,但大家普遍认为角点,即二维图像亮度变化剧烈的点或边缘曲线上曲率极值点)

四、区域匹配算法

        基本原理是给定在一幅图像上的某一点,选取该像素点邻域内的一个子窗口,在另一幅图像中的一个区域内,根据某种相似性判断依据,寻找与子窗口图像最为相似的子图,而其匹配的子图中对应的像素点就为该像素的匹配点。

        一般单纯的区域匹配都遇到如下限制:

       1)针对弱纹理或存在重复纹理的区域,匹配结果不好

       2)该算法不适应于深度变化剧烈的场景

       3)对光照、对比度和噪声比较敏感

       4)子窗体的大小很难选择

五、特征匹配算法

        特征的匹配算法,主要是基于几何特征信息(边缘、线、轮廓、兴趣点、角点和几何基元等),针对几何特征点进行视差估计,所以先要提取图像的特征点,尽
而利用这些特征点的视差值信息来重建三维空间场景。

        匹配所需要的主要步骤:图像预处理、提取特征、特征点的匹配获取稀疏视差图,如果想得到稠密的视差图,需要采用插值的方法。

六、全局匹配算法

        全局立体匹配算法主要是采用了全局的优化理论方法估计视差,建立全局能量函数,通过最小化全局能量函数得到最优视差值。

        全局匹配算法得到的结果比较准确,但是其运行时间比较长,不适合实时运行。主要的算法有图割(graph cuts)、信念传播(belief propagation)、动态规划等算法。

七、局部匹配算法(个人觉得跟区域匹配类似,角度不同而已)

        主要是采用局部优化方法进行视差值估计,局部立体匹配算法有 SAD,SSD 等算法,与全局立体匹配算法一样,也是通过能量最小化方法进行视差估计,但是,在能量函数中,只有数据项,而没有平滑项。

       主要分为三类:自适应窗体立体匹配算法、自适应权值的立体匹配算法和多窗体立体匹配算法。

八、立体匹配约束

1)极线约束
2)唯一性约束

3)视差连续性约束

4)顺序一致性约束

5)相似性约束

九、相似性判断标准

1)像素点灰度差的平方和,即 SSD

2)像素点灰度差的绝对值和,即 SAD

3)归一化交叉相关,简称 NCC

4) 零均值交叉相关,即 ZNCC

5)Moravec 非归一化交叉相关,即 MNCC

6)Kolmogrov-Smrnov 距离,即 KSD

7)Jeffrey 散度

8)Rank 变换(是以窗口内灰度值小于中心像素灰度值的像素个数来代替中心像素的灰度值)

9)Census 变换(是根据窗口内中心像素灰度与其余像素灰度值的大小关系得一串位码,位码长度等于窗口内像素个数减一)

十、评价参数

        立体匹配算法是一个病态问题,一般通过建立能量函数,利用最小化能量函数,和一些约束条件,采用最优化理论方法进行求解方程。

        公认的定量评价参数有:均方根误差(Root-mean-squared)和误匹配率(percentage of bad matching pixels)

这篇关于立体匹配十大概念综述 .的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/344349

相关文章

SpringBoot开发中十大常见陷阱深度解析与避坑指南

《SpringBoot开发中十大常见陷阱深度解析与避坑指南》在SpringBoot的开发过程中,即使是经验丰富的开发者也难免会遇到各种棘手的问题,本文将针对SpringBoot开发中十大常见的“坑... 目录引言一、配置总出错?是不是同时用了.properties和.yml?二、换个位置配置就失效?搞清楚加

MySQL 事务的概念及ACID属性和使用详解

《MySQL事务的概念及ACID属性和使用详解》MySQL通过多线程实现存储工作,因此在并发访问场景中,事务确保了数据操作的一致性和可靠性,下面通过本文给大家介绍MySQL事务的概念及ACID属性和... 目录一、什么是事务二、事务的属性及使用2.1 事务的 ACID 属性2.2 为什么存在事务2.3 事务

Python 迭代器和生成器概念及场景分析

《Python迭代器和生成器概念及场景分析》yield是Python中实现惰性计算和协程的核心工具,结合send()、throw()、close()等方法,能够构建高效、灵活的数据流和控制流模型,这... 目录迭代器的介绍自定义迭代器省略的迭代器生产器的介绍yield的普通用法yield的高级用法yidle

【VUE】跨域问题的概念,以及解决方法。

目录 1.跨域概念 2.解决方法 2.1 配置网络请求代理 2.2 使用@CrossOrigin 注解 2.3 通过配置文件实现跨域 2.4 添加 CorsWebFilter 来解决跨域问题 1.跨域概念 跨域问题是由于浏览器实施了同源策略,该策略要求请求的域名、协议和端口必须与提供资源的服务相同。如果不相同,则需要服务器显式地允许这种跨域请求。一般在springbo

OWASP十大安全漏洞解析

OWASP(开放式Web应用程序安全项目)发布的“十大安全漏洞”列表是Web应用程序安全领域的权威指南,它总结了Web应用程序中最常见、最危险的安全隐患。以下是对OWASP十大安全漏洞的详细解析: 1. 注入漏洞(Injection) 描述:攻击者通过在应用程序的输入数据中插入恶意代码,从而控制应用程序的行为。常见的注入类型包括SQL注入、OS命令注入、LDAP注入等。 影响:可能导致数据泄

【MRI基础】TR 和 TE 时间概念

重复时间 (TR) 磁共振成像 (MRI) 中的 TR(重复时间,repetition time)是施加于同一切片的连续脉冲序列之间的时间间隔。具体而言,TR 是施加一个 RF(射频)脉冲与施加下一个 RF 脉冲之间的持续时间。TR 以毫秒 (ms) 为单位,主要控制后续脉冲之前的纵向弛豫程度(T1 弛豫),使其成为显著影响 MRI 中的图像对比度和信号特性的重要参数。 回声时间 (TE)

计算机网络基础概念 交换机、路由器、网关、TBOX

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、VLAN是什么?二 、交换机三、路由器四、网关五、TBOXTelematics BOX,简称车载T-BOX,车联网系统包含四部分,主机、车载T-BOX、手机APP及后台系统。主机主要用于车内的影音娱乐,以及车辆信息显示;车载T-BOX主要用于和后台系统/手机APP通信,实现手机APP的车辆信息显示与控

01 Docker概念和部署

目录 1.1 Docker 概述 1.1.1 Docker 的优势 1.1.2 镜像 1.1.3 容器 1.1.4 仓库 1.2 安装 Docker 1.2.1 配置和安装依赖环境 1.3镜像操作 1.3.1 搜索镜像 1.3.2 获取镜像 1.3.3 查看镜像 1.3.4 给镜像重命名 1.3.5 存储,载入镜像和删除镜像 1.4 Doecker容器操作 1.4

【机器学习-一-基础概念篇】

机器学习 定义分类算法 应用 定义 机器学习最早是被Arthur Samuel 提出的一个概念,指计算机无需明确编程即可学习的研究领域。1950年他发明的跳棋程序,这个人机对弈游戏让他的声名鹊起,机器学习这个概念才进入大众的是视线。 在这个跳棋程序里,他编程了一种算法,这个程序与Arthur下了数万次跳棋,计算机逐渐学会了下在哪里有更大的可能会赢得比赛,哪里会输,通过这种方法,最

【吊打面试官系列-Redis面试题】说说 Redis 哈希槽的概念?

大家好,我是锋哥。今天分享关于 【说说 Redis 哈希槽的概念?】面试题,希望对大家有帮助; 说说 Redis 哈希槽的概念? Redis 集群没有使用一致性 hash,而是引入了哈希槽的概念,Redis 集群有 16384 个哈希槽,每个 key 通过 CRC16 校验后对 16384 取模来决定放置哪个槽, 集群的每个节点负责一部分 hash 槽。