首页下载资源人工智能点云实例分割-Softgroup-训练自己数据集程序

ZIP点云实例分割-Softgroup-训练自己数据集程序

u0129017402.73MB需要积分:1

资源文件列表:

SoftGroup.zip 大约有172个文件
  1. SoftGroup/
  2. SoftGroup/.flake8 148B
  3. SoftGroup/.gitignore 1.01KB
  4. SoftGroup/.pre-commit-config.yaml 954B
  5. SoftGroup/configs/
  6. SoftGroup/configs/softgroup/
  7. SoftGroup/configs/softgroup/softgroup_kitti.yaml 1.61KB
  8. SoftGroup/configs/softgroup/softgroup_kitti_backbone.yaml 1.56KB
  9. SoftGroup/configs/softgroup/softgroup_s3dis.yaml 1.54KB
  10. SoftGroup/configs/softgroup/softgroup_s3dis_backbone_fold5.yaml 1.52KB
  11. SoftGroup/configs/softgroup/softgroup_s3dis_fold5.yaml 1.66KB
  12. SoftGroup/configs/softgroup/softgroup_scannet.yaml 1.68KB
  13. SoftGroup/configs/softgroup/softgroup_scannet_backbone.yaml 1.67KB
  14. SoftGroup/configs/softgroup/softgroup_soybean.yaml 1.35KB
  15. SoftGroup/configs/softgroup/softgroup_stpls3d.yaml 1.71KB
  16. SoftGroup/configs/softgroup/softgroup_stpls3d_backbone.yaml 1.58KB
  17. SoftGroup/configs/softgroup++/
  18. SoftGroup/configs/softgroup++/softgroup++_s3dis_backbone_fold1.yaml 1.53KB
  19. SoftGroup/configs/softgroup++/softgroup++_s3dis_backbone_fold2.yaml 1.53KB
  20. SoftGroup/configs/softgroup++/softgroup++_s3dis_backbone_fold3.yaml 1.53KB
  21. SoftGroup/configs/softgroup++/softgroup++_s3dis_backbone_fold4.yaml 1.53KB
  22. SoftGroup/configs/softgroup++/softgroup++_s3dis_backbone_fold5.yaml 1.53KB
  23. SoftGroup/configs/softgroup++/softgroup++_s3dis_backbone_fold6.yaml 1.53KB
  24. SoftGroup/configs/softgroup++/softgroup++_s3dis_fold1.yaml 1.73KB
  25. SoftGroup/configs/softgroup++/softgroup++_s3dis_fold2.yaml 1.73KB
  26. SoftGroup/configs/softgroup++/softgroup++_s3dis_fold3.yaml 1.73KB
  27. SoftGroup/configs/softgroup++/softgroup++_s3dis_fold4.yaml 1.73KB
  28. SoftGroup/configs/softgroup++/softgroup++_s3dis_fold5.yaml 1.73KB
  29. SoftGroup/configs/softgroup++/softgroup++_s3dis_fold6.yaml 1.73KB
  30. SoftGroup/configs/softgroup++/softgroup++_scannet.yaml 1.75KB
  31. SoftGroup/configs/softgroup++/softgroup++_stpls3d.yaml 1.81KB
  32. SoftGroup/configs/softgroup++/softgroup++_stpls3d_backbone.yaml 1.56KB
  33. SoftGroup/dataset/
  34. SoftGroup/dataset/kitti/
  35. SoftGroup/dataset/kitti/semantic-kitti.yaml 5.41KB
  36. SoftGroup/dataset/README.md 2.11KB
  37. SoftGroup/dataset/s3dis/
  38. SoftGroup/dataset/s3dis/downsample.py 2.5KB
  39. SoftGroup/dataset/s3dis/prepare_data.sh 95B
  40. SoftGroup/dataset/s3dis/prepare_data_inst.py 5.57KB
  41. SoftGroup/dataset/s3dis/prepare_data_inst_gttxt.py 2.14KB
  42. SoftGroup/dataset/scannetv2/
  43. SoftGroup/dataset/scannetv2/prepare_data.sh 241B
  44. SoftGroup/dataset/scannetv2/prepare_data_inst.py 3.68KB
  45. SoftGroup/dataset/scannetv2/prepare_data_inst_gttxt.py 1.63KB
  46. SoftGroup/dataset/scannetv2/scannetv2_test.txt 1.27KB
  47. SoftGroup/dataset/scannetv2/scannetv2_train.txt 15.25KB
  48. SoftGroup/dataset/scannetv2/scannetv2_val.txt 3.96KB
  49. SoftGroup/dataset/scannetv2/scannet_util.py 1018B
  50. SoftGroup/dataset/scannetv2/split_data.py 1.3KB
  51. SoftGroup/dataset/stpls3d/
  52. SoftGroup/dataset/stpls3d/prepare_data.sh 78B
  53. SoftGroup/dataset/stpls3d/prepare_data_inst_instance_stpls3d.py 7.4KB
  54. SoftGroup/dataset/stpls3d/prepare_data_statistic_stpls3d.py 2.92KB
  55. SoftGroup/docs/
  56. SoftGroup/docs/architecture.png 82.95KB
  57. SoftGroup/docs/config_explanation.md 4.48KB
  58. SoftGroup/docs/custom_dataset.md 2.32KB
  59. SoftGroup/docs/installation.md 727B
  60. SoftGroup/docs/leaderboard.png 251.19KB
  61. SoftGroup/docs/train_logs/
  62. SoftGroup/docs/train_logs/softgroup_s3dis_fold5_20220602_075350.log 131.47KB
  63. SoftGroup/docs/train_logs/softgroup_scannet_20220602_120228.log 945.36KB
  64. SoftGroup/docs/visualization.md 1.29KB
  65. SoftGroup/LICENSE 1.03KB
  66. SoftGroup/README.md 8.62KB
  67. SoftGroup/requirements.txt 81B
  68. SoftGroup/setup.cfg 405B
  69. SoftGroup/setup.py 896B
  70. SoftGroup/softgroup/
  71. SoftGroup/softgroup/data/
  72. SoftGroup/softgroup/data/custom.py 10.76KB
  73. SoftGroup/softgroup/data/kitti.py 5.06KB
  74. SoftGroup/softgroup/data/s3dis.py 4.51KB
  75. SoftGroup/softgroup/data/scannetv2.py 1.14KB
  76. SoftGroup/softgroup/data/soybean.py 10.79KB
  77. SoftGroup/softgroup/data/stpls3d.py 739B
  78. SoftGroup/softgroup/data/__init__.py 1.77KB
  79. SoftGroup/softgroup/data/__pycache__/
  80. SoftGroup/softgroup/data/__pycache__/custom.cpython-38.pyc 8.63KB
  81. SoftGroup/softgroup/data/__pycache__/kitti.cpython-38.pyc 4.09KB
  82. SoftGroup/softgroup/data/__pycache__/s3dis.cpython-38.pyc 3.59KB
  83. SoftGroup/softgroup/data/__pycache__/scannetv2.cpython-38.pyc 1.48KB
  84. SoftGroup/softgroup/data/__pycache__/soybean.cpython-38.pyc 8.69KB
  85. SoftGroup/softgroup/data/__pycache__/stpls3d.cpython-38.pyc 1.01KB
  86. SoftGroup/softgroup/data/__pycache__/__init__.cpython-38.pyc 1.35KB
  87. SoftGroup/softgroup/evaluation/
  88. SoftGroup/softgroup/evaluation/instance_eval.py 18.53KB
  89. SoftGroup/softgroup/evaluation/instance_eval_util.py 5.21KB
  90. SoftGroup/softgroup/evaluation/panoptic_eval.py 10.19KB
  91. SoftGroup/softgroup/evaluation/point_wise_eval.py 1.58KB
  92. SoftGroup/softgroup/evaluation/__init__.py 269B
  93. SoftGroup/softgroup/evaluation/__pycache__/
  94. SoftGroup/softgroup/evaluation/__pycache__/instance_eval.cpython-38.pyc 9.01KB
  95. SoftGroup/softgroup/evaluation/__pycache__/instance_eval_util.cpython-38.pyc 5.14KB
  96. SoftGroup/softgroup/evaluation/__pycache__/panoptic_eval.cpython-38.pyc 6.22KB
  97. SoftGroup/softgroup/evaluation/__pycache__/point_wise_eval.cpython-38.pyc 1.66KB
  98. SoftGroup/softgroup/evaluation/__pycache__/__init__.cpython-38.pyc 405B
  99. SoftGroup/softgroup/model/
  100. SoftGroup/softgroup/model/blocks.py 5.06KB
  101. SoftGroup/softgroup/model/softgroup.py 33.36KB
  102. SoftGroup/softgroup/model/__init__.py 58B
  103. SoftGroup/softgroup/model/__pycache__/
  104. SoftGroup/softgroup/model/__pycache__/blocks.cpython-38.pyc 4.1KB
  105. SoftGroup/softgroup/model/__pycache__/softgroup.cpython-38.pyc 19.39KB
  106. SoftGroup/softgroup/model/__pycache__/__init__.cpython-38.pyc 199B
  107. SoftGroup/softgroup/ops/
  108. SoftGroup/softgroup/ops/clang_format.sh 120B
  109. SoftGroup/softgroup/ops/functions.py 13.08KB
  110. SoftGroup/softgroup/ops/ops.cpython-38-x86_64-linux-gnu.so 7.6MB
  111. SoftGroup/softgroup/ops/setup.py 429B
  112. SoftGroup/softgroup/ops/src/
  113. SoftGroup/softgroup/ops/src/bfs_cluster/
  114. SoftGroup/softgroup/ops/src/bfs_cluster/bfs_cluster.cpp 4.51KB
  115. SoftGroup/softgroup/ops/src/bfs_cluster/bfs_cluster.cu 2.71KB
  116. SoftGroup/softgroup/ops/src/bfs_cluster/bfs_cluster.h 1.08KB
  117. SoftGroup/softgroup/ops/src/cal_iou_and_masklabel/
  118. SoftGroup/softgroup/ops/src/cal_iou_and_masklabel/cal_iou_and_masklabel.cpp 4.15KB
  119. SoftGroup/softgroup/ops/src/cal_iou_and_masklabel/cal_iou_and_masklabel.cu 6.8KB
  120. SoftGroup/softgroup/ops/src/cal_iou_and_masklabel/cal_iou_and_masklabel.h 2.22KB
  121. SoftGroup/softgroup/ops/src/cuda.cu 781B
  122. SoftGroup/softgroup/ops/src/cuda_utils.h 574B
  123. SoftGroup/softgroup/ops/src/datatype/
  124. SoftGroup/softgroup/ops/src/datatype/datatype.cpp 436B
  125. SoftGroup/softgroup/ops/src/datatype/datatype.h 1.22KB
  126. SoftGroup/softgroup/ops/src/octree_ball_query/
  127. SoftGroup/softgroup/ops/src/octree_ball_query/octree_ball_query.cpp 5.54KB
  128. SoftGroup/softgroup/ops/src/octree_ball_query/octree_ball_query.cu 5.17KB
  129. SoftGroup/softgroup/ops/src/octree_ball_query/octree_ball_query.h 1.93KB
  130. SoftGroup/softgroup/ops/src/roipool/
  131. SoftGroup/softgroup/ops/src/roipool/roipool.cpp 1.03KB
  132. SoftGroup/softgroup/ops/src/roipool/roipool.cu 2.48KB
  133. SoftGroup/softgroup/ops/src/roipool/roipool.h 895B
  134. SoftGroup/softgroup/ops/src/sec_mean/
  135. SoftGroup/softgroup/ops/src/sec_mean/sec_mean.cpp 1.03KB
  136. SoftGroup/softgroup/ops/src/sec_mean/sec_mean.cu 2.88KB
  137. SoftGroup/softgroup/ops/src/sec_mean/sec_mean.h 864B
  138. SoftGroup/softgroup/ops/src/softgroup_api.cpp 1.1KB
  139. SoftGroup/softgroup/ops/src/softgroup_ops.cpp 1.48KB
  140. SoftGroup/softgroup/ops/src/softgroup_ops.h 1.09KB
  141. SoftGroup/softgroup/ops/src/voxelize/
  142. SoftGroup/softgroup/ops/src/voxelize/voxelize.cpp 6.07KB
  143. SoftGroup/softgroup/ops/src/voxelize/voxelize.cu 2.29KB
  144. SoftGroup/softgroup/ops/src/voxelize/voxelize.h 2.05KB
  145. SoftGroup/softgroup/ops/__init__.py 25B
  146. SoftGroup/softgroup/ops/__pycache__/
  147. SoftGroup/softgroup/ops/__pycache__/functions.cpython-38.pyc 10.81KB
  148. SoftGroup/softgroup/ops/__pycache__/__init__.cpython-38.pyc 158B
  149. SoftGroup/softgroup/util/
  150. SoftGroup/softgroup/util/dist.py 3.59KB
  151. SoftGroup/softgroup/util/fp16.py 2.65KB
  152. SoftGroup/softgroup/util/logger.py 1.11KB
  153. SoftGroup/softgroup/util/optim.py 296B
  154. SoftGroup/softgroup/util/rle.py 1.01KB
  155. SoftGroup/softgroup/util/utils.py 5KB
  156. SoftGroup/softgroup/util/__init__.py 299B
  157. SoftGroup/softgroup/util/__pycache__/
  158. SoftGroup/softgroup/util/__pycache__/dist.cpython-38.pyc 3.15KB
  159. SoftGroup/softgroup/util/__pycache__/fp16.cpython-38.pyc 2.14KB
  160. SoftGroup/softgroup/util/__pycache__/logger.cpython-38.pyc 1.38KB
  161. SoftGroup/softgroup/util/__pycache__/optim.cpython-38.pyc 587B
  162. SoftGroup/softgroup/util/__pycache__/rle.cpython-38.pyc 1.45KB
  163. SoftGroup/softgroup/util/__pycache__/utils.cpython-38.pyc 5.11KB
  164. SoftGroup/softgroup/util/__pycache__/__init__.cpython-38.pyc 516B
  165. SoftGroup/tools/
  166. SoftGroup/tools/convert_checkpoint.py 973B
  167. SoftGroup/tools/dist_test.sh 204B
  168. SoftGroup/tools/dist_train.sh 176B
  169. SoftGroup/tools/eval_det.py 10.97KB
  170. SoftGroup/tools/test.py 8.31KB
  171. SoftGroup/tools/train.py 8.81KB
  172. SoftGroup/tools/visualization.py 10.23KB

资源介绍:

根据官方代码修改可以训练自己的数据程序项目
# SoftGroup [![PWC](https://img.shields.io/endpoint.svg?url=https://paperswithcode.com/badge/softgroup-for-3d-instance-segmentation-on/3d-instance-segmentation-on-scannetv2)](https://paperswithcode.com/sota/3d-instance-segmentation-on-scannetv2?p=softgroup-for-3d-instance-segmentation-on) [![PWC](https://img.shields.io/endpoint.svg?url=https://paperswithcode.com/badge/softgroup-for-3d-instance-segmentation-on/3d-instance-segmentation-on-s3dis)](https://paperswithcode.com/sota/3d-instance-segmentation-on-s3dis?p=softgroup-for-3d-instance-segmentation-on) [![PWC](https://img.shields.io/endpoint.svg?url=https://paperswithcode.com/badge/softgroup-for-3d-instance-segmentation-on/3d-object-detection-on-scannetv2)](https://paperswithcode.com/sota/3d-object-detection-on-scannetv2?p=softgroup-for-3d-instance-segmentation-on) ![Architecture](./docs/architecture.png) We provide code for reproducing results of two papers [**SoftGroup for 3D Instance Segmentation on Point Clouds**](https://arxiv.org/abs/2203.01509)\ Thang Vu, Kookhoi Kim, Tung M. Luu, Thanh Nguyen, and Chang D. Yoo.\ **CVPR 2022 (Oral)**. [**Scalable SoftGroup for 3D Instance Segmentation on Point Clouds**](https://arxiv.org/abs/2209.08263)\ Thang Vu, Kookhoi Kim, Tung M. Luu, Thanh Nguyen, Junyeong Kim, and Chang D. Yoo.\ **TPAMI 2023 (accepted)**. ## Update - 25/Nov/2022: Support [SoftGroup++](https://arxiv.org/abs/2209.08263). - 12/Sep/2022: Support panoptic segmentation on SemanticKITTI dataset. - 28/Jun/2022: Support STPLS3D dataset. Add custom dataset guideline. - 16/Apr/2022: The code base is refactored. Coding is more extendable, readable, and consistent. The following features are supported: - Support up-to-date pytorch 1.11 and spconv 2.1. - Support distributed and mix precision training. Training time on ScanNet v2 (on 4GPUs) reduces from 4 day to 10 hours. - Faster inference speed, which requires only 288 ms per ScanNet scan on single Titan X. ## Introduction Existing state-of-the-art 3D instance segmentation methods perform semantic segmentation followed by grouping. The hard predictions are made when performing semantic segmentation such that each point is associated with a single class. However, the errors stemming from hard decision propagate into grouping that results in (1) low overlaps between the predicted instance with the ground truth and (2) substantial false positives. To address the aforementioned problems, this paper proposes a 3D instance segmentation method referred to as SoftGroup by performing bottom-up soft grouping followed by top-down refinement. SoftGroup allows each point to be associated with multiple classes to mitigate the problems stemming from semantic prediction errors and suppresses false positive instances by learning to categorize them as background. Experimental results on different datasets and multiple evaluation metrics demonstrate the efficacy of SoftGroup. Its performance surpasses the strongest prior method by a significant margin of +6.2% on the ScanNet v2 hidden test set and +6.8% on S3DIS Area 5 of AP_50. ![Learderboard](./docs/leaderboard.png) ## Feature * State of the art performance on the [ScanNet benchmark](http://kaldir.vc.in.tum.de/scannet_benchmark/semantic_instance_3d) and S3DIS dataset (3/Mar/2022). * High speed of 345 ms per scan on ScanNet dataset, which is comparable with the existing fastest methods ([HAIS](https://github.com/hustvl/HAIS)). Our refactored implementation (this code) further reduce the inference time to 288 ms per scan. * Support multiple datasets: ScanNet, S3DIS, STPLS3D, SemanticKITTI. ## Installation Please refer to [installation guide](docs/installation.md). ## Data Preparation Please refer to [data preparation](dataset/README.md). ## Pretrained models ### Instance segmentation | Dataset | Model | AP | AP_50 | AP_25 | Download | |:----------:|:-----------:|:----:|:-----:|:-----:|:-------------------------------------------------------------------------------------------:| | S3DIS | SoftGroup | 51.4 | 66.5 | 75.4 | [model](https://drive.google.com/file/d/1-f7I6-eIma4OilBON928N6mVcYbhiUFP/view?usp=sharing) | | S3DIS | SoftGroup++ | 50.9 | 67.8 | 76.0 | [model](https://drive.google.com/file/d/1OLbC8lmWkAQbqYAjiFj84egLQmJr-PmQ/view?usp=sharing) | | ScanNet v2 | SoftGroup | 45.8 | 67.4 | 79.1 | [model](https://drive.google.com/file/d/1XUNRfred9QAEUY__VdmSgZxGQ7peG5ms/view?usp=sharing) | | ScanNet v2 | SoftGroup++ | 45.9 | 67.9 | 79.4 | above | | STPLS3D | SoftGroup | 47.3 | 63.1 | 71.4 | [model](https://drive.google.com/file/d/1xCkKLTCYtQmSjXYH_sSg21M_6dcAskd8/view?usp=sharing) | | STPLS3D | SoftGroup++ | 46.5 | 62.9 | 71.8 | above | > **_NOTE:_** SoftGroup and SoftGroup++ use can use same trained model for inference on ScanNet v2 and STPLS3D. ### Panoptic segmentation | Dataset | PQ | Config | Model | |:-------------:|:----:|:------:|:-----:| | SemanticKITTI | 60.2 | [config](https://github.com/thangvubk/SoftGroup/blob/main/configs/softgroup_kitti.yaml) | [model](https://drive.google.com/file/d/10Ln-xLfl8Z3DX3G3lnO_RruJtYUYDfI7/view?usp=sharing) | ## Training We use the checkpoint of [HAIS](https://github.com/hustvl/HAIS) as pretrained backbone. **We have already converted the checkpoint to work on ``spconv2.x``**. Download the pretrained HAIS-spconv2 model and put it in ``SoftGroup/`` directory. Converted hais checkpoint: [model](https://drive.google.com/file/d/1FABsCUnxfO_VlItAzDYAwurdfcdK-scs/view?usp=sharing) Noted that for fair comparison with implementation in STPLS3D paper, we train SoftGroup on this dataset from scratch without pretrained backbone. ### Training S3DIS dataset The default configs suppose training on 4 GPU. If you use smaller number of GPUs, you should reduce the learning rate linearly. First, finetune the pretrained HAIS point-wise prediction network (backbone) on S3DIS. ``` ./tools/dist_train.sh configs/softgroup_s3dis_backbone_fold5.yaml 4 ``` Then, train model from frozen backbone. ``` ./tools/dist_train.sh configs/softgroup_s3dis_fold5.yaml 4 ``` ### Training ScanNet V2 dataset Training on ScanNet doesnot require finetuning the backbone. Just freeze pretrained backbone and train the model. ``` ./tools/dist_train.sh configs/softgroup_scannet.yaml 4 ``` ### Training STPLS3D dataset ``` ./tools/dist_train.sh configs/softgroup_stpls3d_backbone.yaml 4 ./tools/dist_train.sh configs/softgroup_stpls3d.yaml 4 ``` ## Inference ``` ./tools/dist_test.sh $CONFIG_FILE $CHECKPOINT $NUM_GPU ``` ### Inference without label For example, on scannet test split, just change [``prefix``](https://github.com/thangvubk/SoftGroup/blob/cf88d9be41ae83a70f9100856a3ca15ee4ddcee9/configs/softgroup_scannet.yaml#L49) to ``test`` and [``with_label``](https://github.com/thangvubk/SoftGroup/blob/cf88d9be41ae83a70f9100856a3ca15ee4ddcee9/configs/softgroup_scannet.yaml#L52) to ``False`` before running inference. ### Bounding box evaluation of ScanNet V2 dataset. We provide script to evaluate detection performance on axis-aligned boxes from predicted/ground-truth instance. - Step 1: Change ``save_instance`` to ``True`` in [config file](https://github.com/thangvubk/SoftGroup/blob/99ffb9756e553e0edfb2c43e2ab6a6f646892bb5/config/softgroup_default_scannet.yaml#L72). - Step 2: Run evaluation code. ``` CUDA_VISIBLE_DEVICES=0 python test.py --config config/softgroup_default_scannet.yaml --pretrain $PATH_TO_PRETRAIN_MODEL$ ``` - Step 3: Evaluate detection performance. ``` python eval_det.py ``` ## Visualization Please refer to [visualization guide](docs/visualization.md) for visualizing ScanNet and S3DIS results. ## Custom dataset Please refer to [custom dataset guide](docs/custom_dataset.md). ## Citation If you find our work helpful for your research. Please consider citing our paper. ``` @inproceedings{vu2022softgroup, title={SoftGroup for 3D Instance Seg
100+评论
captcha