{"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/focal-sparse-convolutional-networks-for-3d","title":"Focal Sparse Convolutional Networks for 3D Object Detection","arxiv_id":"2204.12463","date":"2022-04-26","proceeding":"CVPR 2022 1","authors":["Yukang Chen","Yanwei Li","Xiangyu Zhang","Jian Sun","Jiaya Jia"],"abstract":"Non-uniformed 3D sparse data, e.g., point clouds or voxels in different spatial positions, make contribution to the task of 3D object detection in different ways. Existing basic components in sparse convolutional networks (Sparse CNNs) process all sparse data, regardless of regular or submanifold sparse convolution. In this paper, we introduce two new modules to enhance the capability of Sparse CNNs, both are based on making feature sparsity learnable with position-wise importance prediction. They are focal sparse convolution (Focals Conv) and its multi-modal variant of focal sparse convolution with fusion, or Focals Conv-F for short. The new modules can readily substitute their plain counterparts in existing Sparse CNNs and be jointly trained in an end-to-end fashion. For the first time, we show that spatially learnable sparsity in sparse convolution is essential for sophisticated 3D object detection. Extensive experiments on the KITTI, nuScenes and Waymo benchmarks validate the effectiveness of our approach. Without bells and whistles, our results outperform all existing single-model entries on the nuScenes test benchmark at the paper submission time. Code and models are at https://github.com/dvlab-research/FocalsConv.","url_abs":"https://arxiv.org/abs/2204.12463v1","url_pdf":"https://arxiv.org/pdf/2204.12463v1.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":"focal-sparse-convolutional-networks-for-3d","repo_url":"https://github.com/dvlab-research/focalsconv","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"focal-sparse-convolutional-networks-for-3d","repo_url":"https://github.com/dvlab-research/deepvision3d","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"3d-object-detection","task_name":"3D Object Detection"},{"task_slug":"object","task_name":"Object"},{"task_slug":"object-detection","task_name":"Object Detection"},{"task_slug":"object-detection-1","task_name":"object-detection"}],"methods":[{"method_slug":"convolution","method_name":"Convolution"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2204.12463","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2204.12463"}},"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/dvlab-research/deepvision3d","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/dvlab-research/focalsconv","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"deterministic:regex_extraction","url":"https://github.com/dvlab-research/FocalsConv","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"ran":3,"ran_draft_wrong":1,"unverified":1},"by_repo_kind":{"listed":{"samples":5,"ran":4,"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":5,"samples":[{"code_sha256_prefix":"bc9b16193b2981a6","entry":"SparseConvTensor","repo":"dvlab-research/deepvision3d","repo_kind":"listed","path":"MMDetection3D/mmdet3d/ops/spconv/conv.py","file_url":"https://github.com/dvlab-research/deepvision3d/blob/HEAD/MMDetection3D/mmdet3d/ops/spconv/conv.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":"bc9b16193b2981a6"}},{"code_sha256_prefix":"12bb8fe18e1fb6df","entry":"SparseConvolution","repo":"dvlab-research/deepvision3d","repo_kind":"listed","path":"MMDetection3D/mmdet3d/ops/spconv/conv.py","file_url":"https://github.com/dvlab-research/deepvision3d/blob/HEAD/MMDetection3D/mmdet3d/ops/spconv/conv.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":"12bb8fe18e1fb6df"}},{"code_sha256_prefix":"b197981aad401d93","entry":"SparseModule","repo":"dvlab-research/deepvision3d","repo_kind":"listed","path":"MMDetection3D/mmdet3d/ops/spconv/conv.py","file_url":"https://github.com/dvlab-research/deepvision3d/blob/HEAD/MMDetection3D/mmdet3d/ops/spconv/conv.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":"b197981aad401d93"}},{"code_sha256_prefix":"25a400507f0436bb","entry":"_calculate_fan_in_and_fan_out_hwio","repo":"dvlab-research/deepvision3d","repo_kind":"listed","path":"MMDetection3D/mmdet3d/ops/spconv/conv.py","file_url":"https://github.com/dvlab-research/deepvision3d/blob/HEAD/MMDetection3D/mmdet3d/ops/spconv/conv.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"25a400507f0436bb"}},{"code_sha256_prefix":"342b921fe049d4a8","entry":"scatter_nd","repo":"dvlab-research/deepvision3d","repo_kind":"listed","path":"MMDetection3D/mmdet3d/ops/spconv/conv.py","file_url":"https://github.com/dvlab-research/deepvision3d/blob/HEAD/MMDetection3D/mmdet3d/ops/spconv/conv.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":"342b921fe049d4a8"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}