Skip to content

LTTM/Scan-to-BIM

Repository files navigation

Fully Automated Scan-to-BIM via Point Cloud Instance Segmentation

Devid Campagnolo*, Elena Camuffo*, Umberto Michieli, Paolo Borin, Simone Milani and Andrea Giordano, In Proceedings of the International Conference on Image Processing (ICIP) 2023.

Static Badge Static Badge Static Badge Creative Commons License
Our dataset and codebase are licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

image

🔥 News

  • Pretrained models uploaded here!

  • HePIC🏛️ dataset uploaded.
  • BIM-Net codebase added - 5 models $\times$ 3 datasets.

Abstract

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.

👩‍🍳 Recipe to use our code

  1. Download HePIC🏛️ dataset from here and split the data as in data/HePIC lists. You can do it with the help of the split_data.py script.

  2. Set up the environment with:

conda env create -f scan2bim.yml
  1. 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.

🔍 Evaluation

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

Citation

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.