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.31배), 메모리 오버헤드가 훨씬 낮고 로드 시간이 빠릅니다.
  • 포괄적인 출력: 밀도 높은 메트릭 깊이 맵, 픽셀 단위 신뢰도, 카메라 외부/내부 파라미터, 하늘 마스크, 3D 포인트 클라우드를 생성합니다.
  • 광범위한 모델 지원: DA3 전체 패밀리(Small, Base, Large, Giant, Mono, Metric, Nested) 및 Depth Anything V2와 호환됩니다.
  • 내보내기 형식: .glb, COLMAP, .PLY 형식으로 네이티브이고 종속성 없는 내보내기가 가능합니다.
  • 하드웨어 독립성: tinyBLAS, Winograd을 통한 CPU 최적화와 CUDA, Metal, Vulkan 백엔드를 지원합니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트