LL3DA 项目介绍
项目背景
LL3DA 是一个旨在处理复杂 3D 环境中视觉和文本交互的大型语言 3D 助手。随着多模态模型技术的迅猛发展,人机交互的应用正在不断拓展。然而,如何让这些模型在复杂多变的 3D 场景中理解、推理以及规划,仍然是一个具有挑战性的课题。现有的研究通常依赖多视角图像,将 2D 特征投影到 3D 空间中来表示场景,但这会带来巨大的计算开销和性能下降。
项目简介
在这个背景下,LL3DA 作为一个全新的解决方案被提出。其主要优势在于直接使用点云作为输入,能够对文本指令和视觉提示进行响应。这种方法有助于模型更好地理解人机交互,并且解决了拥挤 3D 场景中模糊性的问题。实验表明,LL3DA 在 3D 密集标注和 3D 问答等任务中超越了许多现有的视觉语言模型。
最新动态
- 2024 年 3 月 4 日:项目代码已全部开放,现在可以训练定制化模型。
- 2024 年 2 月 27 日:LL3DA 已被 CVPR 2024 接收。
- 2023 年 11 月 30 日:初始项目和论文已上传。
快速开始
环境安装
为了运行代码,用户需要安装所需的 Python 包,并在 CUDA 11.6 和 Python 3.8.16 环境下进行测试。
h5py
scipy
cython
plyfile
'trimesh>=2.35.39,<2.35.40'
'networkx>=2.2,<2.3'
'torch=1.13.1+cu116'
'transformers>=4.37.0'
然后从源代码构建 pointnet2
和加速的 giou
。
数据准备
LL3DA 需要 3D 数据(例如 ScanNet)、自然语言标注以及预训练的语言模型权重。
- 下载并准备 ScanNet 3D 数据。
- 为训练模型准备语言注释。
- (可选)下载预训练的语言模型权重。
训练和评估
项目提供了多种训练脚本,用户可以根据不同的需求选择合适的语言模型进行训练。默认情况下,模型在八块 GPU 上训练。
训练步骤
用户可以从通用的 3D 任务出发,对模型进行调优以适应特定的任务需求。
bash scripts/opt-1.3b/train.generalist.sh
在训练完成后,用户可以在不同的数据集上对模型进行微调,例如 ScanQA 的 3D 问答任务。
评估步骤
为了评估 3D 通用模型,用户可以运行以下脚本进行测试。
bash scripts/opt-1.3b/eval.generalist.sh
引用
如果您发现 LL3DA 的代码或论文对您的研究有帮助,请考虑引用:
@misc{chen2023ll3da,
title={LL3DA: Visual Interactive Instruction Tuning for Omni-3D Understanding, Reasoning, and Planning},
author={Sijin Chen and Xin Chen and Chi Zhang and Mingsheng Li and Gang Yu and Hao Fei and Hongyuan Zhu and Jiayuan Fan and Tao Chen},
year={2023},
eprint={2311.18651},
archivePrefix={arXiv},
primaryClass={cs.CV}
}
致谢
特别感谢在项目中借鉴了 Vote2Cap-DETR、3D-LLM、Scan2Cap 和 3DETR 的代码和数据。
许可证
LL3DA 的代码是根据 MIT 许可证 发布的。如有任何问题,欢迎提出 issue!