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。
  • 匯出格式: 原生、無依賴地匯出至 .glbCOLMAP.PLY 格式。
  • 硬體無關: 面向 CPU(透過 tinyBLAS、Winograd)優化,並支援 CUDA、Metal 與 Vulkan 後端。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案