July 19, 2026
Recent geometric foundation models (e.g., Metric3D, Depth Anything and UniDepth) have substantially improved monocular depth estimation (MDE) in both cross-scene generalization and metric-scale prediction, yet these gains have not translated to tiny models. We bridge this gap with DepthART (Depth Anything Rethought for Tiny Models), which is a compact MDE model for on-device deployment across diverse scenes. We first identify two capacity-driven bottlenecks in tiny models: (i) overfitting to dataset-specific distribution bias and (ii) unstable metric adaptation under camera shift, where full fine-tuning easily damages transferable geometry. Accordingly, DepthART combines two simple but effective strategies: a bias-resistant data sampling scheme to reduce distribution bias under the same training budget, and a camera-conditioned fine-tuning protocol that freezes the distilled encoder and adjusts metric scale conditioned on intrinsics while better preserving cross-dataset generalization. Across datasets, DepthART consistently surpasses previous tiny baselines in both zero-shot generalization and metric accuracy (e.g., zero-shot \(\delta_1\!\!=\!\!0.964\) for DepthART-S on NYUD v2), and in some cases approaches heavy models. We further provide a scalable model family, with DepthART-S reaching 347/245 FPS (strict FP32) on an RTX A6000 at \(224^2\)/\(448^2\), 102 FPS (TF32) on a Orin NX 8GB, and over 15 FPS (FP32) on a Jetson Nano 4GB. Code is released on GitHub. Project page: xuefeng-cvr.github.io/DepthART.
<ccs2012> <concept> <concept_id>10010147.10010178.10010224.10010225.10010227</concept_id> <concept_desc>Computing methodologies Scene understanding</concept_desc> <concept_significance>300</concept_significance> </concept> <concept> <concept_id>10010147.10010178.10010224.10010226.10010239</concept_id> <concept_desc>Computing methodologies 3D imaging</concept_desc> <concept_significance>500</concept_significance> </concept> <concept> <concept_id>10010147.10010178.10010224.10010245.10010254</concept_id> <concept_desc>Computing methodologies Reconstruction</concept_desc> <concept_significance>300</concept_significance> </concept> </ccs2012>
Monocular depth estimation (MDE) aims to recover 3D scene geometry from a single RGB image and serves as a core geometric primitive for downstream multimedia systems, such as image/video synthesis [1]–[4], world models [5], [6], mobile robots [7], [8], and augmented reality [9]. As these applications move from controlled settings to real-world deployment, they increasingly require not only visually plausible depth, but also reliable generalization across diverse scenes and cameras.
To meet this demand, MDE has rapidly shifted toward foundation-model paradigms [10]–[14]. Early efforts improved generalization by training on broader mixtures (MiDaS [15]) and adopting stronger transformer backbones (DPT [16]). More recent work narrows the gap between relative-depth robustness and metric-scale prediction by scaling data and capacity and by introducing explicit camera modeling (Metric3D v1/v2 and UniDepth v1/v2 [12], [13], [17], [18]) or large-scale pseudo labels (Depth Anything v1/v2 [11], [19]). Some methods further expand the camera model beyond pinhole (UniK3D [20]) or predict richer 3D representations (MoGe v1/v2 [21], [22]). In parallel, generative priors offer a complementary route to robust dense geometry: diffusion-based approaches (e.g., Marigold [23] and GeoWizard [24]) often yield sharper structures and stronger robustness under distribution shift, and recent works accelerate inference via one-step transfer [25], [26] or flow matching [27]. Together, these advances substantially raise the ability ceiling of MDE.
However, these foundation capabilities have not become standard for tiny models that must run in real time on resource-limited devices. Rather than proposing a new camera-aware foundation depth architecture, we study a different regime: how to preserve foundation-style transfer in tiny deployment-oriented backbones. We find that naively shrinking foundation MDE fails for two regime-specific reasons: (i) Overfitting to dataset-specific bias: When trained on mixed data sources, tiny models are more likely to overfit dataset-specific bias (e.g., frequent patterns) rather than learn a depth prior that transfers across scenes. (ii) Unstable metric adaptation under camera shift: Tiny models often rely on implicitly encoded camera cues. As a result, full fine-tuning on a single metric dataset may improve in-domain accuracy, but it transfers poorly across cameras and more easily damages previously learned scene geometry.
To address this gap, we propose DepthART, a lightweight MDE model designed for real-time, on-device inference across diverse scenes. DepthART is built on two simple strategies aligned with the failure modes above. We first introduce a bias-resistant data sampling (BRDS) scheme. BRDS explicitly re-balances the long-tailed distribution of photographic and camera-induced cues that tend to dominate depth learning in ultra-light models, consistently improving cross-dataset zero-shot transfer under the same data budget. In Stage 1, we distill from Depth Anything v2 to transfer foundation-style relative depth priors to a tiny student. Then we design a camera-conditioned fine-tuning (CamFT) protocol. CamFT freezes the distilled encoder and inserts lightweight intrinsics-conditioned adapters plus a multi-query scale head to recover metric scale on the target domain, improving scale stability while substantially better preserving zero-shot geometry than full fine-tuning. Across extensive evaluations, DepthART substantially improves both scene generalization and metric-scale transfer over prior lightweight approaches, and in some settings approaches the performance of much larger models, as shown in the comparison of Fig. [fig:teaser]. We also provide multiple model sizes to match diverse deployment constraints, highlighting the practicality under real-time, resource-limited conditions. Our contributions are summarized as follows:
We identify a practically important but underexplored regime: transferring foundation-style monocular depth generalization to tiny deployment-oriented models.
We show that tiny MDE models are particularly vulnerable to dominant training distributions during distillation and to forgetting during metric fine-tuning, and address these issues with BRDS and encoder-frozen CamFT, respectively.
With a low-latency TinyViM+DPT backbone (6M/11M/32M), DepthART substantially advances both cross-dataset relative-depth generalization and metric fine-tuning, offering a practical recipe for resource-limited deployment.
Monocular Depth Estimation (MDE) [28]–[33] was mainly studied in the single-domain supervised setting, focusing on architecture and loss design to recover scene structure from one dataset. Representative examples include DORN [34], VNL[35], and AdaBins [36], etc. These approaches achieved strong in-domain accuracy, but their generalization was often limited by the training data and camera settings. Recent progress is driven by foundation training. Methods such as MiDaS [15] and DPT [16] improve zero-shot relative depth through large-scale, mixed-data pretraining. Metric3D[12] and UniDepth[13] further target metric depth and camera variation. UniK3D[20] and MoGe [22] move toward more explicit 3D reasoning. Diffusion-based approaches (e.g., Lotus[26], Marigold[23], GeoWizard[24]) produce high-quality, detail-preserving depth (see introduction for more details). However, lightweight MDE methods, including FastDepth[37], DANet[38], GuideDepth[39], and LMDepth[40], are still trained and evaluated within a single domain, but with more efficient structure design. Therefore, they generally lag behind foundation models. DepthART is motivated by this gap: rather than proposing a new camera-aware foundation depth formulation, it aims to transfer foundation-level generalization and metric-scale robustness to compact models for on-device deployment.
Coreset Selection typically compresses training data by selecting a small representative subset that approximates full-data training, e.g., coverage-based k-center selection in feature space [41] or gradient/submodular matching methods such as CRAIG and Grad-Match [42], [43]. In monocular depth, distribution bias has been explicitly identified as a key obstacle to cross-domain generalization, e.g., DME [44] analyzes and mitigates depth-related bias. Inspired by both coreset selection and bias-focused depth studies, our sampling resembles coverage-based selection but targets debiasing rather than dataset compression, by suppressing over-dominant modes and promoting broad feature-space coverage for higher generalization.
DepthART targets tiny deployment-oriented MDE, with an emphasis on preserving cross-scene transfer and enabling stable metric calibration under strict model budgets. For efficiency, DepthART adopts a compact Mamba-style encoder, i.e., TinyViM [45], paired with a widely used DPT decoder [16], forming a lightweight trunk.
The training proceeds in two stages. In the first stage, we distill DepthART from a large foundation MDE model, e.g., Depth Anything v2, to inherit robust cross-scene affine-invariant depth generalization. As tiny models are highly sensitive to dataset bias, we employ a bias-resistant data sampling scheme (see Sec. 3.2) to construct a bias-resistant subset from a large multi-source corpus for training. In the second stage, we freeze the distilled encoder and perform camera-conditioned fine-tuning (see Sec. 3.3) on a single metric dataset, i.e., NYUD v2 or KITTI. To mitigate catastrophic forgetting, we insert a simple camera adapter to adjust the depth feature conditioned on camera intrinsics, and a multi-query scale head to regress the entire scale of images.
Dataset Distribution Bias Analysis. In practice, manually collected datasets follow implicit priors shaped by geometry, viewpoint, and photometric conditions. For example, ImageNet [46] is largely object-centric, LSUN [47] often captures indoor scenes from similar camera viewpoints, and Google Landmark [48] primarily focuses on landmarks, buildings, and natural landscapes, exhibiting a typical “tourist photography” bias and a very long-tailed category distribution. BDD100K [49], in contrast, exhibits strong ego-pose priors from vehicle-mounted cameras. However, comprehensive data coverage for MDE is more critical than tightly fitting frequent patterns of a single dataset. Therefore, it is essential to increase feature-space coverage and reduce the over-representation of high-density regions so that long-tail cases receive sufficient training exposure, especially for capacity-limited models.
Bias-Resistant Data Sampling Strategy. Given an RGB image set \(\mathcal{D}\!=\!\{x_i\}_{i=1}^{N}\) from a dataset, our bias-resistant sampling applies density-aware stratified sub-sampling in an image-level feature space where similar images form clusters, down-weighting dominant modes to retain diversity (Fig. 1).
Specifically, for each image \(x_i\), we extract a continuous representation \(z_i\!\!=\!\!E(x_i)\) using a well-trained variational autoencoder (VAE) \(E(\cdot)\) from Stable Diffusion v1.5 [50]. Unlike object-centric embeddings, e.g., DINO, VAE latents tend to emphasize holistic visual factors (e.g., layout, texture, illumination, and viewpoint) that are more aligned with bias in training depth. Secondly, we project \(z_i\) to a \(J\)-dimensional vector \(\tilde{z}_i \in\mathbb{R}^{J}\) via Principal Component Analysis (PCA), denoted as \(\tilde{z}_i =\mathtt{PCA}(z_i)\), which yields a compact and smoothly structured embedding space suitable for large-scale sampling. Thirdly, to assign each sample to a grid cell, we perform per-dimension binning on \(\tilde{z}_i\). For each dimension \(j \in \{1,\ldots,J\}\), we partition its value range into \(B\) bins with uniformly spaced boundaries \(\{b^{(j)}_{k}\}_{k=0}^{B}\), where \(b^{(j)}_{0} \!=\! \min_i \tilde{z}^{(j)}_i\) and \(b^{(j)}_{B}\!=\!\max_i \tilde{z}^{(j)}_i\). We then compute \(J\)-D cell identifier, denoted as \(c_i\), for an image \(x_i\): \[c_i = \left(c^{(1)}_i,...,c^{(J)}_i\right),\, c_i^{(j)} = \max\left\{k \in [0,B-1] \big|\;b_k^{(j)} \le\tilde{z}_i^{(j)} \right\},\] Images sharing the same \(c_i\) fall into the same grid cell and are treated as one stratum for subsequent density-aware sub-sampling. Subsequently, we perform a stratified sampling per cell. Let \(\mathcal{D}_\mathbf{c}\!=\!\{x_i \!\!\mid\!\! c_i\!=\!\mathbf{c}\}\) denote the images that fall into cell \(\mathbf{c}\), the sub-sampled set, denoted as \(\mathcal{S}_\mathbf{c}\!\subset\! \mathcal{D}_\mathbf{c}\), is formulated as: \[\mathcal{S}_\mathbf{c} \sim \mathrm{U}(\mathcal{D}_\mathbf{c}, m_\mathbf{c}), \quad m_\mathbf{c} = \max\left(1,\left\lceil \,|\mathcal{D}_\mathbf{c}|\,/\gamma\,\right\rceil\right)\!,\] where \(\gamma\!>\!1\) is the reduction factor, \(\mathrm{U}(\mathcal{D}_\mathbf{c}, m_\mathbf{c})\) denotes uniformly sub-sampling \(m_\mathbf{c}\) images from \(\mathcal{D}_\mathbf{c}\). This rule enforces two properties: (i) Coverage: even sparse, underrepresented regions remain visible in \(\mathcal{S}_\mathbf{c}\) via \(\max(1,\cdot)\) and (ii) Bias reduction: for dense, dominant regions, only a fraction of samples are retained, suppressing their influence. Finally, we aggregate all selected samples into a bias-resistant subset: \[\mathcal{D}_{\mathrm{BR}} = \bigcup\nolimits_{\mathbf{c}}\mathcal{S}_\mathbf{c}.\] In this way, \(\mathcal{D}_{\mathrm{BR}}\) preserves broad diversity across scenes and camera poses while suppressing the dominance of overrepresented modes in the original datasets.
Distillation from Foundation MDE Models. We distill DepthART on the offline sub-sampled set \(\mathcal{D}_{\mathrm{BR}}\) using Depth Anything v2 Large as the teacher. For each image in \(\mathcal{D}_{\mathrm{BR}}\) (across all training datasets), the teacher produces the pseudo depth and the student predicts the corresponding depth. We follow a standard MDE distillation [15]: \[\mathcal{L}_{\mathrm{Distill}} = \mathcal{L}_{\mathrm{MSE}} + \alpha\,\mathcal{L}_{\mathrm{Edge}}, \qquad \alpha = 0.5,\] where \(\mathcal{L}_{\mathrm{MSE}}\) measures the error between the teacher pseudo-depth and the student prediction after per-image scale/shift alignment, and \(\mathcal{L}_{\mathrm{Edge}}\) encourages consistent depth discontinuities via an \(L_{1}\) penalty on spatial gradients. For higher robustness, \(\mathcal{L}_{\mathrm{MSE}}\) ignores the top-10% highest-error pixels in each image, preventing a few noisy pixels from dominating the distillation signal.
Forgetting Effects in Tiny Models Fine-Tuning. Due to limited capacity, fully fine-tuning tiny models on a single metric dataset might easily overwrite the transferable depth cues learned via distillation, causing catastrophic forgetting.
We employ affine-invariant metric to measure the degradation of depth structure after fine-tuning. As shown in Fig. 2 (a), full fine-tuning on NYUD v2 improves in-domain accuracy (Affine-invariant RMSE: \(0.27\!\rightarrow\!0.234\)) but substantially degrades zero-shot performance on iBims-1 (\(0.333\!\rightarrow\!0.421\)), indicating that the depth structure of zero-shot scenes is damaged when all parameters are updated. Beyond structural degradation, fine-tuning also perturbs metric-scale. Fig. 2 (b) shows increased variability in the per-image scale and shift alignment parameters on iBims-1 after full fine-tuning (\(\mathtt{std}: 0.387/0.712\)), reflecting unstable scale transfer.
Camera-conditioned Fine-Tuning. To adapt metric scale without overwriting the pre-trained depth prior, we perform a calibration-style fine-tuning that keeps the distilled encoder frozen (Fig. 3). Instead of fully fine-tuning the model, which easily overfits the target domain and damages learned geometry in tiny models, we add two trainable modules: (i) camera adapters that modulate encoder features using pyramid camera prompts, and (ii) a multi-query scale head that estimates a global scene scale from depth cues and camera prompt. Finally, the DPT decoder is trained to output relative depth \(\hat{\mathbf{d}}_{\mathrm{rel}}\) re-scaled to \([0,1]\), and the scale head predicts a positive scale factor, i.e., \(\mathbf{s}\), for metric calibration: \[\hat{\mathbf{d}}_{\mathrm{metric}} = d_{\max}\,\big(\mathbf{s}\odot \hat{\mathbf{d}}_{\mathrm{rel}}\big).\] where \(d_{\max}\) is a constant maximum depth and \(\odot\) denotes multiplication. We deliberately use a scale-only formulation in this work. This choice is not meant to imply that shift correction is universally unnecessary. Rather, in the tiny regime, we find it preferable to keep metric calibration simple and stable, so that adaptation does not interfere excessively with the transferred relative-depth prior. We next detail the pyramid camera prompt, camera adapter, and multi-query scale head.
Pyramid Camera Prompt. To make metric fine-tuning camera-aware without sacrificing efficiency, we convert the camera intrinsics \(\mathbf{K}\!\!=\!\!(f_x,f_y,c_x,c_y)\) into dense prompts for TinyViM. Following the ray-direction prompt construction in prior work [13], we compute a per-pixel camera-ray field from \(\mathbf{K}\) and apply a Fourier encoding to obtain a prompt. Unlike single-resolution conditioning in fixed-resolution ViT pipelines, TinyViM progressively downsamples features (\(1/4\!\rightarrow\!1/8\!\rightarrow\!1/16\!\rightarrow\!1/32\)), where camera effects should be injected at matching resolutions. Accordingly, we build prompts \(\{\mathbf{C}^{(s)}\!\!\in\!\!\mathbb{R}^{C_s\times H/s\times W/s}\}\) at strides \(s\!\in\!\{4,8,16,32\}\), and inject them at the corresponding stages. In this way, high-resolution prompts guide local structure adaptation in shallow layers, while coarse prompts support global scale calibration in deep layers, making camera-conditioned fine-tuning more stable for tiny models.
Camera Adapter. Given the pyramid prompts, we inject them into each frozen encoder stage via a lightweight residual adapter. Let \(\mathbf{F}^{(l)}\) be the frozen feature map at stage \(l\). We compute an updated feature \(\bar{\mathbf{F}}^{(l)}\) as \[\bar{\mathbf{F}}^{(l)} = \mathbf{F}^{(l)} + \mathrm{CA}\big(\mathbf{F}^{(l)},\,\mathrm{Proj}(\mathbf{C}^{(s)})\big),\] where \(\mathrm{CA}\) is a 1-layer, 1-head cross-attention block with queries from \(\mathbf{F}^{(l)}\) and keys/values from \(\mathrm{Proj}(\mathbf{C}^{(s)})\). \(\mathrm{Proj}(\cdot)\) applies a \(3\times3\) depthwise convolution followed by a \(1\times1\) projection, without activation or normalization. We keep this adapter intentionally small to preserve real-time inference while enabling camera-conditioned metric calibration.
Multi-Query Scale Head. Estimating a single global scale from a tiny backbone is usually unstable, as the prediction may be affected by spurious textures or local outliers. We therefore design a multi-query scale head that aggregates multiple global cues via an implicit ensemble. Given the deepest feature \(\bar{\mathbf{F}}^{(4)}\) and its aligned camera prompt \(\mathbf{C}^{(32)}\), we form a context set \(\mathbf{X}=[\bar{\mathbf{F}}^{(4)},\mathbf{C}^{(32)}]\) by concatenation and apply a lightweight Transformer decoder with \(Q\) learnable queries. Specifically, with \(\mathbf{Q}\in\mathbb{R}^{Q\times128}\) and a 2-layer, 4-head decoder \(\mathrm{Dec}(\cdot)\), we compute the scale factor \(\mathbf{s}\): \[\mathbf{Z}=\mathrm{Dec}(\mathbf{Q},\mathbf{X}), \quad \mathbf{s}=\frac{1}{Q}\sum\nolimits_{q=1}^{Q} \sigma \big(\mathrm{MLP}(\mathbf{Z}_{q,:})\big),\] where \(\mathrm{MLP}(\cdot)\) is a two-layer MLP (128\(\rightarrow\)128\(\rightarrow\)1) with ReLU, and \(\sigma(\cdot)\) enforces a positive, bounded scale. Different queries attend to complementary scale cues, e.g., scene layout/FoV-driven geometry/large planes. The averaging reduces their variance, yielding a more stable scale estimation.
l |rrr|cc|cc|cc|cc|cc & & & Native Lat. & & & & &
& & & A6000 & AbsRel\(\downarrow\) & \(\mathbf{\delta_1} \uparrow\) & AbsRel\(\downarrow\) & \(\mathbf{\delta_1} \uparrow\) & AbsRel\(\downarrow\) & \(\mathbf{\delta_1}
\uparrow\) & AbsRel\(\downarrow\) & \(\mathbf{\delta_1} \uparrow\) & AbsRel\(\downarrow\) & \(\mathbf{\delta_1} \uparrow\)
& LeViT & 51M & 3.42 ms & 0.090* & 0.915* & 0.127* & 0.830* & 0.129 & 0.875 & 0.240 & 0.698 & 0.127 & 0.836
& Swin2-T & 42M & 7.31 ms & 0.075* & 0.942* & 0.103* & 0.883* & 0.119 & 0.886 & 0.229 & 0.718 & 0.117 & 0.848
& Swin2-L & 213M & 51.47 ms & 0.055* & 0.972* & 0.078* & 0.932* & 0.086 & 0.949 & 0.212 & 0.747 & 0.094 & 0.899
& Beit-L & 345M & 156.56 ms & 0.047* & 0.980* & 0.130* & 0.843* & 0.072 & 0.961 & 0.198 & 0.762 & 0.092 & 0.908
& ViT-S & 37.5M & 74.99 ms & 0.056 & 0.965 & 0.064 & 0.950 & 0.062 & 0.955 & 0.247 & 0.789 & – & –
& ViT-L & 411.9M & 452.54 ms & 0.042 & 0.980 & 0.046 & 0.979 & 0.042 & 0.987 & 0.141 &
0.882 & 0.072 & 0.948
& ViT-S & 24.8M & 13.06 ms & 0.053 & 0.973 & 0.078 & 0.936 & 0.142 & 0.851 & 0.228 & 0.751 & 0.085 & 0.921
& ViT-B & 97.5M & 33.04 ms & 0.049 & 0.976 & 0.078 & 0.939 & 0.137 & 0.858 & 0.236 & 0.756 & 0.081 & 0.929
& ViT-L & 335.3M & 102.46 ms & 0.045 & 0.979 & 0.074 & 0.946 & 0.131 & 0.865 & 0.230 & 0.758 & 0.089 & 0.926
& ViT-S & 26.5M & – & 0.082 & 0.932 & 0.102 & 0.883 & 0.084 & 0.935 & 0.247 & 0.714 & - & -
& ViT-B & 95.5M & – & 0.072 & 0.950 & 0.097 & 0.901 & 0.080 & 0.945 & 0.236 & 0.727 & - & -
& ViT-L & 313.4M & – & 0.060 & 0.968 & 0.086 & 0.926 & 0.096 & 0.954 & 0.226 & 0.736 & - & -
& TinyViM-S & 6.0M & 4.09 ms & 0.059 & 0.964 & 0.082 & 0.930 & 0.084 & 0.950 & 0.214 & 0.745 & 0.095 & 0.900
& TinyViM-B & 11.4M & 4.91 ms & 0.057 & 0.969 & 0.088 & 0.929 & 0.092 & 0.954 & 0.214 & 0.746 & 0.094 & 0.906
& TinyViM-L & 32.6M & 8.07 ms & 0.053 & 0.971 & 0.079 & 0.933 & 0.091 & 0.958 & 0.208 & 0.754 & 0.095 & 0.910
Fine-tuning Phase. We perform CamFT on a single dataset (NYUD v2 or KITTI) with standard supervision. In this process, we minimize the SiLog loss on valid pixels with a multi-scale edge loss [15]: \[\mathcal{L}_{\mathrm{ft}} = \mathcal{L}_{\mathrm{SiLog}}(\hat{\mathbf{d}}_{\mathrm{metric}},\,\mathbf{d}) +\lambda\,\mathcal{L}_{\mathrm{Edge}}(\hat{\mathbf{d}}_{\mathrm{metric}},\,\mathbf{d}),\] where \(\mathbf{d}\) is the metric ground truth and \(\lambda\) weights the edge term. During CamFT, we freeze the distilled encoder and update the camera adapters, the multi-query scale head, and DPT, mitigating forgetting while calibrating metric scale.
l| >cc >cc >cc >cc >cc >cc >cc >cc| >cc >cc >cc >cc >cc >cc >cc >cc & & &
&
& & & & & & & &
& \(\delta_1 \uparrow\) & RMSE \(\downarrow\) & \(\delta_1 \uparrow\) & RMSE \(\downarrow\) & \(\delta_1 \uparrow\) & RMSE \(\downarrow\) & \(\delta_1
\uparrow\) & RMSE \(\downarrow\) & \(\delta_1 \uparrow\) & RMSE \(\downarrow\)
& \(\delta_1 \uparrow\) & RMSE \(\downarrow\) & \(\delta_1 \uparrow\) & RMSE \(\downarrow\) & \(\delta_1 \uparrow\) & RMSE \(\downarrow\)
Depth Anything v1-L & 0.984 & 0.206 & 0.639 & 0.965 & 0.647 & 0.585 & 0.291 & 2.504 & 0.982 & 1.90 & 0.787 & 8.214 & 0.164 & 6.507
& 0.288 & 8.994
FastDepth & 0.771 & 0.604 & 0.429 & 1.607 & 0.560 & 0.736 & 0.275 & 2.778 & 0.825 & 4.33 & – & – & – & – & – & –
DANet & 0.831 & 0.488 & 0.55 & 1.11 & 0.616 & 0.623 & 0.221 & 2.909 & 0.920 & 3.52 & – & – & – & – & – & –
GuideDepth & 0.840 & 0.478 & 0.560 & 1.014 & 0.603 & 0.657 & 0.271 & 2.766 & 0.882 & 4.10 & 0.197 & 21.31 & 0.171 & 9.539 & 0.158 & 14.25
DepthART-S & 0.924 & 0.340 & 0.713 & 0.693 & 0.809 & 0.379 & 0.292 & 1.687 & 0.943 & 3.12 & 0.811 & 7.140 & 0.228 & 6.518 & 0.216 & 9.862
DepthART-B & 0.942 & 0.307 & 0.732 & 0.672 & 0.831 & 0.342 & 0.287 & 2.018 & 0.951 & 2.948 & 0.847 & 6.475 & 0.227 & 6.831 & 0.231 & 9.474
DepthART-L & 0.946 & 0.295 & 0.747 & 0.646 & 0.847 & 0.326 & 0.298 & 2.012 & 0.956 & 2.784 &
0.867 & 6.340 & 0.258 & 5.794 & 0.249 & 8.823
To maximize coverage in relative-depth pre-training, we aggregate data from 11 sources: ApolloScapeExtra [51], BDD100K [49], Cityscapes [52], DIML-indoor [53], GoogleLandmark [48], Holopix50K [54], HRWSI [55], ImageNet21K [46], LSUN [47], Objects365 [56], and ReDWeb [57]. For the large-scale datasets (BDD100K, GoogleLandmark, ImageNet21K, LSUN, and Objects365), we do not use the full collections but use our BRDS to extract bias-resistant samples, resulting in a 1.7M image training set. After pre-training, we evaluate zero-shot affine-invariant depth on NYUD v2 (Eigen crop) [58], KITTI (Eigen crop) [59], ETH3D [60], DIODE [61], and DDAD [62]. For metric-scale fine-tuning, we train on a single metric dataset (NYUD v2 or KITTI with Eigen crop) and further report zero-shot metric transfer on iBims-1 [63], SUN RGB-D [64], DIODE, DDAD, and ETH3D.
For affine-invariant depth, we compare with MiDaS v3.1 [15], which provides a broad family of generalizable relative MDE models from lightweight to heavyweight variants, including a fastest model MiDaS-LeViT; Metric3D v2 [12], as a representative generalizable metric MDE method; Depth Anything v2 [11], as both a representative generalizable relative MDE method and our teacher model; and AnyDepth [65], which targets both lightweight deployment and cross-scene generalization. Since AnyDepth does not release full model code, we only report its parameter count and accuracy, not inference speed. We exclude diffusion-based methods because they are typically much slower, and self-supervised methods because they follow a different paradigm.
For metric depth, we compare with the lightweight models FastDepth [37], DANet [38], and GuideDepth [39]. We do not include TuMDE [66], LightDepth [67], or METER [68], because only partial code is publicly available and our reproduced results are substantially worse than those reported. We also include Depth Anything v1-L [19], which, although not lightweight, is the only publicly available Depth Anything model aligned with our setting. To keep the comparison fair, we only consider models fine-tuned on NYUD v2 or KITTI and tested on the remaining datasets. Accordingly, we do not treat large-scale camera-aware metric MDE models such as UniDepth and Metric3D as direct baselines, since their training data, model capacity, and fine-tuning settings differ substantially from ours. Instead, our metric evaluation measures whether a model can retain useful metric transfer under strict deployment-oriented constraints. These large-scale models remain important related references, but they are not strict “apples-to-apples” comparisons in our setting.
DepthART is trained on an A800, while all desktop latency is measured on an RTX A6000 with batch size 1 under strict FP32 execution with TF32 disabled. The main accuracy comparisons evaluate DepthART at \(448\times448\). For the accuracy–efficiency analysis in Table ¿tbl:tab:efficiency95deployment?, we additionally report resolution-matched accuracy and efficiency at \(224\times224\) and at each method’s standard operating resolution. For BRDS, we use \(J=8\) and \(B=10\). Stage-1 distillation runs for 40 epochs with batch size 96 using Adam \((\beta_1,\beta_2)=(0.9,0.999)\), learning rate \(1\mathrm{e}{-4}\), weight decay 0.01, and horizontal flips only. We apply source-specific reduction factors \(\gamma\) to the five large-scale datasets. CamFT runs for 40 epochs with batch size 64 and initial learning rate \(5\mathrm{e}{-5}\), with \(Q=8\), \(d_{\max}=10\) for NYUD v2, and \(d_{\max}=80\) for KITTI. We further apply mild intrinsics perturbation during CamFT by randomly rescaling images to \([0.9,1.1]\) and cropping \([0.8,1.0]\) of the resized area, which serves as regularization for small camera variations rather than severe intrinsics noise or missing metadata. RGB images use bilinear interpolation, while depth maps use nearest-neighbor interpolation.
Zero-Shot Affine-Invariant Depth Estimation. Table ¿tbl:tab:zero95shot95relative95depth? shows zero-shot affine-invariant results on five benchmarks spanning diverse scenes. Across three lightweight scales (TinyViM-S/B/L), DepthART delivers consistently strong generalization on the same level of latency, outperforming early baselines (e.g., MiDaS) with orders-of-magnitude fewer parameters than ViT-L models. Notably, TinyViM-L achieves the best ETH3D \(\delta_1\) (0.958) among models below 50M parameters and improves AbsRel on DIODE-Full (0.208) over Depth Anything v2 ViT-L (0.230), showing that our BRDS helps to yield highly generalizable relative-depth cues. Although Metric3D v2 (ViT-L) attains the best accuracy, DepthART provides a far lighter, deployment-friendly alternative that better matches real-time, on-device constraints.
In-domain/Zero-shot Metric Depth Estimation. Table ¿tbl:tab:camft95nyud95kitti95zeroshot? shows both in-domain results (fine-tuned on NYUD v2 or KITTI) and cross-dataset transfer without further adaptation. Scaling DepthART from S to B/L generally improves both in-domain accuracy and cross-dataset transfer. After NYUD v2 fine-tuning, DepthART-L achieves the best results on iBims-1 (\(0.747/0.646\)) and SUN RGB-D (\(0.847/0.326\)). On DIODE-Indoor, DepthART-L obtains the best \(\delta_1\) (\(0.298\)), while DepthART-S achieves the lowest RMSE (\(1.687\)). After KITTI fine-tuning, DepthART-L achieves the best results on DDAD (\(0.867/6.340\)) and ETH3D-Outdoor (\(0.258/5.794\)), and the lowest RMSE on DIODE-Outdoor (\(8.823\)). Depth Anything v1-L retains the highest DIODE-Outdoor \(\delta_1\) (\(0.288\)). Overall, CamFT provides strong metric transfer across model scales while retaining competitive in-domain accuracy.
Qualitative results. Fig. 4 shows qualitative results for affine-invariant depth and metric 3D reconstruction. Across five zero-shot benchmarks and additional self-collected scenes, DepthART-B yields more coherent depth layouts and cleaner local structures than prior lightweight models, while remaining visually competitive with much larger baselines, i.e., the teacher, Depth Anything v2-L. It better preserves thin structures, object boundaries, and relative depth in challenging regions, where other methods often suffer from over-smoothing or local distortions. After metric fine-tuning, DepthART-S also produces more geometrically consistent 3D reconstructions on unseen indoor scenes, showing less distortion around the window and windowsill in the two left cases, and cleaner geometry for the wooden door and chair in the two right cases, compared with DANet and Depth Anything v2-S.
cl|*2cc & & &
& & \(\mathbf{\delta_1} \uparrow\) & AbsRel\(\downarrow\) & \(\mathbf{\delta_1} \uparrow\) &
AbsRel\(\downarrow\)
& Random & 0.957-0.7% & 0.065+10.2% & 0.905-2.7% & 0.104+26.8%
& K-Means & 0.958-0.6% & 0.063+6.8% & 0.923-0.8% & 0.086+4.9%
& Bias-Resistant & 0.964 & 0.059 & 0.930 & 0.082
& Random & 0.947-1.4% & 0.072+14.3% & 0.903-2.3% & 0.107+20.2%
& K-Means & 0.958-0.2% & 0.063+0.0% & 0.917-0.8% &
0.090+1.1%
& Bias-Resistant & 0.960 & 0.063 & 0.924 & 0.089
& Random & 0.941-1.3% & 0.076+11.8% & 0.891-3.0% & 0.117+30.0%
& K-Means & 0.954+0.1% & 0.067-1.5% & 0.911-0.9% & 0.095+5.6%
& Bias-Resistant & 0.953 & 0.068 & 0.919 & 0.090
Ablations for Sampling Strategy. We ablate BRDS by distilling our model with the same sampling amount using Random, K-Means, or BRDS, under three budgets (0.5M/1.0M/1.7M). Table ¿tbl:tab:ablation95sampling? reports zero-shot affine-invariant depth results on NYUD v2 and KITTI. At 1.7M it achieves the best accuracy on both datasets (NYUD v2 \(0.964/0.059\), KITTI \(0.930/0.082\)), and under tighter budgets it remains more sample-efficient, notably improving KITTI over Random at 0.5M (\(\delta_1\): \(0.891\!\rightarrow\!0.919\), AbsRel: \(0.117\!\rightarrow\!0.090\)). These gains indicate that BRDS reduces dominant-mode overfitting and improves generalization with limited data. At 0.5M, BRDS is slightly behind K-Means on some metrics, as the budget is too small for the student to fully fit the more diverse, long-tail exposure emphasized by BRDS. With sufficient data (1.0M+), BRDS becomes consistently superior.
CamFT Design Ablations. Table 1 isolates three factors: freezing the distilled encoder (Frz), the camera adapter (CamAdp), and the Multi-Query Scale Head (MQSH). Without freezing, the model attains high in-domain accuracy on NYUD v2 (full fine-tuning: \(0.928/0.328\), or even \(0.930/0.333\) with CamAdp+MQSH) but transfers poorly to iBims-1 (\(0.572/0.844\) and \(0.613/0.779\)), showing severe cross-domain degradation. With the trunk frozen, removing either module causes a large drop on iBims-1 (w/o CamAdp: \(0.534/0.879\); w/o MQSH: \(0.544/0.866\)), while using both achieves the best transfer (\(0.713/0.693\)) with comparable NYUD v2 results (\(0.924/0.340\)).
| Frz | CamAdp | MQSH | NYUD v2 (ID) | iBims-1 (ZS) | ||
| \(\delta_1 \uparrow\) | RMSE \(\downarrow\) | \(\delta_1 \uparrow\) | RMSE \(\downarrow\) | |||
| 0.928 | 0.328 | 0.572 | 0.844 | |||
| 0.887 | 0.388 | 0.562 | 0.877 | |||
| 0.896 | 0.380 | 0.544 | 0.866 | |||
| 0.908 | 0.365 | 0.534 | 0.879 | |||
| 0.924 | 0.340 | 0.713 | 0.693 | |||
| 0.930 | 0.333 | 0.613 | 0.779 | |||
4.5pt
| Adapter Design Choices | NYUD v2 (ID) | iBims-1 (ZS) | ||
| \(\delta_1 \uparrow\) | RMSE \(\downarrow\) | \(\delta_1 \uparrow\) | RMSE \(\downarrow\) | |
| Fusion method of camera prompt and feature | ||||
| Additive | 0.911-1.4% | 0.361+6.2% | 0.568-20.3% | 0.840+21.2% |
| Concat + Proj | 0.913-1.2% | 0.351+3.2% | 0.616-13.6% | 0.781+12.7% |
| Cross-Attn | 0.924 | 0.340 | 0.713 | 0.693 |
| Adapter insertion position | ||||
| Decoder-side adapter | 0.914-1.1% | 0.346+1.8% | 0.611-14.3% | 0.827+19.3% |
| Encoder-side adapter | 0.924 | 0.340 | 0.713 | 0.693 |
5pt
Adapter Design Choices. Table 2 evaluates the camera adapter design along two axes: fusion operator and insertion location. Replacing cross-attention with simple fusion between camera prompts and image features leads to clear degradation, especially under domain shift: on iBims-1, Additive drops from \(0.713/0.693\) to \(0.568/0.840\) and Concat+Proj to \(0.616/0.781\) (\(\delta_1\)/RMSE); even on NYUD v2, performance decreases to \(0.911/0.361\) (Additive) and \(0.913/0.351\) compared to \(0.924/0.340\). For insertion, placing the adapter on the decoder also hurts transfer, reducing iBims-1 from \(0.713/0.693\) to \(0.611/0.827\) (NYUD v2: \(0.924/0.340 \rightarrow 0.914/0.346\)). Therefore, we adopt an encoder-side cross-attention adapter in all experiments.
Efficiency Analysis. Table ¿tbl:tab:efficiency95deployment? reports strict-FP32 efficiency on an RTX A6000 and on-device deployment on a Orin NX 8GB. At \(224^2\), DepthART-S/B/L achieve 347/298/191 FPS with model-only latencies of 2.88/3.36/5.23 ms and end-to-end latencies of 3.72–6.08 ms. At \(448^2\), they retain 245/204/124 FPS with 4.09–8.07 ms model-only and 6.98–10.93 ms end-to-end latency. At their standard resolutions, DepthART-S/B/L are respectively 3.2\(\times\)/6.7\(\times\)/12.7\(\times\) faster than the corresponding Depth Anything V2 variants in model-only inference, while requiring substantially fewer FLOPs and less memory.
On the Orin NX, the relative-depth S/B/L models reach \(102/86/55\) FPS at \(224^2\) and \(34/28/16\) FPS at \(448^2\) in FP32 with TF32 enabled, with end-to-end latencies of \(12.43\)–\(20.63\) ms and \(40.40\)–\(67.10\) ms, respectively. Figure 5 further profiles relative- and metric-depth inference under the 10W, 15W, 20W, and MAXN modes. TensorRT consistently reduces latency across model scales and resolutions, with FP16 providing the highest throughput, while higher power modes yield further acceleration. Although incomplete Jetson Nano 4GB measurements are omitted from the table, DepthART-S still exceeds 15 FPS for \(224^2\) relative-depth inference in strict FP32 on it.
We present DepthART, a tiny monocular depth model that transfers much of the generalization ability of foundation MDE models to deployment-oriented backbones, while supporting stable metric calibration through encoder-frozen camera-conditioned fine-tuning. By combining bias-resistant sampling with camera-conditioned fine-tuning, DepthART improves zero-shot generalization and metric accuracy over prior lightweight baselines while maintaining high efficiency across a scalable model family.
Limitations and future work. (1) CamFT still follows the Depth Anything fine-tuning setting. Large-scale metric-depth training, e.g., in the spirit of UniDepth/Metric3D, is a key step to further strengthen metric-scale reliability. (2) CamFT assumes known camera intrinsics. We will explore intrinsics estimation, e.g., GeoCalib [69], to reduce this reliance and enable metric depth without metadata.