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 など)をサポートし、メモリ使用量とモデルサイズを削減し、Go や Rust などの他の言語に簡単に埋め込めるフラットな C API を提供します。
対象ユーザー
- Python 依存関係なしにネイティブアプリケーションに深度推定モデルを埋め込みたい 開発者。
- 消費者向け CPU や専用 GPU を搭載していないハードウェアで AI を実行したい ユーザー。
- 単一または複数の画像から高速でメトリック深度とカメラポーズ推定が必要な 3D再構築者。
特徴
- パフォーマンス: CPU 上で PyTorch よりも高速(最大 1.31x)で、メモリオーバーヘッドが大幅に低く、ロード時間が速い。
- 包括的な出力: 緊密なメトリック深度マップ、ピクセルごとの信頼度、カメラの外部・内部パラメータ、スカイマスク、3Dポイントクラウドを生成。
- 広範なモデル対応: DA3 ファミリー(Small、Base、Large、Giant、Mono、Metric、Nested)および Depth Anything V2 と完全互換。
- エクスポート形式:
.glb、COLMAP、.PLY形式へのネイティブで依存関係のないエクスポート。 - ハードウェア非依存: tinyBLAS、Winograd を通じた CPU 向け最適化と、CUDA、Metal、Vulkan バックエンドをサポート。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト