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

【深度学习】深度估计,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.kler.cn/a/271633.html

相关文章:

  • DeepSeek-R1 模型及GRPO算法学习
  • 智能汽车网络安全威胁报告
  • Android车机DIY开发之学习篇(七)NDK交叉工具构建
  • 【Super Tilemap Editor使用详解】(十三):快捷键指南(Keyboard Shortcuts)
  • 【Qt】多线程
  • 进程池的制作(linux进程间通信,匿名管道... ...)
  • C#控制台贪吃蛇
  • Redis数据存储的细节
  • upload-labs通关方式
  • 基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的自动驾驶目标检测系统详解(深度学习+Python代码+PySide6界面+训练数据集)
  • 1.python安装
  • Unity Timeline学习笔记(3) - SignalTrack信号轨道和自定义带参数的Marker信号和轨道
  • 基于Keras的模型剪枝(Pruning)
  • cms垃圾回收
  • MySQL-----事务
  • 差分逻辑电平 — LVDS、CML、LVPECL、HCSL互连
  • SQLiteC/C++接口详细介绍之sqlite3类(五)
  • em、px、rem、vh、vw 的区别
  • 掌握C#: 从基础到精通 - 中级实战练习集
  • mac启动skywalking报错
  • 亚马逊云科技 Lambda 运行selenium
  • 基于Springboot+Redis+mysql实现的闲置二手交易网站管理系统
  • layui table列表重载后保持进度条位置不变
  • npm下载慢换国内镜像地址
  • C++ 虚函数表
  • STM32 Simulink 自动代码生成电机控制——霍尔有感六步方波仿真到开发板运行