【深度学习】深度估计,Depth Anything Unleashing the Power of Large-Scale Unlabeled Data

论文标题:Depth Anything Unleashing the Power of Large-Scale Unlabeled Data
论文地址:https://arxiv.org/pdf/2401.10891.pdf
项目主页:https://depth-anything.github.io/
演示地址:https://huggingface.co/spaces/LiheYoung/Depth-Anything

这项工作提出了“Depth Anything”,一种用于鲁棒单目深度估计的高度实用的解决方案。我们的目标是构建一个基础模型,能够在任何情况下处理任何图像。为此,我们通过设计一个数据引擎来收集和自动注释大规模未标记数据(约6200万),显著扩大了数据覆盖范围,从而能够降低泛化误差。我们研究了两种简单但有效的策略,使得数据规模扩大成为可能。首先,通过利用数据增强工具创建了一个更具挑战性的优化目标,迫使模型主动寻求额外的视觉知识并获取鲁棒的表示。其次,开发了一个辅助监督,以强制模型继承来自预训练编码器的丰富语义先验。我们广泛评估了其零样本能力,包括六个公共数据集和随机捕获的照片。它展示了令人印象深刻的泛化能力。通过对NYUv2和KITTI进行微调,设置了新的最佳水平。我们的更好的深度模型还导致了一个更好的深度条件ControlNet。我们的模型在这里发布。

该工作是在TikTok实习期间完成的。我们强调大规模、廉价和多样化的未标记图像数据的价值对于MDE(单目深度估计)而言。我们提出了在联合训练大规模标记和未标记图像时的一个关键实践。我们的模型展示了比MiDaS-BEiT L-512更强的零样本能力。此外,经过与度量深度的微调,它显著超过了ZoeDepth。
我们的工作使用了标记和未标记的图像来促进更好的单目深度估计(MDE)。具体来说,对于未标记的图像,我们提出通过在学习伪标签时对学生模型提出更具挑战性的优化目标,使其主动寻求额外的视觉知识并学习更鲁棒的表示。此外,我们通过简单的特征对齐损失保留了丰富的语义先验,而不是使用辅助的语义分割任务。这不仅增强了MDE性能,还为中高级感知任务产生了多任务编码器。

实验部分详细说明了我们的实现细节,展示了在零样本相对深度估计、微调后的度量深度估计和语义分割等方面的性能。我们的Depth Anything模型不仅在零样本深度估计中表现出色,而且还证明了作为下游度量深度估计和语义分割任务的有前途的权重初始化。通过大规模和高质量的MDE训练,我们的模型显著提高了DINOv2在下游任务中的性能,并提供了可视化结果以展示其鲁棒性和准确性。

这项工作提出了一个强大的框架,通过利用大规模未标记数据和继承丰富的语义先验,显著提高了单目深度估计的性能,同时为下游任务提供了一个强大的预训练模型。

实操:

clone项目:

git clone https://github.com/LiheYoung/Depth-Anything
cd Depth-Anything
pip install -r requirements.txt

运行:

# 大模型
python run.py --encoder vitl --img-path assets/examples --outdir depth_vis
# 中模型
python run.py --encoder vitb --img-path assets/examples --outdir depth_vis
# 小模型
python run.py --encoder vits --img-path assets/examples --outdir depth_vis

运行graidio:

python app.py

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

23.1 微服务理论基础

23.1 微服务基础 1. 微服务介绍2. 微服务特点3. 微服务优缺点4. 微服务两大门派5. 微服务拆分6. 微服务扩展6.1 服务扩展6.2 按需扩展7. 微服务重要模块******************************************************************************************************************

C#,图论与图算法,图着色问题(Graph Coloring)的威尔士-鲍威尔(Welch Powell Algorithm)算法与源代码

Welsh, D.J.A. and Powell, M.B. (1967) An Upper Bound for the Chromatic Number of a Graph and Its Application to Timetabling Problems. 《The Computer Journal》, 10, 85-86. 《The Computer Journal》 1 图着色算法概述 1967年,Welsh和Powell算法引入了…

vivo统一接入网关VUA转发性能优化实践

作者:vivo 互联网服务器团队 - Qiu Xiangcun 本文将探讨如何通过使用Intel QuickAssist Technology(QAT)来优化VUA的HTTPS转发性能。我们将介绍如何使用QAT通过硬件加速来提高HTTPS转发的性能,并探讨QAT在不同应用场景中的表现。最…

每日学习笔记:C++ 11的Tuple

#include <tuple> Tuple介绍(不定数的值组--可理解为pair的升级版) 定义 创建 取值 初始化 获取tuple元素个数、获取tuple某元素类型、将2个tuple类型串接为1个新tuple类型

自动控制原理--matlab/simulink建模与仿真

第一讲 自动控制引论 第二讲 线性系统的数学模型 第三讲 控制系统的复域数学模型(传递函数) 第四讲 控制系统的方框图 /video/BV1L7411a7uL/?p35&spm_id_frompageDriver pandas, csv数据处理 numpy&#xff0c;多维数组的处理 Tensor&#xff0c;PyTorch张量 工作原理图…

数据结构:堆

堆的概念 1.堆是一个完全二叉树 2.小堆(任何一个父亲<孩子),大堆(任何一个父亲>孩子) 堆的结构 物理结构:数组 逻辑结构:二叉树 #pragma once #include<assert.h> #include<iostream> typedef int HPDataType; typedef struct Heap {HPDataType* _a;int…

6-LINUX-- C 程序的编译与调试

一.环境搭建 1.gcc的安装 1>.切换到管理员模式 sudo su ----> 输入密码 2>.apt install gcc //C语言的编译环境 3>.apt install g //c编译环境的搭建 4>.install update //软件升级 2.gcc分步编译链接 &#xff08;1&#xff09;预编译 gcc -E…

尚硅谷SpringBoot3笔记 (二) Web开发

Servlet&#xff0c;SpringMVC视频推荐&#xff1a;53_尚硅谷_servlet3.0-简介&测试_哔哩哔哩_bilibili HttpServlet 是Java Servlet API 的一个抽象类&#xff0c;用于处理来自客户端的HTTP请求并生成HTTP响应。开发人员可以通过继承HttpServlet类并重写其中的doGet()、do…

wifi的5G和3GPP的5G

wifi 5G 跑的是802.11的协议。 wifi的5G指的就是频率&#xff0c;例如wifi2.4G&#xff0c;其频段处于2.400GHz~2.4835GHz之间&#xff0c;wifi5G的频率范围为5.15GHz到5.875GHz&#xff0c;其中包括多个频道。 这里有个误区&#xff0c;并不是运行在5GHz频段的WI-FI就是5G …

普发Pfeiffer DUO20/DU020C 旋片泵故障维修维护保养手册和装配图

普发Pfeiffer DUO20/DU020C 旋片泵故障维修维护保养手册和装配图

Chrome的V8引擎 和操作系统交互介绍

Chrome的V8引擎是一个用C编写的开源JavaScript和WebAssembly引擎&#xff0c;它被用于Chrome浏览器中&#xff0c;以解释和执行JavaScript代码。V8引擎将JavaScript代码转换为机器代码&#xff0c;这使得JavaScript能够以接近本地代码的速度运行。 V8引擎与操作系统的交互主要体…