Depth Anything: Models, Comparisons, and How to Use It

Depth Anything is a family of open models that estimate how far every pixel is from the camera. Use V2 for sharp, detailed depth maps from a single image, and V3 when you need 3D reconstruction or camera pose from multiple images or video. Both are ready-made blocks in Roboflow Workflows, so you can add depth estimation to any vision pipeline and deploy it to images, video, or live camera streams without managing a GPU.
Depth Anything is a family of depth estimation models that use visual input to estimate how far objects and surfaces are from a camera. This distance is known as depth. By estimating depth, these models help computers understand the 3D structure of a scene, supporting applications such as autonomous driving, robotics, augmented reality, and 3D scene reconstruction.

The Depth Anything family has evolved through three major versions, with the latest being Depth Anything V3, released on November 14, 2025. In this guide, we'll explore Depth Anything V1, V2, and V3, highlight the key improvements in each version, compare their capabilities, and demonstrate how to build and deploy a depth estimation workflow using a Depth Anything model with Roboflow Workflows.
What Is Depth Estimation?
Depth estimation is a computer vision task that predicts the distance of objects and surfaces from a camera using an image or video. Modern deep learning models, such as Depth Anything, perform depth estimation to generate depth maps.
A depth map is a 2D image in which each pixel represents the estimated depth of a point in a scene. It is typically visualized as a grayscale gradient or a color map, with brighter pixels representing closer objects and darker pixels representing farther ones, although the brightness convention can vary. Depth maps allow computers to infer the 3D structure of a scene from 2D images.
An input video and its predicted depth map.
Types of Depth Map
Depth maps can represent depth in two ways, depending on whether they estimate relative or actual distances of objects and surfaces from the camera:
- Relative depth: Represents the relative distances of objects or surfaces from the camera. It can tell you that one object is closer to the camera than another without specifying their actual distances in meters.
- Metric (absolute) depth: Estimates the distance of each point in a scene from the camera in real-world units, such as meters.
Types of Depth Estimation
Depth estimation methods differ in the types of visual input they use to estimate depth. The main types include:
- Monocular depth estimation: Predicts depth from a single image. It can also be applied to videos by processing each frame independently, without using information across frames.
- Stereo depth estimation: Uses images captured by two cameras at different positions to estimate depth from the differences between their views.
- Video-based depth estimation: Uses information across video frames to estimate depth and, depending on the method, improve temporal consistency.
- Sensor-based depth estimation: Uses specialized hardware, such as LiDAR or depth cameras, to measure distances directly or provide depth information that can be combined with visual data.
What Is Depth Anything V1?
Depth Anything V1 is the first model in the Depth Anything family, released on January 22, 2024. It estimates relative depth from a single image.
It was designed to address a major challenge in monocular depth estimation: training deep learning models to predict depth accurately across different scenes requires large amounts of labeled training data, which can be expensive and difficult to collect.
Monocular depth estimation performance between MiDaS (Previous Best) and Depth Anything V1 on an input video.
Why Was Depth Anything V1 Developed?
Training a depth estimation model requires images paired with depth information. Collecting these annotations can be difficult and expensive because traditional methods rely on depth sensors, LiDAR, stereo cameras, or Structure from Motion (SfM).
Earlier models, such as MiDaS, improved generalization by combining multiple depth datasets generated using different methods. However, despite these advances, their training data still had limited coverage of the diverse scenes and environments encountered in real-world images.
Depth Anything V1 addressed this challenge by combining a relatively small collection of labeled images with a much larger collection of unlabeled images. Its goal was to improve depth estimation across diverse, unfamiliar scenes without requiring additional training for every new environment.
How Was Depth Anything V1 Trained?
Depth Anything V1 uses a teacher-student training approach consisting of three stages:
Stage 1: Training the Teacher Model
The initial teacher model is trained on approximately 1.5 million labeled images from six public datasets: BlendedMVS, DIML, HRWSI, IRS, MegaDepth, and TartanAir. Its encoder uses pretrained DINOv2-Large, which has approximately 300 million parameters and provides strong visual representations learned from large-scale image data. The training process also uses a scale- and shift-invariant loss to accommodate differences in depth annotations across datasets.
Stage 2: Generating real-world pseudo-label
Once trained, the teacher model predicts depth maps for approximately 62 million unlabeled real-world images collected from eight large-scale datasets: BDD100K, Google Landmarks, ImageNet-21K, LSUN, Objects365, Open Images V7, Places365, and SA-1B. These predictions serve as pseudo-labels, providing depth supervision for images that lack ground-truth depth annotations.
Stage 3: Training smaller student models
Student models learn from both the original labeled images used to train the teacher and the teacher's pseudo-labeled real-world images. Depth Anything V1 provides multiple student model sizes, including Small, Base, and Large, to balance depth estimation accuracy and computational efficiency.
During training, images undergo strong color and spatial transformations, including color jittering, Gaussian blurring, and CutMix. These augmentations help the student models learn reliable depth patterns despite changes in image appearance and composition.
Additionally, a separate, frozen DINOv2 encoder provides visual features that guide the student models in preserving useful information about objects and scene structure while learning to estimate depth. Once training is complete, the student models serve as the final Depth Anything V1 models used for depth estimation.
What Did Depth Anything V1 Improve?
- Improved generalization: Training on 62 million unlabeled images alongside 1.5 million labeled images expanded the model's exposure to diverse scenes, helping it generalize beyond its labeled training data.
- Stronger zero-shot performance: Estimated depth on previously unseen datasets without requiring dataset-specific fine-tuning.
- Greater robustness across scenes: Produced reliable depth predictions across diverse environments, including complex scenes, low-light conditions, and foggy images.
- Effective transfer learning: Its pretrained encoder provided useful visual representations that could be fine-tuned for downstream tasks, including metric depth estimation and semantic segmentation.
- Impact: Demonstrated how large-scale pseudo-labeling, data augmentation, and auxiliary feature supervision can improve the generalization of monocular depth estimation models.
What Were the Limitations of Depth Anything V1?
Despite its strong generalization, Depth Anything V1 had several limitations that Depth Anything V2 aimed to address.
- Fine-detail accuracy: Predictions could miss thin structures, produce blurry object boundaries, or struggle with challenging surfaces such as glass and mirrors.
- Model capacity: Depth Anything V1's largest model used a ViT-Large encoder, which limited its capacity to learn visual representations compared with the larger teacher model introduced in V2.
- Training data quality: Its training relied on real-world depth annotations that could contain noise, missing regions, and inaccuracies.
What Is Depth Anything V2?
Introduced in June 2024, just months after V1, Depth Anything V2 builds on its predecessor to deliver more accurate depth predictions, sharper object boundaries, and improved performance in complex scenes.
Unlike V1, which relies on real-world depth annotations, V2 trains a high-capacity teacher model using synthetic images with precise depth labels. The teacher then generates pseudo-labels for millions of real-world images, allowing the student model to learn from both the accuracy of synthetic depth data and the visual diversity of real-world scenes.
The standard pretrained Depth Anything V2 models estimate relative depth. However, separately fine-tuned metric-depth models are also available to estimate distances in real-world units.
Why Was Depth Anything V2 Developed?
Although Depth Anything V1 generalizes well to unseen images, its predictions can lack fine details and precise object boundaries. Estimating depth around thin structures, transparent objects, reflective surfaces, and moving objects remains challenging, particularly when training data contains noisy or incomplete depth annotations.
Depth Anything V2 addresses these limitations through an improved training pipeline that uses a high-capacity teacher model trained on synthetic images with precise depth labels, enabling it to learn more detailed scene geometry.

How Was Depth Anything V2 Trained?
Depth Anything V2 uses a three-stage teacher-student pipeline, similar to Depth Anything V1:
Stage 1: Training the teacher on synthetic images
The teacher is trained on approximately 595,000 synthetic images from five datasets: BlendedMVS, Hypersim, IRS, TartanAir, and Virtual KITTI 2. Because these images are generated from known 3D scenes, they can provide precise depth annotations for object boundaries, thin structures, and complex geometry. The teacher uses a DINOv2-Giant encoder with approximately 1.3 billion parameters. Its training combines a scale- and shift-invariant loss with a gradient-matching loss.
Stage 2: Generating real-world pseudo-labels
The trained teacher predicts depth maps for approximately 62 million unlabeled real-world images from the same eight datasets used in Depth Anything V1. These predictions serve as pseudo-labels, helping bridge the gap between synthetic training images and real-world visual data.
Stage 3: Training smaller student models
Smaller student models learn from the teacher's pseudo-labeled real-world images. Depth Anything V2 provides multiple student model sizes, including Small, Base, Large, and Giant to balance depth estimation accuracy and computational efficiency. Following V1, training also uses a feature-alignment loss with a frozen, pretrained DINOv2 encoder. This helps the student models retain useful visual information while learning to estimate depth. Unlike V1, V2 trains its students using only pseudo-labeled real-world images, rather than combining them with the original labeled training images.

Learn more about the Depth Anything V2 pipeline in this guide.
What Did Depth Anything V2 Improve?
- Sharper depth maps: Improved fine-grained details and object boundaries, helping preserve thin structures such as chair legs, bicycle spokes, and hair.
- Better handling of transparent and reflective surfaces: Improved depth estimation for challenging surfaces, such as glass and mirrors, where visual appearance can make depth difficult to infer.
- More reliable training supervision: Trained its teacher model on synthetic images with precise depth annotations, reducing reliance on noisy or incomplete real-world depth labels.
What Were the Limitations of Depth Anything V2?
Despite its improvements over V1, Depth Anything V2 still has several limitations:
- Training cost: Training the large teacher and generating pseudo-labels for tens of millions of images require substantial computational resources.
- Synthetic data diversity: Synthetic datasets cannot fully represent every real-world environment, object, material, or lighting condition.
- Generalization challenges: Unusual scenes and visual conditions can still produce inaccurate depth predictions.
- Domain-specific metric depth estimation: The standard pretrained models estimate relative depth rather than guaranteed distances in meters. Although fine-tuned metric-depth models are available for indoor and outdoor scenes, their accuracy may vary when applied to environments that differ from their training data.
What Is Depth Anything V3?
Depth Anything V3, introduced on November 14, 2025, is a unified, generalist model that reconstructs spatially consistent 3D geometry from any visual input, including single images, stereo pairs, multi-view collections, and video streams.
Unlike traditional computer vision where tasks such as monocular depth estimation, multi view stereo, and camera pose estimation require separate, specialized models, Depth Anything V3 addresses all of them with a single architecture. It reframes these tasks as one fundamental problem: recovering 3D structure from visual observations, making Depth Anything V3 both unified and generalist.
Depth Anything V3: Multi-image 3D scene reconstruction (Source). (opens in a new tab)
Depth Anything V3 can estimate depth and scene geometry from a single image, combine multiple images to improve geometric consistency, or process video sequences to reconstruct scenes from changing viewpoints. It can also use known camera parameters when available or operate without them.
Why Was Depth Anything V3 Developed?
A depth map provides information about the relative positions of objects and surfaces, but it does not describe an entire 3D scene by itself. Reconstructing a scene from multiple images also requires understanding how the camera moves and how the different views relate to one another.
Traditional 3D reconstruction pipelines often rely on several specialized components to estimate depth, camera poses, and 3D geometry. Depth Anything V3 aims to simplify this process by predicting depth and camera-ray information within a unified model. This allows the model to use information shared across multiple views to produce more consistent scene geometry.
How Does Depth Anything V3 Work?
For each input image, Depth Anything V3 generates three complementary outputs, collectively called “depth-ray-camera”:
- Depth: An exponential depth map of size H × W that represents per-pixel distance information from the Camera.
- Ray: A dense ray map tensor of size H × W × 6 encoding the geometry of each pixel. For every pixel, the model predicts a six-dimensional vector comprising the ray origin (the camera center in world coordinates) and the ray direction (the vector passing through the pixel). This depth-ray representation provides a minimal yet sufficient target for reconstructing a 3D point cloud.
- Camera: The Camera Head predicts global camera parameters directly. While the ray map theoretically contains complete camera pose information, extracting standard camera parameters from millions of rays is computationally expensive at inference. The Camera Head acts as a lightweight shortcut, using a dedicated camera token to efficiently output camera parameters without the need for costly camera pose recovery.

Together, these components enable efficient, accurate, and scalable recovery of 3D structure and camera pose from any visual input.
What Did Depth Anything V3 Improve?
Depth Anything V3 extends the capabilities of the previous versions in several ways.
- Multi-view scene understanding: It uses information across multiple images rather than being limited to single-image depth estimation.
- Camera and geometry estimation: Its depth-and-ray representation supports camera reasoning and 3D reconstruction within a unified framework.
- Flexible inputs: It accommodates single-view and multi-view inputs, including posed or unposed images.
- Broader applications: Its outputs support tasks such as point cloud generation, camera pose estimation, 3D scene reconstruction, and novel-view synthesis, depending on the model variant. These capabilities extend the Depth Anything family toward a more general visual geometry system.
Learn more about the applications of Depth Anything V3 in this guide.
Depth Anything V1 vs. V2 vs. V3: Key Differences
| Depth Anything V1 | Depth Anything V2 | Depth Anything V3 | |
|---|---|---|---|
| Primary goal | Generalizable depth estimation | Generalizable and more accurate depth estimation with finer details and sharper object boundaries | Unified depth estimation and 3D scene geometry reconstruction |
| Input | Single image | Single image | Single image, multiple images, stereo pairs, or video, depending on the model variant |
| Standard model outputs | Relative depth maps | Relative depth maps | Relative depth map and camera parameters |
| Metric depth estimation | Requires fine-tuning on metric-depth data | Requires fine-tuning on metric-depth data | A dedicated metric-depth model is available |
| Depth quality | Strong generalization across diverse scenes | Strong generalization with improved fine details and transparent-surface handling | Depth estimation combined with geometric information across multiple views |
| 3D reconstruction | Supports basic 3D reconstruction using single-image depth maps | Supports basic 3D reconstruction using single-image depth maps | Designed for multi-view 3D reconstruction and camera pose estimation |
| Camera estimation | Not a standard output | Not a standard output | Explicitly predicts camera parameters and ray information, depending on the model variant |
| Inference considerations | Relatively lightweight options are available, depending on model size | Offers a balance between prediction quality and inference speed through multiple model sizes | Additional geometry outputs and multi-view processing can increase computational requirements |
| Best suited for | General-purpose depth estimation from a single image | Detailed depth maps for computer vision applications | Multi-view geometry, camera estimation, and 3D scene reconstruction |
Integrate Depth Anything Models into Vision Pipelines with Roboflow Workflows
Roboflow Workflows is a visual, low-code platform for building computer vision applications by connecting object detection models, depth estimation models, image processing operations, and custom logic through a drag-and-drop interface. Each component is represented as a block, allowing you to build computer vision pipelines without implementing every component from scratch.
Roboflow Workflows includes Depth Anything V2 (opens in a new tab) and V3 (opens in a new tab) as workflow blocks, making it easy to integrate depth estimation into your computer vision pipelines without deploying the models yourself.
You can also use Roboflow Agent, available in your workspace after you log in to Roboflow, to build workflows using natural language.
Roboflow Agent provides a conversational interface for Roboflow tools, including Workflows. Instead of manually adding and connecting blocks, you can describe the workflow you want to build, and Agent builds it for you. You can then review the generated workflow, modify individual components, and customize the processing logic in the Workflow Editor.
For example, you can ask Roboflow Agent to create a workflow that uses Depth Anything V3 to estimate depth.

Roboflow Agent automatically generates the workflow and connects the components required to perform depth estimation using Depth Anything V3. You can then review the generated workflow, modify its components, and adjust the processing logic to suit your specific use case. The Workflow Editor also lets you test the workflow by dragging and dropping videos into the interface.

You can access and test the generated workflow through a UI by opening it in the Workflow Editor, as shown below. Try the workflow.

You can then run the workflow directly in the Workflow Editor to try it on a sample image. (opens in a new tab)
Running the Depth Anything V3 workflow.
Roboflow Agent can also add computer vision operations or modify existing workflow configurations. You can describe object detection, classification, image processing, or post-processing tasks in natural language, and Agent will add the corresponding blocks to the workflow to perform those operations.

Deploy Depth Estimation Workflows with Roboflow Deploy
Once you have finished building your workflow, publish it to make it live and available through the API. After publishing, click </> Use in the Workflows Editor to open the deployment panel. From there, you can choose how you want to deploy your workflow in production.

Roboflow Deploy automatically generates production-ready code snippets that you can copy into your application. These snippets can also be used with AI coding agents such as Codex, Claude, Cursor, and ChatGPT to help integrate your workflow into an existing application.

Roboflow Deploy supports cloud-based deployment through the Serverless Cloud API, where your workflow runs on Roboflow's infrastructure and you are charged credits based on inference usage.
With the Serverless Cloud API, supported depth estimation models can run on Roboflow's infrastructure as part of your workflow. This means you don't need to provision or manage a dedicated GPU to run these models.

The Deployment panel also provides ready-to-use code for running your workflow with different input sources, including images, video files, live webcam streams, and RTSP camera streams.

Conclusion
Depth Anything V1 introduced generalizable monocular depth estimation, V2 improved depth accuracy and fine details, and V3 expanded these capabilities to include multi-view 3D geometry reconstruction. With Roboflow Workflows, you can integrate depth estimation models into your computer vision pipelines, test them on images and videos, and deploy them through the Serverless Cloud API or on your own hardware. Start building your own depth estimation pipeline with Roboflow today.