当前位置: 首页 > news >正文

论文解读:【CVPR2024】DUSt3R: Geometric 3D Vision Made Easy

论文“”https://openaccess.thecvf.com/content/CVPR2024/papers/Wang_DUSt3R_Geometric_3D_Vision_Made_Easy_CVPR_2024_paper.pdf 

代码:GitHub - naver/dust3r: DUSt3R: Geometric 3D Vision Made Easy


            DUSt3R是一种旨在简化几何3D视觉任务的新框架。作者着重于使3D重建过程更加易于使用和高效。该框架利用深度学习和几何处理的最新进展,提高了准确性并降低了计算复杂性。 

1 摘要

        本文提出了DUSt3R,一种无需相机校准或视点位置信息即可处理任意图像集合的密集、无约束立体3D重建的全新范式。我们将成对重建问题视为点图的回归,放宽了传统投影相机模型的硬约束。这种方法统一了单目和双目重建案例。

        在提供多于两张图像的情况下,我们进一步提出了一种简单但有效的全局对齐策略,将所有成对点图表达在一个共同的参考框架中。我们基于标准Transformer编码器和解码器的网络架构,利用强大的预训练模型。       

        我们的方法直接提供了场景的3D模型以及深度信息,并且可以从中无缝地恢复像素匹配、焦距、相对和绝对相机参数。在单目和多视图深度估计以及相对姿态估计方面的广泛实验展示了DUSt3R如何有效地统一各种3D视觉任务,创造新的性能记录。总而言之,DUSt3R使许多几何3D视觉任务变得简单。

 

图1展示了DUSt3R的工作流程和重建效果。

  • 上半部分:DUSt3R以一组不受约束的图像为输入,输出点图(pointmaps),从这些点图可以直接推导出各种几何量。

  • 下半部分:展示了DUSt3R在没有输入相机位姿或内参的情况下进行的一致3D重建。从左到右依次是输入图像、彩色点云、带有阴影的渲染。右上角的图示例展示了DUSt3R在没有视觉重叠的情况下也能进行场景重建。

2 主要贡献

  1. 简化的流程:DUSt3R将传统的多步骤3D视觉流程简化为一个更直接的过程。这种简化有助于减少错误并提高可用性。
  2. 鲁棒性:该框架在各种数据集和场景中表现出鲁棒性,包括不同的光照条件和遮挡情况。
  3. 高效性:通过优化算法组件和实现方式,DUSt3R在不牺牲准确性的情况下,实现了显著的计算效率提升。

3 核心算法: 

         DUSt3R算法结合了现代深度学习技术和传统几何方法,通过高效的点云生成和三维重建技术,提供高精度和高鲁棒性的三维重建结果。 

4  DUSt3R网络的架构及其主要组件

图2展示了DUSt3R网络的架构及其主要组件。这张图形象地说明了网络如何处理输入的两张RGB图像(I1和I2),并生成对应的点云图(Pointmap)和置信度图(Confidence Map)。

网络架构
  1. 输入图像

    输入是两张RGB图像,分别表示为I1和I2。I1表示由第一个相机拍摄的图像,I2表示由第二个相机拍摄的图像。

  2. ViT编码器(ViT Encoder)

    输入图像I1和I2首先经过一个共享权重的ViT编码器进行特征提取。ViT编码器是一种基于视觉Transformer(ViT)的模型,用于将图像转化为Token表示(Token Representation)。编码后的特征表示分别为F1和F2。

  3. Patchify

    编码器输出的Token表示F1和F2会被划分成小块(Patchify),每个块表示图像的一部分。

  4. Transformer解码器(Transformer Decoder)

    经过Patchify处理后的特征表示F1和F2分别输入到两个Transformer解码器中,这两个解码器通过交叉注意力机制不断交换信息。交叉注意力机制允许解码器在解码过程中综合两张图像的信息,从而提高点云图的精度。

  5. 回归头(Regression Head)

    Transformer解码器的输出结果传递给两个回归头,分别对应输入的两张图像。回归头负责生成最终的点云图(X1,1和X2,1)和置信度图(C1,1和C2,1)。

  6. 输出

    最终输出的点云图(X1,1和X2,1)和置信度图(C1,1和C2,1)都以第一张图像(I1)的坐标系为基准。这种设计简化了后续的处理步骤,使得点云图可以直接在同一坐标系下进行操作和分析。

训练过程
  • 损失函数
    • 网络使用简单的回归损失函数(公式4)进行训练。损失函数基于预测的点云图和真实点云图之间的欧几里得距离进行计算。
    • 为了应对尺度模糊性,网络对预测和真实的点云图进行归一化处理,通过计算所有有效点到原点的平均距离来确定缩放因子。
    • 网络还会学习为每个像素预测一个置信度分数,这个置信度分数表示网络对该像素预测的可靠程度。最终的训练目标是置信度加权的回归损失。

5 实验评估

5.1 无地图视觉定位

        数据集:使用了Map-free relocalization benchmark,这是一项非常具有挑战性的测试,其中目标是在没有地图的情况下,仅凭一张参考图像确定相机在公制空间中的位置。测试集包括65个验证场景和130个测试场景。每个场景中,每帧视频剪辑的姿势必须相对于单个参考图像独立估计。

        协议:评价标准包括绝对相机姿态准确性(以5°和25厘米为阈值)和虚拟对应重投影误差(VCRE),后者测量虚拟3D点根据真实和估计相机姿态重投影误差的平均欧氏距离。

结果:DUSt3R在测试集上的表现优于所有现有方法,有时优势显著,定位误差小于1米。

5.2 恢复未知相机内参

        数据集:使用了BLUBB数据集来评估DUSt3R在没有内参信息的情况下恢复相机内参的能力。数据集提供了一系列场景,每个场景都具有已知的地面真实相机内参和3D点云。

        协议:评价标准包括相机内参的准确性和重建的3D点云的完整性。DUSt3R通过估计场景的相对姿态和尺度,结合已知的地面真实3D点云来恢复内参。

        结果:在没有先验相机信息的情况下,DUSt3R达到了平均2.7毫米的准确性,0.8毫米的完整性,总体平均距离为1.7毫米。这个精度水平在实际应用中非常有用,考虑到其即插即用的特性。

5.3 总结

        DUSt3R在多个3D视觉任务中展示了其卓越的性能,无需对特定下游任务进行微调。该模型在零样本设置下取得了令人印象深刻的结果,特别是在无地图视觉定位和未知相机内参恢复任务中表现出色。实验结果表明,DUSt3R不仅适用于3D重建任务,还能有效处理各种3D视觉任务,展示了其广泛的应用潜力和实际使用价值。

5.4 可视化

        论文包含了大量可视化内容,有助于理解概念和结果。这些包括流程图、架构细节和重建3D模型的视觉比较。

图3展示了两个场景的重建例子,这两个场景在训练期间从未见过。图像从左到右依次是:RGB图像、深度图、置信度图和重建结果。以下是对每部分的详细解析:

  1. RGB图像:

    • 这是输入的彩色图像,为网络提供了丰富的纹理和颜色信息,帮助进行3D重建。
  2. 深度图:

    • 这是网络预测的深度图,表示场景中每个像素到相机的距离。深度值越大,像素点离相机越远。深度图为重建提供了基础的几何信息。
  3. 置信度图:

    • 置信度图表示网络对每个像素深度预测的信心。高置信度区域通常表示预测较为准确的区域,而低置信度区域可能包含难以预测的部分,如天空、透明物体或反光表面。
  4. 重建结果:

    • 左边的场景显示了直接从网络f(I1, I2)输出的原始结果。可以看到,网络已经能够较为准确地重建场景的3D形状。
    • 右边的场景显示了经过全局对齐(第3.4节)的结果。全局对齐步骤进一步优化了重建结果,使其更加精确和一致。

通过展示这些结果,图3强调了DUSt3R方法在不同场景中的鲁棒性和有效性,尤其是其在未见过的场景中的表现。此外,置信度图的引入使得网络能够在不确定区域进行自适应调整,提高了重建的整体质量。

结论

        DUSt3R在几何3D视觉领域提供了显著的进步。其简化流程、结合鲁棒性和高效性,使其成为计算机视觉研究人员和从业者的宝贵工具。详细的实验评估和全面的可视化进一步加强了论文的贡献。

 

相关文章:

论文解读:【CVPR2024】DUSt3R: Geometric 3D Vision Made Easy

论文“”https://openaccess.thecvf.com/content/CVPR2024/papers/Wang_DUSt3R_Geometric_3D_Vision_Made_Easy_CVPR_2024_paper.pdf 代码:GitHub - naver/dust3r: DUSt3R: Geometric 3D Vision Made Easy DUSt3R是一种旨在简化几何3D视觉任务的新框架。作者着重于…...

springboot助农电商系统-计算机毕业设计源码08655

摘要 近年来,电子商务的快速发展引起了行业和学术界的高度关注。基于移动端的助农电商系统旨在为用户提供一个简单、高效、便捷的农产品购物体验,它不仅要求用户清晰地查看所需信息,而且还要求界面设计精美,使得功能与页面完美融合…...

【windows】电脑如何关闭Bitlocker硬盘锁

如果你的硬盘显示这样的一把锁,说明开启了Bitlocker硬盘加密。 Bitlocker硬盘锁,可以保护硬盘被盗,加密防止打开查看数据。 方法一:进入“控制面板->BitLocker 驱动器加密”进行设置。或者“控制面板\系统和安全->BitLocke…...

vue-cli 搭建项目,ElementUI的搭建和使用

vue-cli 官方提供的一个脚手架,用于快速生成一个vue的项目模板;预先定义 好的目录结构及基础代码,就好比咱们在创建Maven项目时可以选择创建一个 骨架项目,这个骨架项目就是脚手架,我们的开发更加的快速; …...

SQL-DDL操作

数据库操作 登录MySQL PS D:\WorkSpace\MachineLearning\DL_learning> mysql -u root -p Enter password: ****** Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 12 Server version: 8.0.37 MySQL Community Server - GPLCopy…...

帮粉丝用gpt写代码生成一个文字视频

文章目录 使用网站ValueError: could not broadcast input array from shape (720,1280) into shape (720,1280,3) 定义文本内容和动画参数定义视频参数创建背景使用 PIL 创建文本图像创建文本剪辑使用函数创建文本剪辑合并所有剪辑导出视频1. 理解错误信息2. 确认图像数组形状…...

IP白名单及其作用解析

在网络安全领域,IP白名单是一项至关重要的策略,它允许特定的IP地址或地址范围访问网络资源,从而确保只有受信任的终端能够连接。下面,我们将深入探讨IP白名单的定义、作用以及实施时的关键考虑因素。 一、IP白名单的定义 IP白名单…...

【Android八股文】如何对ListView RecycleView进行局部刷新的?

文章目录 一、如何对ListView进行局部刷新的?1.1 方法一:更新对应view的内容1.2 方法二:通过ViewHolder去设置值1.3 方法三:调用一次getView()方法1.4 封装在万能适配器当中1.5 总结二、如何对RecyclerView 进行局部刷新的?2.0 为什么会有DiffUtil?2.1 讲解一下DiffUtil2…...

力扣300. 最长递增子序列(动态规划)

Problem: 300. 最长递增子序列 文章目录 题目描述思路及解法复杂度Code 题目描述 思路及解法 明确题目涉及到求取最值问题因此我们可以考虑使用动态规划来解决问题 1.定义状态:定义int类型的dp数组表示以nums[i]结尾的序列的最长长度,初始化均为1即表示…...

【ARM】Ulink不同的系列对于芯片的支持和可以支持keil软件

【更多软件使用问题请点击亿道电子官方网站】 1、 文档目标 了解不同版本的ULINK可以支持的芯片架构,和ULINK可以和哪个系列的keil软件进行在线调试 2、 问题场景 用于了解不同ULINK仿真器对于芯片的支持是不一样的,并不是ULINK可以支持所有的keil软件…...

【入门】5分钟了解卷积神经网络CNN是什么

本文来自《老饼讲解-BP神经网络》https://www.bbbdata.com/ 目录 一、卷积神经网络的结构1.1.卷积与池化的作用2.2.全连接层的作用 二、卷积神经网络的运算2.1.卷积层的运算2.2.池化的运算2.3.全连接层运算 三、pytorch实现一个CNN例子3.1.模型的搭建3.2.CNN完整训练代码 CNN神…...

dB分贝入门

主要参考资料: dB(分贝)定义及其应用: https://blog.csdn.net/u014162133/article/details/110388145 目录 dB的应用一、声音的大小二、信号强度三、增益 dB的应用 一、声音的大小 在日常生活中,住宅小区告知牌上面标示噪音要低…...

力扣1744.你能在你最喜欢的那天吃到你最喜欢的糖果吗?

力扣1744.你能在你最喜欢的那天吃到你最喜欢的糖果吗&#xff1f; 对于第i类糖果求出吃到它的最大时间和最小时间 判断给定时间是否在范围内 注意&#xff1a; 同一天可以吃多种糖果 不是只能吃一种 class Solution {public:vector<bool> canEat(vector<int>&am…...

Redis的使用和原理

目录 1.初识Redis 1.1 Redis是什么&#xff1f; 1.2 Redis的特性 1.2.1 速度快 1.2.2 基于键值对的数据结构服务器 1.2.3 丰富的功能 1.2.4 简单稳定 1.2.5 持久化 1.2.6 主从复制 1.2.7 高可用和分布式 1.3 Redis的使用场景 1.3.1 缓存 1.3.2 排行榜系统 1.3.3 计数器应用 1.3…...

扫描全能王的AI驱动创新与智能高清滤镜技术解析

目录 引言1、扫描全能王2、智能高清滤镜黑科技2.1、图像视觉矫正2.2、去干扰技术 3、实际应用案例3.1、打印文稿褶皱检测3.2、试卷擦除手写3.3、老旧文件处理3.4、收银小票3.5、从不同角度扫描文档 4、用户体验结论与未来展望 引言 在数字化时代背景下&#xff0c;文档扫描功能…...

【Linux】Linux系统配置,linux的交互方式

1.Linux系统环境安装 有三种方式 裸机安装或者双系统 -- 不推荐虚拟机安装 --- 不推荐云服务器/安装简单&#xff0c; 维护成本低——推荐&#xff0c; 未来学习效果好 我们借助云服务器 云服务器&#xff08;Elastic Compute Service&#xff0c;ECS&#xff09;的标准定义…...

Linux中--prefix命令使用及源码安装

1.prefix - 指定文件安装路径通常与configure搭配使用&#xff1a; 在安装源码时可使用下述命令指定源码安装路径&#xff1a; bogon:httpd-2.4.59 wancanchishenma$./configure --prefix/usr/local/apache 2.源码的安装一般由3个步骤组成&#xff1a;配置&#xff08;configur…...

加速科技Flash存储测试解决方案 全面保障数据存储可靠性

Flash存储芯片 现代电子设备的核心数据存储守护者 Flash存储芯片是一种关键的非易失性存储器&#xff0c;作为现代电子设备中不可或缺的核心组件&#xff0c;承载着数据的存取重任。这种小巧而强大的芯片&#xff0c;以其低功耗、可靠性、高速的读写能力和巨大的存储容量&…...

数字化那点事:一文读懂数字乡村

一、数字乡村的定义 数字乡村是指利用信息技术和数字化手段&#xff0c;推动乡村社会经济发展和治理模式变革&#xff0c;提升乡村治理能力和公共服务水平&#xff0c;实现乡村全面振兴的一种新型发展模式。它包括农业生产的数字化、乡村治理的智能化、乡村生活的现代化等方面…...

彻底解决 macos中chrome应用程序 的 无法更新 Chrome 弹窗提示 mac自定义参数启动 chrome.app

mac系统中的chrome app应用在每次打开是都会提示一个 “无法更新 Chrome Chrome 无法更新至最新版本&#xff0c;因此您未能获得最新的功能和安全修复程序。” &#xff0c; 然而最新的chrome 程序似乎在某些情况下居然会出现 输入和显示不一致的情况&#xff0c;暂时不想升…...

【WiFi帧结构】

文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成&#xff1a;MAC头部frame bodyFCS&#xff0c;其中MAC是固定格式的&#xff0c;frame body是可变长度。 MAC头部有frame control&#xff0c;duration&#xff0c;address1&#xff0c;address2&#xff0c;addre…...

iPhone密码忘记了办?iPhoneUnlocker,iPhone解锁工具Aiseesoft iPhone Unlocker 高级注册版​分享

平时用 iPhone 的时候&#xff0c;难免会碰到解锁的麻烦事。比如密码忘了、人脸识别 / 指纹识别突然不灵&#xff0c;或者买了二手 iPhone 却被原来的 iCloud 账号锁住&#xff0c;这时候就需要靠谱的解锁工具来帮忙了。Aiseesoft iPhone Unlocker 就是专门解决这些问题的软件&…...

三体问题详解

从物理学角度&#xff0c;三体问题之所以不稳定&#xff0c;是因为三个天体在万有引力作用下相互作用&#xff0c;形成一个非线性耦合系统。我们可以从牛顿经典力学出发&#xff0c;列出具体的运动方程&#xff0c;并说明为何这个系统本质上是混沌的&#xff0c;无法得到一般解…...

BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践

6月5日&#xff0c;2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席&#xff0c;并作《智能体在安全领域的应用实践》主题演讲&#xff0c;分享了在智能体在安全领域的突破性实践。他指出&#xff0c;百度通过将安全能力…...

Axios请求超时重发机制

Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式&#xff1a; 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...

深度学习习题2

1.如果增加神经网络的宽度&#xff0c;精确度会增加到一个特定阈值后&#xff0c;便开始降低。造成这一现象的可能原因是什么&#xff1f; A、即使增加卷积核的数量&#xff0c;只有少部分的核会被用作预测 B、当卷积核数量增加时&#xff0c;神经网络的预测能力会降低 C、当卷…...

基于SpringBoot在线拍卖系统的设计和实现

摘 要 随着社会的发展&#xff0c;社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 在线拍卖系统&#xff0c;主要的模块包括管理员&#xff1b;首页、个人中心、用户管理、商品类型管理、拍卖商品管理、历史竞拍管理、竞拍订单…...

push [特殊字符] present

push &#x1f19a; present 前言present和dismiss特点代码演示 push和pop特点代码演示 前言 在 iOS 开发中&#xff0c;push 和 present 是两种不同的视图控制器切换方式&#xff0c;它们有着显著的区别。 present和dismiss 特点 在当前控制器上方新建视图层级需要手动调用…...

c# 局部函数 定义、功能与示例

C# 局部函数&#xff1a;定义、功能与示例 1. 定义与功能 局部函数&#xff08;Local Function&#xff09;是嵌套在另一个方法内部的私有方法&#xff0c;仅在包含它的方法内可见。 • 作用&#xff1a;封装仅用于当前方法的逻辑&#xff0c;避免污染类作用域&#xff0c;提升…...

使用SSE解决获取状态不一致问题

使用SSE解决获取状态不一致问题 1. 问题描述2. SSE介绍2.1 SSE 的工作原理2.2 SSE 的事件格式规范2.3 SSE与其他技术对比2.4 SSE 的优缺点 3. 实战代码 1. 问题描述 目前做的一个功能是上传多个文件&#xff0c;这个上传文件是整体功能的一部分&#xff0c;文件在上传的过程中…...