🚀 Prompt-Depth-Anything-Vits-Transparent
Prompt Depth Anything是一种高分辨率且精确的度量深度估计方法,它解决了传统深度估计在分辨率和精度上的不足,为3D重建和机器人抓取等下游应用提供了更可靠的数据支持。
🚀 快速开始
Prompt Depth Anything是一种高分辨率且精确的度量深度估计方法,具有以下亮点:
- 受视觉语言模型(VLM)和大语言模型(LLM)中提示工程成功的启发,采用提示机制释放深度基础模型的潜力。
- 以广泛可用的iPhone LiDAR作为提示,引导模型生成高达4K分辨率的精确度量深度。
- 引入了可扩展的数据管道来训练该方法。
- Prompt Depth Anything有助于下游应用,包括3D重建和通用机器人抓取。
📦 安装指南
git clone https://github.com/DepthAnything/PromptDA.git
cd PromptDA
pip install -r requirements.txt
pip install -e .
💻 使用示例
基础用法
import requests
from PIL import Image
from transformers import PromptDepthAnythingForDepthEstimation, PromptDepthAnythingImageProcessor
url = "https://github.com/DepthAnything/PromptDA/blob/main/assets/example_images/image.jpg?raw=true"
image = Image.open(requests.get(url, stream=True).raw)
image_processor = PromptDepthAnythingImageProcessor.from_pretrained("depth-anything/prompt-depth-anything-vits-transparent-hf")
model = PromptDepthAnythingForDepthEstimation.from_pretrained("depth-anything/prompt-depth-anything-vits-transparent-hf")
prompt_depth_url = "https://github.com/DepthAnything/PromptDA/blob/main/assets/example_images/arkit_depth.png?raw=true"
prompt_depth = Image.open(requests.get(prompt_depth_url, stream=True).raw)
inputs = image_processor(images=image, return_tensors="pt", prompt_depth=prompt_depth)
with torch.no_grad():
outputs = model(**inputs)
post_processed_output = image_processor.post_process_depth_estimation(
outputs,
target_sizes=[(image.height, image.width)],
)
predicted_depth = post_processed_output[0]["predicted_depth"]
📄 许可证
本项目采用Apache-2.0许可证。
📚 引用说明
如果您觉得这个项目有用,请考虑引用以下文献:
@inproceedings{lin2024promptda,
title={Prompting Depth Anything for 4K Resolution Accurate Metric Depth Estimation},
author={Lin, Haotong and Peng, Sida and Chen, Jingxiao and Peng, Songyou and Sun, Jiaming and Liu, Minghuan and Bao, Hujun and Feng, Jiashi and Zhou, Xiaowei and Kang, Bingyi},
journal={arXiv},
year={2024}
}