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

UniDepth 学习笔记

摘要
准确的单目度量深度估计(MMDE)是解决三维感知和建模中下游任务的关键。然而,最近的MMDE方法的显著准确性仅限于其训练领域。这些方法存在适度的域间隙,也不能推广到看不见的域,这阻碍了它们的实际适用性。本文提出一个新的模型,UniDepth,能够从跨域的单个图像中重建度量3D场景。与现有的MMDE方法不同,UniDepth在推理时直接预测输入图像的度量三维点,无需任何附加信息,争取一个通用而灵活的MMDE解决方案。特别是,UniDepth实现了一个自提示的相机模块(self-promptable camera module),预测密集的相机表示来训练深度特征。该模型利用了伪球形输出表示( pseudo-spherical output representation),分离了相机和深度表示。此外,本文提出了一个几何不变性损失(geometic invariance loss),以促进相机提示的深度特征的不变性。在零样本状态下,对10个数据集的彻底评估一致地证明了单深度的优越性能,即使与直接在测试领域上训练的方法相比。


介绍
精确的像素级深度估计对于理解几何场景结构至关重要,它在三维建模[10]、机器人[11,63]和自动驾驶汽车[38,51]中的应用。然而,提供可靠的度量尺度深度输出对于有效地执行三维重建是必要的,从而激发了单眼度量深度估计(MMDE)的具有挑战性和固有的倾斜任务。

虽然现有的MMDE方法[3,14,16,40,41,43,61]在不同的基准测试中显示出了显著的准确性,但它们需要在具有相似的相机内参和场景尺度的数据集上进行训练和测试。此外,训练数据集的大小通常有限,场景和摄像机的多样性也很少。这些导致模型很难泛化到真实世界场景。

只有少数方法[21,59]解决了可泛化MMDE的挑战性任务。然而,这些方法假设在测试时有受控的设置,包括相机内参。虽然这种假设简化了任务,但它有两个显著的缺点。首先,它具有局限的应用范围,如在野外的视频处理和大众图像分析。其次,将固有的摄像机参数噪声直接注入模型中,导致在高噪声情况下产生较大的误差。

在这项工作中,作者解决了更苛刻的通用MMDE任务,而不依赖任何额外的外部信息,如相机参数,从而定义了通用的MMDE任务。我们的方法,名为UniDepth,是第一个尝试解决这个不受场景组成和设置限制的具有挑战性的任务的方法,并通过其通用性和适应性来区分自己。与现有的方法不同,UniDepth仅从单个图像为任何场景提供度量的3D预测,而无需提供关于场景或相机的额外信息。此外,Unidepth灵活地允许在测试时合并额外的相机信息。

我们的设计引入了一个相机模块,它输出一个非参数的,即密集的相机表示(dense camera representation),作为对深度模块的提示。然而,仅仅依赖于这个单一的额外模块显然会导致与训练稳定性和规模模糊性(scale ambiguity)相关的挑战。作者提出了一种有效的输出空间的伪球面表示(pseudo-spherical representation)来解开该空间相机和的深度维度。这种表示对相机使用了方位角和仰角组件,深度使用了径向组件,在相机平面和深度轴之间形成一个完美的正交空间。此外,摄像机组件嵌入通过拉普拉斯球谐波编码。图1描述了我们的相机自提示机制和输出空间。此外,我们引入了一个几何不变性损失来增强深度估计的鲁棒性。其潜在的想法是,来自同一图像的两个视图的相机条件下的深度特征应该表现出相互的一致性。特别地,我们采样了两个几何增强,为每个训练图像创建一对不同的视图,从而模拟原始场景的不同的外观摄像机。

我们的总体贡献是第一个通用的MMDE方法,UniDepth,它预测了每个像素的度量三维空间中的一个点,除了一个图像之外没有任何输入。特别地,首先,我们设计了一个可提示的相机模块,这是一个架构组件,它可以学习密集的相机表示,并允许非参数的相机条件反射。其次,我们提出了一个输出空间的伪球面表示,从而解决了相机和深度预测的交织本质。.此外,我们引入了一个几何不变性损失来分离相机信息从场景的底层三维几何。此外,我们在一个公平和可比较的零镜头设置的10个不同的数据集上广泛地测试和重新评估了7种MMDE最先进状态(SotA)方法,为广义MMDE任务奠定了基础。由于其设计,与非零射击方法相比,统一深度始终创造了新的技术状态,在竞争激烈的官方KITTI深度预测基准中排名第一。


相关工作
度量和尺度无关的深度估计。区分单目度量深度估计(MMDE)与尺度不可知的,即大尺度的单目深度估计是至关重要的。MMDE SotA方法通常将训练和测试限制在同一领域。然而,出现了挑战,比如对训练场景的过拟合导致在存在微小的领域差距时性能显著下降,这在NYUDepthv2 [35](NYU)和KITTI [18]等基准测试中经常被忽视。另一方面,与尺度无关的深度方法,包括MiDaS [42],通过在广泛的数据集上进行训练,显示出鲁棒的泛化。它们的局限性在于缺乏度量输出,阻碍了在下游应用程序中的实际使用。

单目度量深度估计。由[14]率先在MMDE中引入了端到端可训练神经网络,标志着一个重要的里程碑,也通过尺度不变log损失(SIlog)引入了优化过程。随后的发展见证了先进网络的出现,从基于卷积的体系结构[16,27,31,40]到基于变压器的方法[3,41,57,61]。尽管在已建立的基准测试上取得了令人印象深刻的成就,但MMDE模型在零射击场景中面临着挑战,这揭示了对外观和几何形状上的领域变化进行鲁棒泛化的需要。

一般的单目度量深度估计。最近的工作集中在开发MMDE模型[4,21,59],用于跨不同领域的一般深度预测。这些模型通常利用相机感知,要么通过直接将外部相机参数合并到计算[15,21]中,要么通过基于内在属性规范化形状或输出深度,如[1,28,59]所示。

然而,这些可泛化的MMDE方法通常采用特定的策略来提高性能,例如几何预训练[4]或特定于数据集的先验,如重塑[59]。此外,这些方法假设在训练和测试时间都可以获得无噪声摄像机的内部信息,这也限制了它们对针孔摄像机模型的适用性。此外,SotA方法依赖于一个预定义的反向投影操作,模糊了学习深度和三维场景之间的区别。相比之下,我们的方法旨在克服这些限制,提出一个更苛刻的视角,例如通用MMDE。通用MMDE涉及从输入图像直接预测3D场景,没有除了后者之外的任何附加信息。值得注意的是,我们在测试时不需要任何额外的先验信息,比如访问相机信息。

UniDepth
MMDE SotA方法通常假设可以访问相机的内部信息,从而模糊了纯深度估计和实际三维估计之间的界限。相比之下,UniDepth的目标是创建一个可在不同场景中部署的通用MMDE模型,而不依赖于任何其他外部信息,如相机固有的信息,从而通过设计进行三维空间估计。然而,试图在没有适当内部表示的情况下直接从单个图像预测三维点忽略了几何先验知识,即透视几何,重新学习数据透视投影定律加重了学习过程的负担。


3.1引入了输出空间的伪球面表示,以内在的地将相机光线的角度与深度分离。另外,本文的初步研究表明,该深度预测显然受益于采集传感器的先验信息,因此,在2.3中引入了自提示相机操作。在内部深度特征水平上的进一步解纠缠是通过几何不变性损失来实现的,在3.3中概述。这种损失确保了深度特征在引导相机预测条件下保持不变,促进了稳健的相机感知深度预测。总体架构和由设计选择的组合引起的结果优化在3.4.中详细介绍。

3D表示
本文的MMDE模型的目的是推断深度和相机内参,以仅基于图像进行三维预测。作者设计了一个三维输出空间将两个子任务自然地分离开,即深度估计和相机校准(calibration)。特别地,作者利用伪球形表示,其中基由方位角、航向角和log深度表示,即(θ,fai,zlog),而不是笛卡尔表示(x,y,z)。所提出的伪球表示的优势在于相机(θ,ϕ)和深度(zlog)分量的解耦,通过设计确保了它们的正交性,而不是笛卡尔表示中的纠缠。


自提示相机模块
摄像机模块在最终的三维预测中起着至关重要的作用,因为它的角度密集输出占了输出空间的两个维度,即方位角和仰角。最重要的是,这些嵌入会提示深度模块,以确保对输入场景的全局深度尺度的引导先验知识。提示是避免场景尺度中的模式崩溃的基础,并减轻了深度模块从头开始预测深度的负担,因为尺度已经被摄像机输出建模。

几何一致性损失
当深度模块以特定摄像机为条件时,不同摄像机捕捉到的同一场景的空间位置应该相对应。为此,我们提出了一个几何不变性损失来加强来自不同采集传感器的同一场景的摄像机提示深度特征的一致性。特别是,从相同的3D位置提取的特征必须具有一致性。

结构设计

————————————————

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
                        
原文链接:https://blog.csdn.net/weixin_43985824/article/details/139518351

相关文章:

UniDepth 学习笔记

摘要 准确的单目度量深度估计(MMDE)是解决三维感知和建模中下游任务的关键。然而,最近的MMDE方法的显著准确性仅限于其训练领域。这些方法存在适度的域间隙,也不能推广到看不见的域,这阻碍了它们的实际适用性。本文提出…...

PVE——OpenWRT 硬盘 size单位的调整

​​​​​ 问题:初始状态为120MB 还需要进行计算,如果通过图形界面添加磁盘会出现单位不变的情况。 进入命令行前记得给你的虚拟机拍照,防止误操作 通过ssh 进入PVE命令行 按需添加容量即可 不到1G 会显示M 超过1G 不是G整数均为M单位。 …...

Android-ImagesPickers 拍照崩溃优化

Android-ImagesPickers 作为老牌图片选择器,帮助了很多牛马宝宝,刚好最近用到了多相册选择以及拍照,可能是高版本机型问题,导致拍照后就闪退 原作者文章以及git Android实用视图动画及工具系列之九:漂亮的图片选择器…...

Linux dd 命令详解:工作原理与实用指南(C/C++代码实现)

这段代码是一个模仿 Linux dd 命令的工具,它用于在不同文件之间复制数据。dd 是一个非常强大的命令行工具,可以用于数据备份、转换和复制。下面我将详细解释这段代码的原理、实现方式以及如何运行和测试。 Linux dd 命令的工作原理 dd 命令是 Unix 和 …...

Golang学习历程【第一篇 入门】

Golang学习历程【第一篇 入门Hello World】 1. 学习文档2. Window 本地安装Go2.1 安装2.2 验证 3. 开发环境——VsCode3.1 VsCode 安装3.2 安装插件3.2.1 language 语言汉化插件安装3.2.2 Go插件安装 4. Hello World 入门4.1 建工程4.2 创建项目文件4.3 编写Hello World程序4.4…...

青少年编程与数学 02-004 Go语言Web编程 01课题、Web应用程序

青少年编程与数学 02-004 Go语言Web编程 01课题、Web应用程序 课题摘要:一、Web应用程序二、Web服务器(一)什么是Web服务器(二)Web服务器配置1. 选择服务器软件2. 安装服务器软件3. 配置服务器4. 安全设置5. 部署网站内容6. 测试服…...

【mysql】如何解决主从架构从库延迟问题

目录 1. 说明2.优化主库的写入性能3. 优化网络性能4. 增强从库的硬件性能5. 调整从库的配置6. 主从架构优化7. 监控和调优8.使用 GTID 和 Group Replication 1. 说明 1.在 MySQL 数据库中,从库延迟(replication lag)是指主库和从库之间的数据…...

前端学习-获取DOM对象(二十一)

目录 前言 目标 提问 学习路径 根据CSS选择器来获取DOM元素 其他获取DOM元素的方法 根据CSS选择器来获取DOM元素 选择匹配的第一个元素 语法 示例 参数 返回值 选择匹配的多个元素语法 参数 字符串返回值 示例 补充 其它获取DOM元素方法 根据id获取一个元素 …...

PCL点云库入门——PCL库中Eigen数学工具库的基本使用(持续更新)

0、前言 PCL点云库中的算法都基于Eigen数学工具库来实现的,因此,掌握Eigen库对于深入理解和应用PCL点云库至关重要。Eigen库不仅提供了高效的矩阵和向量运算,还支持复杂的线性代数、几何变换等操作,为PCL点云处理提供了强大的数学…...

CLion Inlay Hints - 取消 CLion 灰色的参数和类型提示

CLion Inlay Hints - 取消 CLion 灰色的参数和类型提示 1. Parameter hints for C/C1.1. Toggle parameter hints globally 2. Type hints for C/C2.1. Toggle type hints globally 3. Toggle inlay hints globallyReferences https://www.jetbrains.com/help/clio…...

2025山东科技大学考研专业课复习资料一览

[冲刺]2025年山东科技大学020200应用经济学《814经济学之西方经济学[宏观部分]》考研学霸狂刷870题[简答论述计算题]1小时前[强化]2025年山东科技大学085600材料与化工《817物理化学》考研强化检测5套卷22小时前[冲刺]2025年山东科技大学030100法学《704综合一[法理学、国际法学…...

vue3 v-model实例之二,tab标签页的实现

<template><div><Tab v-model"activeTab" :list"tabs" /><div><p>当前激活的 Tab 索引: {{ activeTab }}</p></div></div> </template><script setup> import { ref } from vue; import Tab …...

东方通TongWeb7.0.4.9M4部署SuperMap iServer 11.2.1

一、软件版本 操作系统: CentOS Linux release 7.5.1804 (Core)JDK:11.0.18东方通&#xff1a;TongWeb7.0.4.9M4SuperMap iServer&#xff1a;11.2.1 JDK和TongWeb软件分享&#xff1a; 链接: https://pan.baidu.com/s/1HGDTPnPID0PEOMbg3FjTVQ?pwdbh8v 提取码: bh8v 东方通软…...

QT绘制同心扇形

void ChartForm::paintEvent(QPaintEvent *) {QPainter painter(this);painter.setRenderHint(QPainter::Antialiasing);// 设置抗锯齿painter.save();// 设置无边框&#xff08;不需要设置QPen&#xff0c;因为默认是不绘制边框的&#xff09;QPen pen(Qt::NoPen);// QPen pen…...

2012年西部数学奥林匹克试题(几何)

2012/G1 △ A B C \triangle ABC △ABC 内有一点 P P P, P P P 在 A B AB AB, A C AC AC 上的投影分别为 E E E, F F F, 射线 B P BP BP, C P CP CP 分别交 △ A B C \triangle ABC △ABC 的外接圆于点 M M M, N N N. r r r 为 △ A B C \triangle ABC △ABC 的内…...

8位移位寄存器的verilog语言

module shift_register (output reg [7:0] Q, // 8位移位寄存器输出input D, // 输入数据input rst, // 复位信号input clk // 时钟信号 );always (posedge clk) beginif (!rst)Q < 8b00000000; // 复位时将Q清零elseQ < {Q[6:0], D}; // 否则…...

【苍穹外卖】学习心得体会-随笔

前言 写了很久&#xff0c;终于可以完整运行项目了&#xff0c;记录下这几天的心得体会回顾一下知识点 第一天、Git 分布式版本控制工具 一、Git概述 定义&#xff1a;是分布式版本控制工具&#xff0c;用于管理软件开发中的源代码文件&#xff0c;像Java类、xml文件、html…...

MySQL学习之表的增删改

MySQL学习之表的增删改 语法总结&#xff1a; INSERT INTO 表名 (字段名1, 字段名2, ...) VALUES (值1, 值2, ...); //指定字段添加数据 INSERT INTO 表名 VALUES (值1, 值2, ...); //给全部字段添加数据 INSERT INTO 表名 VALUES (值1, 值2, ...), (值1, 值2, ...), (值1, …...

电脑excel词典(xllex.dll)文件丢失是或损坏是什么原因?“xllex.dll文件缺失“要怎么解决?

Excel词典&#xff08;xllex.dll&#xff09;文件丢失或损坏&#xff1f;别担心&#xff0c;这里有解决之道&#xff01; 在日常的电脑使用和办公软件操作中&#xff0c;我们偶尔会碰到一些让人头疼的问题&#xff0c;比如Excel突然提示“Excel词典&#xff08;xllex.dll&…...

【CSS in Depth 2 精译_084】第 14 章:CSS 蒙版、形状与剪切概述 + 14.1:CSS 滤镜

当前内容所在位置&#xff08;可进入专栏查看其他译好的章节内容&#xff09; 第四部分 视觉增强技术 ✔️【第 14 章 蒙版、形状与剪切】 ✔️ 14.1 滤镜 ✔️ 14.1.1 滤镜的类型 ✔️14.1.2 背景滤镜 ✔️ 14.2 蒙版 文章目录 第 14 章 蒙版、形状与剪切 Masks, shapes, and…...

【杂谈】-递归进化:人工智能的自我改进与监管挑战

递归进化&#xff1a;人工智能的自我改进与监管挑战 文章目录 递归进化&#xff1a;人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管&#xff1f;3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...

相机Camera日志实例分析之二:相机Camx【专业模式开启直方图拍照】单帧流程日志详解

【关注我&#xff0c;后续持续新增专题博文&#xff0c;谢谢&#xff01;&#xff01;&#xff01;】 上一篇我们讲了&#xff1a; 这一篇我们开始讲&#xff1a; 目录 一、场景操作步骤 二、日志基础关键字分级如下 三、场景日志如下&#xff1a; 一、场景操作步骤 操作步…...

【磁盘】每天掌握一个Linux命令 - iostat

目录 【磁盘】每天掌握一个Linux命令 - iostat工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景 注意事项 【磁盘】每天掌握一个Linux命令 - iostat 工具概述 iostat&#xff08;I/O Statistics&#xff09;是Linux系统下用于监视系统输入输出设备和CPU使…...

OkHttp 中实现断点续传 demo

在 OkHttp 中实现断点续传主要通过以下步骤完成&#xff0c;核心是利用 HTTP 协议的 Range 请求头指定下载范围&#xff1a; 实现原理 Range 请求头&#xff1a;向服务器请求文件的特定字节范围&#xff08;如 Range: bytes1024-&#xff09; 本地文件记录&#xff1a;保存已…...

【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验

系列回顾&#xff1a; 在上一篇中&#xff0c;我们成功地为应用集成了数据库&#xff0c;并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了&#xff01;但是&#xff0c;如果你仔细审视那些 API&#xff0c;会发现它们还很“粗糙”&#xff1a;有…...

拉力测试cuda pytorch 把 4070显卡拉满

import torch import timedef stress_test_gpu(matrix_size16384, duration300):"""对GPU进行压力测试&#xff0c;通过持续的矩阵乘法来最大化GPU利用率参数:matrix_size: 矩阵维度大小&#xff0c;增大可提高计算复杂度duration: 测试持续时间&#xff08;秒&…...

【HTTP三个基础问题】

面试官您好&#xff01;HTTP是超文本传输协议&#xff0c;是互联网上客户端和服务器之间传输超文本数据&#xff08;比如文字、图片、音频、视频等&#xff09;的核心协议&#xff0c;当前互联网应用最广泛的版本是HTTP1.1&#xff0c;它基于经典的C/S模型&#xff0c;也就是客…...

深度学习之模型压缩三驾马车:模型剪枝、模型量化、知识蒸馏

一、引言 在深度学习中&#xff0c;我们训练出的神经网络往往非常庞大&#xff08;比如像 ResNet、YOLOv8、Vision Transformer&#xff09;&#xff0c;虽然精度很高&#xff0c;但“太重”了&#xff0c;运行起来很慢&#xff0c;占用内存大&#xff0c;不适合部署到手机、摄…...

HybridVLA——让单一LLM同时具备扩散和自回归动作预测能力:训练时既扩散也回归,但推理时则扩散

前言 如上一篇文章《dexcap升级版之DexWild》中的前言部分所说&#xff0c;在叠衣服的过程中&#xff0c;我会带着团队对比各种模型、方法、策略&#xff0c;毕竟针对各个场景始终寻找更优的解决方案&#xff0c;是我个人和我司「七月在线」的职责之一 且个人认为&#xff0c…...

uniapp 集成腾讯云 IM 富媒体消息(地理位置/文件)

UniApp 集成腾讯云 IM 富媒体消息全攻略&#xff08;地理位置/文件&#xff09; 一、功能实现原理 腾讯云 IM 通过 消息扩展机制 支持富媒体类型&#xff0c;核心实现方式&#xff1a; 标准消息类型&#xff1a;直接使用 SDK 内置类型&#xff08;文件、图片等&#xff09;自…...