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 백엔드를 지원합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트