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东方通:TongWeb7.0.4.9M4SuperMap iServer:11.2.1 JDK和TongWeb软件分享: 链接: https://pan.baidu.com/s/1HGDTPnPID0PEOMbg3FjTVQ?pwdbh8v 提取码: bh8v 东方通软…...
QT绘制同心扇形
void ChartForm::paintEvent(QPaintEvent *) {QPainter painter(this);painter.setRenderHint(QPainter::Antialiasing);// 设置抗锯齿painter.save();// 设置无边框(不需要设置QPen,因为默认是不绘制边框的)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}; // 否则…...
【苍穹外卖】学习心得体会-随笔
前言 写了很久,终于可以完整运行项目了,记录下这几天的心得体会回顾一下知识点 第一天、Git 分布式版本控制工具 一、Git概述 定义:是分布式版本控制工具,用于管理软件开发中的源代码文件,像Java类、xml文件、html…...
MySQL学习之表的增删改
MySQL学习之表的增删改 语法总结: 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词典(xllex.dll)文件丢失或损坏?别担心,这里有解决之道! 在日常的电脑使用和办公软件操作中,我们偶尔会碰到一些让人头疼的问题,比如Excel突然提示“Excel词典(xllex.dll&…...
【CSS in Depth 2 精译_084】第 14 章:CSS 蒙版、形状与剪切概述 + 14.1:CSS 滤镜
当前内容所在位置(可进入专栏查看其他译好的章节内容) 第四部分 视觉增强技术 ✔️【第 14 章 蒙版、形状与剪切】 ✔️ 14.1 滤镜 ✔️ 14.1.1 滤镜的类型 ✔️14.1.2 背景滤镜 ✔️ 14.2 蒙版 文章目录 第 14 章 蒙版、形状与剪切 Masks, shapes, and…...
从零实现富文本编辑器#5-编辑器选区模型的状态结构表达
先前我们总结了浏览器选区模型的交互策略,并且实现了基本的选区操作,还调研了自绘选区的实现。那么相对的,我们还需要设计编辑器的选区表达,也可以称为模型选区。编辑器中应用变更时的操作范围,就是以模型选区为基准来…...
《用户共鸣指数(E)驱动品牌大模型种草:如何抢占大模型搜索结果情感高地》
在注意力分散、内容高度同质化的时代,情感连接已成为品牌破圈的关键通道。我们在服务大量品牌客户的过程中发现,消费者对内容的“有感”程度,正日益成为影响品牌传播效率与转化率的核心变量。在生成式AI驱动的内容生成与推荐环境中࿰…...
【JavaSE】绘图与事件入门学习笔记
-Java绘图坐标体系 坐标体系-介绍 坐标原点位于左上角,以像素为单位。 在Java坐标系中,第一个是x坐标,表示当前位置为水平方向,距离坐标原点x个像素;第二个是y坐标,表示当前位置为垂直方向,距离坐标原点y个像素。 坐标体系-像素 …...
Spring AI与Spring Modulith核心技术解析
Spring AI核心架构解析 Spring AI(https://spring.io/projects/spring-ai)作为Spring生态中的AI集成框架,其核心设计理念是通过模块化架构降低AI应用的开发复杂度。与Python生态中的LangChain/LlamaIndex等工具类似,但特别为多语…...
精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南
精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南 在数字化营销时代,邮件列表效度、用户参与度和网站性能等指标往往决定着创业公司的增长成败。今天,我们将深入解析邮件打开率、网站可用性、页面参与时…...
Redis的发布订阅模式与专业的 MQ(如 Kafka, RabbitMQ)相比,优缺点是什么?适用于哪些场景?
Redis 的发布订阅(Pub/Sub)模式与专业的 MQ(Message Queue)如 Kafka、RabbitMQ 进行比较,核心的权衡点在于:简单与速度 vs. 可靠与功能。 下面我们详细展开对比。 Redis Pub/Sub 的核心特点 它是一个发后…...
C/C++ 中附加包含目录、附加库目录与附加依赖项详解
在 C/C 编程的编译和链接过程中,附加包含目录、附加库目录和附加依赖项是三个至关重要的设置,它们相互配合,确保程序能够正确引用外部资源并顺利构建。虽然在学习过程中,这些概念容易让人混淆,但深入理解它们的作用和联…...
Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement
Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement 1. LAB环境2. L2公告策略2.1 部署Death Star2.2 访问服务2.3 部署L2公告策略2.4 服务宣告 3. 可视化 ARP 流量3.1 部署新服务3.2 准备可视化3.3 再次请求 4. 自动IPAM4.1 IPAM Pool4.2 …...
MySQL的pymysql操作
本章是MySQL的最后一章,MySQL到此完结,下一站Hadoop!!! 这章很简单,完整代码在最后,详细讲解之前python课程里面也有,感兴趣的可以往前找一下 一、查询操作 我们需要打开pycharm …...
基于stm32F10x 系列微控制器的智能电子琴(附完整项目源码、详细接线及讲解视频)
注:文章末尾网盘链接中自取成品使用演示视频、项目源码、项目文档 所用硬件:STM32F103C8T6、无源蜂鸣器、44矩阵键盘、flash存储模块、OLED显示屏、RGB三色灯、面包板、杜邦线、usb转ttl串口 stm32f103c8t6 面包板 …...
