MiDaS
MiDaS adalah estimasi kedalaman relatif monokular yang dilatih dengan loss invarian skala dan pergeseran pada campuran dataset. Rangkaian pekerjaan ini membentuk protokol transfer kedalaman zero-shot yang digunakan kembali oleh family berikutnya. LibreYOLO mendukungnya untuk task kedalaman: prediksi dan validasi zero-shot, tanpa jalur pelatihan.
- Task
- depth
- Ukuran
- s, l at 256 to 384 px
- Instalasi
pip install libreyolo- Tier dukungan
- Hanya inferensi, sejak v. Hanya prediksi, validasi, dan ekspor. Fitur pelatihan tidak berlaku.
- Lisensi
- Kode MIT, bobot MIT. Penggunaan komersial
Instalasi
MiDaS tidak memerlukan extra opsional. Semua yang diimpornya tersedia dalam instalasi dasar.
pip install libreyoloPrediksi
MiDaS adalah satu-satunya family kedalaman yang tidak dipublikasikan ulang
LibreYOLO di organisasi Hugging Face miliknya. Meminta checkpoint berdasarkan
nama berkas LibreYOLO akan mengunduh aset resmi yang cocok langsung dari rilis
GitHub isl-org/MiDaS, memeriksanya terhadap SHA-256 yang dipatok, lalu
membungkusnya dengan metadata checkpoint LibreYOLO sebelum penggunaan pertama.
Run berikutnya menggunakan kembali berkas lokal dalam cache. Lihat Lisensi
untuk alasannya.
from libreyolo import LibreYOLO, SAMPLE_IMAGE # Belum tersedia di disk: LibreYOLO mengunduhnya dari rilis GitHub resmi# isl-org/MiDaS dan memeriksanya terhadap SHA-256 yang dipatok sebelum digunakan.model = LibreYOLO("LibreMiDaSl-depth.pt")result = model(SAMPLE_IMAGE, save=True) depth = result.depth_mapprint(depth.min, depth.max, depth.mean)libreyolo predict model=LibreMiDaSl-depth.pt source=https://raw.githubusercontent.com/LibreYOLO/libreyolo/release/libreyolo/assets/parkour.jpg save=Truefrom libreyolo import LibreYOLO, SAMPLE_IMAGE # Encoder EfficientNet-Lite3, lebih kecil dan cepat daripada ukuran DPT-Large l.model = LibreYOLO("LibreMiDaSs-depth.pt")result = model(SAMPLE_IMAGE, save=True)result.depth_map memuat peta inverse-depth relatif yang padat. Nilai lebih
tinggi berarti lebih dekat ke kamera, dan nilainya tidak memiliki satuan metrik
atau skala lintas gambar. save=True menulis visualisasi berpeta warna dari peta
tersebut ke disk. Results.plot() tidak mencakup family ini karena hanya
didefinisikan untuk surface normal dan edge. Lihat prediksi
untuk sumber, streaming, dan penanganan hasil.
Varian
Ada dua varian dengan encoder berbeda, bukan sekadar skala berbeda dari encoder
yang sama. s adalah MiDaS v2.1 Small dengan encoder EfficientNet-Lite3. l
adalah DPT-Large dengan encoder ViT-L/16 dan decoder DPT yang diperkenalkan MiDaS
untuk prediksi padat. Preprocessing-nya juga berbeda. s memakai resize aspek
upper-bound dengan normalisasi mean/std ImageNet, sedangkan l memakai resize
aspek minimal dengan mean dan std 0.5. Pilih s untuk CNN yang lebih ringan,
atau l untuk akurasi decoder transformer.
Pelatihan tidak tersedia untuk family ini. LibreMiDaS.train() selalu
memunculkan NotImplementedError.
Validasi
val() menjalankan validator kedalaman bersama. Setiap prediksi disejajarkan
dengan ground truth melalui skala dan pergeseran least-squares per gambar, lalu
validator melaporkan metrik kedalaman relatif zero-shot standar: AbsRel, RMSE,
dan tiga ambang batas delta.
from libreyolo import LibreYOLO model = LibreYOLO("LibreMiDaSl-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=LibreMiDaSl-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: didukung | depth to TFLite: tidak didukung | depth to CoreML: tidak didukung | depth to Core AI: tidak didukung |
Artefak hasil ekspor dapat dimuat kembali melalui LibreYOLO() berdasarkan
akhiran berkasnya, sehingga berkas .onnx atau .engine berperilaku seperti
checkpoint dan mengembalikan Results yang sama, dengan depth_map sebagai
pengganti box.
from libreyolo import LibreYOLO model = LibreYOLO("LibreMiDaSl-depth.pt")model.export(format="onnx")model.export(format="tensorrt", half=True)libreyolo export model=LibreMiDaSl-depth.pt format=onnxlibreyolo export model=LibreMiDaSl-depth.pt format=tensorrt half=Truefrom libreyolo import LibreYOLO, SAMPLE_IMAGE # Factory merutekan berdasarkan akhiran berkas, sehingga artefak hasil ekspor dimuat# seperti checkpoint lain dan mengembalikan objek Results yang sama.model = LibreYOLO("LibreMiDaSl-depth.onnx")result = model(SAMPLE_IMAGE) print(result.depth_map.data.shape)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
- MiDaS, Intel Intelligent Systems Lab (Intel ISL)
- Lisensi upstream
- MIT
- Sumber upstream
- github.com/isl-org/MiDaS
- Kode LibreYOLO
- MIT
- Bobot
- MIT, didistribusikan oleh penulisnya. LibreYOLO tidak menghosting atau mencerminkannya.
- Interpretasi
- The isl-org/MiDaS repository, code and released checkpoints included, is MIT. LibreYOLO's own port code is MIT as well. LibreYOLO does not republish the checkpoints on its own Hugging Face organization, though: the family downloads the two official release assets directly from GitHub and checks them against a pinned SHA-256 before wrapping them, because an internal LibreYOLO policy (ADR 0006) requires the training-dataset mixture's commercial-redistribution terms to be cleared before LibreYOLO hosts a depth checkpoint itself, and that clearance has not happened for MiDaS. The bytes you get are upstream's own MIT-licensed release either way.
Sitasi
@ARTICLE {Ranftl2022,
author = "Ren\'{e} Ranftl and Katrin Lasinger and David Hafner and Konrad Schindler and Vladlen Koltun",
title = "Towards Robust Monocular Depth Estimation: Mixing Datasets for Zero-Shot Cross-Dataset Transfer",
journal = "IEEE Transactions on Pattern Analysis and Machine Intelligence",
year = "2022",
volume = "44",
number = "3"
}
@article{Ranftl2021,
author = {Ren\'{e} Ranftl and Alexey Bochkovskiy and Vladlen Koltun},
title = {Vision Transformers for Dense Prediction},
journal = {ICCV},
year = {2021},
}Disalin dari blok sitasi penulis di github.com/isl-org/MiDaS#citation.