{"id":13442103,"url":"https://github.com/JunweiZheng93/APES","last_synced_at":"2025-03-20T13:32:25.324Z","repository":{"id":156344610,"uuid":"607641278","full_name":"JunweiZheng93/APES","owner":"JunweiZheng93","description":"Official repository for paper \"Attention-based Point Cloud Edge Sampling\" (APES), Highlight@CVPR 2023","archived":false,"fork":false,"pushed_at":"2024-07-09T20:16:26.000Z","size":51,"stargazers_count":87,"open_issues_count":6,"forks_count":6,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-08-01T03:38:56.722Z","etag":null,"topics":["attention-based","downsampling","edge-points","point-cloud"],"latest_commit_sha":null,"homepage":"https://arxiv.org/pdf/2302.14673.pdf","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/JunweiZheng93.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":"2023-02-28T11:43:45.000Z","updated_at":"2024-07-28T08:47:45.000Z","dependencies_parsed_at":"2023-08-23T08:45:43.068Z","dependency_job_id":null,"html_url":"https://github.com/JunweiZheng93/APES","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/JunweiZheng93%2FAPES","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JunweiZheng93%2FAPES/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JunweiZheng93%2FAPES/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JunweiZheng93%2FAPES/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JunweiZheng93","download_url":"https://codeload.github.com/JunweiZheng93/APES/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221768461,"owners_count":16877642,"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":["attention-based","downsampling","edge-points","point-cloud"],"created_at":"2024-07-31T03:01:41.727Z","updated_at":"2025-03-20T13:32:25.317Z","avatar_url":"https://github.com/JunweiZheng93.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"# APES: Attention-based Point Cloud Edge Sampling\n\n\u003cp\u003e\n\u003ca href=\"https://arxiv.org/pdf/2302.14673.pdf\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/PDF-arXiv-brightgreen\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://junweizheng93.github.io/publications/APES/APES.html\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Project-Homepage-red\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://pytorch.org/\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Framework-PyTorch-orange\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://mmengine.readthedocs.io/en/latest/\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Framework-MMEngine-ff69b4\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/JunweiZheng93/APES/blob/main/LICENSE\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/License-Apache_2.0-blue.svg\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n[![PWC](https://img.shields.io/endpoint.svg?url=https://paperswithcode.com/badge/attention-based-point-cloud-edge-sampling/3d-point-cloud-classification-on-modelnet40)](https://paperswithcode.com/sota/3d-point-cloud-classification-on-modelnet40?p=attention-based-point-cloud-edge-sampling) \u003cbr\u003e\n[![PWC](https://img.shields.io/endpoint.svg?url=https://paperswithcode.com/badge/attention-based-point-cloud-edge-sampling/3d-part-segmentation-on-shapenet-part)](https://paperswithcode.com/sota/3d-part-segmentation-on-shapenet-part?p=attention-based-point-cloud-edge-sampling)\n\n## Homepage\n\nThis 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).\n\n\n## Prerequisites\n\nInstall all necessary packages using:\n\n```shell\nconda create -n APES python=3.9 -y\nconda activate APES\nconda install pytorch==2.0.0 pytorch-cuda=11.7 -c pytorch -c nvidia -y\npip install -r requirements.txt\n```\n\n\n## Data\n\nDownload and preprocess the data using:\n\n```shell\npython utils/download_modelnet.py  # for classification\npython utils/download_shapenet.py  # for segmentation\n```\n\n\n## Train\n\nTrain models from scratch using:\n\n```shell\n# using single GPU\n# command: bash utils/single_gpu_train.sh cfg_file\nbash utils/single_gpu_train.sh configs/apes/apes_cls_local-modelnet-200epochs.py  # for classification using local-based downsampling\nbash utils/single_gpu_train.sh configs/apes/apes_cls_global-modelnet-200epochs.py  # for classification using global-based downsampling\nbash utils/single_gpu_train.sh configs/apes/apes_seg_local-shapenet-200epochs.py  # for segmentation using local-based downsampling\nbash utils/single_gpu_train.sh configs/apes/apes_seg_global-shapenet-200epochs.py  # for segmentation using global-based downsampling\n\n# using multiple GPUs \n# command: bash utils/dist_train.sh cfg_file num_gpus\nbash utils/dist_train.sh configs/apes/apes_cls_local-modelnet-200epochs.py 2  # for classification using local-based downsampling\nbash utils/dist_train.sh configs/apes/apes_cls_global-modelnet-200epochs.py 2  # for classification using global-based downsampling\nbash utils/dist_train.sh configs/apes/apes_seg_local-shapenet-200epochs.py 2  # for segmentation using local-based downsampling\nbash utils/dist_train.sh configs/apes/apes_seg_global-shapenet-200epochs.py 2  # for segmentation using global-based downsampling\n```\n\n\n## Test\n\nTest model with checkpoint using:\n\n```shell\n# using single GPU\n# command: bash utils/single_gpu_test.sh cfg_file ckpt_path\nbash utils/single_gpu_test.sh configs/apes/apes_cls_local-modelnet-200epochs.py ckpt_path  # for classification using local-based downsampling\nbash utils/single_gpu_test.sh configs/apes/apes_cls_global-modelnet-200epochs.py ckpt_path # for classification using global-based downsampling\nbash utils/single_gpu_test.sh configs/apes/apes_seg_local-shapenet-200epochs.py ckpt_path  # for segmentation using local-based downsampling\nbash utils/single_gpu_test.sh configs/apes/apes_seg_global-shapenet-200epochs.py ckpt_path # for segmentation using global-based downsampling\n\n# using multiple GPUs \n# command: bash utils/dist_test.sh cfg_file ckpt_path num_gpus\nbash utils/dist_test.sh configs/apes/apes_cls_local-modelnet-200epochs.py ckpt_path 2  # for classification using local-based downsampling\nbash utils/dist_test.sh configs/apes/apes_cls_global-modelnet-200epochs.py ckpt_path 2  # for classification using global-based downsampling\nbash utils/dist_test.sh configs/apes/apes_seg_local-shapenet-200epochs.py ckpt_path 2  # for segmentation using local-based downsampling\nbash utils/dist_test.sh configs/apes/apes_seg_global-shapenet-200epochs.py ckpt_path 2  # for segmentation using global-based downsampling\n```\n\n\n## Visualization\n\nVisualize results with checkpoint using:\n\n```shell\n# using single GPU\n# command: bash utils/single_gpu_test.sh cfg_file ckpt_path -vis\nbash utils/single_gpu_test.sh configs/apes/apes_cls_local-modelnet-200epochs.py ckpt_path -vis  # for classification using local-based downsampling\nbash utils/single_gpu_test.sh configs/apes/apes_cls_global-modelnet-200epochs.py ckpt_path -vis  # for classification using global-based downsampling\nbash utils/single_gpu_test.sh configs/apes/apes_seg_local-shapenet-200epochs.py ckpt_path -vis  # for segmentation using local-based downsampling\nbash utils/single_gpu_test.sh configs/apes/apes_seg_global-shapenet-200epochs.py ckpt_path -vis  # for segmentation using global-based downsampling\n\n# using multiple GPUs \n# command: bash utils/dist_test.sh cfg_file ckpt_path num_gpus -vis\nbash utils/dist_test.sh configs/apes/apes_cls_local-modelnet-200epochs.py ckpt_path 2 -vis  # for classification using local-based downsampling\nbash utils/dist_test.sh configs/apes/apes_cls_global-modelnet-200epochs.py ckpt_path 2 -vis  # for classification using global-based downsampling\nbash utils/dist_test.sh configs/apes/apes_seg_local-shapenet-200epochs.py ckpt_path 2 -vis  # for segmentation using local-based downsampling\nbash utils/dist_test.sh configs/apes/apes_seg_global-shapenet-200epochs.py ckpt_path 2 -vis  # for segmentation using global-based downsampling\n```\n\n\n## Citation\n\nIf you are interested in this work, please cite as below:\n\n```text\n@inproceedings{wu_2023_attention,\nauthor={Wu, Chengzhi and Zheng, Junwei and Pfrommer, Julius and Beyerer, J\\\"urgen},\ntitle={Attention-Based Point Cloud Edge Sampling},\nbooktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},\nyear={2023}\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FJunweiZheng93%2FAPES","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FJunweiZheng93%2FAPES","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FJunweiZheng93%2FAPES/lists"}