{"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/ulip-learning-unified-representation-of","title":"ULIP: Learning a Unified Representation of Language, Images, and Point Clouds for 3D Understanding","arxiv_id":"2212.05171","date":"2022-12-10","proceeding":"CVPR 2023 1","authors":["Le Xue","Mingfei Gao","Chen Xing","Roberto Martín-Martín","Jiajun Wu","Caiming Xiong","ran Xu","Juan Carlos Niebles","Silvio Savarese"],"abstract":"The recognition capabilities of current state-of-the-art 3D models are limited by datasets with a small number of annotated data and a pre-defined set of categories. In its 2D counterpart, recent advances have shown that similar problems can be significantly alleviated by employing knowledge from other modalities, such as language. Inspired by this, leveraging multimodal information for 3D modality could be promising to improve 3D understanding under the restricted data regime, but this line of research is not well studied. Therefore, we introduce ULIP to learn a unified representation of images, texts, and 3D point clouds by pre-training with object triplets from the three modalities. To overcome the shortage of training triplets, ULIP leverages a pre-trained vision-language model that has already learned a common visual and textual space by training with massive image-text pairs. Then, ULIP learns a 3D representation space aligned with the common image-text space, using a small number of automatically synthesized triplets. ULIP is agnostic to 3D backbone networks and can easily be integrated into any 3D architecture. Experiments show that ULIP effectively improves the performance of multiple recent 3D backbones by simply pre-training them on ShapeNet55 using our framework, achieving state-of-the-art performance in both standard 3D classification and zero-shot 3D classification on ModelNet40 and ScanObjectNN. ULIP also improves the performance of PointMLP by around 3% in 3D classification on ScanObjectNN, and outperforms PointCLIP by 28.8% on top-1 accuracy for zero-shot 3D classification on ModelNet40. Our code and pre-trained models are released at https://github.com/salesforce/ULIP.","url_abs":"https://arxiv.org/abs/2212.05171v4","url_pdf":"https://arxiv.org/pdf/2212.05171v4.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":"ulip-learning-unified-representation-of","repo_url":"https://github.com/salesforce/ulip","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"BSD-3-Clause"}}],"tasks":[{"task_slug":"3d-architecture","task_name":"3D Architecture"},{"task_slug":"3d-classification","task_name":"3D Classification"},{"task_slug":"3d-point-cloud-classification","task_name":"3D Point Cloud Classification"},{"task_slug":"classification-1","task_name":"Classification"},{"task_slug":"language-modelling","task_name":"Language Modelling"},{"task_slug":"training-free-3d-point-cloud-classification","task_name":"Training-free 3D Point Cloud Classification"},{"task_slug":"zero-shot-transfer-3d-point-cloud","task_name":"Zero-Shot Transfer 3D Point Cloud Classification"},{"task_slug":"zero-shot-3d-point-cloud-classification","task_name":"Zero-shot 3D Point Cloud Classification"},{"task_slug":"zero-shot-3d-classification","task_name":"Zero-shot 3D classification"}],"methods":[],"datasets_introduced":[{"slug":"modelnet40-pretrained-on-shapenet-only","name":"ModelNet40 (Pretrained on ShapeNet)","full_name":""}],"methods_introduced":[],"results":[{"leaderboard":"/sota/3d-point-cloud-classification-on-modelnet40","task":"3D Point Cloud Classification","dataset":"ModelNet40","model":"ULIP + PointMLP","rank_in_archive_order":6,"of":111,"metrics":{"Mean Accuracy":"92.4","Overall Accuracy":"94.7"},"uses_additional_data":true},{"leaderboard":"/sota/3d-point-cloud-classification-on-modelnet40","task":"3D Point Cloud Classification","dataset":"ModelNet40","model":"ULIP + PointBERT","rank_in_archive_order":23,"of":111,"metrics":{"Overall Accuracy":"94.1"},"uses_additional_data":true},{"leaderboard":"/sota/3d-point-cloud-classification-on-modelnet40","task":"3D Point Cloud Classification","dataset":"ModelNet40","model":"ULIP + PointNet++(ssg)","rank_in_archive_order":61,"of":111,"metrics":{"Mean Accuracy":"91.2","Overall Accuracy":"93.4"},"uses_additional_data":true},{"leaderboard":"/sota/3d-point-cloud-classification-on-scanobjectnn","task":"3D Point Cloud Classification","dataset":"ScanObjectNN","model":"ULIP + PointNeXt","rank_in_archive_order":22,"of":77,"metrics":{"Mean Accuracy":"88.6","Number of params":"1.4M","Overall Accuracy":"89.7"},"uses_additional_data":true},{"leaderboard":"/sota/3d-point-cloud-classification-on-scanobjectnn","task":"3D Point Cloud Classification","dataset":"ScanObjectNN","model":"ULIP + PointMLP","rank_in_archive_order":26,"of":77,"metrics":{"Mean Accuracy":"88.5","Overall Accuracy":"89.4"},"uses_additional_data":true},{"leaderboard":"/sota/3d-point-cloud-classification-on-scanobjectnn","task":"3D Point Cloud Classification","dataset":"ScanObjectNN","model":"ULIP + PointBERT","rank_in_archive_order":50,"of":77,"metrics":{"Overall Accuracy":"86.4"},"uses_additional_data":true},{"leaderboard":"/sota/training-free-3d-point-cloud-classification","task":"Training-free 3D Point Cloud Classification","dataset":"ModelNet40","model":"ULIP","rank_in_archive_order":4,"of":7,"metrics":{"Accuracy (%)":"60.4","Need 3D Data?":"Yes"},"uses_additional_data":true},{"leaderboard":"/sota/zero-shot-transfer-3d-point-cloud","task":"Zero-Shot Transfer 3D Point Cloud Classification","dataset":"ModelNet40","model":"ULIP + PointMLP","rank_in_archive_order":13,"of":16,"metrics":{"Accuracy (%)":"61.5"},"uses_additional_data":true},{"leaderboard":"/sota/zero-shot-transfer-3d-point-cloud","task":"Zero-Shot Transfer 3D Point Cloud Classification","dataset":"ModelNet40","model":"ULIP + PointBERT","rank_in_archive_order":14,"of":16,"metrics":{"Accuracy (%)":"60.4"},"uses_additional_data":true}],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=2212.05171","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2212.05171"}},"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/salesforce/ulip","reach":{"status":"ok","spdx":"BSD-3-Clause"}}],"summary":{"ran_draft_wrong":1},"by_repo_kind":{"official":{"samples":1,"ran":1,"repositories":1}},"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":0,"samples":[{"code_sha256_prefix":"01955600041e2b19","entry":"get_metric_names","repo":"salesforce/ulip","repo_kind":"official","path":"models/ULIP_models.py","file_url":"https://github.com/salesforce/ulip/blob/HEAD/models/ULIP_models.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"01955600041e2b19"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}