Active Stereo Without Pattern Projector论文精读

2023-12-02 23:04

本文主要是介绍Active Stereo Without Pattern Projector论文精读,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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)的对应关系。

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

在这里插入图片描述

这篇关于Active Stereo Without Pattern Projector论文精读的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

AI hospital 论文Idea

一、Benchmarking Large Language Models on Communicative Medical Coaching: A Dataset and a Novel System论文地址含代码 大多数现有模型和工具主要迎合以患者为中心的服务。这项工作深入探讨了LLMs在提高医疗专业人员的沟通能力。目标是构建一个模拟实践环境,人类医生(即医学学习者)可以在其中与患者代理进行医学

论文翻译:arxiv-2024 Benchmark Data Contamination of Large Language Models: A Survey

Benchmark Data Contamination of Large Language Models: A Survey https://arxiv.org/abs/2406.04244 大规模语言模型的基准数据污染:一项综述 文章目录 大规模语言模型的基准数据污染:一项综述摘要1 引言 摘要 大规模语言模型(LLMs),如GPT-4、Claude-3和Gemini的快

论文阅读笔记: Segment Anything

文章目录 Segment Anything摘要引言任务模型数据引擎数据集负责任的人工智能 Segment Anything Model图像编码器提示编码器mask解码器解决歧义损失和训练 Segment Anything 论文地址: https://arxiv.org/abs/2304.02643 代码地址:https://github.com/facebookresear

论文翻译:ICLR-2024 PROVING TEST SET CONTAMINATION IN BLACK BOX LANGUAGE MODELS

PROVING TEST SET CONTAMINATION IN BLACK BOX LANGUAGE MODELS https://openreview.net/forum?id=KS8mIvetg2 验证测试集污染在黑盒语言模型中 文章目录 验证测试集污染在黑盒语言模型中摘要1 引言 摘要 大型语言模型是在大量互联网数据上训练的,这引发了人们的担忧和猜测,即它们可能已

OmniGlue论文详解(特征匹配)

OmniGlue论文详解(特征匹配) 摘要1. 引言2. 相关工作2.1. 广义局部特征匹配2.2. 稀疏可学习匹配2.3. 半稠密可学习匹配2.4. 与其他图像表示匹配 3. OmniGlue3.1. 模型概述3.2. OmniGlue 细节3.2.1. 特征提取3.2.2. 利用DINOv2构建图形。3.2.3. 信息传播与新的指导3.2.4. 匹配层和损失函数3.2.5. 与Super

BERT 论文逐段精读【论文精读】

BERT: 近 3 年 NLP 最火 CV: 大数据集上的训练好的 NN 模型,提升 CV 任务的性能 —— ImageNet 的 CNN 模型 NLP: BERT 简化了 NLP 任务的训练,提升了 NLP 任务的性能 BERT 如何站在巨人的肩膀上的?使用了哪些 NLP 已有的技术和思想?哪些是 BERT 的创新? 1标题 + 作者 BERT: Pre-trainin

[论文笔记]LLM.int8(): 8-bit Matrix Multiplication for Transformers at Scale

引言 今天带来第一篇量化论文LLM.int8(): 8-bit Matrix Multiplication for Transformers at Scale笔记。 为了简单,下文中以翻译的口吻记录,比如替换"作者"为"我们"。 大语言模型已被广泛采用,但推理时需要大量的GPU内存。我们开发了一种Int8矩阵乘法的过程,用于Transformer中的前馈和注意力投影层,这可以将推理所需

2024 年高教社杯全国大学生数学建模竞赛 C 题 农作物的种植策略 参考论文 无水印

持续更新中,2024年数学建模比赛思路代码论文都会发布到专栏内,只需订阅一次!  完整论文+代码+数据结果链接在文末!  订阅后可查看参考论文文件 第一问 1.1 问题重述 这个问题围绕的是华北山区的某乡村,在有限的耕地条件下,如何制定最优的农作物种植策略。乡村有 34 块露天耕地和 20 个大棚,种植条件包括粮食作物、蔬菜、水稻和食用菌。除了要考虑地块的面积、种植季节等,还要确保

论文精读-Supervised Raw Video Denoising with a Benchmark Dataset on Dynamic Scenes

论文精读-Supervised Raw Video Denoising with a Benchmark Dataset on Dynamic Scenes 优势 1、构建了一个用于监督原始视频去噪的基准数据集。为了多次捕捉瞬间,我们手动为对象s创建运动。在高ISO模式下捕获每一时刻的噪声帧,并通过对多个噪声帧进行平均得到相应的干净帧。 2、有效的原始视频去噪网络(RViDeNet),通过探

2024年全国大学生数学建模A题借鉴论文

问题  1: 舞龙队的动态位置与速度计算 1. **螺旋线的几何建模**:根据题目描述,舞龙队沿着等距螺旋线前进。螺旋线的螺距为 55 cm, 需根据极坐标公式确定每节板凳的位置。 -  极坐标螺旋线方程:\( r = a + b\theta \), 其中  \( b \)  是螺距, 可以利用该方程计算 每秒舞龙队的各个节数的坐标。 2. **速度计算**:给定龙头的行进速度为 1 m/s ,