File size: 3,561 Bytes
4777e52
 
 
7d87869
4777e52
 
 
 
7d87869
 
 
4777e52
7d87869
 
4777e52
 
7d87869
 
 
 
 
 
 
 
 
 
aab283c
 
7d87869
 
 
 
 
4777e52
7d87869
4777e52
 
7d87869
 
 
 
aab283c
7d87869
aab283c
8f9f59b
7d87869
 
 
 
 
 
 
4777e52
7d87869
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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-base-hf
library_name: kerasformers
tags:
- keras
- kerasformers
- depth-anything
- depth-estimation
- arxiv:2401.10891
- pytorch
- jax
- tf
---

## ***See [our collection](https://huggingface.co/collections/kerasformers/depth-anything-v1-and-v2-6a6a965e3e9e4847e424dde2) 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-KerasFormers-black?logo=github)](https://github.com/IMvision12/KerasFormers) [![Docs](https://img.shields.io/badge/Docs-Depth--Anything--V1-blue)](https://imvision12.github.io/KerasFormers/depth_anything_v1/) [![Collection](https://img.shields.io/badge/HF-Depth--Anything--V1%20collection-yellow)](https://huggingface.co/collections/kerasformers/depth-anything-v1-and-v2-6a6a965e3e9e4847e424dde2)

# kerasformers/depth_anything_base

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-base-hf).

Pure-**Keras 3** conversion of [`LiheYoung/depth-anything-base-hf`](https://huggingface.co/LiheYoung/depth-anything-base-hf) for [kerasformers](https://github.com/IMvision12/KerasFormers). 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 kerasformers.models.depth_anything_v1 import DepthAnythingV1DepthEstimation, DepthAnythingV1ImageProcessor

model = DepthAnythingV1DepthEstimation.from_weights("kerasformers/depth_anything_base")
processor = DepthAnythingV1ImageProcessor.from_weights("kerasformers/depth_anything_base")

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("kerasformers/<variant>")`:

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

## Tips

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

## Special Thanks

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

License: Apache 2.0.