{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/point-bind-point-llm-aligning-point-cloud","title":"Point-Bind & Point-LLM: Aligning Point Cloud with Multi-modality for 3D Understanding, Generation, and Instruction Following","arxiv_id":"2309.00615","date":"2023-09-01","proceeding":null,"authors":["Ziyu Guo","Renrui Zhang","Xiangyang Zhu","Yiwen Tang","Xianzheng Ma","Jiaming Han","Kexin Chen","Peng Gao","Xianzhi Li","Hongsheng Li","Pheng-Ann Heng"],"abstract":"We introduce Point-Bind, a 3D multi-modality model aligning point clouds with 2D image, language, audio, and video. Guided by ImageBind, we construct a joint embedding space between 3D and multi-modalities, enabling many promising applications, e.g., any-to-3D generation, 3D embedding arithmetic, and 3D open-world understanding. On top of this, we further present Point-LLM, the first 3D large language model (LLM) following 3D multi-modal instructions. By parameter-efficient fine-tuning techniques, Point-LLM injects the semantics of Point-Bind into pre-trained LLMs, e.g., LLaMA, which requires no 3D instruction data, but exhibits superior 3D and multi-modal question-answering capacity. We hope our work may cast a light on the community for extending 3D point clouds to multi-modality applications. Code is available at https://github.com/ZiyuGuo99/Point-Bind_Point-LLM.","url_abs":"https://arxiv.org/abs/2309.00615v1","url_pdf":"https://arxiv.org/pdf/2309.00615v1.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"point-bind-point-llm-aligning-point-cloud","repo_url":"https://github.com/ziyuguo99/point-bind_point-llm","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"point-bind-point-llm-aligning-point-cloud","repo_url":"https://github.com/Pointcept/GPT4Point","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"point-bind-point-llm-aligning-point-cloud","repo_url":"https://github.com/openrobotlab/pointllm","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}},{"paper_slug":"point-bind-point-llm-aligning-point-cloud","repo_url":"https://github.com/qizekun/ShapeLLM","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"point-bind-point-llm-aligning-point-cloud","repo_url":"https://github.com/zrrskywalker/point-bind","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"3d-generation","task_name":"3D Generation"},{"task_slug":"3d-question-answering-3d-qa","task_name":"3D Question Answering (3D-QA)"},{"task_slug":"generative-3d-object-classification","task_name":"Generative 3D Object Classification"},{"task_slug":"instruction-following","task_name":"Instruction Following"},{"task_slug":"language-modeling","task_name":"Language Modeling"},{"task_slug":"language-modelling","task_name":"Language Modelling"},{"task_slug":"large-language-model","task_name":"Large Language Model"},{"task_slug":"question-answering","task_name":"Question Answering"},{"task_slug":"parameter-efficient-fine-tuning","task_name":"parameter-efficient fine-tuning"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/3d-question-answering-3d-qa-on-3d-mm-vet","task":"3D Question Answering (3D-QA)","dataset":"3D MM-Vet","model":"Point-Bind & Point-LLM","rank_in_archive_order":5,"of":5,"metrics":{"Overall Accuracy":"23.5"},"uses_additional_data":false},{"leaderboard":"/sota/generative-3d-object-classification-on-2","task":"Generative 3D Object Classification","dataset":"ModelNet40","model":"Point-Bind LLM","rank_in_archive_order":6,"of":6,"metrics":{"ModelNet40 (Average)":"45.81"},"uses_additional_data":false},{"leaderboard":"/sota/generative-3d-object-classification-on-1","task":"Generative 3D Object Classification","dataset":"Objaverse","model":"Point-Bind LLM","rank_in_archive_order":7,"of":7,"metrics":{"Objaverse (Average)":"5.25","Objaverse (C)":"4.50","Objaverse (I)":"6.00"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2309.00615","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2309.00615"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/openrobotlab/pointllm","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/zrrskywalker/point-bind","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/ziyuguo99/point-bind_point-llm","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/qizekun/ShapeLLM","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/Pointcept/GPT4Point","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_honours":2,"ran_fixture":3,"ran":6,"ran_violates":1,"ran_draft_wrong":1,"unverified":7},"by_repo_kind":{"official":{"samples":12,"ran":10,"repositories":1},"listed":{"samples":8,"ran":3,"repositories":2}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":7,"samples":[{"code_sha256_prefix":"bd3578806ecf5ac2","entry":"adjust_learning_rate","repo":"ziyuguo99/point-bind_point-llm","repo_kind":"official","path":"Point-LLM/util/lr_sched.py","file_url":"https://github.com/ziyuguo99/point-bind_point-llm/blob/HEAD/Point-LLM/util/lr_sched.py","link_basis":"harvester_set","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"bd3578806ecf5ac2"}},{"code_sha256_prefix":"b47d48e431b34acd","entry":"apply_rotary_emb","repo":"ziyuguo99/point-bind_point-llm","repo_kind":"official","path":"Point-LLM/llama/llama.py","file_url":"https://github.com/ziyuguo99/point-bind_point-llm/blob/HEAD/Point-LLM/llama/llama.py","link_basis":"harvester_set","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"b47d48e431b34acd"}},{"code_sha256_prefix":"751b1c8ccbe160c4","entry":"cast_if_src_dtype","repo":"ziyuguo99/point-bind_point-llm","repo_kind":"official","path":"Point-LLM/ImageBind/models/helpers.py","file_url":"https://github.com/ziyuguo99/point-bind_point-llm/blob/HEAD/Point-LLM/ImageBind/models/helpers.py","link_basis":"harvester_set","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"751b1c8ccbe160c4"}},{"code_sha256_prefix":"b58b8fd28d0ff117","entry":"format_prompt","repo":"ziyuguo99/point-bind_point-llm","repo_kind":"official","path":"Point-LLM/llama/utils.py","file_url":"https://github.com/ziyuguo99/point-bind_point-llm/blob/HEAD/Point-LLM/llama/utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"b58b8fd28d0ff117"}},{"code_sha256_prefix":"432c312da80537d6","entry":"get_clip_timepoints","repo":"ziyuguo99/point-bind_point-llm","repo_kind":"official","path":"Point-LLM/ImageBind/data.py","file_url":"https://github.com/ziyuguo99/point-bind_point-llm/blob/HEAD/Point-LLM/ImageBind/data.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"432c312da80537d6"}},{"code_sha256_prefix":"54c57c8a80bfc38f","entry":"get_dataloader","repo":"openrobotlab/pointllm","repo_kind":"listed","path":"pointllm/eval/eval_objaverse.py","file_url":"https://github.com/openrobotlab/pointllm/blob/HEAD/pointllm/eval/eval_objaverse.py","link_basis":"plan_row","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"54c57c8a80bfc38f"}},{"code_sha256_prefix":"e06417c6e0f712f1","entry":"get_dataloader","repo":"openrobotlab/pointllm","repo_kind":"listed","path":"pointllm/eval/eval_modelnet_cls.py","file_url":"https://github.com/openrobotlab/pointllm/blob/HEAD/pointllm/eval/eval_modelnet_cls.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e06417c6e0f712f1"}},{"code_sha256_prefix":"35a743e50e17e66d","entry":"get_sinusoid_encoding_table","repo":"ziyuguo99/point-bind_point-llm","repo_kind":"official","path":"Point-LLM/ImageBind/models/multimodal_preprocessors.py","file_url":"https://github.com/ziyuguo99/point-bind_point-llm/blob/HEAD/Point-LLM/ImageBind/models/multimodal_preprocessors.py","link_basis":"harvester_set","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"35a743e50e17e66d"}},{"code_sha256_prefix":"e1e69d9ba9ffcb24","entry":"load_and_transform_vision_data","repo":"ziyuguo99/point-bind_point-llm","repo_kind":"official","path":"Point-LLM/ImageBind/data.py","file_url":"https://github.com/ziyuguo99/point-bind_point-llm/blob/HEAD/Point-LLM/ImageBind/data.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"e1e69d9ba9ffcb24"}},{"code_sha256_prefix":"d65f58435eedf5a5","entry":"merge_new_config","repo":"openrobotlab/pointllm","repo_kind":"listed","path":"pointllm/utils.py","file_url":"https://github.com/openrobotlab/pointllm/blob/HEAD/pointllm/utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"d65f58435eedf5a5"}},{"code_sha256_prefix":"14a84c2cbfebc413","entry":"precompute_freqs_cis","repo":"ziyuguo99/point-bind_point-llm","repo_kind":"official","path":"Point-LLM/llama/llama.py","file_url":"https://github.com/ziyuguo99/point-bind_point-llm/blob/HEAD/Point-LLM/llama/llama.py","link_basis":"harvester_set","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"14a84c2cbfebc413"}},{"code_sha256_prefix":"70bf6ebaafd266c4","entry":"reshape_for_broadcast","repo":"ziyuguo99/point-bind_point-llm","repo_kind":"official","path":"Point-LLM/llama/llama.py","file_url":"https://github.com/ziyuguo99/point-bind_point-llm/blob/HEAD/Point-LLM/llama/llama.py","link_basis":"harvester_set","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"70bf6ebaafd266c4"}},{"code_sha256_prefix":"8845976729f4c4ee","entry":"sample_top_p","repo":"ziyuguo99/point-bind_point-llm","repo_kind":"official","path":"Point-LLM/llama/utils.py","file_url":"https://github.com/ziyuguo99/point-bind_point-llm/blob/HEAD/Point-LLM/llama/utils.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"8845976729f4c4ee"}},{"code_sha256_prefix":"51310aa3870aaa30","entry":"build_logger","repo":"openrobotlab/pointllm","repo_kind":"listed","path":"pointllm/utils.py","file_url":"https://github.com/openrobotlab/pointllm/blob/HEAD/pointllm/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"51310aa3870aaa30"}},{"code_sha256_prefix":"10302c30cf1214c5","entry":"cfg_from_yaml_file","repo":"openrobotlab/pointllm","repo_kind":"listed","path":"pointllm/utils.py","file_url":"https://github.com/openrobotlab/pointllm/blob/HEAD/pointllm/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"10302c30cf1214c5"}},{"code_sha256_prefix":"79cfc5c7bcc39b7b","entry":"get_missing_parameters_message","repo":"openrobotlab/pointllm","repo_kind":"listed","path":"pointllm/model/pointbert/checkpoint.py","file_url":"https://github.com/openrobotlab/pointllm/blob/HEAD/pointllm/model/pointbert/checkpoint.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"79cfc5c7bcc39b7b"}},{"code_sha256_prefix":"f45b84cf72162235","entry":"get_unexpected_parameters_message","repo":"openrobotlab/pointllm","repo_kind":"listed","path":"pointllm/model/pointbert/checkpoint.py","file_url":"https://github.com/openrobotlab/pointllm/blob/HEAD/pointllm/model/pointbert/checkpoint.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"f45b84cf72162235"}},{"code_sha256_prefix":"71c517c59227454e","entry":"imagebind_huge","repo":"zrrskywalker/point-bind","repo_kind":"listed","path":"Point-LLM/ImageBind/models/imagebind_model.py","file_url":"https://github.com/zrrskywalker/point-bind/blob/HEAD/Point-LLM/ImageBind/models/imagebind_model.py","link_basis":"plan_row","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"71c517c59227454e"}},{"code_sha256_prefix":"71227efe6a7df1d2","entry":"interpolate_pos_encoding","repo":"ziyuguo99/point-bind_point-llm","repo_kind":"official","path":"Point-LLM/ImageBind/models/multimodal_preprocessors.py","file_url":"https://github.com/ziyuguo99/point-bind_point-llm/blob/HEAD/Point-LLM/ImageBind/models/multimodal_preprocessors.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"71227efe6a7df1d2"}},{"code_sha256_prefix":"ddd2e52e6b0956b5","entry":"interpolate_pos_encoding_2d","repo":"ziyuguo99/point-bind_point-llm","repo_kind":"official","path":"Point-LLM/ImageBind/models/multimodal_preprocessors.py","file_url":"https://github.com/ziyuguo99/point-bind_point-llm/blob/HEAD/Point-LLM/ImageBind/models/multimodal_preprocessors.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"ddd2e52e6b0956b5"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}