DA3-SMALL
by depth-anything
Lightweight monocular and multi-view depth estimation with unified depth-ray representation
depth-anything/DA3-SMALLmixpeek://image_extractor@v1/depth_anything_v3_small_v1Overview
Depth Anything 3 Small (DA3-Small) is the compact variant of ByteDance's Depth Anything 3 family, which uses a single plain Vision Transformer with a unified depth-ray representation to handle monocular depth estimation, multi-view depth estimation, stereo matching, and camera pose estimation from any number of input views.
Unlike Depth Anything 2 which only handles single images, DA3 processes single images, stereo pairs, multi-view collections, and videos with geometrically consistent outputs. The Small variant uses a DINOv2 ViT-Small backbone, providing fast inference suitable for real-time applications and edge deployment. On Mixpeek, DA3-Small extracts depth maps from video frames and images, enabling spatial understanding, 3D-aware content filtering, and depth-based scene segmentation in retrieval pipelines.
Architecture
DINOv2 ViT-Small backbone with unified depth-ray prediction head. Single plain transformer processes any number of input views. Depth-ray representation eliminates need for multi-task learning. Supports monocular, stereo, and multi-view depth estimation in a single model.
Mixpeek SDK Integration
// No extractor parameter takes a Hugging Face model id (checked against
// GET /v1/discovery/extractors, which returns 13), so DA3-SMALL runs
// on your side and the output is upserted through POST
// /v1/namespaces/{namespace_id}/documents/upsert. On Enterprise the other
// path is to upload the weights instead: POST /v1/namespaces/{id}/models
// accepts the huggingface format and a custom plugin loads them.
const res = await fetch(
"https://api.mixpeek.com/v1/namespaces/ns_your_namespace/documents/upsert",
{
method: "POST",
headers: {
Authorization: "Bearer API_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify({
collection_id: "col_your_collection",
documents: [
{
document_id: "asset-00412",
// The model produces text, so it lands in payload. Give the
// collection a text vector index and embed that text to make it
// searchable rather than only filterable.
payload: { extracted_text: modelOutput, source_key: "archive/2026/asset-00412" },
vectors: { "multimodal-embedding": embeddingOfModelOutput },
},
],
}),
},
);
// Managed alternative, if this exact model is not the requirement:
// universal_extractor@v1 runs google/gemini-embedding-2
// (3072-d) over a bucket, with no inference of your own.Capabilities
- Monocular, stereo, and multi-view depth estimation
- Camera pose estimation from arbitrary view sets
- Unified depth-ray representation for geometric consistency
- Lightweight ViT-Small backbone for fast inference
- 44.3% better camera pose accuracy than prior SOTA (VGGT)
Use Cases on Mixpeek
Benchmarks
| Dataset | Metric | Score | Source |
|---|---|---|---|
| DA3 family vs VGGT (camera pose) | Accuracy improvement | +44.3% avg | ByteDance, 2025: arxiv,2511.10647 |
| DA3 family vs DA2 (monocular) | Geometric accuracy | +25.1% avg | ByteDance, 2025: arxiv,2511.10647 |
Performance
Common Pipeline Companions
Explore on Mixpeek
Compare alternatives in this category
Hand-picked tools & platforms compared
See how Mixpeek runs models as extractors
Store & search embeddings at scale
Usage-based pricing for pipelines
Compare models, APIs & infrastructure
Specification
Research Paper
Depth Anything 3: Recovering the Visual Space from Any Views
arxiv.orgBuild a pipeline with DA3-SMALL
Add this model to a processing pipeline alongside other extractors. Combine with retrieval stages for end-to-end search.
Run it on your own data, free