File size: 3,525 Bytes
b44ee39
 
 
108b1d3
e4c325e
b44ee39
 
e4c325e
108b1d3
 
 
b44ee39
108b1d3
 
b44ee39
 
41b5a78
108b1d3
 
 
41b5a78
108b1d3
e4c325e
108b1d3
 
 
5b69a67
 
108b1d3
 
e4c325e
108b1d3
 
b44ee39
108b1d3
b44ee39
 
108b1d3
 
 
 
e4c325e
108b1d3
e4c325e
 
108b1d3
 
 
 
 
 
 
b44ee39
108b1d3
e4c325e
108b1d3
 
 
e4c325e
 
 
108b1d3
 
 
e4c325e
108b1d3
e4c325e
108b1d3
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
---
pipeline_tag: depth-estimation
license: apache-2.0
base_model: LiheYoung/depth-anything-small-hf
library_name: zeromodels
tags:
- keras
- zeromodels
- depth-anything
- depth-estimation
- arxiv:2401.10891
- pytorch
- jax
- tf
---

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

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

[![GitHub](https://img.shields.io/badge/GitHub-ZeroModels-black?logo=github)](https://github.com/IMvision12/ZeroModels) [![Docs](https://img.shields.io/badge/Docs-Depth--Anything--V1-blue)](https://imvision12.github.io/ZeroModels/depth_anything_v1/) [![Collection](https://img.shields.io/badge/HF-Depth--Anything--V1%20collection-yellow)](https://huggingface.co/collections/zeromodels/depth-anything-v1-and-v2-6a8eaf5352197613b1655ac5)

# zeromodels/depth_anything_small

Paper: [Depth Anything: Unleashing the Power of Large-Scale Unlabeled Data (arXiv:2401.10891)](https://arxiv.org/abs/2401.10891) · [HF Papers](https://huggingface.co/papers/2401.10891)

Depth Anything estimates depth from a single image. A DINOv2 ViT backbone feeds a DPT-style neck and head. V1 outputs relative inverse depth (larger means closer; units are arbitrary within one image).

For more details on the model, please go to the upstream [model card](https://huggingface.co/LiheYoung/depth-anything-small-hf).

Pure-**Keras 3** conversion of [`LiheYoung/depth-anything-small-hf`](https://huggingface.co/LiheYoung/depth-anything-small-hf) for [zeromodels](https://github.com/IMvision12/ZeroModels). One implementation runs unmodified on **TensorFlow / Torch / JAX**.

This is a **monocular depth** checkpoint (`DepthAnythingV1DepthEstimation`) with relative inverse depth.

## ✨ Quick start

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

from PIL import Image
from zeromodels.models.depth_anything_v1 import DepthAnythingV1DepthEstimation, DepthAnythingV1ImageProcessor

model = DepthAnythingV1DepthEstimation.from_weights("zeromodels/depth_anything_small")
processor = DepthAnythingV1ImageProcessor.from_weights("zeromodels/depth_anything_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 V1 variant the same way with `from_weights("zeromodels/<variant>")`:

| Variant | Hub | Backbone |
|---|---|---|
| `depth_anything_small` | [`zeromodels/depth_anything_small`](https://huggingface.co/zeromodels/depth_anything_small) | ViT-S/14 |
| `depth_anything_base` | [`zeromodels/depth_anything_base`](https://huggingface.co/zeromodels/depth_anything_base) | ViT-B/14 |
| `depth_anything_large` | [`zeromodels/depth_anything_large`](https://huggingface.co/zeromodels/depth_anything_large) | ViT-L/14 |

## Tips

- Set `KERAS_BACKEND` **before** importing Keras / zeromodels.
- For metric (metre) depth, use Depth Anything V2 metric heads.
- See [Depth Anything V1 docs]({DOCS_URL}) and [Loading Weights](https://imvision12.github.io/ZeroModels/loading_weights/).
- Community / upstream weights: `DepthAnythingV1DepthEstimation.from_weights("hf:LiheYoung/depth-anything-small-hf")`.

## Special Thanks

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

License: Apache 2.0.