Depth Anything V2:抖音开源高性能任何单目图像深度估计V2版本,并开放具有精确注释和多样化场景的多功能评估基准

📜文献卡


题目: Depth Anything V2
作者: Lihe Yang; Bingyi Kang; Zilong Huang; Zhen Zhao; Xiaogang Xu; Jiashi Feng; Hengshuang Zhao
DOI: 10.48550/arXiv.2406.09414
摘要: This work presents Depth Anything V2. Without pursuing fancy techniques, we aim to reveal crucial findings to pave the way towards building a powerful monocular depth estimation model. Notably, compared with V1, this version produces much finer and more robust depth predictions through three key practices: 1) replacing all labeled real images with synthetic images, 2) scaling up the capacity of our teacher model, and 3) teaching student models via the bridge of large-scale pseudo-labeled real images. Compared with the latest models built on Stable Diffusion, our models are significantly more efficient (more than 10x faster) and more accurate. We offer models of different scales (ranging from 25M to 1.3B params) to support extensive scenarios. Benefiting from their strong generalization capability, we fine-tune them with metric depth labels to obtain our metric depth models. In addition to our models, considering the limited diversity and frequent noise in current test sets, we construct a versatile evaluation benchmark with precise annotations and diverse scenes to facilitate future research.
GitHub: DepthAnything/Depth-Anything-V2: Depth Anything V2. A More Capable Foundation Model for Monocular Depth Estimation (github.com)

在这里插入图片描述

⚙️ 内容

实现了一种名为“深度任意物V2”的单目深度估计算法,旨在通过三个关键实践:使用合成图像代替真实标记图、增加教师模型容量以及通过大规模伪标记的真实图像教授学生模型等方法,提高深度预测精度和鲁棒性。与基于Stable Diffusion的最新模型相比,该算法更加高效(比其快10倍以上)且准确度更高。作者提供了不同规模(从25M到1.3B参数)的模型以支持各种场景,并利用它们的强大泛化能力,在带有深度标签的数据集上进行微调,从而获得我们的深度测量模型。此外,考虑到当前测试数据集的有限多样性和频繁噪声,作者还构建了一个具有精确注释和多样化场景的灵活评估基准,以促进未来的研究。

test1

模型优点:

  • 高效性:更快的推理速度
  • 精度:更高的深度精度
  • 轻量级模型:参数少(从25M到1.3B)

💡 创新点

  • 数据驱动的深度学习优化:通过全面采用高质量合成图像作为训练数据源,克服了真实图像标签噪声的问题。

  • 模型架构与训练策略:引入了教师-学生模型框架,其中大型教师模型先在合成数据上训练,然后生成伪标签用于训练小型学生模型,有效转移知识并提升模型的泛化性能。

  • 深度预测的精度与多样性:无需依赖复杂技术,仅通过数据和模型结构的优化,显著提升了深度预测的准确度,尤其是在透明表面等挑战性对象上的表现。

  • 多功能评估基准:构建了新的测试基准,以促进未来单目深度估计研究的发展。

架构图

🧩 不足

  • 合成数据的局限性:尽管合成图像在提供精确标签方面有优势,但它们缺乏真实世界的多样性和复杂性,即存在合成图像与真实图像之间存在分布漂移问题和合成图像的场景覆盖不足问题,可能导致模型在某些特定或罕见场景下的表现不佳。
  • 深度预测的泛化能力:虽然模型在训练数据集上表现优异,但在未见过的极端或新奇环境下可能仍面临挑战。
  • 特殊场景表现不佳:透明对象和反射表面处理不佳

🔁 实验卡


💧 数据

  • 来源与预处理:研究使用了五个精确的合成数据集(含595K张图像)和八个大型的伪标签真实数据集(共62M张图像)。合成数据集如Hypersim和vKITTI提供了高精度的深度标签,而真实图像则用于生成大规模的伪标签。
  • 忽略噪声区域:在训练过程中,对于每个伪标签样本,会忽略其损失最大的前10%区域,视为潜在的噪声标签。

方法改进

与V1相比,该方法采用了更精确的合成数据集和更大的伪标签真实数据集,从而提高了模型的精度和泛化能力。此外,该方法还加入了梯度匹配损失Lgm,可以提高深度的锐度。

👩🏻‍💻 方法

  • 教师模型训练:基于DINOv2-G的教师模型在高质合成图像上进行训练。
  • 深度标签生成:教师模型在大规模未标记的真实图像上产生精确的伪深度。
  • 学生模型训练:使用伪标签真实图像训练最终的学生模型以实现稳健的一般化(即合成图像在此步骤中不再需要),以增强模型的鲁棒性和泛化能力。

🔬 实验

实验验证:通过与V1、Marigold等模型的对比,展示了Depth Anything V2在精度、速度和参数量方面的优势。特别是在透明表面挑战中的零样本测试中,V2取得了83.6%的高分,远超MiDaS的25.9%和V1的53.5%。

实验结果1
实验结果2

📜 结论

Depth Anything V2在不牺牲速度和效率的情况下,显著提高了深度预测的精度和细节质量,证明了其在单目深度估计领域的先进性。

🤔 总结卡


研究团队成功地揭示了数据质量和多样性对于提升单目深度估计模型性能的关键作用,特别是通过创新地结合高质量合成数据与大规模无标签真实数据的伪标签策略。然而,未来工作可以探索如何进一步增强模型对真实世界复杂性和多样性场景的理解,比如通过更先进的合成数据生成技术或者在模型设计中融入更多自适应机制来应对未知环境的挑战。同时,持续优化评估基准以更全面地反映模型在实际应用中的表现也是必要的。

文章特别点

  • 提出了DA-2K(Diverse Applications Dataset for Monocular Depth Estimation),一个更加多样化且高分辨率的基准数据集,用于评估相对单目深度估计模型。
  • 使用稀疏深度标签而非密集像素级深度标签来构建基准数据集,提高了效率并减少了人工标注的工作量。
  • 通过两个不同的管道选择像素对,并引入了挑战性的图像手动识别过程,确保了数据集的多样性和精确性。
  • 实验结果表明,该基准数据集能够覆盖广泛的场景,并提供更高质量的数据以支持各种应用。

方法创新点

  • 利用自动预测对象掩模的方法(SAM)和关键点来选取稀疏深度标签,提高数据集的多样性。
  • 通过与人类注释者一起检查每个注释,确保了数据集的准确性。
  • 通过使用深度学习技术,将编码器预训练在大型合成数据集上,然后将其转移到下游任务中,实现了良好的泛化能力。

未来展望

  • 进一步扩大DA-2K数据集的规模,以更好地满足实际应用场景的需求。
  • 研究如何处理透明物体等复杂情况下的深度估计算法,提高模型的鲁棒性和精度。
  • 探索如何利用多模式信息(如RGB、红外线、激光雷达等)来进一步提升深度估计算法的效果。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

在IDEA 2024.1.3 (Community Edition)中创建Maven项目

本篇博客承继自博客:Windows系统Maven下载安装-CSDN博客 Maven版本:maven-3.9.5 修改设置: 首先先对Idea的Maven依赖进行设置;打开Idea,选择“Costomize”,选择最下边的"All settings" 之后找…

什么是新媒体矩阵?如何搭建?

什么是新媒体? 新媒体矩阵作用 新媒体矩阵账号类型 搭建新媒体矩阵步骤

API接口技术开发分享;按关键字搜索淘宝、天猫商品API返回值接入说明

淘宝数据API的接入流程主要包括注册key账号、创建开发者应用、获取ApiKey和ApiSecret、申请API权限等步骤。淘通过这些接口可以获取商品、订单、用户、营销和物流管理等多方面的数据。以下是关于淘宝数据API接入流程的相关介绍: 注册key账号:进行账号注册…

Stable Diffusion部署教程,开启你的AI绘图之路

本文环境 系统:Ubuntu 20.04 64位 内存:32G 环境安装 2.1 安装GPU驱动 在英伟达官网根据显卡型号、操作系统、CUDA等查询驱动版本。官网查询链接https://www.nvidia.com/Download/index.aspx?langen-us 注意这里的CUDA版本,如未安装CUD…

Portainer.io安装并配置Docker远程访问及CA证书

Portainer.io安装并配置Docker远程访问及CA证书 文章目录 Portainer.io安装并配置Docker远程访问及CA证书一.安装 Portainer.io2.启动容器 二.docker API远程访问并配置CA安全认证1.配置安全(密钥)访问2.补全CA证书信息3.生成server-key.pem4.创建服务端签名请求证书文件5.创建…

遍历二叉树和线索二叉树

目录 一、*遍历二叉树 1.1遍历定义 1.2遍历目的 1.3遍历用途 1.4遍历方法 1.4.1先序遍历(DLR) 1.4.2中序遍历(LDR) 1.4.3后序遍历(LRD) 1.5根据遍历序列确定二叉树 1.6遍历算法的实现 1.6.1先序遍…

转--Hadoop集群部署案例

模块简介 本模块主要练习Hadoop集群部署。 模块知识 ● 使用Linux基础命令 ● Hadoop集群搭建部署知识 环境准备 三台CentOS7操作系统的虚拟机 可以是3个Docker容器,也可以是三个VMWare/VirtualBox的虚拟机。三台虚拟机的最低配置为1核1G 20G。如果是虚拟机中…

【数据结构与算法】哈夫曼树,哈夫曼编码 详解

哈夫曼树的数据结构。 struct TreeNode {ElemType data;TreeNode *left, *right; }; using HuffmanTree TreeNode *;结构体包含三个成员: data 是一个 ElemType 类型的变量,用于存储哈夫曼树节点的数据。left 是一个指向 TreeNode 类型的指针&#xf…

力扣85.最大矩形

力扣85.最大矩形 遍历所有行作为底边 做求矩形面积&#xff08;84. class Solution {public:int maximalRectangle(vector<vector<char>>& matrix) {if (matrix.empty()) return 0;int n matrix.size(),m matrix[0].size();int res0;vector<int> li…

css 动画

transform的3D动画 3D形变函数会创建一个合成层来启用GPU硬件加速 translate transform: translateY(100px);transform: translateX(100px);transform: translateZ(100px);transform: translate3d(100px,100px,100px); // x,y,z的简写rotate deg弧度 transform: rotateX(-40…

CST初级教程 七

本教程将实例讲解CST设计优化仿真及其操作步骤。下面是一个微带功率分配器的图片&#xff1a; 一 3D建模 Substrate 建模 Step1 绘制Substrate外形 Substrate 的尺寸参数如下&#xff1a; Step2 添加新材料Substrate Step3 将新建的材料分配给Substrate 选中新建材料Substra…

一个cmake版的C++项目代码模板,包含流水线、git以及代码格式化配置等支持CICD发布流程

本文给出快速构建C项目的代码仓库模板 &#xff0c;简单却完整 主要包括&#xff1a; 编译脚本 打包上传脚本- 依赖拉取 代码格式化配置 git配置 流水线pipeline配置 使用这个模板 你只需要&#xff1a;将源文件放到模块目录下&#xff0c;并添加到cmake中即可 一、简…

JAVA医院绩效考核系统源码 功能特点:大型医院绩效考核系统源码

JAVA医院绩效考核系统源码 功能特点&#xff1a;大型医院绩效考核系统源码 医院绩效管理系统主要用于对科室和岗位的工作量、工作质量、服务质量进行全面考核&#xff0c;并对科室绩效工资和岗位绩效工资进行核算的系统。医院绩效管理系统开发主要用到的管理工具有RBRVS、DRGS…

emqx5.6.1 数据、配置备份与迁移

EMQX 支持导入和导出的数据包括&#xff1a; EMQX 配置重写的内容&#xff1a; 认证与授权配置规则、连接器与 Sink/Source监听器、网关配置其他 EMQX 配置内置数据库 (Mnesia) 的数据 Dashboard 用户和 REST API 密钥客户端认证凭证&#xff08;内置数据库密码认证、增强认证…

EE trade:炒伦敦金的注意事项及交易指南

在贵金属市场中&#xff0c;伦敦金因其高流动性和全球认可度&#xff0c;成为广大投资者的首选。然而&#xff0c;在炒伦敦金的过程中&#xff0c;投资者需要注意一些关键点。南华金业小编带您一起来看看。 国际黄金报价 一般国际黄金报价会提供三个价格&#xff1a; 买价(B…

“拿来主义”学习边框动画(附源码)

“拿来主义”学习边框动画&#xff0c;附源码&#xff0c;CV可用 扫码关注&#xff1a;小拾岁月&#xff0c;发送 “边框动画”&#xff0c;获取源码。 需求分析 从边框的旋转动画&#xff0c;我们可以看出&#xff0c;可以在按钮元素的下方添加给 360旋转 的元素。同时&…

MQ~消息队列能力、AMQP协议、现有选择(Kafka、RabbitMQ、RocketMQ 、Pulsar)

消息队列 消息队列看作是一个存放消息的容器&#xff0c;当我们需要使用消息的时候&#xff0c;直接从容器中取出消息供自己使用即可。由于队列 Queue 是一种先进先出的数据结构&#xff0c;所以消费消息时也是按照顺序来消费的。 常⽤的消息队列主要这 五 种&#xff0c;分别…

简单理解爬虫的概念

简单来说&#xff1a; 爬虫&#xff0c;即网络蜘蛛&#xff0c;是伪装成客户端与服务器进行数据交互的程序。 代码 代码教程分享&#xff08;无偿&#xff09;&#xff1a; 思路 1.获取网页的源码 pythondef askURL(url):head{"User-Agent":"Mozilla/5.0 (L…

51单片机STC89C52RC——5.1 LCD1602液晶显示屏

目录 目的 一&#xff0c;STC单片机模块 二&#xff0c;LCD1602 2.1 模块简介 2.2 针脚 2.3 DDRAM地址与显示器对应关系 2.4 标准字库表 2.5 常用指令 2.6 读写操作 三&#xff0c;创建Keil项目 四&#xff0c;代码 五&#xff0c;代码编译、下载到51单片机 六&a…

数据库精选题(二)(引言+关系代数)

&#x1f308; 个人主页&#xff1a;十二月的猫-CSDN博客 &#x1f525; 系列专栏&#xff1a; &#x1f3c0;数据库 &#x1f4aa;&#x1f3fb; 十二月的寒冬阻挡不了春天的脚步&#xff0c;十二点的黑夜遮蔽不住黎明的曙光 目录 前言 常见概念 一、什么是数据库&#xf…