Runsen Xu, Xiaolong Wang, Tai Wang, Yilun Chen, Jiangmiao Pang, Dahua Lin
The unprecedented advancements in Large Language Models (LLMs) have shown a profound impact on natural language processing but are yet to fully embrace the realm of 3D understanding. This paper introduces PointLLM, a preliminary effort to fill this gap, enabling LLMs to understand point clouds and offering a new avenue beyond 2D visual data. PointLLM understands colored object point clouds with human instructions and generates contextually appropriate responses, illustrating its grasp of point clouds and common sense. Specifically, it leverages a point cloud encoder with a powerful LLM to effectively fuse geometric, appearance, and linguistic information. We collect a novel dataset comprising 660K simple and 70K complex point-text instruction pairs to enable a two-stage training strategy: aligning latent spaces and subsequently instruction-tuning the unified model. To rigorously evaluate the perceptual and generalization capabilities of PointLLM, we establish two benchmarks: Generative 3D Object Classification and 3D Object Captioning, assessed through three different methods, including human evaluation, GPT-4/ChatGPT evaluation, and traditional metrics. Experimental results reveal PointLLM's superior performance over existing 2D and 3D baselines, with a notable achievement in human-evaluated object captioning tasks where it surpasses human annotators in over 50% of the samples. Codes, datasets, and benchmarks are available at https://github.com/OpenRobotLab/PointLLM .
| Task | Dataset | Metric | Value | Model |
|---|---|---|---|---|
| Visual Question Answering (VQA) | 3D MM-Vet | Overall Accuracy | 46.6 | PointLLM-13B v1.2 |
| Visual Question Answering (VQA) | 3D MM-Vet | Overall Accuracy | 41.2 | PointLLM-7B v1.2 |
| 3D | Objaverse | Objaverse (Average) | 54 | PointLLM-13B v1.2 |
| 3D | Objaverse | Objaverse (C) | 51.5 | PointLLM-13B v1.2 |
| 3D | Objaverse | Objaverse (I) | 56.5 | PointLLM-13B v1.2 |
| 3D | Objaverse | Objaverse (Average) | 53 | PointLLM-7B v1.2 |
| 3D | Objaverse | Objaverse (C) | 51 | PointLLM-7B v1.2 |
| 3D | Objaverse | Objaverse (I) | 55 | PointLLM-7B v1.2 |
| 3D | ModelNet40 | ModelNet40 (Average) | 52.78 | PointLLM-13B v1.2 |
| 3D | ModelNet40 | ModelNet40 (C) | 52.55 | PointLLM-13B v1.2 |
| 3D | ModelNet40 | ModelNet40 (I) | 53 | PointLLM-13B v1.2 |
| 3D | ModelNet40 | ModelNet40 (Average) | 52.63 | PointLLM-7B v1.2 |
| 3D | ModelNet40 | ModelNet40 (C) | 51.82 | PointLLM-7B v1.2 |
| 3D | ModelNet40 | ModelNet40 (I) | 53.44 | PointLLM-7B v1.2 |
| Shape Representation Of 3D Point Clouds | Objaverse | Objaverse (Average) | 54 | PointLLM-13B v1.2 |
| Shape Representation Of 3D Point Clouds | Objaverse | Objaverse (C) | 51.5 | PointLLM-13B v1.2 |
| Shape Representation Of 3D Point Clouds | Objaverse | Objaverse (I) | 56.5 | PointLLM-13B v1.2 |
| Shape Representation Of 3D Point Clouds | Objaverse | Objaverse (Average) | 53 | PointLLM-7B v1.2 |
| Shape Representation Of 3D Point Clouds | Objaverse | Objaverse (C) | 51 | PointLLM-7B v1.2 |
| Shape Representation Of 3D Point Clouds | Objaverse | Objaverse (I) | 55 | PointLLM-7B v1.2 |
| Shape Representation Of 3D Point Clouds | ModelNet40 | ModelNet40 (Average) | 52.78 | PointLLM-13B v1.2 |
| Shape Representation Of 3D Point Clouds | ModelNet40 | ModelNet40 (C) | 52.55 | PointLLM-13B v1.2 |
| Shape Representation Of 3D Point Clouds | ModelNet40 | ModelNet40 (I) | 53 | PointLLM-13B v1.2 |
| Shape Representation Of 3D Point Clouds | ModelNet40 | ModelNet40 (Average) | 52.63 | PointLLM-7B v1.2 |
| Shape Representation Of 3D Point Clouds | ModelNet40 | ModelNet40 (C) | 51.82 | PointLLM-7B v1.2 |
| Shape Representation Of 3D Point Clouds | ModelNet40 | ModelNet40 (I) | 53.44 | PointLLM-7B v1.2 |
| 3D Object Classification | Objaverse | Objaverse (Average) | 54 | PointLLM-13B v1.2 |
| 3D Object Classification | Objaverse | Objaverse (C) | 51.5 | PointLLM-13B v1.2 |
| 3D Object Classification | Objaverse | Objaverse (I) | 56.5 | PointLLM-13B v1.2 |
| 3D Object Classification | Objaverse | Objaverse (Average) | 53 | PointLLM-7B v1.2 |
| 3D Object Classification | Objaverse | Objaverse (C) | 51 | PointLLM-7B v1.2 |
| 3D Object Classification | Objaverse | Objaverse (I) | 55 | PointLLM-7B v1.2 |
| 3D Object Classification | ModelNet40 | ModelNet40 (Average) | 52.78 | PointLLM-13B v1.2 |
| 3D Object Classification | ModelNet40 | ModelNet40 (C) | 52.55 | PointLLM-13B v1.2 |
| 3D Object Classification | ModelNet40 | ModelNet40 (I) | 53 | PointLLM-13B v1.2 |
| 3D Object Classification | ModelNet40 | ModelNet40 (Average) | 52.63 | PointLLM-7B v1.2 |
| 3D Object Classification | ModelNet40 | ModelNet40 (C) | 51.82 | PointLLM-7B v1.2 |
| 3D Object Classification | ModelNet40 | ModelNet40 (I) | 53.44 | PointLLM-7B v1.2 |
| 3D Point Cloud Classification | Objaverse | Objaverse (Average) | 54 | PointLLM-13B v1.2 |
| 3D Point Cloud Classification | Objaverse | Objaverse (C) | 51.5 | PointLLM-13B v1.2 |
| 3D Point Cloud Classification | Objaverse | Objaverse (I) | 56.5 | PointLLM-13B v1.2 |
| 3D Point Cloud Classification | Objaverse | Objaverse (Average) | 53 | PointLLM-7B v1.2 |
| 3D Point Cloud Classification | Objaverse | Objaverse (C) | 51 | PointLLM-7B v1.2 |
| 3D Point Cloud Classification | Objaverse | Objaverse (I) | 55 | PointLLM-7B v1.2 |
| 3D Point Cloud Classification | ModelNet40 | ModelNet40 (Average) | 52.78 | PointLLM-13B v1.2 |
| 3D Point Cloud Classification | ModelNet40 | ModelNet40 (C) | 52.55 | PointLLM-13B v1.2 |
| 3D Point Cloud Classification | ModelNet40 | ModelNet40 (I) | 53 | PointLLM-13B v1.2 |
| 3D Point Cloud Classification | ModelNet40 | ModelNet40 (Average) | 52.63 | PointLLM-7B v1.2 |
| 3D Point Cloud Classification | ModelNet40 | ModelNet40 (C) | 51.82 | PointLLM-7B v1.2 |
| 3D Point Cloud Classification | ModelNet40 | ModelNet40 (I) | 53.44 | PointLLM-7B v1.2 |
| 3D Classification | Objaverse | Objaverse (Average) | 54 | PointLLM-13B v1.2 |
| 3D Classification | Objaverse | Objaverse (C) | 51.5 | PointLLM-13B v1.2 |
| 3D Classification | Objaverse | Objaverse (I) | 56.5 | PointLLM-13B v1.2 |
| 3D Classification | Objaverse | Objaverse (Average) | 53 | PointLLM-7B v1.2 |
| 3D Classification | Objaverse | Objaverse (C) | 51 | PointLLM-7B v1.2 |
| 3D Classification | Objaverse | Objaverse (I) | 55 | PointLLM-7B v1.2 |
| 3D Classification | ModelNet40 | ModelNet40 (Average) | 52.78 | PointLLM-13B v1.2 |
| 3D Classification | ModelNet40 | ModelNet40 (C) | 52.55 | PointLLM-13B v1.2 |
| 3D Classification | ModelNet40 | ModelNet40 (I) | 53 | PointLLM-13B v1.2 |
| 3D Classification | ModelNet40 | ModelNet40 (Average) | 52.63 | PointLLM-7B v1.2 |
| 3D Classification | ModelNet40 | ModelNet40 (C) | 51.82 | PointLLM-7B v1.2 |
| 3D Classification | ModelNet40 | ModelNet40 (I) | 53.44 | PointLLM-7B v1.2 |
| 3D Point Cloud Reconstruction | Objaverse | Objaverse (Average) | 54 | PointLLM-13B v1.2 |
| 3D Point Cloud Reconstruction | Objaverse | Objaverse (C) | 51.5 | PointLLM-13B v1.2 |
| 3D Point Cloud Reconstruction | Objaverse | Objaverse (I) | 56.5 | PointLLM-13B v1.2 |
| 3D Point Cloud Reconstruction | Objaverse | Objaverse (Average) | 53 | PointLLM-7B v1.2 |
| 3D Point Cloud Reconstruction | Objaverse | Objaverse (C) | 51 | PointLLM-7B v1.2 |
| 3D Point Cloud Reconstruction | Objaverse | Objaverse (I) | 55 | PointLLM-7B v1.2 |
| 3D Point Cloud Reconstruction | ModelNet40 | ModelNet40 (Average) | 52.78 | PointLLM-13B v1.2 |
| 3D Point Cloud Reconstruction | ModelNet40 | ModelNet40 (C) | 52.55 | PointLLM-13B v1.2 |
| 3D Point Cloud Reconstruction | ModelNet40 | ModelNet40 (I) | 53 | PointLLM-13B v1.2 |
| 3D Point Cloud Reconstruction | ModelNet40 | ModelNet40 (Average) | 52.63 | PointLLM-7B v1.2 |
| 3D Point Cloud Reconstruction | ModelNet40 | ModelNet40 (C) | 51.82 | PointLLM-7B v1.2 |
| 3D Point Cloud Reconstruction | ModelNet40 | ModelNet40 (I) | 53.44 | PointLLM-7B v1.2 |
| Generative 3D Object Classification | Objaverse | Objaverse (Average) | 54 | PointLLM-13B v1.2 |
| Generative 3D Object Classification | Objaverse | Objaverse (C) | 51.5 | PointLLM-13B v1.2 |
| Generative 3D Object Classification | Objaverse | Objaverse (I) | 56.5 | PointLLM-13B v1.2 |
| Generative 3D Object Classification | Objaverse | Objaverse (Average) | 53 | PointLLM-7B v1.2 |
| Generative 3D Object Classification | Objaverse | Objaverse (C) | 51 | PointLLM-7B v1.2 |
| Generative 3D Object Classification | Objaverse | Objaverse (I) | 55 | PointLLM-7B v1.2 |
| Generative 3D Object Classification | ModelNet40 | ModelNet40 (Average) | 52.78 | PointLLM-13B v1.2 |
| Generative 3D Object Classification | ModelNet40 | ModelNet40 (C) | 52.55 | PointLLM-13B v1.2 |
| Generative 3D Object Classification | ModelNet40 | ModelNet40 (I) | 53 | PointLLM-13B v1.2 |
| Generative 3D Object Classification | ModelNet40 | ModelNet40 (Average) | 52.63 | PointLLM-7B v1.2 |
| Generative 3D Object Classification | ModelNet40 | ModelNet40 (C) | 51.82 | PointLLM-7B v1.2 |
| Generative 3D Object Classification | ModelNet40 | ModelNet40 (I) | 53.44 | PointLLM-7B v1.2 |
| 3D Object Captioning | Objaverse | Sentence-BERT | 47.91 | PointLLM-13B V1.2 |
| 3D Object Captioning | Objaverse | Correctness | 3.1 | PointLLM-13B V1.2 |
| 3D Object Captioning | Objaverse | GPT-4 | 48.15 | PointLLM-13B V1.2 |
| 3D Object Captioning | Objaverse | Hallucination | 0.84 | PointLLM-13B V1.2 |
| 3D Object Captioning | Objaverse | Precision | 78.75 | PointLLM-13B V1.2 |
| 3D Object Captioning | Objaverse | SimCSE | 49.12 | PointLLM-13B V1.2 |
| 3D Object Captioning | Objaverse | Sentence-BERT | 47.47 | PointLLM-7B V1.2 |
| 3D Object Captioning | Objaverse | Correctness | 3.04 | PointLLM-7B V1.2 |
| 3D Object Captioning | Objaverse | GPT-4 | 44.85 | PointLLM-7B V1.2 |
| 3D Object Captioning | Objaverse | Hallucination | 0.66 | PointLLM-7B V1.2 |
| 3D Object Captioning | Objaverse | Precision | 82.14 | PointLLM-7B V1.2 |
| 3D Object Captioning | Objaverse | SimCSE | 48.55 | PointLLM-7B V1.2 |