{"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-voxel-cnn-for-efficient-3d-deep","title":"Point-Voxel CNN for Efficient 3D Deep Learning","arxiv_id":"1907.03739","date":"2019-07-08","proceeding":"NeurIPS 2019 12","authors":["Zhijian Liu","Haotian Tang","Yujun Lin","Song Han"],"abstract":"We present Point-Voxel CNN (PVCNN) for efficient, fast 3D deep learning. Previous work processes 3D data using either voxel-based or point-based NN models. However, both approaches are computationally inefficient. The computation cost and memory footprints of the voxel-based models grow cubically with the input resolution, making it memory-prohibitive to scale up the resolution. As for point-based networks, up to 80% of the time is wasted on structuring the sparse data which have rather poor memory locality, not on the actual feature extraction. In this paper, we propose PVCNN that represents the 3D input data in points to reduce the memory consumption, while performing the convolutions in voxels to reduce the irregular, sparse data access and improve the locality. Our PVCNN model is both memory and computation efficient. Evaluated on semantic and part segmentation datasets, it achieves much higher accuracy than the voxel-based baseline with 10x GPU memory reduction; it also outperforms the state-of-the-art point-based models with 7x measured speedup on average. Remarkably, the narrower version of PVCNN achieves 2x speedup over PointNet (an extremely efficient model) on part and scene segmentation benchmarks with much higher accuracy. We validate the general effectiveness of PVCNN on 3D object detection: by replacing the primitives in Frustrum PointNet with PVConv, it outperforms Frustrum PointNet++ by 2.4% mAP on average with 1.5x measured speedup and GPU memory reduction.","url_abs":"https://arxiv.org/abs/1907.03739v2","url_pdf":"https://arxiv.org/pdf/1907.03739v2.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-voxel-cnn-for-efficient-3d-deep","repo_url":"https://github.com/mit-han-lab/pvcnn","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"point-voxel-cnn-for-efficient-3d-deep","repo_url":"https://github.com/zghera/pvcnn-tf","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"point-voxel-cnn-for-efficient-3d-deep","repo_url":"https://github.com/zghera/voxel-tf-ops","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok"}},{"paper_slug":"point-voxel-cnn-for-efficient-3d-deep","repo_url":"https://github.com/isl-org/Open3D-ML","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"3d-object-detection","task_name":"3D Object Detection"},{"task_slug":"3d-semantic-segmentation","task_name":"3D Semantic Segmentation"},{"task_slug":"deep-learning","task_name":"Deep Learning"},{"task_slug":null,"task_name":"GPU"},{"task_slug":"object-detection","task_name":"Object Detection"},{"task_slug":"scene-segmentation","task_name":"Scene Segmentation"},{"task_slug":"object-detection-1","task_name":"object-detection"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/3d-object-detection-on-kitti-cars-easy-val","task":"3D Object Detection","dataset":"KITTI Cars Easy val","model":"PVCNN","rank_in_archive_order":7,"of":11,"metrics":{"AP":"84.02"},"uses_additional_data":false},{"leaderboard":"/sota/3d-object-detection-on-kitti-cars-hard-val","task":"3D Object Detection","dataset":"KITTI Cars Hard val","model":"PVCNN","rank_in_archive_order":7,"of":10,"metrics":{"AP":"63.81"},"uses_additional_data":false},{"leaderboard":"/sota/3d-object-detection-on-kitti-cars-moderate-1","task":"3D Object Detection","dataset":"KITTI Cars Moderate val","model":"PVCNN","rank_in_archive_order":8,"of":11,"metrics":{"AP":"71.54"},"uses_additional_data":false},{"leaderboard":"/sota/3d-object-detection-on-kitti-cyclist-easy-val","task":"3D Object Detection","dataset":"KITTI Cyclist Easy val","model":"PVCNN","rank_in_archive_order":2,"of":4,"metrics":{"AP":"81.4"},"uses_additional_data":false},{"leaderboard":"/sota/3d-object-detection-on-kitti-cyclist-hard-val","task":"3D Object Detection","dataset":"KITTI Cyclist Hard val","model":"PVCNN","rank_in_archive_order":2,"of":4,"metrics":{"AP":"56.24"},"uses_additional_data":false},{"leaderboard":"/sota/3d-object-detection-on-kitti-cyclist-moderate","task":"3D Object Detection","dataset":"KITTI Cyclist Moderate val","model":"PVCNN","rank_in_archive_order":2,"of":4,"metrics":{"AP":"59.97"},"uses_additional_data":false},{"leaderboard":"/sota/3d-object-detection-on-kitti-pedestrian-easy","task":"3D Object Detection","dataset":"KITTI Pedestrian Easy val","model":"PVCNN","rank_in_archive_order":1,"of":4,"metrics":{"AP":"73.2"},"uses_additional_data":false},{"leaderboard":"/sota/3d-object-detection-on-kitti-pedestrian-hard","task":"3D Object Detection","dataset":"KITTI Pedestrian Hard val","model":"PVCNN","rank_in_archive_order":1,"of":4,"metrics":{"AP":"56.78"},"uses_additional_data":false},{"leaderboard":"/sota/3d-object-detection-on-kitti-pedestrian","task":"3D Object Detection","dataset":"KITTI Pedestrian Moderate val","model":"PVCNN","rank_in_archive_order":1,"of":4,"metrics":{"AP":"64.71"},"uses_additional_data":false},{"leaderboard":"/sota/3d-part-segmentation-on-shapenet-part","task":"3D Part Segmentation","dataset":"ShapeNet-Part","model":"PVCNN volumetric","rank_in_archive_order":32,"of":67,"metrics":{"Instance Average IoU":"86.2"},"uses_additional_data":false},{"leaderboard":"/sota/3d-semantic-segmentation-on-s3dis","task":"3D Semantic Segmentation","dataset":"S3DIS","model":"PVCNN++","rank_in_archive_order":6,"of":6,"metrics":{"mIoU (6-Fold)":"58.98"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1907.03739","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1907.03739"}},"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/zghera/voxel-tf-ops","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/mit-han-lab/pvcnn","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/isl-org/Open3D-ML","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/zghera/pvcnn-tf","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_draft_wrong":3,"ran_fixture":1,"ran":1,"unverified":3},"by_repo_kind":{"official":{"samples":1,"ran":1,"repositories":1},"listed":{"samples":7,"ran":4,"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":5,"samples":[{"code_sha256_prefix":"f9f83c192bb3e2e3","entry":"avg_voxelize","repo":"isl-org/Open3D-ML","repo_kind":"listed","path":"ml3d/torch/models/pvcnn.py","file_url":"https://github.com/isl-org/Open3D-ML/blob/HEAD/ml3d/torch/models/pvcnn.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"f9f83c192bb3e2e3"}},{"code_sha256_prefix":"036bac0272d01074","entry":"create_mlp_components","repo":"isl-org/Open3D-ML","repo_kind":"listed","path":"ml3d/torch/models/pvcnn.py","file_url":"https://github.com/isl-org/Open3D-ML/blob/HEAD/ml3d/torch/models/pvcnn.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"036bac0272d01074"}},{"code_sha256_prefix":"3ae68d06c43d9791","entry":"get_box_corners_3d","repo":"mit-han-lab/pvcnn","repo_kind":"official","path":"modules/frustum.py","file_url":"https://github.com/mit-han-lab/pvcnn/blob/HEAD/modules/frustum.py","link_basis":"plan_row","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":"3ae68d06c43d9791"}},{"code_sha256_prefix":"1b8b6b6a0e49e37a","entry":"get_custom_data","repo":"isl-org/Open3D-ML","repo_kind":"listed","path":"examples/vis_pred.py","file_url":"https://github.com/isl-org/Open3D-ML/blob/HEAD/examples/vis_pred.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":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"1b8b6b6a0e49e37a"}},{"code_sha256_prefix":"2dca674dcca0eafc","entry":"pred_custom_data","repo":"isl-org/Open3D-ML","repo_kind":"listed","path":"examples/vis_pred.py","file_url":"https://github.com/isl-org/Open3D-ML/blob/HEAD/examples/vis_pred.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":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"2dca674dcca0eafc"}},{"code_sha256_prefix":"90409a9ab7881c14","entry":"create_pointnet_components","repo":"isl-org/Open3D-ML","repo_kind":"listed","path":"ml3d/torch/models/pvcnn.py","file_url":"https://github.com/isl-org/Open3D-ML/blob/HEAD/ml3d/torch/models/pvcnn.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"90409a9ab7881c14"}},{"code_sha256_prefix":"d642449ac8f7c2e2","entry":"get_configs","repo":"zghera/pvcnn-tf","repo_kind":"listed","path":"utils/common.py","file_url":"https://github.com/zghera/pvcnn-tf/blob/HEAD/utils/common.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":"d642449ac8f7c2e2"}},{"code_sha256_prefix":"81cd1d449e518459","entry":"replace_nans_with_norm","repo":"zghera/pvcnn-tf","repo_kind":"listed","path":"modeling/layers/nan_replace.py","file_url":"https://github.com/zghera/pvcnn-tf/blob/HEAD/modeling/layers/nan_replace.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":"81cd1d449e518459"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}