Devid Campagnolo*, Elena Camuffo*, Umberto Michieli, Paolo Borin, Simone Milani and Andrea Giordano, In Proceedings of the International Conference on Image Processing (ICIP) 2023.
Our dataset and codebase are licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
- Pretrained models uploaded here!
- HePIC🏛️ dataset uploaded.
-
BIM-Net codebase added - 5 models
$\times$ 3 datasets.
Digital Reconstruction through Building Information Models (BIM) is a valuable methodology for documenting and analyzing existing buildings. Its pipeline starts with geometric acquisition. (e.g., via photogrammetry or laser scanning) for accurate point cloud collection. However, the acquired data are noisy and unstructured, and the creation of a semantically-meaningful BIM representation requires a huge computational effort, as well as expensive and time-consuming human annotations. In this paper, we propose a fully automated scan-to-BIM pipeline. The approach relies on: (i) our dataset (HePIC), acquired from two large buildings and annotated at a point-wise semantic level based on existent BIM models; (ii) a novel ad hoc deep network (BIM-Net++) for semantic segmentation, whose output is then processed to extract instance information necessary to recreate BIM objects; (iii) novel model pretraining and class re-weighting to eliminate the need for a large amount of labeled data and human intervention.
-
Download HePIC🏛️ dataset from here and split the data as in
data/HePIC
lists. You can do it with the help of thesplit_data.py
script. -
Set up the environment with:
conda env create -f scan2bim.yml
- Train 🚀BIM-Net++ with HePIC🏛️:
python train_pcs.py --loss mixed --dset_path [folder/of/your/dataset]
We include also training on:
- HePIC with other models: SegCloud, Cylinder3D, RandLA-Net, PVCNN.
- BIM-Net with other datasets: Arch, S3DIS.
You can download our pretrained models from here. Results are reported here below.
Model | Dataset | PA | PP | mIoU | Pretrained Weights |
---|---|---|---|---|---|
SegCloud | HePIC🏛️ | 17.6 | 24.7 | 13.2 | SegCloud_HePIC |
Cylinder3D | HePIC🏛️ | 21.0 | 23.2 | 14.2 | Cylinder3D_HePIC |
RandLA-Net | HePIC🏛️ | 35.6 | 56.2 | 28.8 | RandLA-Net_HePIC |
PVCNN | HePIC🏛️ | 43.3 | 48.1 | 34.9 | PVCNN_HePIC |
BIM-Net | Arch | 26.0 | 39.8 | 18.4 | BIM-Net_Arch |
BIM-Net | S3DIS | 71.7 | 76.5 | 59.5 | BIM-Net_S3DIS |
BIM-Net | HePIC🏛️ | 47.1 | 58.9 | 40.6 | BIM-Net_HePIC |
🚀BIM-Net++ | HePIC🏛️ | 59.1 | 53.0 | 43.7 | BIM-Net++_HePIC |
If you find our work useful for your research, please consider citing:
@inproceedings{Campagnolo2023fully,
author={Campagnolo, D. and Camuffo, E. and Michieli, U. and Borin, P. and Milani, S. and Giordano, A.},
booktitle={IEEE International Conference on Image Processing (ICIP)},
title={Fully Automated Scan-to-BIM Via Point Cloud Instance Segmentation},
year={2023},
pages={291-295},
doi={10.1109/ICIP49359.2023.10222064}
}
NOTE: Pretrained weights have been obtained retraining the models and datasets with up-to-date packages within the environment. Results may slightly differ from the ones reported in the paper.