模型概述
模型特點
模型能力
使用案例
🚀 Midas 3.1 DPT (Intel/dpt-swinv2-large-384 使用 Swinv2 骨幹網絡)
DPT(密集預測變換器)模型在 140 萬張圖像上進行訓練,用於單目深度估計。該模型由 Ranftl 等人(2021 年)在論文 Vision Transformers for Dense Prediction 中提出,並首次在 此倉庫 發佈。
免責聲明:發佈 DPT 的團隊並未為此模型撰寫模型卡片,此模型卡片由英特爾和 Hugging Face 團隊共同撰寫。
🚀 快速開始
安裝
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu
使用
確保更新 PyTorch 和 Transformers,因為版本不匹配可能會產生錯誤,例如:“TypeError: unsupported operand type(s) for //: 'NoneType' and 'NoneType'”。
經此貢獻者測試,以下版本運行正常:
import torch
import transformers
print(torch.__version__)
print(transformers.__version__)
out: '2.2.1+cpu'
out: '4.37.2'
以下是如何使用此模型對圖像進行零樣本深度估計:
output = prediction.squeeze().cpu().numpy()
formatted = (output * 255 / np.max(output)).astype("uint8")
depth = Image.fromarray(formatted)
depth
或者可以使用管道 API:
from transformers import pipeline
pipe = pipeline(task="depth-estimation", model="Intel/dpt-swinv2-large-384")
result = pipe("http://images.cocodataset.org/val2017/000000181816.jpg")
result["depth"]
✨ 主要特性
- 單目深度估計:旨在從單張圖像或相機視圖中推斷詳細的深度信息,可應用於生成式 AI、3D 重建和自動駕駛等領域。
- 結合多種骨幹網絡:MiDaS v3.1 結合了基於變換器的編碼器和傳統卷積編碼器,對不同的 v3.1 模型進行了全面比較。
- 多種模型變體:提供瞭如 Swin-L、SwinV2-L、SwinV2-B、SwinV2-T 等變體,可根據不同的訓練分辨率和模型大小進行選擇。
📦 安裝指南
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu
💻 使用示例
基礎用法
import torch
import transformers
print(torch.__version__)
print(transformers.__version__)
高級用法
output = prediction.squeeze().cpu().numpy()
formatted = (output * 255 / np.max(output)).astype("uint8")
depth = Image.fromarray(formatted)
depth
from transformers import pipeline
pipe = pipeline(task="depth-estimation", model="Intel/dpt-swinv2-large-384")
result = pipe("http://images.cocodataset.org/val2017/000000181816.jpg")
result["depth"]
📚 詳細文檔
單目深度估計概述
單目深度估計的目標是從單張圖像或相機視圖中推斷詳細的深度信息,在生成式 AI、3D 重建和自動駕駛等領域有廣泛應用。然而,由於問題的約束不足,從單張圖像的單個像素中推導深度信息具有挑戰性。最近的進展歸因於基於學習的方法,特別是 MiDaS,它利用數據集混合和尺度與平移不變損失。MiDaS 已經發展,發佈了具有更強大骨幹網絡和適用於移動設備的輕量級變體。隨著變換器架構在計算機視覺中的興起,包括 ViT、Swin 和 SwinV2 等模型的先驅,人們開始轉向使用它們進行深度估計。受此啟發,MiDaS v3.1 結合了有前途的基於變換器的編碼器和傳統卷積編碼器,旨在全面研究深度估計技術。論文重點描述了這些骨幹網絡在 MiDaS 中的集成,對不同的 v3.1 模型進行了全面比較,併為未來在 MiDaS 中使用骨幹網絡提供了指導。
Swin 變換器
Swin 變換器(Swin 代表 Shifted window)最初在 arxiv 中被描述,它可以作為計算機視覺的通用骨幹網絡。它本質上是一個分層變換器,其表示是通過移位窗口計算的。移位窗口方案通過將自注意力計算限制在不重疊的局部窗口中,同時允許跨窗口連接,提高了效率。
Swin 變換器在 COCO 目標檢測(在 test-dev 上的框 AP 為 58.7,掩碼 AP 為 51.1)和 ADE20K 語義分割(在驗證集上的 mIoU 為 53.5)方面取得了強大的性能,大幅超越了以前的模型。
模型詳情
屬性 | 詳情 |
---|---|
模型類型 | 計算機視覺 - 單目深度估計 |
訓練數據 | 在 140 萬張圖像上進行訓練 |
模型作者 - 公司 | Intel |
日期 | 2024 年 3 月 18 日 |
版本 | 1 |
論文或其他資源 | MiDaS v3.1 – A Model Zoo for Robust Monocular Relative Depth Estimation 和 GitHub 倉庫 |
許可證 | MIT |
問題或評論 | 社區標籤 和 英特爾開發者 Discord |
預期用途
預期用途 | 描述 |
---|---|
主要預期用途 | 可以使用原始模型進行零樣本單目深度估計。查看 模型中心 以查找針對您感興趣的任務進行微調的版本。 |
主要預期用戶 | 任何進行單目深度估計的人 |
超出範圍的用途 | 此模型在大多數情況下需要針對您的特定任務進行微調。該模型不應被用於故意為人們創造敵對或疏遠的環境。 |
定量分析
模型 | 方形分辨率 HRWSI RMSE | 方形分辨率混合 MVS REL | 方形分辨率 ReDWeb RMSE |
---|---|---|---|
BEiT 384-L | 10.82 | 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(密集預測變換器)模型使用 SwinV2 作為骨幹網絡,結合了變換器架構和傳統卷積編碼器,用於單目深度估計。
訓練方法
模型在 140 萬張圖像上進行訓練,利用數據集混合和尺度與平移不變損失。
性能評估
在多個數據集上進行了評估,包括 MIX-6,取得了較好的性能。
📄 許可證
本模型採用 MIT 許可證。
注意事項
⚠️ 重要提示
此模型的許可證不構成法律建議。我們不對使用此模型的第三方的行為負責。在將此模型用於商業目的之前,請諮詢律師。
💡 使用建議
在部署 dpt-swinv2-large-384 的任何應用程序之前,開發人員應進行安全測試。用戶(直接用戶和下游用戶)應瞭解模型的風險、偏差和侷限性。
BibTeX 條目和引用信息
@article{DBLP:journals/corr/abs-2103-13413,
author = {Ren{\'{e}} Reiner Birkl, Diana Wofk, Matthias Muller},
title = {MiDaS v3.1 – A Model Zoo for Robust Monocular Relative Depth Estimation},
journal = {CoRR},
volume = {abs/2307.14460},
year = {2021},
url = {https://arxiv.org/abs/2307.14460},
eprinttype = {arXiv},
eprint = {2307.14460},
timestamp = {Wed, 26 Jul 2023},
biburl = {https://dblp.org/rec/journals/corr/abs-2307.14460.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}






