IMvision12's picture
docs: load image processor via from_weights
59e3c37 verified
|
Raw
History Blame Contribute Delete
3.57 kB
metadata
pipeline_tag: depth-estimation
license: apache-2.0
base_model: LiheYoung/depth-anything-large-hf
library_name: kerasformers
tags:
  - keras
  - kerasformers
  - depth-anything
  - depth-estimation
  - arxiv:2401.10891
  - pytorch
  - jax
  - tf

See our collection for all versions of Depth Anything V1.

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

GitHub Docs Collection

kerasformers/depth_anything_large

Paper: Depth Anything: Unleashing the Power of Large-Scale Unlabeled Data (arXiv:2401.10891) · HF Papers

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.

Pure-Keras 3 conversion of LiheYoung/depth-anything-large-hf for kerasformers. One implementation runs unmodified on TensorFlow / Torch / JAX.

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

✨ Quick start

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_large")
processor = DepthAnythingV1ImageProcessor.from_weights("kerasformers/depth_anything_large")

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 ViT-S/14
depth_anything_base kerasformers/depth_anything_base ViT-B/14
depth_anything_large 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 and Loading Weights.
  • Community / upstream weights: DepthAnythingV1DepthEstimation.from_weights("hf:LiheYoung/depth-anything-large-hf").

Special Thanks

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

License: Apache 2.0.