Depth Anything V2
Depth Anything V2 adalah encoder DINOv2 yang dipadukan dengan decoder DPT dan memprediksi peta inverse-depth relatif yang padat dari satu gambar. LibreYOLO mendukungnya untuk task depth: prediksi dan validasi zero-shot, tanpa jalur pelatihan.
- Task
- depth
- Ukuran
- s, b, l, g at 518 px
- Instalasi
pip install libreyolo- Tier dukungan
- Hanya inferensi, sejak v. Hanya prediksi, validasi, dan ekspor. Fitur pelatihan tidak berlaku.
- Proyek upstream
- Depth Anything V2 oleh The University of Hong Kong and TikTok, Apache-2.0 (Small checkpoint); CC-BY-NC-4.0 (Base and Large checkpoints). Makalah, sumber
- Lisensi
- Kode Apache-2.0, bobot Apache-2.0 (Small checkpoint); CC-BY-NC-4.0 (Base and Large checkpoints). Penggunaan komersial
Instalasi
Depth Anything V2 tidak membutuhkan extra opsional. Semua yang diimpornya sudah ada di instalasi dasar.
pip install libreyoloPrediksi
Bobot diunduh dari Hugging Face saat pertama kali dipakai dan disimpan di cache lokal.
from libreyolo import LibreYOLO, SAMPLE_IMAGE model = LibreYOLO("LibreDepthAnythingV2s-depth.pt")result = model(SAMPLE_IMAGE, save=True) depth = result.depth_mapprint(depth.min, depth.max, depth.mean)libreyolo predict model=LibreDepthAnythingV2s-depth.pt source=https://raw.githubusercontent.com/LibreYOLO/libreyolo/release/libreyolo/assets/parkour.jpg save=Truefrom libreyolo import LibreYOLO, SAMPLE_IMAGE model = LibreYOLO("LibreDepthAnythingV2s-depth.pt")result = model(SAMPLE_IMAGE) depth = result.depth_map # DepthMap: padat (H, W), makin tinggi = makin dekatraw = depth.data # tensor, tanpa satuan metrik atau skala antargambarnormalized = depth.normalized() # diskalakan ulang ke [0, 1] untuk visualisasiresult.depth_map membawa peta inverse-depth relatif yang padat: nilai yang
lebih tinggi berarti lebih dekat ke kamera, dan nilainya tidak punya satuan
metrik maupun skala antargambar. save=True menulis visualisasi peta itu dengan
colormap ke disk; Results.plot() tidak mencakup family ini, karena metode itu
hanya didefinisikan untuk surface normal dan tepi. Resolusi masukan harus habis
dibagi 14, yaitu grid patch DINOv2 yang menjadi dasar head DPT; LibreYOLO
memeriksanya sebelum menjalankan model dan memunculkan error bila tidak sesuai.
Lihat prediksi untuk sumber, streaming dan penanganan hasil.
Varian
Empat ukuran encoder, s/b/l/g, yang sesuai dengan ViT-S/B/L/G. Tabel checkpoint di bawah hanya memuat s, b dan l; tidak ada checkpoint Giant yang dipublikasikan. Keempatnya memakai resolusi masukan yang sama, jadi memilih ukuran berarti menukar kapasitas encoder, bukan ukuran gambar. Lisensi juga jadi pertimbangan: checkpoint Small berlisensi Apache-2.0, sedangkan Base dan Large CC-BY-NC-4.0, lihat Lisensi di bawah.
Pelatihan dan fine-tuning tidak disediakan untuk family ini. LibreDepthAnythingV2.train()
selalu memunculkan NotImplementedError; sebagai gantinya, konversikan
checkpoint upstream yang kompatibel dengan
weights/convert_depth_anything_v2_weights.py.
Validasi
val() menjalankan validator depth bersama: setiap prediksi diselaraskan dengan
ground truth-nya memakai skala dan pergeseran least-squares per gambar, lalu
metrik standar kedalaman relatif zero-shot dilaporkan, yaitu AbsRel, RMSE dan
tiga ambang batas delta.
from libreyolo import LibreYOLO model = LibreYOLO("LibreDepthAnythingV2s-depth.pt")metrics = model.val(data="my-dataset.yaml") print(metrics["metrics/abs_rel"])print(metrics["metrics/rmse"])print(metrics["metrics/delta1"])libreyolo val model=LibreDepthAnythingV2s-depth.pt data=my-dataset.yamlEkspor
| Task | ONNX | TorchScript | ExecuTorch | TensorRT | OpenVINO | Paddle | MNN | RKNN | ncnn | TFLite | CoreML | Core AI |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| depth | depth to ONNX: didukung | depth to TorchScript: didukung | depth to ExecuTorch: didukung | depth to TensorRT: didukung | depth to OpenVINO: didukung | depth to Paddle: tidak didukung | depth to MNN: tidak didukung | depth to RKNN: tidak didukung | depth to ncnn: tidak didukung | depth to TFLite: tidak didukung | depth to CoreML: tidak didukung | depth to Core AI: didukung |
Artefak hasil ekspor dimuat kembali lewat LibreYOLO() berdasarkan sufiks
berkasnya, jadi berkas .onnx atau .engine berperilaku seperti checkpoint dan
mengembalikan Results yang sama, dengan depth_map menggantikan box.
Ekspor memuat daftar argumen yang diterima setiap format.
from libreyolo import LibreYOLO model = LibreYOLO("LibreDepthAnythingV2s-depth.pt")model.export(format="onnx")model.export(format="tensorrt", half=True)libreyolo export model=LibreDepthAnythingV2s-depth.pt format=onnxlibreyolo export model=LibreDepthAnythingV2s-depth.pt format=tensorrt half=Truefrom libreyolo import LibreYOLO, SAMPLE_IMAGE # Factory memilih rute berdasarkan sufiks berkas, jadi artefak hasil# ekspor dimuat seperti checkpoint biasa dan mengembalikan objek Results# yang sama.model = LibreYOLO("LibreDepthAnythingV2s-depth.onnx")result = model(SAMPLE_IMAGE) print(result.depth_map.data.shape)Checkpoint
Semua berkas bobot yang dipublikasikan untuk family ini.
| Berkas | Input (piksel) | Lisensi bobot |
|---|---|---|
| depth | ||
| LibreDepthAnythingV2s-depth.pt | apache-2.0 | |
| LibreDepthAnythingV2l-depth.pt | cc-by-nc-4.0 | |
| LibreDepthAnythingV2b-depth.pt | cc-by-nc-4.0 | |
Setiap berkas di atas saat ini tersedia di organisasi LibreYOLO dan diunduh saat pertama kali digunakan.
Lisensi
Periksa lisensi di repositori Hugging Face untuk bobot tertentu yang diunduh. Setiap checkpoint di organisasi LibreYOLO memiliki lisensi, dan lisensinya tidak selalu sama dalam satu family. Repositori tersebut adalah sumber resmi. Ringkasan di bawah menjelaskan ketentuan yang berlaku saat halaman ini terakhir diverifikasi.
Ini adalah deskripsi lisensi yang terlibat, bukan nasihat hukum. Jika jawabannya penting secara komersial, baca sendiri lisensinya dan mintalah nasihat dari penasihat hukum Anda.
- Karya asli
- Depth Anything V2, The University of Hong Kong and TikTok
- Lisensi upstream
- Apache-2.0 (Small checkpoint); CC-BY-NC-4.0 (Base and Large checkpoints)
- Sumber upstream
- github.com/DepthAnything/Depth-Anything-V2
- Kode LibreYOLO
- MIT
- Bobot
- Apache-2.0 (Small checkpoint); CC-BY-NC-4.0 (Base and Large checkpoints), dipublikasikan ulang di huggingface.co/LibreYOLO
- Interpretasi
- The two licenses are not interchangeable. The Small checkpoint is Apache-2.0, a permissive license: it can be used in commercial and closed-source products, it asks you to keep its license text and attribution notices with any redistributed copy, and it grants a patent license. The Base and Large checkpoints are CC-BY-NC-4.0, which forbids commercial use outright and requires attribution on any redistribution, so treat them as research and evaluation weights unless you obtain separate terms from the authors. LibreYOLO's own code for this family is MIT throughout, and training is not offered for this family so there is no self-trained-weights exception to reach for.
Sitasi
@article{depth_anything_v2,
title={Depth Anything V2},
author={Yang, Lihe and Kang, Bingyi and Huang, Zilong and Zhao, Zhen and Xu, Xiaogang and Feng, Jiashi and Zhao, Hengshuang},
journal={arXiv:2406.09414},
year={2024}
}Disalin dari blok sitasi penulis di github.com/DepthAnything/Depth-Anything-V2#citation.