points2poly
Reconstructing compact building models from point clouds using deep implicit fields [ISPRS 2022]
Science Score: 67.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 2 DOI reference(s) in README -
✓Academic publication links
Links to: sciencedirect.com -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (15.3%) to scientific vocabulary
Keywords
Repository
Reconstructing compact building models from point clouds using deep implicit fields [ISPRS 2022]
Basic Info
- Host: GitHub
- Owner: chenzhaiyu
- License: mit
- Language: Python
- Default Branch: main
- Homepage: https://github.com/chenzhaiyu/points2poly
- Size: 1.28 MB
Statistics
- Stars: 200
- Watchers: 9
- Forks: 38
- Open Issues: 1
- Releases: 0
Topics
Metadata Files
README.md
Points2Poly
Introduction
Points2Poly is an implementation of the paper Reconstructing Compact Building Models from Point Clouds Using Deep Implicit Fields, which incorporates learnable implicit surface representation into explicitly constructed geometry.
Due to clutter concerns, the core module is separately maintained in the abspy repository (also available as a PyPI package), while this repository acts as a wrapper with additional sources and instructions in particular for building reconstruction.
Prerequisites
The prerequisites are two-fold: one from abspy with functionalities on vertex group, cell complex, and adjacency graph; the other one from points2surf that facilitates occupancy estimation.
Clone this repository with submodules:
bash
git clone --recurse-submodules https://github.com/chenzhaiyu/points2poly
In case you already cloned the repository but forgot --recurse-submodules:
bash
git submodule update --init
Requirements from abspy
Follow the instruction to install abspy with its dependencies, while abspy itself can be easily installed via PyPI:
```bash
local version (stable)
pip install ./abspy
PyPI version (latest)
pip install abspy ```
Requirements from points2surf
Install the dependencies for points2surf:
bash
pip install -r points2surf/requirements.txt
For training, make sure CUDA is available and enabled.
Navigate to points2surf/README.md for more details on its requirements.
In addition, install dependencies for logging:
bash
pip install -r requirements.txt
Getting started
Reconstruction demo
Download a mini dataset of 6 buildings from the Helsinki 3D city models, and a pre-trained full-view model:
bash
python download.py dataset_name='helsinki_mini' model_name='helsinki_fullview'
Run reconstruction on the mini dataset:
bash
python reconstruct.py dataset_name='helsinki_mini' model_name='helsinki_fullview'
Evaluate the reconstruction results by Hausdorff distance:
bash
python evaluate.py dataset_name='helsinki_mini'
The reconstructed building models and statistics can be found under ./outputs/helsinki_mini/reconstructed.
Helsinki dataset
Download the Helsinki dataset from OneDrive, including meshes, point clouds, and queries with distances.
Custom dataset
Reconstruction from custom point clouds
Convert point clouds into NumPy binary files (
.npy). Place point cloud files (e.g.,.ply,.obj,.stland.off) under./datasets/{dataset_name}/00_base_pcthen runpoints2surf/make_pc_dataset.py, or manually do the conversion.Extract planar primitives from point clouds with Mapple. In Mapple, use
Point Cloud-RANSAC primitive extractionto extract planar primitives, then save the vertex group files (.vgor.bvg) into./datasets/{dataset_name}/06_vertex_group.Run reconstruction the same way as that in the demo. Notice that, however, you might need to retrain a model that conforms to your data's characteristics.
Make training data
Prepare meshes and place them under datasets/{dataset_name} that mimic the structure of the provided data. Refer to this instruction for creating training data through BlenSor simulation.
TODOs
- [x] Separate
abspy/points2surffrompoints2polywrappers - [x] Config with hydra
- [x] Short tutorial on how to get started
- [x] Host generated data
License
Acknowledgement
The implementation of Points2Poly has greatly benefited from Points2Surf. In addition, the implementation of the abspy submodule is backed by great open-source libraries inlcuding SageMath, NetworkX, and Easy3D.
Citation
If you use Points2Poly in a scientific work, please consider citing the paper:
bibtex
@article{chen2022points2poly,
title = {Reconstructing compact building models from point clouds using deep implicit fields},
journal = {ISPRS Journal of Photogrammetry and Remote Sensing},
volume = {194},
pages = {58-73},
year = {2022},
issn = {0924-2716},
doi = {https://doi.org/10.1016/j.isprsjprs.2022.09.017},
url = {https://www.sciencedirect.com/science/article/pii/S0924271622002611},
author = {Zhaiyu Chen and Hugo Ledoux and Seyran Khademi and Liangliang Nan}
}
Owner
- Name: Zhaiyu Chen
- Login: chenzhaiyu
- Kind: user
- Location: Munich, Germany
- Company: Technical University of Munich
- Website: chenzhaiyu.com
- Repositories: 32
- Profile: https://github.com/chenzhaiyu
Citation (CITATION.bib)
@article{chen2022points2poly,
title = {Reconstructing compact building models from point clouds using deep implicit fields},
journal = {ISPRS Journal of Photogrammetry and Remote Sensing},
volume = {194},
pages = {58-73},
year = {2022},
issn = {0924-2716},
doi = {https://doi.org/10.1016/j.isprsjprs.2022.09.017},
url = {https://www.sciencedirect.com/science/article/pii/S0924271622002611},
author = {Zhaiyu Chen and Hugo Ledoux and Seyran Khademi and Liangliang Nan}
}
GitHub Events
Total
- Issues event: 5
- Watch event: 22
- Issue comment event: 9
- Fork event: 4
Last Year
- Issues event: 5
- Watch event: 22
- Issue comment event: 9
- Fork event: 4
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 25
- Total pull requests: 3
- Average time to close issues: 17 days
- Average time to close pull requests: 3 days
- Total issue authors: 22
- Total pull request authors: 1
- Average comments per issue: 4.16
- Average comments per pull request: 0.0
- Merged pull requests: 3
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 3
- Pull requests: 0
- Average time to close issues: 29 days
- Average time to close pull requests: N/A
- Issue authors: 3
- Pull request authors: 0
- Average comments per issue: 1.67
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- Zhong0501 (3)
- happyfox-dot (2)
- Rifahaziz (2)
- Hxinyue (1)
- soapyheas (1)
- omarsamiranov (1)
- ac416 (1)
- MinMin0009 (1)
- amiltonwong (1)
- xinzheng798 (1)
- kuaiqushangzixiba (1)
- vedant41patel (1)
- hcscysh (1)
- Silvarebacca (1)
- Thunderwisking (1)
Pull Request Authors
- chenzhaiyu (3)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- hydra-colorlog ==1.2.0
- hydra-core ==1.2.0
- omegaconf ==2.2.3