|
--- |
|
license: apache-2.0 |
|
--- |
|
|
|
# Depth Anything Core ML Models |
|
|
|
Depth Anything model was introduced in the paper [Depth Anything: Unleashing the Power of Large-Scale Unlabeled Data](https://arxiv.org/abs/2401.10891) by Lihe Yang et al. and first released in [this repository](https://github.com/LiheYoung/Depth-Anything). |
|
|
|
Disclaimer: The team releasing Depth Anything did not write a model card for this model so this model card has been written by the Hugging Face team. |
|
|
|
## Model description |
|
|
|
Depth Anything leverages the [DPT](https://huggingface.co/docs/transformers/model_doc/dpt) architecture with a [DINOv2](https://huggingface.co/docs/transformers/model_doc/dinov2) backbone. |
|
|
|
The model is trained on ~62 million images, obtaining state-of-the-art results for both relative and absolute depth estimation. |
|
|
|
<img src="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/transformers/model_doc/depth_anything_overview.jpg" |
|
alt="drawing" width="600"/> |
|
|
|
<small> Depth Anything overview. Taken from the <a href="https://arxiv.org/abs/2401.10891">original paper</a>.</small> |
|
|
|
## Evaluation - Variants |
|
|
|
| Variant | Parameters | Size (MB) | Weight precision | Act. precision | abs-rel error | abs-rel reference | |
|
| ------------------------------------------------------- | ---------: | --------: | ---------------- | -------------- | ------------: | ----------------: | |
|
| base-original (PyTorch) | 97.5M | 390 | Float32 | Float32 | | | |
|
| small-original (PyTorch) | 24.8M | 99.2 | Float32 | Float32 | 0.1589 | base-original | |
|
| [base-float32](depth-anything-base-float32.mlpackage) | 97.5M | 194.6 | Float32 | Float32 | 0.0056 | base-original | |
|
| [base-float16](depth-anything-base-float16.mlpackage) | 97.5M | 194.6 | Float16 | Float16 | 0.0061 | base-original | |
|
| [small-float32](depth-anything-small-float32.mlpackage) | 24.8M | 99.0 | Float32 | Float32 | 0.0073 | small-original | |
|
| [small-float16](depth-anything-small-float16.mlpackage) | 24.8M | 45.8 | Float16 | Float16 | 0.0077 | small-original | |
|
|
|
## Evaluation - Inference time |
|
|
|
The following results use the small-float16 variant. |
|
|
|
| Device | OS | Inference time (ms) | Dominant compute unit | |
|
| -------------------- | ---- | ------------------: | --------------------- | |
|
| iPhone 14 | 17.5 | 160.59 | Neural Engine | |
|
| iPhone 14 Pro Max | 17.5 | 119.33 | Neural Engine | |
|
| iPhone 15 | 17.0 | 99.42 | Neural Engine | |
|
| iPhone 15 Pro Max | 17.4 | 116.1 | Neural Engine | |
|
| MacBook Pro (M1 Max) | 14.5 | 32.20 | GPU | |
|
|
|
|
|
## Download |
|
|
|
Install `huggingface-hub` |
|
|
|
```bash |
|
pip install huggingface-hub |
|
``` |
|
|
|
To download one of the `.mlpackage` folders to the `models` directory: |
|
|
|
```bash |
|
huggingface-cli download \ |
|
--local-dir models --local-dir-use-symlinks False \ |
|
coreml-projects/depth-anything \ |
|
--include "DepthAnythingSmallF16.mlpackage/*" |
|
``` |
|
|
|
To download everything, skip the `--include` argument. |
|
|