项目介绍:GPT4Point
项目概述
GPT4Point 是一个创新的 3D 多模态模型,旨在将 3D 点云 与 语言 紧密结合在一起。它不仅创建了一种统一的框架,用于点语言理解和生成,还整合了自动化的数据集标注引擎和新的基准测试,以便对模型的理解和生成能力进行全面评估。更多详细信息可以访问 项目页面。
项目特点
-
统一的点语言理解和生成框架
GPT4Point 提供了一个统一的点-语言理解和生成框架,包括用于点文本任务的 3D 多模态学习模型(MLLM)和控制的 3D 生成功能。 -
自动化的数据集标注引擎 Pyramid-XL
自动化的数据集标注引擎 Pyramid-XL 是基于 Objaverse-XL 开发的,它目前包括了 100 万对不同细致程度的数据集对,并且可以有效地扩展。 -
基于对象级点云的基准测试
建立了一个新的基于对象级的点云基准测试,利用全面的评估指标来测试模型在 3D 点云语言任务中的理解能力,并帮助评估生成的 3D 对象。
版本信息
- v1.0 (发布于 2024 年 4 月 13 日)
已发布的版本包括训练和评估(3D 标题生成)代码。数据集和文本标注来源于 Cap3D,大模型使用 OPT 2.7b。
安装指南
-
(可选)创建 Conda 环境:
conda create -n gpt4point python=3.8 conda activate gpt4point
-
从 PyPI 安装:
pip install salesforce-lavis
-
或者从源码构建(用于开发):
git clone https://github.com/salesforce/LAVIS.git cd LAVIS pip install -e .
数据准备
-
标注数据:所有标注数据将通过 hugging_face 自动下载。
-
点云数据:
可以通过 Google Drive Link 下载 Cap3D 点云数据集。下载后将需要解压缩的 10 个 tar.gz 文件放在一起,确保数据结构的正确性。
训练和评估
-
训练步骤
-
阶段 1 训练:
python -m torch.distributed.run --master_port=32339 --nproc_per_node=4 train.py --cfg-path lavis/projects/gpt4point/train/pretrain_stage1_cap3d.yaml
-
阶段 2 训练:
python -m torch.distributed.run --master_port=32339 --nproc_per_node=4 train.py --cfg-path lavis/projects/gpt4point/train/pretrain_stage2_cap3d_opt2.7b.yaml
-
-
评估步骤
python -m torch.distributed.run --master_port=32239 --nproc_per_node=1 evaluate.py --cfg-path lavis/projects/gpt4point/eval/captioning3d_cap3d_opt2.7b_eval.yaml
点云数据集和数据标注引擎(选择性)
Objaverse-XL 点云数据集下载方法
下载步骤请进入 Objaverse-xl_Download 目录。
Objaverse-XL 点云数据生成
详细信息请查看 Extract_Pointcloud。
计划列表
- 发布 arxiv 论文和项目页面
- 发布 Objaverse-XL 数据集的下载方式和渲染方式
- 发布预训练代码和 3D 标题生成验证代码
- 未来计划发布更多的数据集和数据标注引擎(Pyramid-XL),更多的评估代码和训练代码,以及更多的模型
引用
如果对您的工作有所帮助,请引用:
@inproceedings{GPT4Point,
title={GPT4Point: A Unified Framework for Point-Language Understanding and Generation},
author={Zhangyang Qi and Ye Fang and Zeyi Sun and Xiaoyang Wu and Tong Wu and Jiaqi Wang and Dahua Lin and Hengshuang Zhao},
booktitle={CVPR},
year={2024},
}
许可协议
本项目采用 Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License。