Depth Anything V2

Depth Anything V2是个单目深度估计模型

Depth Anything V2相比基于SD的模型,推理速度更快,更少的参数,更高的精度。

SD模型是指基于Stable Diffusion技术的模型,该技术用于图像生成、图像修复和其他视觉任务。

与DeepAnything V1 模型相比,Marigold模型在细节呈现上更胜一筹。

根据表格可以看出,不论精度还是细节方面,Deep Anything V2更胜一筹。

单目深度估计(Monocular depth estimation)MDE模型常用于3D重建,导航和自动驾驶领域。

从模型架构上单目深度估计分为两类:

1. 基于判别模型,如BEiT和DINOv2。代表模型是Marigold.

2. 基于生成模型,如Stable Diffusion。代表模型是Depth Anything

高效的判别模型同样能生成非常精细的细节,关键点在于数据,训练数据应该替换为精准的合成数据。通过快打在合成图像上训练的教师模型规模,然后通过大规模的伪标注的真实图像来训练较小的学生模型。

由上图可知,合成数据上训练的效果更好。

使用合成数据遇到的挑战(待解决的问题):

1. 合成图像和真实图像之间存在分布偏移

2. 合成图像的场景覆盖范围有限。

不同视觉编码器在合成到真实图像迁移上的定性比较。只有 DINOv2-G 给出了令人满意的预测。

最强 DINOv2-G 模型在仅用合成图像训练时的失败案例。左:天空应该是超远的。右:头部的深度与身体不一致。

使用合成图像和真实图像的组合训练集会出现真实图像的粗略深度会破坏精细的预测的情况。

收集更多的合成图像是不现实的。

本论文提出了适合任何模型规模的方案。

方案:首先MDE模在基于DINOv2-G的合成图像上进行训练,然后改模型为无标签的真实图像分配伪深度标签。最后,我们的新模型仅在大规模且精确伪标签的图像上进行训练。

方案的具体流程如下图所示:

由于分布偏移,从合成训练图像直接迁移到真实测试图像是不行的,为了让模型更好地适应真实世界的数据分布,与手工标注的图像相比,我们自动生成的伪标签要更加精细和完整。

训练 Depth Anything V2 的流程包括三个步骤:
• 基于 DINOv2-G,仅在高质量的合成图像上训练一个可靠的教师模型。
• 在大规模未标注的真实图像上生成精确的伪深度标签。
• 在伪标注的真实图像上训练最终的学生模型,以实现强大的泛化能力。

噪声对模型的影响较大。

相对深度的标注流程:

1. SAM模型预测图像中每个点的掩码,基于这些预测结果来选择要标注的点。

2. 拿这些标注点问专家模型,如果各个模型对一个点的深度预测值差异较大,需人工标注。

### 关于深度学习预处理器 V2 的功能与实现 尽管当前提供的引用并未直接提及深度学习预处理器的具体细节,但从一般性的知识出发,可以总结如下: #### 功能概述 深度学习中的预处理器通常用于数据清洗、转换以及标准化处理。对于版本 `V2` 的具体实现或功能,可能涉及以下几个方面[^4]: - **增强的数据管道支持**:相比早期版本,V2 可能引入更高效的数据加载机制,例如 TensorFlow 中的 `tf.data` API 或 PyTorch 的 `DataLoader` 改进版。 - **多线程优化**:通过并行化操作提升数据读取速度,减少训练过程中的 I/O 瓶颈。 - **自定义变换能力**:允许开发者轻松集成复杂的图像增广技术或其他特定领域内的数据调整方法。 以下是基于 Python 和常见框架的一个简单示例代码片段展示如何构建这样的预处理流程: ```python import tensorflow as tf def preprocess_image(image_path): image = tf.io.read_file(image_path) image = tf.image.decode_jpeg(image, channels=3) image = tf.image.resize(image, [224, 224]) image /= 255.0 # normalize to [0,1] range return image dataset = tf.data.Dataset.list_files("/path/to/images/*.jpg") dataset = dataset.map(preprocess_image).batch(32) for batch in dataset.take(1): pass # handle the first batch of images... ``` 此脚本展示了基本图片文件路径列表创建、解码压缩格式到张量形式转化、尺寸缩放及归一化的全过程。 #### 实现改进点 相较于传统方式,V2 版本可能会着重改善以下几点性能指标: - 减少内存占用. - 提高跨平台兼容性和易用性. 需要注意的是实际项目里还应考虑异常情况下的鲁棒性设计等问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值