半遮挡检测算法 Detecting Binocular Half-Occlusions

【1. 背景】:

本文分析【Detecting Binocular Half-Occlusions:Empirical Comparisons of Five Approaches】Geoffrey Egnal和Richard P. Wildes于2002年发表在IEEE Transactions on Pattern Analysis and Machine Intelligence上,这是1篇中科院1区的论文,值得学习。论文主要研究了双目视觉系统中的半遮挡(half-occlusions)检测问题,文章提及了五种检测半遮挡的方法,并进行了定量和定性的比较分析。

【V: leaf3d】


【2. 研究内容】:

文章提及的5种方法分别为:

  1. Bimodalities in Disparity (BMD)

    BMD 方法基于视差图像的双峰特性。在半遮挡边界附近的点会匹配到遮挡面和被遮挡面,导致局部视差直方图呈现双峰分布。通过检测这种双峰特性,可以识别半遮挡边界

  2. Match Goodness Jumps (MGJ)
    MGJ 方法假设匹配质量低的点可能是半遮挡点。当匹配算法处理来自两个图像的同一表面时,匹配质量通常较高;而在半遮挡区域,匹配质量会显著下降。MGJ 通过检测匹配质量的突变来识别半遮挡

  3. Left-Right Checking Failures (LRC)
    LRC 方法基于左右视图的视差图像应互为相反数(除了在半遮挡区域)。如果左右视图的视差图像在某些点上不满足这种关系,则这些点可能是半遮挡点

  4. Ordering Constraint (ORD)
    ORD 方法基于排序约束。如果两个点在左视图中按某种顺序匹配,但在右视图中匹配顺序改变,则这些点可能是半遮挡点

  5. Occlusion Constraint (OCC)
    OCC 方法基于遮挡约束。该方法假设视差图中的不连续性对应于半遮挡区域。通过检测视差图中的不连续性,可以识别半遮挡区域

其中,他们的区别和联系在于:

      BMD 和 MGJ 是边界检测方法,主要用于检测半遮挡的起始和结束位置。

      LRC、ORD 和 OCC 是区域检测方法,用于标记整个半遮挡区域


【方法1:BMD】

BMD 方法的核心思想是:水平视差图像中与半遮挡边界对应的点在其邻域中将具有由被遮挡区域和遮挡表面产生的视差值。在这些区域,视差的直方图应该是双峰的(见下图,局部视差直方图 disparity in window在选定的邻域内,统计每个像素的视差值,并构建视差直方图。直方图的横轴表示视差值,纵轴表示该视差值出现的频率, 第一个峰对应于遮挡面的视差值; 第二个峰对应于被遮挡面的视差值。在非遮挡区域,视差值连续、接近的,因此局部视差直方图是单峰的)。选择峰值比测试来确定是否存在双峰,峰比是第二高峰与最高峰的比值。如果峰值大小相似,表示双峰,则峰值比更接近1,BMD可以表示为

因此,如果某个像素的邻域被检测为双峰分布,则该像素被认为是半遮挡边界的一部分。对于每个像素重复上述过程,最终生成一个标记半遮挡边界的图像。 

优点:BMD 方法能够检测到所有遮挡边界,包括与视差方向垂直的不连续性。它是一种基于局部统计的方法,对匹配算法的依赖较小。局限性:对参数(如邻域大小和阈值)非常敏感,需要根据具体场景进行调整。在视差变化剧烈或噪声较多的区域,容易产生误报。

【方法2:MGJ】

MGJ方法的核心思想是利用匹配算法生成的匹配质量图像(match goodness image)来检测半遮挡点。在双目视觉中,匹配质量通常反映了像素之间匹配的可靠性。MGJ 方法假设在半遮挡区域,匹配质量会显著下降,因为这些区域无法找到正确的匹配点。如下图以右视图为基准的匹配统计,计算某一点领域的匹配质量突变程度,设定阈值来判断是否为半遮挡点。

优点:

1. 简单高效。MGJ 方法基于匹配质量图像的直接分析,计算复杂度较低

2. 独立性强:MGJ 方法不依赖于视差图像的具体内容,而是基于匹配质量的变化,因此对匹配算法的依赖较小。

局限性:

1. 对噪声敏感:在匹配质量图像中,噪声可能会导致误报,尤其是在低纹理或高对比度区域。

2. 依赖匹配算法:MGJ 方法的性能依赖于匹配算法生成的匹配质量图像的质量。如果匹配质量图像存在误差,MGJ 方法的性能也会受到影响。

3. 可能漏检:在某些情况下,半遮挡区域的匹配质量可能不会显著下降,导致漏检。

【方法3:LRC】

LRC方法的核心思想是利用左右视图的视差图像之间的关系来检测半遮挡点。具体来说,LRC 方法假设左视图和右视图的视差图像在非遮挡区域应该是互为相反数,而在半遮挡区域,这种对称性会被破坏。如图所示Disparity中左基准视差图和右基准视差图中,非遮挡区域对应点的视差是视差值相近,但符号相反的值。但是在遮挡区域不满足该关系。左右视察一致性描述的是左基准点匹配到右图中的点后,右图中的点再返回来仍然能够找到左图的同一点,按照如下定义阈值来判断

优点:简单高效:LRC 方法基于视差图像的直接分析,计算复杂度较低;对称性检测:通过检测左右视图的对称性破坏,能够有效地识别半遮挡点;适用性强:适用于多种双目匹配算法生成的视差图像。

局限性:

对噪声敏感:在视差图像中,噪声可能会导致误报,尤其是在低纹理或高对比度区域。依赖视差图像质量:LRC 方法的性能依赖于视差图像的质量。如果视差图像存在误差,LRC 方法的性能也会受到影响。可能漏检:在某些情况下,半遮挡区域的对称性破坏可能不明显,导致漏检。

【方法4:ORD】

核心思想是利用双目图像中匹配点的几何顺序关系来检测半遮挡点。在双目视觉中,如果两个点在左视图中按某种顺序排列,那么在右视图中它们的匹配点也应该保持相同的顺序。如果顺序被破坏,则可能表明存在半遮挡。

 该方法容易理解,通过基准图像上点的左右关系和匹配点的左右关系来判断。但是,半遮挡区域可能不会明显违反排序约束,导致漏检。

【方法5:OCC】

OCC 方法的核心思想是:在双目视觉中,视差图的不连续性通常对应于场景中的遮挡边界。

 该方法随着而来的问题是,物体的不连续也会带来视差的跳变,跳变处有可能对应着遮挡的区域,但如何准确分界是一个问题。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

检测网络安全漏洞 工具

实验一的名称为信息收集和漏洞扫描 实验环境:VMware下的kali linux2021和Windows7 32,网络设置均为NAT,这样子两台机器就在一个网络下。攻击的机器为kali,被攻击的机器为Windows 7。 理论知识记录: 1.信息收集的步骤 2.ping命令…

PostgreSQL的学习心得和知识总结(一百六十九)|深入理解PostgreSQL数据库之 Group By 键值消除 的使用和实现

目录结构 注:提前言明 本文借鉴了以下博主、书籍或网站的内容,其列表如下: 1、参考书籍:《PostgreSQL数据库内核分析》 2、参考书籍:《数据库事务处理的艺术:事务管理与并发控制》 3、PostgreSQL数据库仓库…

Nacos学习(一)——基本介绍、安装与负载均衡策略

目录 一、Nacos基本介绍 二、安装与使用 (一)Nacos安装 1.上传到linux上解压 2.按需修改配置文件 3.单机启动 4.查看Nacos启动日志 5.浏览器访问Nacos服务 6.关闭Nacos服务 (二)Nacos使用 1.新建一个项目 2.最外部依赖如下 3.provider-service包的依赖 4.配置文件…

第3章 3.2 配置系统 .NET Core配置系统

3.2.1 配置系统的基本使用 .NET Core中的配置系统支持非常丰富的配置源,包括文件(JSON、XML、INI等)、注册表、环境变量、命令行、Azure Key Vault等,配置系统还支持自定义配置源。 用配置系统开发包Microsoft.Extensions.Confi…

JVM 类加载器深度解析(含实战案例)

上期文章内容:JVM类加载过程详解:从字节码到内存的蜕变之旅 目录 一、类加载器的本质是什么? 二、类加载机制全景 1.1 三阶段生命周期 1.2 关键数据结构 三、类加载器体系架构 2.1 四层标准类加载器 2.2 类加载器树形结构 四、双亲委派…

仿 Sora 之形,借物理模拟之技绘视频之彩

来自麻省理工学院、斯坦福大学、哥伦比亚大学以及康奈尔大学的研究人员携手开源了一款创新的3D交互视频模型——PhysDreamer(以下简称“PD”)。PD与OpenAI旗下的Sora相似,能够借助物理模拟技术来生成视频,这意味着PD所生成的视频蕴…

业务架构、数据架构、应用架构和技术架构

TOGAF(The Open Group Architecture Framework)是一个广泛应用的企业架构框架,旨在帮助组织高效地进行架构设计和管理。 TOGAF 的核心就是由我们熟知的四大架构领域组成:业务架构、数据架构、应用架构和技术架构。 企业数字化架构设计中的最常见要素是4A 架构。 4…

【开源免费】基于SpringBoot+Vue.JS善筹网站(JAVA毕业设计)

本文项目编号 T 205 ,文末自助获取源码 \color{red}{T205,文末自助获取源码} T205,文末自助获取源码 目录 一、系统介绍二、数据库设计三、配套教程3.1 启动教程3.2 讲解视频3.3 二次开发教程 四、功能截图五、文案资料5.1 选题背景5.2 国内…

vue+elementplus创建初始化安装

项目创建初始化 D:\Tool\mysql\education_vue 这个路径下cmd 或打开vscode,把项目丢进code中打开 安装element plus Container 布局容器 | Element Plus npm install element-plus --save 把项目初始文件Homeview AboutView删了,Router index.js中删一…

Word接入DeepSeek(API的作用)

1.打开”Word”,点击“文件”。 2.点击“选项”。 3.点击“信任中心”——“信任中心设置”。 4. 勾选”启用所有宏“,点击”确定“。 5.点击“自定义功能区”,勾选上“开发工具”,点击“确定”。 6.返回“文件——开发工具“下的…

Macos机器hosts文件便捷修改工具——SwitchHosts

文章目录 SwitchHosts软件下载地址操作添加方案切换方案管理方案快捷键 检测 SwitchHosts SwitchHosts 是一款 Mac 平台上的免费软件,它可以方便地管理和切换 hosts 文件,支持多种 hosts 文件格式。 软件下载地址 SwitchHosts 操作 添加方案 添加 …

Python的那些事第二十三篇:Express(Node.js)与 Python:一场跨语言的浪漫邂逅

摘要 在当今的编程世界里,Node.js 和 Python 像是两个性格迥异的超级英雄,一个以速度和灵活性著称,另一个则以强大和优雅闻名。本文将探讨如何通过 Express 框架将 Node.js 和 Python 结合起来,打造出一个高效、有趣的 Web 应用。我们将通过一系列幽默风趣的实例和表格,展…

汽车免拆诊断案例 | 2010 款路虎揽胜车空调偶尔出风异常

故障现象  一辆2010款路虎揽胜车,搭载5.0 L发动机,累计行驶里程约为16万km。车主反映,接通空调开关后,有时出风忽大忽小,有时不出风,有时要等2 min左右才出风;有时两三天出现一次,…

Django项目之订单管理part1

一.前言 我们前面把django的常用知识点给讲完了,现在我们开始项目部分,项目是一个订单管理系统,我们同时也会在项目之中也会讲一些前面没有用到的知识点。 项目大概流程如下: 核心的功能模块: 认证模块,用…

低代码与 Vue.js:技术选型与架构设计

在当下数字化转型的浪潮中,企业对应用开发的效率和质量有着极高的追求。低代码开发平台的兴起,为企业提供了一条快速构建应用的捷径,而 Vue.js 作为热门的前端框架,与低代码开发平台的结合备受关注。如何做好两者的技术选型与架构…

LlamaFactory可视化模型微调-Deepseek模型微调+CUDA Toolkit+cuDNN安装

LlamaFactory https://llamafactory.readthedocs.io/zh-cn/latest/ 安装 必须保证版本匹配,否则到训练时,找不到gpu cuda。 否则需要重装。下面图片仅供参考。因为cuda12.8装了没法用,重新搞12.6 cudacudnnpytorch12.69.612.6最新&#xf…

【GPT】从GPT1到GPT3

every blog every motto: Although the world is full of suffering, it is full also of the overcoming of it 0. 前言 从GPT1 到GPT3 1. GPT1 论文: https://s3-us-west-2.amazonaws.com/openai-assets/research-covers/language-unsupervised/lan…

Jredis和SpringDataRedis学习笔记

jredis基础操作 jredis连接池 其中有个静态方法getJedis能够将练级池中的连接拿取出来并返回 通过setMaxWaitMitllis设置一个响应时间,如果连接池里面没有连接,那么请求连接方在等待超过响应时间时就会报错 springDataRedis 通过这样一个代码将redisTe…

【HarmonyOS Next】鸿蒙监听手机按键

【HarmonyOS Next】鸿蒙监听手机按键 一、前言 应用开发中我们会遇到监听用户实体按键,或者扩展按键的需求。亦或者是在某些场景下,禁止用户按下某些按键的业务需求。 这两种需求,鸿蒙都提供了对应的监听事件进行处理。 onKeyEvent 默认的…

vite调试node_modules下面插件

在使用vite进行开发的时候,我们可能想要修改node_modules中插件的源码.特别是集成一个SDK,需要调试去判断问题时,或者研究第三方源码时后; vite默认是走缓存的,所以当修改后不会看到你打印的日志,这个时候有几种方法可以选择; 方式…