GPT4Point 项目使用教程
项目地址:https://gitcode.com/gh_mirrors/gp/GPT4Point
1. 项目介绍
GPT4Point 是一个用于理解和生成点云数据的统一框架,由 Pointcept 团队开发。该项目在 CVPR'24 中被选为 Highlight,展示了其在点云与语言多模态理解与生成方面的强大能力。GPT4Point 不仅支持点云数据的语言理解任务,还支持通过语言控制生成 3D 对象。
主要特点
- 统一框架:结合了点云与语言的多模态理解与生成。
- 自动化数据标注引擎:基于 Objaverse-XL 的 Pyramid-XL 引擎,支持大规模点云数据集的自动标注。
- 对象级点云基准:提供了一个全面的评估指标,用于评估 3D 点云语言任务的模型性能。
2. 项目快速启动
环境准备
首先,创建并激活一个 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 .
数据准备
下载并解压 Cap3D 点云数据集:
# 下载数据集
wget <Google Drive Link>
tar -xzvf <tar.gz 文件>
确保数据集的目录结构如下:
GPT4Point
├── data
│ ├── cap3d
│ │ ├── points
│ │ │ ├── Cap3D_pcs_8192_xyz_w_color
│ │ │ │ ├── <point cloud id>.pkl
│ │ ├── annotations
│ │ │ ├── cap3d_caption_train.json
│ │ │ ├── cap3d_caption_val.json
│ │ │ ├── cap3d_real_and_chatgpt_caption_test.json
│ │ │ ├── cap3d_real_and_chatgpt_caption_test_gt.json
训练模型
进行第一阶段的训练:
python -m torch.distributed.run --master_port=32339 --nproc_per_node=4 train.py --cfg-path lavis/projects/gpt4point/train/pretrain_stage1_cap3d.yaml
进行第二阶段的训练:
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
3. 应用案例和最佳实践
案例1:3D 点云的自动标注
使用 GPT4Point 的 Pyramid-XL 引擎,可以自动为大规模的点云数据集进行标注,极大地减少了人工标注的工作量。
案例2:通过语言生成 3D 对象
通过输入自然语言描述,GPT4Point 可以生成对应的 3D 点云对象,适用于游戏开发、虚拟现实等场景。
4. 典型生态项目
Point-Bind & Point-LLM
该项目通过将点云与 Image-Bind 对齐,实现了多模态输入的推理,无需 3D 指令数据训练。
3D-LLM
使用 2D 基础模型对 3D 点云的多视图图像进行编码,进一步扩展了点云数据的处理能力。
PointLLM
结合 3D 点云与 LLaVA,提供了更强大的点云处理能力。
通过以上步骤,你可以快速上手 GPT4Point 项目,并利用其强大的功能进行点云数据的理解与生成。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考