SeeGround项目使用教程
1. 项目介绍
SeeGround 是一个针对零样本开放词汇3D视觉定位的框架。该框架利用大规模2D数据训练的2D视觉语言模型(VLM),通过将3D场景表示为查询对齐的渲染图像和空间丰富文本描述的混合体,来桥接3D数据与2D-VLM输入格式之间的差距。项目旨在定位3D场景中的物体,基于文本描述,这对于增强现实和机器人技术等应用至关重要。
2. 项目快速启动
以下步骤将帮助您快速启动SeeGround项目:
环境搭建
我们推荐使用官方的Docker镜像来设置环境:
docker pull qwenllm/qwenvl
下载模型权重
您可以从以下来源下载qwen2-vl模型权重:
- Huggingface
- Modelscope
下载数据集
- ScanRefer: 从官方仓库下载ScanRefer数据集,并将其放置在以下目录:
data/ScanRefer/ScanRefer_filtered_val.json
- Nr3D: 从官方仓库下载Nr3D数据集,并将其放置在以下目录:
data/Nr3D/Nr3D.jsonl
- Vil3dref预处理数据: 从vil3dref下载预处理的Vil3dref数据。
数据处理
- 对于ScanRefer数据集,运行以下命令:
python prepare_data/object_lookup_table_scanrefer.py
- 对于Nr3D数据集,运行以下命令:
python prepare_data/process_feat_3d.py
python prepare_data/object_lookup_table_nr3d.py
或者,您可以下载预处理的物体查找表。
部署VLM服务
使用vllm部署VLM,以下命令应在服务器的tmux会话中运行:
python -m vllm.entrypoints.openai.api_server --model /your/qwen2-vl-model/path --served-model-name Qwen2-VL-72B-Instruct --tensor_parallel_size=8
--tensor_parallel_size
标志控制所需的GPU数量,根据您的内存资源进行调整。
生成锚点和目标
- 对于ScanRefer数据集,运行以下命令:
python parse_query/generate_query_data_scanrefer.py
- 对于Nr3D数据集,运行以下命令:
python parse_query/generate_query_data_nr3d.py
预测
- 对于ScanRefer数据集,运行以下命令:
python inference/inference_scanrefer.py
- 对于Nr3D数据集,运行以下命令:
python inference/inference_nr3d.py
评估
- 对于ScanRefer数据集,运行以下命令:
python eval/eval_nr3d.py
- 对于Nr3D数据集,运行以下命令:
python eval/eval_scanrefer.py
3. 应用案例和最佳实践
在此部分,您将找到SeeGround框架的实际应用案例,以及如何在实际项目中实现最佳实践的指南。
4. 典型生态项目
在这一部分,我们将介绍与SeeGround相关的典型生态项目,这些项目利用了SeeGround的技术,并在各自的应用领域中取得了显著成果。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考