localai-org/depth-anything.cpp
A from-scratch C++17/ggml port of Depth Anything 2 and 3 (ByteDance)
解決的問題
depth-anything.cpp 是 Depth Anything 3 (DA3) 與 Depth Anything V2 模型的高效率、無依賴 C++ 封裝。它在推論時不需要繁重的 Python、PyTorch 或 CUDA 工具鏈,讓這些模型能在更廣泛的硬體上高效運行,包括無 GPU 的 CPU。
工作原理
本專案使用 ggml 庫從零開始實作 DA3 架構的 C++17 版本。它將官方檢查點轉換為自包含的 GGUF 檔案格式,該格式儲存所有超參數與預處理常數。這使得載入器無需外部設定檔即可執行推論。引擎支援量化(f16、q8_0、q4_k 等),以減少記憶體使用與模型大小,並提供平坦的 C API,方便嵌入 Go 或 Rust 等其他語言。
適用對象
- 希望在無 Python 依賴的原生應用中嵌入深度估計模型的 開發者。
- 在消費級 CPU 或無專用 GPU 的硬體上執行 AI 的 使用者。
- 需要從單張或多張影像中快速取得度量深度與相機位姿估計的 3D 重構專家。
主要亮點
- 效能: 在 CPU 上比 PyTorch 更快(最高達 1.31 倍),記憶體開銷顯著降低,載入速度更快。
- 全面輸出: 產生密集的度量深度圖、每像素置信度、相機外參/內參、天空遮罩與 3D 點雲。
- 廣泛模型支援: 兼容完整的 DA3 系列(Small、Base、Large、Giant、Mono、Metric、Nested)與 Depth Anything V2。
- 匯出格式: 原生、無依賴地匯出至
.glb、COLMAP與.PLY格式。 - 硬體無關: 面向 CPU(透過 tinyBLAS、Winograd)優化,並支援 CUDA、Metal 與 Vulkan 後端。
相關
- 專案
- 專案
- 專案
- 專案
- 專案