许可协议: mit
标签:
模型索引:
- 名称: dpt-beit-large-384
结果:
- 任务:
类型: 单目深度估计
名称: 单目深度估计
数据集:
类型: MIX-6
名称: MIX-6
指标:
- 类型: 零样本迁移
值: 10.82
名称: 零样本迁移
配置: 零样本迁移
已验证: false
单目深度估计与BEiT概述
Intel/dpt-beit-large-384模型基于使用BEiT骨干网络的单目深度估计技术。单目深度估计旨在从单张图像或单一视角推断详细深度信息,其应用领域包括生成式AI、3D重建和自动驾驶等。然而,由于问题的欠约束性质,从单张图像的单个像素中推导深度具有挑战性。最近的进展归功于基于学习的方法,特别是结合数据集混合和尺度平移不变损失的MiDaS方法。MiDaS通过发布更强大的骨干网络和轻量级移动版本不断演进。随着Transformer架构在计算机视觉领域的兴起,包括ViT等模型开创的先例,深度估计领域也开始转向使用这些架构。受此启发,MiDaS v3.1在传统卷积编码器之外,还引入了有前景的基于Transformer的编码器,旨在全面研究深度估计技术。本文重点描述了这些骨干网络与MiDaS的集成,提供了不同v3.1模型的详细比较,并指导如何将未来骨干网络与MiDaS结合使用。
输入图像 |
输出深度图像 |
 |
 |
模型描述
该DPT模型使用BEiT模型作为骨干网络,并在顶部添加了用于单目深度估计的颈部结构和头部。

前一版本MiDaS v3.0仅使用原始视觉Transformer ViT,而MiDaS v3.1提供了基于BEiT、Swin、SwinV2、Next-ViT和LeViT的额外模型。
DPT 3.1 (BEiT骨干网络): 聚焦BEiT384-L
使用BEiT Transformer可实现最高质量的深度估计。我们提供了BEiT512-L、BEiT384-L和BEiT384-B等变体,其中数字表示512x512和384x384的训练分辨率,字母分别表示大型和基础模型。虽然存在BEiT v2和BEiT-3等更新版本,但我们的研究未涉及这些版本。BEiT v2缺乏384x384或更高分辨率的预训练检查点,仅提供224x224的版本。BEiT-3则是在我们研究完成后发布的。
DPT(密集预测Transformer)模型在140万张图像上训练用于单目深度估计。该模型由Ranftl等人在论文Vision Transformers for Dense Prediction中提出,并首次发布于此代码库。
本模型卡特指论文中的BEiT384-L,称为dpt-beit-large-384。2013年的一篇新论文专门讨论了BEiT,详见MiDaS v3.1 – A Model Zoo for Robust Monocular Relative Depth Estimation。
本模型卡由Hugging Face团队和英特尔共同撰写。
预期用途 |
描述 |
主要预期用途 |
您可以使用原始模型进行零样本单目深度估计。查看模型中心寻找您感兴趣任务的微调版本。 |
主要目标用户 |
从事单目深度估计的任何人员 |
超出范围的用途 |
在大多数情况下,此模型需要针对您的特定任务进行微调。该模型不应用于故意为人们创造敌对或疏远的环境。 |
使用方法
确保更新PyTorch和Transformers,因为版本不匹配可能导致错误,例如:"TypeError: unsupported operand type(s) for //: 'NoneType' and 'NoneType'"。
经贡献者测试,以下版本可正常运行:
import torch
import transformers
print(torch.__version__)
print(transformers.__version__)
输出: '2.2.1+cpu'
输出: '4.37.2'
安装:
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu
使用:
以下是如何使用此模型对图像进行零样本深度估计:
from transformers import DPTImageProcessor, DPTForDepthEstimation
import torch
import numpy as np
from PIL import Image
import requests
url = "http://images.cocodataset.org/val2017/000000039769.jpg"
image = Image.open(requests.get(url, stream=True).raw)
processor = DPTImageProcessor.from_pretrained("Intel/dpt-beit-large-384")
model = DPTForDepthEstimation.from_pretrained("Intel/dpt-beit-large-384")
inputs = processor(images=image, return_tensors="pt")
with torch.no_grad():
outputs = model(**inputs)
predicted_depth = outputs.predicted_depth
prediction = torch.nn.functional.interpolate(
predicted_depth.unsqueeze(1),
size=image.size[::-1],
mode="bicubic",
align_corners=False,
)
output = prediction.squeeze().cpu().numpy()
formatted = (output * 255 / np.max(output)).astype("uint8")
depth = Image.fromarray(formatted)
depth
或使用pipeline API:
from transformers import pipeline
pipe = pipeline(task="depth-estimation", model="Intel/dpt-beit-large-384")
result = pipe("http://images.cocodataset.org/val2017/000000181816.jpg")
result["depth"]
定量分析
模型 |
方形分辨率HRWSI RMSE |
方形分辨率Blended MVS REL |
方形分辨率ReDWeb RMSE |
BEiT 384-L |
0.068 |
0.070 |
0.076 |
Swin-L 训练1 |
0.0708 |
0.0724 |
0.0826 |
Swin-L 训练2 |
0.0713 |
0.0720 |
0.0831 |
ViT-L |
0.071 |
0.072 |
0.082 |
--- |
--- |
--- |
--- |
Next-ViT-L-1K-6M |
0.075 |
0.073 |
0.085 |
DeiT3-L-22K-1K |
0.070 |
0.070 |
0.080 |
ViT-L-Hybrid |
0.075 |
0.075 |
0.085 |
DeiT3-L |
0.077 |
0.075 |
0.087 |
--- |
--- |
--- |
--- |
ConvNeXt-XL |
0.075 |
0.075 |
0.085 |
ConvNeXt-L |
0.076 |
0.076 |
0.087 |
EfficientNet-L2 |
0.165 |
0.277 |
0.219 |
--- |
--- |
--- |
--- |
ViT-L 反向 |
0.071 |
0.073 |
0.081 |
Swin-L 等距 |
0.072 |
0.074 |
0.083 |
--- |
--- |
--- |
--- |
伦理考量和限制
dpt-beit-large-384可能产生事实不准确的输出,不应依赖其提供事实准确的信息。由于预训练模型和微调数据集的限制,该模型有可能生成低俗、偏见或其他冒犯性输出。
因此,在部署任何dpt-beit-large-384应用之前,开发人员应进行安全性测试。
注意事项和建议
用户(包括直接和下游用户)应了解模型的风险、偏见和局限性。
以下是了解英特尔AI软件的几个有用链接:
- 英特尔神经压缩器 链接
- 英特尔Transformers扩展 链接
免责声明
本模型的许可协议不构成法律建议。我们对第三方使用此模型的行为不承担责任。在将本模型用于商业用途前,请咨询律师。
BibTeX条目和引用信息
@article{DBLP:journals/corr/abs-2103-13413,
作者 = {René Reiner Birkl, Diana Wofk, Matthias Muller},
标题 = {MiDaS v3.1 – 鲁棒单目相对深度估计模型库},
期刊 = {CoRR},
卷 = {abs/2307.14460},
年份 = {2021},
网址 = {https://arxiv.org/abs/2307.14460},
电子印本类型 = {arXiv},
电子印本 = {2307.14460},
时间戳 = {2023年7月26日},
bib网址 = {https://dblp.org/rec/journals/corr/abs-2307.14460.bib},
bib来源 = {dblp计算机科学文献, https://dblp.org}
}