{"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/p2p-tuning-pre-trained-image-models-for-point","title":"P2P: Tuning Pre-trained Image Models for Point Cloud Analysis with Point-to-Pixel Prompting","arxiv_id":"2208.02812","date":"2022-08-04","proceeding":null,"authors":["Ziyi Wang","Xumin Yu","Yongming Rao","Jie zhou","Jiwen Lu"],"abstract":"Nowadays, pre-training big models on large-scale datasets has become a crucial topic in deep learning. The pre-trained models with high representation ability and transferability achieve a great success and dominate many downstream tasks in natural language processing and 2D vision. However, it is non-trivial to promote such a pretraining-tuning paradigm to the 3D vision, given the limited training data that are relatively inconvenient to collect. In this paper, we provide a new perspective of leveraging pre-trained 2D knowledge in 3D domain to tackle this problem, tuning pre-trained image models with the novel Point-to-Pixel prompting for point cloud analysis at a minor parameter cost. Following the principle of prompting engineering, we transform point clouds into colorful images with geometry-preserved projection and geometry-aware coloring to adapt to pre-trained image models, whose weights are kept frozen during the end-to-end optimization of point cloud analysis tasks. We conduct extensive experiments to demonstrate that cooperating with our proposed Point-to-Pixel Prompting, better pre-trained image model will lead to consistently better performance in 3D vision. Enjoying prosperous development from image pre-training field, our method attains 89.3% accuracy on the hardest setting of ScanObjectNN, surpassing conventional point cloud models with much fewer trainable parameters. Our framework also exhibits very competitive performance on ModelNet classification and ShapeNet Part Segmentation. Code is available at https://github.com/wangzy22/P2P.","url_abs":"https://arxiv.org/abs/2208.02812v2","url_pdf":"https://arxiv.org/pdf/2208.02812v2.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":"p2p-tuning-pre-trained-image-models-for-point","repo_url":"https://github.com/wangzy22/P2P","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"3d-part-segmentation","task_name":"3D Part Segmentation"},{"task_slug":"3d-point-cloud-classification","task_name":"3D Point Cloud Classification"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/3d-part-segmentation-on-shapenet-part","task":"3D Part Segmentation","dataset":"ShapeNet-Part","model":"P2P","rank_in_archive_order":24,"of":67,"metrics":{"Instance Average IoU":"86.5"},"uses_additional_data":false},{"leaderboard":"/sota/3d-point-cloud-classification-on-modelnet40","task":"3D Point Cloud Classification","dataset":"ModelNet40","model":"P2P","rank_in_archive_order":27,"of":111,"metrics":{"Mean Accuracy":"91.6","Overall Accuracy":"94.0"},"uses_additional_data":true},{"leaderboard":"/sota/3d-point-cloud-classification-on-scanobjectnn","task":"3D Point Cloud Classification","dataset":"ScanObjectNN","model":"P2P","rank_in_archive_order":28,"of":77,"metrics":{"Number of params":"195.8M","Overall Accuracy":"89.3"},"uses_additional_data":true}],"syntology":{"syntology_url":"https://syntology.ai/paper/2208.02812","atlas_url":"https://app.syntology.ai/?focus=2208.02812","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2208.02812"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+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":"deterministic:regex_extraction","url":"https://github.com/wangzy22/P2P","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":5,"ran_honours":1,"unverified":4},"by_repo_kind":{"official":{"samples":10,"ran":6,"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":"1dbcb6014bf92fa8","entry":"count_prompt_parameters","repo":"wangzy22/P2P","repo_kind":"official","path":"util/util.py","file_url":"https://github.com/wangzy22/P2P/blob/HEAD/util/util.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":"1dbcb6014bf92fa8"}},{"code_sha256_prefix":"f80066a00e7156a2","entry":"farthest_point_sample","repo":"wangzy22/P2P","repo_kind":"official","path":"dataset/modelnet.py","file_url":"https://github.com/wangzy22/P2P/blob/HEAD/dataset/modelnet.py","link_basis":"harvester_set","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":"f80066a00e7156a2"}},{"code_sha256_prefix":"4783fbece52f500e","entry":"pc_normalize","repo":"wangzy22/P2P","repo_kind":"official","path":"dataset/modelnet.py","file_url":"https://github.com/wangzy22/P2P/blob/HEAD/dataset/modelnet.py","link_basis":"harvester_set","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"4783fbece52f500e"}},{"code_sha256_prefix":"793af30778c76a15","entry":"rotate_angle_vector","repo":"wangzy22/P2P","repo_kind":"official","path":"util/rotate.py","file_url":"https://github.com/wangzy22/P2P/blob/HEAD/util/rotate.py","link_basis":"harvester_set","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":"793af30778c76a15"}},{"code_sha256_prefix":"8c0d82102f3d42ed","entry":"rotate_point_clouds","repo":"wangzy22/P2P","repo_kind":"official","path":"util/rotate.py","file_url":"https://github.com/wangzy22/P2P/blob/HEAD/util/rotate.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":"8c0d82102f3d42ed"}},{"code_sha256_prefix":"2a02dd910c9eca87","entry":"rotate_theta_phi","repo":"wangzy22/P2P","repo_kind":"official","path":"util/rotate.py","file_url":"https://github.com/wangzy22/P2P/blob/HEAD/util/rotate.py","link_basis":"harvester_set","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":"2a02dd910c9eca87"}},{"code_sha256_prefix":"55397203c1d5dac1","entry":"knn_point","repo":"wangzy22/P2P","repo_kind":"official","path":"models/layers/utils.py","file_url":"https://github.com/wangzy22/P2P/blob/HEAD/models/layers/utils.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":"55397203c1d5dac1"}},{"code_sha256_prefix":"277a13798d6d6981","entry":"load_cfg_from_cfg_file","repo":"wangzy22/P2P","repo_kind":"official","path":"util/config.py","file_url":"https://github.com/wangzy22/P2P/blob/HEAD/util/config.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":"277a13798d6d6981"}},{"code_sha256_prefix":"4efe685c6fb1ec11","entry":"merge_cfg_from_list","repo":"wangzy22/P2P","repo_kind":"official","path":"util/config.py","file_url":"https://github.com/wangzy22/P2P/blob/HEAD/util/config.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":"4efe685c6fb1ec11"}},{"code_sha256_prefix":"6ddec81b1d23c787","entry":"square_distance","repo":"wangzy22/P2P","repo_kind":"official","path":"models/layers/utils.py","file_url":"https://github.com/wangzy22/P2P/blob/HEAD/models/layers/utils.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":"6ddec81b1d23c787"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}