Implementation of the CVPR Workshops '23 paper:
"Scan2LoD3: Reconstructing semantic 3D building models at LoD3 using ray casting and Bayesian networks"
Scan2LoD3: Our method reconstructs detailed semantic 3D building models; Its backbone is laser raysβ physics providing geometrical cues enhancing semantic segmentation accuracy.
The workflow of the proposed Scan2LoD3 consists of three parallel branches:
- The first is generating the point cloud probability map based on a modified Point Transformer network (top);
- the second is producing a conflicts probability map from the visibility of the laser scanner in conjunction with a 3D building model (middle);
- and the third is using Mask-RCNN to obtain a texture probability map from 2D images. We then fuse three probability maps with a Bayesian network to obtain the final facade-level segmentation, enabling a CityGML-compliant LoD3 building model reconstruction.
Visibility analysis using laser scanning observations and 3D models on a voxel grid. The ray is traced from the sensor position si to the hit point pi. The voxel is: empty if the ray traverses it; occupied when it contains pi; unknown if unmeasured; confirmed when occupied voxel intersects with vector plane; and conflicted when the plane intersects with an empty voxel.
The implementation can be divided into several steps:
- Ray casting (C++)
- Mask-RCNN (Python)
- Point Transformer (Python)
- Confidence estimation; probability map projection;
- Bayesian network estimate (R)
- Shape extraction (FME)
- CityGML-compliant 3D modeling (FME)
For the in-depth conept understanding do not hesitate to check out the paper:
@inproceedings{wysocki2023scan2lod3,
title={Scan2LoD3: Reconstructing semantic 3D building models at LoD3 using ray casting and Bayesian networks},
author={Wysocki, Olaf and Xia, Yan and Wysocki, Magdalena and Grilli, Eleonora and Hoegner, Ludwig and Cremers, Daniel and Stilla, Uwe},
booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition},
pages={6548--6558},
year={2023}
}
Small sample dataset it attached to this repo: \raycasting\examples. For the vector objects and point cloud please check the tum2twin (soon available!) benchmark dataset.
Should you have any further questions do not hesitate to drop me an email: olaf.wysocki@tum.de