CoolFace
Modelpublic

zeromodels/depth_anything_v2_metric_indoor_small

sourceHugging Faceapache-2.0updated 28d agoView on Hugging Face
0likes39downloads
Model Card

*See [our collection](https://huggingface.co/collections/zeromodels/depth-anything-v1-and-v2-6a8eaf5352197613b1655ac5) for all versions of Depth Anything V2.*

Run Depth Anything V2 with Keras 3: JAX, PyTorch, or TensorFlow

![GitHub](https://github.com/IMvision12/ZeroModels) ![Docs](https://imvision12.github.io/ZeroModels/depthanythingv2/) ![Collection](https://huggingface.co/collections/zeromodels/depth-anything-v1-and-v2-6a8eaf5352197613b1655ac5)

zeromodels/depthanythingv2metricindoor_small

Paper: Depth Anything V2 (arXiv:2406.09414) · HF Papers

Depth Anything V2 keeps V1's architecture and improves data (synthetic labels plus large-scale pseudo-labeling). Relative heads return unitless inverse depth; metric indoor/outdoor heads return metres.

For more details on the model, please go to the upstream model card.

Pure-Keras 3 conversion of `depth-anything/Depth-Anything-V2-Metric-Indoor-Small-hf` for zeromodels. One implementation runs unmodified on TensorFlow / Torch / JAX.

This is a monocular depth checkpoint (DepthAnythingV2DepthEstimation, metric indoor (20m)).

✨ Quick start

python
import os
os.environ["KERAS_BACKEND"] = "torch"  # or "jax" / "tensorflow"

from PIL import Image
from zeromodels.models.depth_anything_v2 import DepthAnythingV2DepthEstimation, DepthAnythingV2ImageProcessor

model = DepthAnythingV2DepthEstimation.from_weights("zeromodels/depth_anything_v2_metric_indoor_small")
processor = DepthAnythingV2ImageProcessor.from_weights("zeromodels/depth_anything_v2_metric_indoor_small")

image = Image.open("your_image.jpg").convert("RGB")
output = model(processor(image)["pixel_values"], training=False)
depth = processor.post_process_depth_estimation(
    output, original_size=(image.height, image.width)
)
print(depth.shape)

Load any Depth Anything V2 variant the same way with from_weights("zeromodels/<variant>"):

VariantHubOutput
depth_anything_v2_small`zeromodels/depth_anything_v2_small`relative
depth_anything_v2_base`zeromodels/depth_anything_v2_base`relative
depth_anything_v2_large`zeromodels/depth_anything_v2_large`relative
depth_anything_v2_metric_indoor_small`zeromodels/depth_anything_v2_metric_indoor_small`metric indoor
depth_anything_v2_metric_indoor_base`zeromodels/depth_anything_v2_metric_indoor_base`metric indoor
depth_anything_v2_metric_indoor_large`zeromodels/depth_anything_v2_metric_indoor_large`metric indoor
depth_anything_v2_metric_outdoor_small`zeromodels/depth_anything_v2_metric_outdoor_small`metric outdoor
depth_anything_v2_metric_outdoor_base`zeromodels/depth_anything_v2_metric_outdoor_base`metric outdoor
depth_anything_v2_metric_outdoor_large`zeromodels/depth_anything_v2_metric_outdoor_large`metric outdoor

Tips

  • Set KERAS_BACKEND before importing Keras / zeromodels.
  • Indoor and outdoor metric heads are not interchangeable.
  • See Depth Anything V2 docs and Loading Weights.
  • Community / upstream weights: DepthAnythingV2DepthEstimation.from_weights("hf:depth-anything/Depth-Anything-V2-Metric-Indoor-Small-hf").

Special Thanks

A huge thank you to the Depth Anything authors for creating and releasing these models.

License: Apache 2.0.