{"id":13442072,"url":"https://github.com/CVMI-Lab/SPS-Conv","last_synced_at":"2025-03-20T13:32:14.489Z","repository":{"id":113401464,"uuid":"546520938","full_name":"CVMI-Lab/SPS-Conv","owner":"CVMI-Lab","description":"(NeurlPS 2022) Spatial Pruned Sparse Convolution for Efficient 3D Object Detection","archived":false,"fork":false,"pushed_at":"2023-01-06T05:50:08.000Z","size":2460,"stargazers_count":62,"open_issues_count":4,"forks_count":6,"subscribers_count":4,"default_branch":"main","last_synced_at":"2024-10-28T05:12:39.581Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CVMI-Lab.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2022-10-06T07:57:04.000Z","updated_at":"2024-04-07T08:21:34.000Z","dependencies_parsed_at":null,"dependency_job_id":"cbc05a8f-abbc-4627-a470-916fb889c14c","html_url":"https://github.com/CVMI-Lab/SPS-Conv","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CVMI-Lab%2FSPS-Conv","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CVMI-Lab%2FSPS-Conv/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CVMI-Lab%2FSPS-Conv/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CVMI-Lab%2FSPS-Conv/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CVMI-Lab","download_url":"https://codeload.github.com/CVMI-Lab/SPS-Conv/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244619148,"owners_count":20482369,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-31T03:01:41.352Z","updated_at":"2025-03-20T13:32:14.484Z","avatar_url":"https://github.com/CVMI-Lab.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"# Spatial Pruned Sparse Convolution for Efficient 3D Object Detection\n\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://arxiv.org/abs/2209.14201\"\u003e\u003cimg src=\"https://img.shields.io/badge/arXiv-2210.05593-b31b1b\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/CVMI-Lab/SlotCon/blob/master/LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/badge/License-Apache%202.0-blue.svg\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n\tSpatial Pruned Sparse Convolution for Efficient 3D Object Detection (NeurIPS 2022)\u003cbr\u003e\n  By\n  Jianhui Liu,\n  Yukang Chen,\n  Xiaoqing Ye,\n  Zhuotao Tian,\n  Xiao Tan,\n  and \n  Xiaojuan Qi.\n\u003c/p\u003e\n\n## Introduction\n\n3D scenes are dominated by a large number of background points, which is redundant for the detection task that mainly needs to focus on foreground objects.\nIn this paper, we analyze major components of existing sparse 3D CNNs and\nfind that 3D CNNs ignore the redundancy of data and further amplify it in the\ndown-sampling process, which brings a huge amount of extra and unnecessary\ncomputational overhead. Inspired by this, we propose a new convolution operator\nnamed spatial pruned sparse convolution (SPS-Conv), which includes two variants,\nspatial pruned submanifold sparse convolution (SPSS-Conv) and spatial pruned\nregular sparse convolution (SPRS-Conv), both of which are based on the idea of\ndynamically determining crucial areas for redundancy reduction. We validate that\nthe magnitude can serve as important cues to determine crucial areas which get rid\nof the extra computations of learning-based methods. The proposed modules can\neasily be incorporated into existing sparse 3D CNNs without extra architectural\nmodifications. Extensive experiments on the KITTI, Waymo and nuScenes datasets\ndemonstrate that our method can achieve more than 50% reduction in GFLOPs\nwithout compromising the performance.\n\n\n\u003cp align=\"center\"\u003e\n\t\u003cimg src=pic/method.png width=80% /\u003e\n\u003cp align=\"center\"\u003e\n\n\n### Experimental results\n\n#### nuScenes dataset\n\n|                                             | mAP | NDS | download | \n|---------------------------------------------|----------:|:-------:|:---------:|\n| [CenterPoint + SPSS ratio0.5 + SPRS ratio0.5](cfgs/nuscenes_models/cbgs_voxel0075_res3d_centerpoint_spss_ratio0.5_sprs_ratio0.5.yaml) | 58.68\t| 66.26\t | [Google](https://drive.google.com/file/d/1mgHP61bZ2iqwdISBtIrKRcSt7YBoloVr/view?usp=sharing) | \n| [CenterPoint + SPSS ratio0.3 + SPRS ratio0.5](cfgs/nuscenes_models/cbgs_voxel0075_res3d_centerpoint_spss_ratio0.3_sprs_ratio0.5.yaml) | 59.09\t| 66.63\t | [Google](https://drive.google.com/file/d/1C8Dm3yZZjuplYzkqPzXWgCyEUcIREcbX/view?usp=sharing)| \n\n\n## Getting Started\n### Installation\n\n#### a. Clone this repository\n```shell\nhttps://github.com/CVMI-Lab/SPS-Conv.git \u0026\u0026 cd SPS-Conv\n```\n#### b. Install the environment\nFollowing the install documents for [OpenPCdet](docs/INSTALL.md)\n\n*spconv 2.x is highly recommended instead of spconv 1.x version.\n\n#### c. Prepare the datasets. \n\nDownload and organize the official [KITTI](docs/GETTING_STARTED.md) and [Waymo](docs/GETTING_STARTED.md) and [nuScenes](GETTING_STARTED.md)  following the document in OpenPCdet.\n\n\n\n### Training\n\nFor KITTI\n```shell\ncd tools \nbash scripts/dist_train.sh ${NUM_GPUS} --cfg_file /cfgs/kitti_models/voxel_rcnn_car_spss_ratio0.5_sprs_ratio0.5.yaml\n```\n\nFor nuScenes\n```shell\ncd tools \nbash scripts/dist_train.sh ${NUM_GPUS} --cfg_file cfgs/nuscenes_models/cbgs_voxel0075_res3d_centerpoint_spss_ratio0.3_sprs_ratio0.5.yaml\n```\n\nFor Waymo\n```shell\ncd tools \nbash scripts/dist_train.sh ${NUM_GPUS} --cfg_file cfgs/waymo_models/centerpoint_spss_ratio0.3_sprs_ratio0.5.yaml\n```\n\n### Evaluation\nWe provide the trained weight file so you can just run with that. You can also use the model you trained.\n\n```shell\nNUM_GPUS=4\ncd tools \nbash scripts/dist_test.sh ${NUM_GPUS} --cfg_file ${PATH_TO_CONFIG_FILE} --ckpt ${PATH_TO_CHECKPOINT}\n```\n\n\n## TODO List\n- - [ ] CUDA code of SPS-Conv\n- - [ ] KITTI and Waymo pre-trained weights (will be released within a week)\n\n## Citation \nIf you find this project useful in your research, please consider citing:\n\n```\n@inproceedings{liu2022spatial,\n  title={Spatial Pruned Sparse Convolution for Efficient 3D Object Detection},\n  author={Liu, Jianhui and Chen, Yukang and Ye, Xiaoqing and Tian, Zhuotao and Tan, Xiao and Qi, Xiaojuan},\n  booktitle={Advances in Neural Information Processing Systems},\n  year={2022}\n}\n```\n\n## Acknowledgement\n-  This work is built upon the `OpenPCDet`. Please refer to the official github repositories, [OpenPCDet](https://github.com/open-mmlab/OpenPCDet) for more information.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FCVMI-Lab%2FSPS-Conv","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FCVMI-Lab%2FSPS-Conv","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FCVMI-Lab%2FSPS-Conv/lists"}