https://github.com/JunweiZheng93/APES
Official repository for paper "Attention-based Point Cloud Edge Sampling" (APES), Highlight@CVPR 2023
https://github.com/JunweiZheng93/APES
attention-based downsampling edge-points point-cloud
Last synced: about 1 month ago
JSON representation
Official repository for paper "Attention-based Point Cloud Edge Sampling" (APES), Highlight@CVPR 2023
- Host: GitHub
- URL: https://github.com/JunweiZheng93/APES
- Owner: JunweiZheng93
- License: apache-2.0
- Created: 2023-02-28T11:43:45.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-07-09T20:16:26.000Z (10 months ago)
- Last Synced: 2024-08-01T03:38:56.722Z (9 months ago)
- Topics: attention-based, downsampling, edge-points, point-cloud
- Language: Python
- Homepage: https://arxiv.org/pdf/2302.14673.pdf
- Size: 49.8 KB
- Stars: 87
- Watchers: 3
- Forks: 6
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# APES: Attention-based Point Cloud Edge Sampling
[](https://paperswithcode.com/sota/3d-point-cloud-classification-on-modelnet40?p=attention-based-point-cloud-edge-sampling)
[](https://paperswithcode.com/sota/3d-part-segmentation-on-shapenet-part?p=attention-based-point-cloud-edge-sampling)## Homepage
This project is selected as a Highlight at CVPR 2023! For more information about the project, please refer to our [project homepage](https://junweizheng93.github.io/publications/APES/APES.html).
## Prerequisites
Install all necessary packages using:
```shell
conda create -n APES python=3.9 -y
conda activate APES
conda install pytorch==2.0.0 pytorch-cuda=11.7 -c pytorch -c nvidia -y
pip install -r requirements.txt
```## Data
Download and preprocess the data using:
```shell
python utils/download_modelnet.py # for classification
python utils/download_shapenet.py # for segmentation
```## Train
Train models from scratch using:
```shell
# using single GPU
# command: bash utils/single_gpu_train.sh cfg_file
bash utils/single_gpu_train.sh configs/apes/apes_cls_local-modelnet-200epochs.py # for classification using local-based downsampling
bash utils/single_gpu_train.sh configs/apes/apes_cls_global-modelnet-200epochs.py # for classification using global-based downsampling
bash utils/single_gpu_train.sh configs/apes/apes_seg_local-shapenet-200epochs.py # for segmentation using local-based downsampling
bash utils/single_gpu_train.sh configs/apes/apes_seg_global-shapenet-200epochs.py # for segmentation using global-based downsampling# using multiple GPUs
# command: bash utils/dist_train.sh cfg_file num_gpus
bash utils/dist_train.sh configs/apes/apes_cls_local-modelnet-200epochs.py 2 # for classification using local-based downsampling
bash utils/dist_train.sh configs/apes/apes_cls_global-modelnet-200epochs.py 2 # for classification using global-based downsampling
bash utils/dist_train.sh configs/apes/apes_seg_local-shapenet-200epochs.py 2 # for segmentation using local-based downsampling
bash utils/dist_train.sh configs/apes/apes_seg_global-shapenet-200epochs.py 2 # for segmentation using global-based downsampling
```## Test
Test model with checkpoint using:
```shell
# using single GPU
# command: bash utils/single_gpu_test.sh cfg_file ckpt_path
bash utils/single_gpu_test.sh configs/apes/apes_cls_local-modelnet-200epochs.py ckpt_path # for classification using local-based downsampling
bash utils/single_gpu_test.sh configs/apes/apes_cls_global-modelnet-200epochs.py ckpt_path # for classification using global-based downsampling
bash utils/single_gpu_test.sh configs/apes/apes_seg_local-shapenet-200epochs.py ckpt_path # for segmentation using local-based downsampling
bash utils/single_gpu_test.sh configs/apes/apes_seg_global-shapenet-200epochs.py ckpt_path # for segmentation using global-based downsampling# using multiple GPUs
# command: bash utils/dist_test.sh cfg_file ckpt_path num_gpus
bash utils/dist_test.sh configs/apes/apes_cls_local-modelnet-200epochs.py ckpt_path 2 # for classification using local-based downsampling
bash utils/dist_test.sh configs/apes/apes_cls_global-modelnet-200epochs.py ckpt_path 2 # for classification using global-based downsampling
bash utils/dist_test.sh configs/apes/apes_seg_local-shapenet-200epochs.py ckpt_path 2 # for segmentation using local-based downsampling
bash utils/dist_test.sh configs/apes/apes_seg_global-shapenet-200epochs.py ckpt_path 2 # for segmentation using global-based downsampling
```## Visualization
Visualize results with checkpoint using:
```shell
# using single GPU
# command: bash utils/single_gpu_test.sh cfg_file ckpt_path -vis
bash utils/single_gpu_test.sh configs/apes/apes_cls_local-modelnet-200epochs.py ckpt_path -vis # for classification using local-based downsampling
bash utils/single_gpu_test.sh configs/apes/apes_cls_global-modelnet-200epochs.py ckpt_path -vis # for classification using global-based downsampling
bash utils/single_gpu_test.sh configs/apes/apes_seg_local-shapenet-200epochs.py ckpt_path -vis # for segmentation using local-based downsampling
bash utils/single_gpu_test.sh configs/apes/apes_seg_global-shapenet-200epochs.py ckpt_path -vis # for segmentation using global-based downsampling# using multiple GPUs
# command: bash utils/dist_test.sh cfg_file ckpt_path num_gpus -vis
bash utils/dist_test.sh configs/apes/apes_cls_local-modelnet-200epochs.py ckpt_path 2 -vis # for classification using local-based downsampling
bash utils/dist_test.sh configs/apes/apes_cls_global-modelnet-200epochs.py ckpt_path 2 -vis # for classification using global-based downsampling
bash utils/dist_test.sh configs/apes/apes_seg_local-shapenet-200epochs.py ckpt_path 2 -vis # for segmentation using local-based downsampling
bash utils/dist_test.sh configs/apes/apes_seg_global-shapenet-200epochs.py ckpt_path 2 -vis # for segmentation using global-based downsampling
```## Citation
If you are interested in this work, please cite as below:
```text
@inproceedings{wu_2023_attention,
author={Wu, Chengzhi and Zheng, Junwei and Pfrommer, Julius and Beyerer, J\"urgen},
title={Attention-Based Point Cloud Edge Sampling},
booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
year={2023}
}
```