Active Stereo Without Pattern Projector论文精读

news2025/1/16 18:01:15

1.背景补充

主动立体相机和被动立体相机的主要区别在于它们获取立体视觉信息的方式

主动立体相机12:

  • 主动立体视觉是指寻找最佳的视角去重建目标或者场景1。
  • 主动视觉的实现方式通常有:改变环境中的光照条件、改变相机的视角、移动相机自身位置等,其目的是提高感知结果的质量1。
  • 主动立体视觉还包括没有先验的场景信息去主动识别或是跟踪,存在与环境的交互1。
  • 结构光法采用主动投射已知图案的方法来实现匹配特征点,达到较高的精度,同时也扩展了适用范围2。

被动立体相机134:

  • 被动视觉是指观察者不主动调整观测场景或者自身的参数1。
  • 被动立体需要用到两台投影机,是因为被动立体需要同时投放出不同角度的影像,分别输入人体的左右眼球,让人看到的是立体影像4。
  • 被动式立体视觉要求被测物体有纹理特征,对于一些没有纹理特征的,可以辅助一些特征,例如散斑等,人为造一些纹理特征5。

2.框架思想

VPP框架的主要思想是根据双目几何和深度传感器的测量,在左右图像上虚拟投影一个与场景一致的图案,使得对应的像素在两个图像中更加相似和区分度更高【 可以增强两幅图像中两个像素的视觉外观,使它们尽可能相似,尽可能与邻居不同 】,就像有一个虚拟的智能投影仪在场景中发射信号一样。

在左右图像上虚拟投影一个与场景一致的图案的主要目的是增强双目相机的视觉对应问题。在双目视觉中,我们需要找到左右图像中相同物体的对应像素,这是立体匹配的关键步骤。然而,由于照明、纹理、颜色等因素的影响,找到正确的对应关系可能是一个挑战。

通过在左右图像上虚拟投影一个与场景一致的图案,我们可以使对应的像素在两个图像中更加相似,从而提高立体匹配的准确性。同时,这种方法也可以增加像素的区分度,使得不同的像素在图案上有不同的表现,从而减少匹配的歧义性。

根据本文框架处理后得到的目标和参考图,下一步可以进行立体匹配的步骤如下:

  • 选择一个合适的立体匹配算法或网络,例如传统的半全局匹配(Semi-Global Matching, SGM)[27],或者基于深度学习的PSMNet [8],RAFT-Stereo [41]等。
  • 将虚拟投影后的目标和参考图作为输入,计算每个像素的视差(disparity),即左右图像中对应点的水平偏移量。视差与深度(depth)有反比关系,即视差越大,深度越小,表示物体离相机越近。
  • 根据视差图和已知的相机参数(如焦距和基线距离),将视差转换为深度,得到稠密的深度图。深度图可以用来进行三维重建,场景理解,增强现实等应用。

本文框架的优势在于,通过虚拟投影,可以增强图像的局部区分性,减少匹配的歧义性,提高立体匹配的准确性和鲁棒性。本文框架还可以处理遮挡区域,避免在前景和背景之间投影相同的模式,从而降低误匹配的风险。本文框架不依赖于特定的物理投影器,因此可以在任何环境和距离下工作,也不会受到阳光等干扰。本文框架还可以与现有的立体匹配方法结合使用,无需对原有的算法或网络进行大幅修改或重新训练。
在这里插入图片描述

3.虚拟投影原理

Such a disparity value represents the offset needed to obtain the location along the same epipolar line of the corresponding point IR(x′, y) in the target image with x′ = x − d(x, y).

如何根据深度值计算两幅图像中对应点的位置。它假设了一个已经校准的立体相机,也就是说,两个相机的图像是在同一水平线上的。它用了以下的公式:

d(x,y)=b⋅f/z(x,y)

其中,

  • d(x,y) 是视差,也就是左右图像中对应点的水平距离;

  • b 是相机的基线,也就是两个相机中心的距离;

  • f 是相机的焦距;

  • z(x,y) 是左图像中点 (x,y) 的深度值。

根据这个公式,我们可以得到右图像中对应点的横坐标 x′,它等于左图像中的横坐标 x 减去视差 d(x,y),即:

x′=x−d(x,y)

这样,我们就可以在同一水平线上找到两幅图像中的对应点,从而进行立体匹配。

在这里插入图片描述

4.不同的虚拟图案的生成策略

为了正确地产生幻觉并简化匹配,对应的点应该尽可能相似,因此提出了两种增强策略:随机模式和基于直方图的模式

随机模式

直接从均匀分布中随机采样算子A

基于直方图的模式

如何使用直方图来选择图像中的颜色模式。首先,对于参考图像中的点 (x, y),我们在它和目标图像中的点 (x’, y) 上分别考虑一个高度为3,长度为L的窗口。然后,计算这两个窗口上的直方图,并将它们相加。

接下来,算子 A(x, x’, y) 会选择使得直方图中的距离最大的颜色。

这个距离是通过函数 hdist(i) 来计算的,它返回填充的直方图柱子中距离最小的一个。具体来说,对于直方图中的每一个颜色 i,hdist(i) 的计算公式为:

hdist(i)={min{∣i−il∣,∣i−ir∣},il∈[0,i[:H(il)>0,ir∈]i,255]:H(ir)>0

其中,il 和 ir 分别是颜色 i 左边和右边的填充柱子。

如果直方图 H 中的每一个柱子都被填充了,那么就选择出现次数最少的颜色。这样,我们就可以根据直方图来选择图像中的颜色模式了。

选择使得直方图中的距离最大的颜色原因: 是为了保证选取的颜色具有足够的区分度。在图像处理中,我们希望选取的颜色能够尽可能地反映出图像的特征。如果选择的颜色在直方图中的距离较小,那么这个颜色可能就无法有效地区分图像中的不同区域。而如果选择的颜色在直方图中的距离较大,那么这个颜色就能够更好地反映出图像的特征,从而提高图像处理的效果。

5. 处理遮挡的区域

由于立体设置中不可避免地存在遮挡区域,即使假设深度传感器与参考相机完全对齐,我们也可能无法在两个视图上一致地投影图案,如下图左边部分【点P被参考相机和深度传感器框住到那时由于鸭子的遮挡,导致目标相机并不能正确投影P】所示。

1. BKGD策略

至关重要的是检测撞击被遮挡区域的点,以避免在参考图像和目标图像上分别在被遮挡像素和遮挡像素上投影相同的图案。

深度点被分类为被遮挡是通过一个简单而有效的启发式方法来实现的。

具体来说,将(x, y)点的视差d扭曲(映射)到坐标(x’, y)处的一个类似于网格的结构W中。

如果出现碰撞 - 即,多个d映射到同一位置(x’, y) - 则保留最大的d。然后,W中的每个点(xo, yo)如果满足以下不等式,就被分类为被遮挡,至少对于一个在rx × ry补丁内的邻居W(x, y):

其中,λ, γ, rx, ry, t是超参数。最后,被遮挡的点被反向映射回来,得到一个遮挡掩码o。这就是深度点如何被分类为被遮挡的。这个过程可以帮助我们避免在参考图像和目标图像上投影相同的模式,从而减少在遮挡处的模糊性。

"BKGD"指的是处理立体成像中的遮挡的一种策略。

当一个深度点被分类为被遮挡时,系统可以避免在参考图像和目标图像上投影相同的模式,分别在被遮挡和遮挡像素上。这被称为"NO"投影策略。然而,"BKGD"投影策略涉及到在前景(在目标图像中)和背景(在参考图像中)上投影相同的模式,这可能会增加遮挡处的模糊性。在"NO"和"BKGD"策略之间的选择取决于立体成像任务的具体要求。

当深度点被分类为遮挡时,我们可以忽略在参考和目标图像上的投影(“NO”投影策略)。然而,"BKGD"投影策略涉及在前景(在目标图像中)和背景(在参考图像中)上投影相同的模式。这可能会增加遮挡处的模糊性,因为在遮挡和遮挡像素上投影了相同的模式。

如下图所示

在这里插入图片描述

2. FGD策略

FGD:这种策略中,我们避免在参考图像和目标图像上进行投影,而是将参考图像中的原始内容替换为目标图像中的内容。

这并不改变前景(源自Q的光线)上正确匹配的外观【对点Q的虚拟投影关系并不会变】,但会刺激立体匹配器建立与目标图像中的同一点(x’,y)的第二个对应关系,即与源自P的像素(x,y)的对应关系。

此外,参考图像的左边界上的点会在目标图像外部投影模式。尽管这对于传统的算法来说是无关紧要的,但我们仍然在那里进行投影,以避免深度立体网络的预测中出现伪影。

在这里插入图片描述

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

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

相关文章

大模型中幂律缩放法则和涌现能力

幂律缩放法则是一种用于描述两个变量之间关系的数学模型。 根据幂律缩放法则,当一个变量的值变化时,另一个变量的值以指数方式变化。具体而言,幂律缩放法则可以表示为Y a * X^b,其中Y表示一个变量的值,X表示另一个变…

国民技术N32_MCU ADC如何获取高精度采样数据

前言 国民技术微控制器内置最多四个高级 12 位 ADC (取决于产品系列) ,具有校准功能,用于提高环境条件 变化时的 ADC 精度。 在涉及模数转换的应用中, ADC 精度会影响整体的系统质量和效率。为了提高此精度,必须了解与 ADC 相关…

鸿蒙开发学习笔记

快速入门 配置网络权限 1.打开项目的 module.json5 文件 2.在module 里面写下面代码 3.这样就可以使用网络图片了 4.模拟器上就可以正常显示网络图片了 5.官方文档有相关说明 6. 华为官方编辑工具使用技巧(内置文档),鼠标移动到标签上&…

JVM内存结构:StringTable与常量池关系

首先看一道题 这就涉及到StringTable和常量池,答案在文末,全做对就不用看了 而StringTable的位置在不同版本也有变化 , 我们只探讨jdk1.8版本 与StringTable 串池对应的是常量池 案例一、常量池和串池联系 引用所指肯定不会是常量池中的字…

实验6 二叉树操作

0x01 实验目的 掌握二叉树的基本概念,二叉树的存储结构使用链表。 0x02 实验内容 输入一个完全二叉树的层次遍历字符串,创建这个二叉树,输出这个二叉树的前序遍历字符串、中序遍历字符串、后序遍历字符串、结点数目、二叉树高度(上述每一个…

基于Java SSM框架+Vue实现旅游资源网站项目【项目源码+论文说明】

基于java的SSM框架Vue实现旅游资源网站演示 摘要 本论文主要论述了如何使用JAVA语言开发一个旅游资源网站 ,本系统将严格按照软件开发流程进行各个阶段的工作,采用B/S架构,面向对象编程思想进行项目开发。在引言中,作者将论述旅游…

notepad ++ 用法大全【程序员必会高级用法】

目录 1:notepad 介绍 2: 快捷键 3: notepad 实用插件 1:notepad 介绍 notepad是一款免费且开源的文本编辑器,可运行在Windows系统上。它支持多种编程语言,包括C、C、Java、Python等等。Notepad具有许多实…

Qt国际化翻译Linguist使用

QT的国际化是非常方便的,简单的说就是QT有自带的翻译工具把我们源代码中的字符串翻译成任何语言文件,再把这个语言文件加载到项目中就可以显示不同的语言。下面直接上手: 步骤一:打开pro文件,添加:TRANSLA…

Mysql安全之基础合规配置

一、背景 某次某平台进行安全性符合型评估时,列出了数据库相关安全选项,本文特对此记录,以供备忘参考。 二、安全配置 2.1、数据库系统登录时的用户进行身份标识和鉴别; 1)对登录Mysql系统用户的密码复杂度是否有要…

MYSQL报错 [ERROR] InnoDB: Unable to create temporary file; errno: 0

起因 服务器的mysql不支持远程访问,在修改完相关配置后重启服务出错。 2023-12-03T10:12:23.895459Z 0 [Note] C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqld.exe (mysqld 5.7.22-log) starting as process 15684 ... 2023-12-03T10:12:23.908886Z 0 [Note…

TimiGP细胞互作算法

介绍: 通过推断细胞间相互作用和免疫细胞预后价值来研究时间的计算方法。我们的方法将存活统计数据与批量转录组学图谱相结合,以构建免疫细胞-细胞相互作用网络,其中边缘(例如,X → Y)表明高 X/Y 比值与良…

unity学习笔记17

一、动画组件 Animation Animation组件是一种更传统的动画系统,它使用关键帧动画。你可以通过手动录制物体在时间轴上的变换来创建动画。 一些重要的属性: 1. 动画(Animation): 类型: Animation组件允许…

React如何检查组件性能

可以使用Profiler来查看组件的渲染速度 Profiler的基本使用 需要将<Profiler>标签包裹在需要检查渲染速度的组件外部需要绑定id属性&#xff0c;该属性是唯一标识&#xff0c;用于区分其他Profiler需要onRender函数&#xff0c;该函数一共有六个参数&#xff0c;分别为…

海德汉(HEIDENHAIN)CNC数据采集(可免授权)

一&#xff0c;概述 海德汉 常见的系统一般有530、640系统&#xff0c;采集一般有两种方法&#xff1a; &#xff08;1&#xff09;购买海德汉官方的SDK&#xff0c;HeidenhainDNC COM Component&#xff0c;安装之后有相应的demo&#xff0c;支持的语言有C#、C/C。此方法还需…

蓝桥杯物联网竞赛_STM32L071_8_ADC扩展模块

原理图&#xff1a; 扩展模块原理图&#xff1a; RP1和RP2分别对应着AIN1和AIN2&#xff0c;扭动它们&#xff0c;其对应滑动变阻器阻值也会变化 实验板接口原理图&#xff1a; 对应实验板接口PB1和PB0 即AN1对应PB1, AN2对应PB0 CubMx配置&#xff1a; ADC通道IN8和IN9才对…

牛客在线编程(SQL大厂面试真题)

1.各个视频的平均完播率_牛客题霸_牛客网 ROP TABLE IF EXISTS tb_user_video_log, tb_video_info; CREATE TABLE tb_user_video_log (id INT PRIMARY KEY AUTO_INCREMENT COMMENT 自增ID,uid INT NOT NULL COMMENT 用户ID,video_id INT NOT NULL COMMENT 视频ID,start_time d…

leetcode 142.环形链表2

我来更新 leetcode 题目了&#xff0c;接着上一次&#xff0c;这一次是上一道题目的提升&#xff08;有点数学题的感觉&#xff09; 142.环形链表2 题目 给定一个链表的头节点 head &#xff0c;返回链表开始入环的第一个节点。 如果链表无环&#xff0c;则返回 null。 如果链表…

物奇平台电容触摸功能调试

是否需要申请加入数字音频系统研究开发交流答疑群(课题组)?可加我微信hezkz17, 本群提供音频技术答疑服务,+群赠送语音信号处理降噪算法,蓝牙耳机音频,DSP音频项目核心开发资料, 物奇平台电容触摸功能调试 1 修改按键驱动宏 2 编译生成wpk 文件,import 导入烧录文件。…

【Vulnhub靶机】w1r3s.v1.0.1-CuppaCMS

文档说明&#xff1a;https://www.vulnhub.com/entry/w1r3s-101,220/ 靶机下载&#xff1a;Download (Mirror): 信息收集 主机发现 -sn 扫描整个C段&#xff0c;不进行端口扫描&#xff0c;只打印可用主机&#xff0c;n代表not port scan sudo nmap -sn 10.9.75.0/24 -oA su…

关于安科瑞预付费系统在转供电情况下的应用-安科瑞 蒋静

1 前言 国家从2018年开始对转供电加价开展规范清理以来&#xff0c;已经出来了一系列政策&#xff0c;不仅包括专门针对转供电问题的政策&#xff0c;18-20年间还在每次降电价政策中突出强调了转供电主体不得截留降价红利的要求。从具体内容看&#xff0c;各地政策都鼓励一户一…