SYNTOLOGY HomeExplorerAtlasCodeMethodologyAboutDevelopersFeedPricing
Paper · 2307.12981 · 2023

3D-LLM: Injecting the 3D World into Large Language Models

arXiv · PDF · Open in the Atlas

Code that ran

We lifted 10 functions out of this paper's own repositories and ran 6 of them in a sandbox. "Ran" means the function executed on a synthesized input and returned a value. It is not a reproduction of the paper's results.

RepositoryRoleRan
umass-foundation-model/3d-llm pwc_unofficial 5 of 9
copy not recorded — 1 of 1
FunctionStatusWhere it lives
compress Ran umass-foundation-model/3d-llm/3DLanguage_data/ChatCaptioner_based/quetion_model.py
pointer only (licence: MIT) · get_code("80dde39da1ba3708")
disabled_train Ran this paper's copy was not recorded; identical code first harvested from zhouc20/LatentGraphDiffusion
pointer only · get_code("4cb732f513d69dfd")
interpolate_pos_embed Ran umass-foundation-model/3d-llm/3DLLM_BLIP2-base/lavis/models/vit.py
pointer only (licence: MIT) · get_code("c6ec173f19f5c34d")
processDigitArticle Ran umass-foundation-model/3d-llm/3DLLM_BLIP2-base/calculate_scores/calculate_score_3dmvvqa.py
pointer only (licence: MIT) · get_code("4e436e13094b20cb")
processPunctuation Ran umass-foundation-model/3d-llm/3DLLM_BLIP2-base/calculate_scores/calculate_score_3dmvvqa.py
pointer only (licence: MIT) · get_code("35e84a8da1d4f427")
tile Ran umass-foundation-model/3d-llm/3DLLM_BLIP2-base/lavis/models/base_model.py
pointer only (licence: MIT) · get_code("cb33571427334815")
all_gather_with_grad Not yet run umass-foundation-model/3d-llm/3DLLM_BLIP2-base/lavis/models/base_model.py
pointer only (licence: MIT) · get_code("0ec9fc2025c16f65")
decompress Not yet run umass-foundation-model/3d-llm/3DLanguage_data/ChatCaptioner_based/quetion_model.py
pointer only (licence: MIT) · get_code("a2b79de775636d17")
get_gpu_memory Not yet run umass-foundation-model/3d-llm/3DLanguage_data/ChatCaptioner_based/quetion_model.py
pointer only (licence: MIT) · get_code("fe66d0280e436155")
get_lemma Not yet run umass-foundation-model/3d-llm/3DLLM_BLIP2-base/calculate_scores/calculate_score_3dmvvqa.py
pointer only (licence: MIT) · get_code("a1ff41c753bffe5d")

Repositories linked to this paper

Some links come from the archived Papers with Code dataset (CC BY-SA 4.0): attribution and licence.

Abstract

Large language models (LLMs) and Vision-Language Models (VLMs) have been proven to excel at multiple tasks, such as commonsense reasoning. Powerful as these models can be, they are not grounded in the 3D physical world, which involves richer concepts such as spatial relationships, affordances, physics, layout, and so on. In this work, we propose to inject the 3D world into large language models and introduce a whole new family of 3D-LLMs. Specifically, 3D-LLMs can take 3D point clouds and their features as input and perform a diverse set of 3D-related tasks, including captioning, dense captioning, 3D question answering, task decomposition, 3D grounding, 3D-assisted dialog, navigation, and so on. Using three types of prompting mechanisms that we design, we are able to collect over 300k 3D-language data covering these tasks. To efficiently train 3D-LLMs, we first utilize a 3D feature extractor that obtains 3D features from rendered multi- view images. Then, we use 2D VLMs as our backbones to train our 3D-LLMs. By introducing a 3D localization mechanism, 3D-LLMs can better capture 3D spatial information. Experiments on ScanQA show that our model outperforms state-of-the-art baselines by a large margin (e.g., the BLEU-1 score surpasses state-of-the-art score by 9%). Furthermore, experiments on our held-in datasets for 3D captioning, task composition, and 3D-assisted dialogue show that our model outperforms 2D VLMs. Qualitative examples also show that our model could perform more tasks beyond the scope of existing LLMs and VLMs. Project Page: : https://vis-www.cs.umass.edu/3dllm/.

For agents

The same record, over MCP at https://syntology.ai/mcp:

get_harvested_code_for_paper("2307.12981")
get_code_for_paper("2307.12981")
have("2307.12981")

Connect an agent — have() is free.