Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/luost26/score-denoise
:snowflake: Score-Based Point Cloud Denoising (ICCV 2021)
https://github.com/luost26/score-denoise
Last synced: 24 days ago
JSON representation
:snowflake: Score-Based Point Cloud Denoising (ICCV 2021)
- Host: GitHub
- URL: https://github.com/luost26/score-denoise
- Owner: luost26
- License: mit
- Created: 2021-07-23T00:07:40.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2022-08-13T05:04:21.000Z (over 2 years ago)
- Last Synced: 2024-10-10T22:14:35.569Z (about 1 month ago)
- Language: Python
- Homepage:
- Size: 2.21 MB
- Stars: 165
- Watchers: 3
- Forks: 22
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Score-Based Point Cloud Denoising (ICCV'21)
[Paper] [https://arxiv.org/abs/2107.10981](https://arxiv.org/abs/2107.10981)
## Installation
### Recommended Environment
The code has been tested in the following environment:
| Package | Version | Comment |
| ------------------------------------------------------------ | ------- | ------------------------------------------------------------ |
| PyTorch | 1.9.0 | |
| [point_cloud_utils](https://github.com/fwilliams/point-cloud-utils) | 0.18.0 | For evaluation only. It loads meshes to compute point-to-mesh distances. |
| [pytorch3d](https://github.com/facebookresearch/pytorch3d) | 0.5.0 | For evaluation only. It computes point-to-mesh distances. |
| [pytorch-cluster](https://github.com/rusty1s/pytorch_cluster) | 1.5.9 | We only use `fps` (farthest point sampling) to merge denoised patches. |### Install via Conda (PyTorch 1.9.0 + CUDA 11.1)
```bash
conda env create -f env.yml
conda activate score-denoise
```### Install Manually
```bash
conda create --name score-denoise python=3.8
conda activate score-denoiseconda install pytorch==1.9.0 torchvision==0.10.0 cudatoolkit=11.1 -c pytorch -c nvidia
conda install -c conda-forge tqdm scipy scikit-learn pyyaml easydict tensorboard pandas
# point_cloud_utils
conda install -c conda-forge point_cloud_utils==0.18.0# Pytorch3d
conda install -c fvcore -c iopath -c conda-forge fvcore iopath
conda install -c pytorch3d pytorch3d==0.5.0# pytorch-scatter
conda install -c pyg pytorch-cluster==1.5.9
```## Datasets
Download link: https://drive.google.com/drive/folders/1--MvLnP7dsBgBZiu46H0S32Y1eBa_j6P?usp=sharing
Please extract `data.zip` to `data` folder.
## Denoise
### Reproduce Paper Results
**[Known Issue about the PCNet Testset]**
The P2M results of the PCNet testset might vary depending on GPU architecture and [PyTorch version](https://github.com/luost26/score-denoise/issues/12#issuecomment-1205965838).
However, no matter how it varies, it remains strong linear correlation to the CD metric (see [discussion here](https://github.com/luost26/score-denoise/issues/12#issuecomment-1187022389)), so it does not affect the main result of this work.```bash
# PUNet dataset, 10K Points
python test.py --dataset PUNet --resolution 10000_poisson --noise 0.01 --niters 1
python test.py --dataset PUNet --resolution 10000_poisson --noise 0.02 --niters 1
python test.py --dataset PUNet --resolution 10000_poisson --noise 0.03 --niters 2
# PUNet dataset, 50K Points
python test.py --dataset PUNet --resolution 50000_poisson --noise 0.01 --niters 1
python test.py --dataset PUNet --resolution 50000_poisson --noise 0.02 --niters 1
python test.py --dataset PUNet --resolution 50000_poisson --noise 0.03 --niters 2
```### Denoise Regular-Size Point Clouds (≤ 50K Points)
```bash
python test_single.py --input_xyz --output_xyz
```You may also barely run `python test_single.py` to see a quick example.
### Denoise Large Point Clouds (> 50K Points)
```bash
python test_large.py --input_xyz --output_xyz
```You may also barely run `python test_large.py` to see a quick example.
## Train
```bash
python train.py
```Please find tunable parameters in the script.
## Citation
```
@InProceedings{Luo_2021_ICCV,
author = {Luo, Shitong and Hu, Wei},
title = {Score-Based Point Cloud Denoising},
booktitle = {Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV)},
month = {October},
year = {2021},
pages = {4583-4592}
}
```