Depth Anything V2

Depth Anything V2 là encoder DINOv2 ghép với decoder DPT để dự đoán depth map nghịch đảo tương đối dense từ một ảnh. LibreYOLO hỗ trợ mô hình này cho tác vụ độ sâu: dự đoán và xác thực zero-shot, không có tuyến huấn luyện.

Tác vụ
depth
Kích thước
s, b, l, g at 518 px
Cài đặt
pip install libreyolo
Bậc hỗ trợ
Chỉ suy luận, từ v. Chỉ dự đoán, kiểm định và xuất. Không áp dụng các tính năng huấn luyện.
Thượng nguồn
Depth Anything V2 của The University of Hong Kong and TikTok, Apache-2.0 (Small checkpoint); CC-BY-NC-4.0 (Base and Large checkpoints). Bài báo, mã nguồn
Giấy phép
Mã nguồn Apache-2.0, trọng số Apache-2.0 (Small checkpoint); CC-BY-NC-4.0 (Base and Large checkpoints). Sử dụng thương mại

Cài đặt

Depth Anything V2 không cần extra tùy chọn. Mọi thành phần mà mô hình import đều có trong bản cài đặt cơ sở.

bash
pip install libreyolo

Dự đoán

Trọng số được tải về từ Hugging Face trong lần sử dụng đầu tiên và được lưu vào bộ nhớ đệm cục bộ.

Python
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)
CLI
libreyolo predict model=LibreDepthAnythingV2s-depth.pt source=https://raw.githubusercontent.com/LibreYOLO/libreyolo/release/libreyolo/assets/parkour.jpg save=True
Đọc depth map
from libreyolo import LibreYOLO, SAMPLE_IMAGE model = LibreYOLO("LibreDepthAnythingV2s-depth.pt")result = model(SAMPLE_IMAGE) depth = result.depth_map    # DepthMap: dense (H, W), cao hơn = gần hơnraw = depth.data                # tensor, không có đơn vị mét hoặc tỷ lệ xuyên ảnhnormalized = depth.normalized() # đổi tỷ lệ thành [0, 1] để trực quan hóa

result.depth_map chứa depth map nghịch đảo tương đối dense: giá trị cao hơn nghĩa là gần camera hơn, các giá trị không có đơn vị mét hoặc tỷ lệ xuyên ảnh. save=True ghi bản trực quan hóa áp colormap của map đó ra đĩa; Results.plot() không hỗ trợ họ mô hình này vì hàm chỉ được định nghĩa cho pháp tuyến bề mặt và cạnh. Độ phân giải đầu vào phải chia hết cho 14, là lưới patch DINOv2 mà DPT head xây dựng trên đó; LibreYOLO kiểm tra điều này trước khi chạy và phát sinh lỗi nếu không đạt. Xem dự đoán để biết về nguồn, xử lý luồng và kết quả.

Biến thể

Có bốn kích thước encoder s/b/l/g, tương ứng với ViT-S/B/L/G. Bảng checkpoint bên dưới chỉ liệt kê s, b và l; không có checkpoint Giant nào được phát hành. Cả bốn dùng chung độ phân giải đầu vào, vì vậy việc chọn kích thước đánh đổi dung lượng encoder chứ không phải kích thước ảnh. Giấy phép cũng là một yếu tố: checkpoint Small dùng Apache-2.0, còn Base và Large dùng CC-BY-NC-4.0, xem phần Giấy phép bên dưới.

Họ mô hình này không cung cấp huấn luyện và tinh chỉnh. LibreDepthAnythingV2.train() luôn phát sinh NotImplementedError; thay vào đó hãy chuyển đổi một checkpoint upstream tương thích bằng weights/convert_depth_anything_v2_weights.py.

Xác thực

val() chạy trình xác thực độ sâu dùng chung: hàm căn chỉnh từng dự đoán với ground truth bằng scale và shift bình phương tối thiểu theo từng ảnh, rồi báo cáo các metric độ sâu tương đối zero-shot tiêu chuẩn là AbsRel, RMSE và ba ngưỡng delta.

Python
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"])
CLI
libreyolo val model=LibreDepthAnythingV2s-depth.pt data=my-dataset.yaml

Xuất

Tác vụONNXTorchScriptExecuTorchTensorRTOpenVINOPaddleMNNRKNNncnnTFLiteCoreMLCore AI
depthdepth to ONNX: được hỗ trợdepth to TorchScript: được hỗ trợdepth to ExecuTorch: được hỗ trợdepth to TensorRT: được hỗ trợdepth to OpenVINO: được hỗ trợdepth to Paddle: không được hỗ trợdepth to MNN: không được hỗ trợdepth to RKNN: không được hỗ trợdepth to ncnn: không được hỗ trợdepth to TFLite: không được hỗ trợdepth to CoreML: không được hỗ trợdepth to Core AI: được hỗ trợ

Artifact đã xuất được tải lại qua LibreYOLO() dựa trên hậu tố tệp, vì vậy tệp .onnx hoặc .engine hoạt động như checkpoint và trả về cùng đối tượng Results, với depth_map thay cho box. Trang Xuất liệt kê các đối số mà mọi định dạng chấp nhận.

Python
from libreyolo import LibreYOLO model = LibreYOLO("LibreDepthAnythingV2s-depth.pt")model.export(format="onnx")model.export(format="tensorrt", half=True)
CLI
libreyolo export model=LibreDepthAnythingV2s-depth.pt format=onnxlibreyolo export model=LibreDepthAnythingV2s-depth.pt format=tensorrt half=True
Dùng tệp đã xuất
from libreyolo import LibreYOLO, SAMPLE_IMAGE # Factory định tuyến dựa trên hậu tố tệp, vì vậy artifact đã xuất tải# như mọi checkpoint và trả về cùng đối tượng Results.model = LibreYOLO("LibreDepthAnythingV2s-depth.onnx")result = model(SAMPLE_IMAGE) print(result.depth_map.data.shape)

Checkpoint

Mọi tệp trọng số đã phát hành cho họ mô hình này.

TệpĐầu vào (px)Giấy phép trọng số
depth
LibreDepthAnythingV2s-depth.ptapache-2.0
LibreDepthAnythingV2l-depth.ptcc-by-nc-4.0
LibreDepthAnythingV2b-depth.ptcc-by-nc-4.0

Mọi tệp ở trên hiện đều có trong tổ chức LibreYOLO và được tải xuống trong lần sử dụng đầu tiên.

Giấy phép

Hãy kiểm tra giấy phép trong repo Hugging Face của trọng số cụ thể mà bạn tải xuống. Mỗi checkpoint trong tổ chức LibreYOLO đều có giấy phép riêng và giấy phép có thể khác nhau trong cùng một họ. Repo đó là nguồn có thẩm quyền; phần tóm tắt dưới đây mô tả các điều khoản áp dụng khi trang này được kiểm chứng lần gần nhất.

Đây là phần mô tả các giấy phép liên quan, không phải tư vấn pháp lý. Nếu câu trả lời có ý nghĩa về mặt thương mại, hãy tự đọc các giấy phép và tham khảo cố vấn của riêng bạn.

Công trình gốc
Depth Anything V2, The University of Hong Kong and TikTok
Giấy phép thượng nguồn
Apache-2.0 (Small checkpoint); CC-BY-NC-4.0 (Base and Large checkpoints)
Mã nguồn LibreYOLO
MIT
Trọng số
Apache-2.0 (Small checkpoint); CC-BY-NC-4.0 (Base and Large checkpoints), được phát hành lại tại huggingface.co/LibreYOLO
Diễn giải
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.

Trích dẫn

@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}
}

Được sao chép từ khối trích dẫn của tác giả tại github.com/DepthAnything/Depth-Anything-V2#citation.

Đã kiểm chứng với LibreYOLO v1.5.0. Các bảng hỗ trợ, checkpoint và số liệu benchmark trên trang này được tạo từ thư viện đã phát hành và trọng số đã công bố, không phải viết thủ công.