This is a LoD-2 building model reconstruction approach with code, also the software version called "SAT2LoD2".
The journal paper Automated LoD-2 Model Reconstruction from Satellite-derived Digital Surface Model and Orthophoto is the technical description of the approach.
The conference paper (accepted) Sat2LoD2: A Software For Automated Lod-2 Modeling From Satellite-Derived Orthophoto And Digital Surface Model describing the tools (SAT2LoD2) which achieve by Python, operations and with some slight updates.
[(PDF) Automated LoD-2 Model Reconstruction from Satellite-derived Digital Surface Model and Orthophoto]
[(PDF) Sat2lod2: A Software For Automated Lod-2 Modeling From Satellite-Derived Orthophoto And Digital Surface Model]
Digital surface models (DSM) generated from multi-stereo satellite images are getting higher in quality owning to the improved data resolution and photogrammetric reconstruction algorithms. Satellite images effectively act as a unique data source for 3D building modeling, because it provides a much wider data coverage with lower cost than the traditionally used LiDAR and airborne photogrammetry data. Although 3D building modeling from point clouds has been intensively investigated, most of the methods are still ad-hoc to specific types of buildings and require high-quality and high-resolution data sources as input. Therefore, when applied to satellite-based point cloud or DSMs, these developed approaches are not readily applicable and more adaptive and robust methods are needed. As a result, most of the existing work on building modeling from satellite DSM achieves LoD-1 generation. In this paper, we propose a model-driven method that reconstructs LoD-2 building models following a "decomposition-optimization-fitting” paradigm. The proposed method starts building detection results through a deep learning-based detector and vectorizes individual segments into polygons using a “three-step” polygon extraction method, followed by a novel grid-based decomposition method that decompose the complex and irregularly shaped building polygons to tightly combined elementary building rectangles ready to fit elementary building models. We have optionally introduced OpenStreetMap (OSM) and Graph-Cut (GC) labeling to further refine the orientation of 2D building rectangle. The 3D modeling step takes building-specific parameters such as hip lines, as well as non-rigid and regularized transformations to optimize the flexibility for using a minimal set of elementary models. Finally, roof type of building models are refined and adjacent building models in one building segment are merged into the complex polygonal model. Our proposed method have addressed a few technical caveats over existing methods, resulting in practically high-quality results, based on our evaluation and comparative study on a diverse set of experimental dataset of cities with different urban patterns.
- Building LoD-2 generation via satellite data.
Please refer to the user manual in ./softawre/software_user_manual.pdf
The sampel input and output files are at ./softawre/example/
The executable file is at ./softawre/SAT2LoD2/SAT2LoD2.exe
Operation video is available in Youtube: SAT2LoD2 operation video
There are two individual version of SAT2LoD2 for PC with Nvidia CUDA 10 driver and CUDA 11 driver:
If your GPU is RTX 30 series, please download the version for CUDA 11:
- Onedrive: SAT2LoD2 CUDA11 Onedrive
- Google drive: SAT2LoD2 CUDA11 Google drive
If your GPU is in other situation, please download the version for CUDA 10:
- Onedrive: SAT2LoD2 CUDA10 Onedrive
- Google drive: SAT2LoD2 CUDA10 Google drive
Notice: SAT2LoD2 software and open-source has minor improvments compare with the pulished ISPRS Journal paper include: 1) building segmentation based on HRNetV2; 2) non-rectangular shape buildings mesh generation. Moreover, processing time for software and code is optimized as well.
Python is the only language for software and open-source codes.
Please refer to the code in ./code/;
./code/SAT2LoD2.py is the software GUI and main function of whole workflow;
./code/hrnet_seg.py corresponses to Building detection and segmentation;
./code/building_polygon.py corresponses to Initial 2D building polygon extraction;
./code/building_decomposition.py corresponses to Building rectangle decomposition;
./code/building_refinement.py corresponses to Building rectangle orientation refinement;
./code/building_modelfit.py corresponses to 3D model fitting;
./code/building_obj.py corresponses to Mesh generation.
The weight for building segmentation download here:
- Onedrive: HRNet_wight Onedrive
- Google drive: HRNet_wight Google drive
@article{gui2021automated,
title={Automated LoD-2 model reconstruction from very-high-resolution satellite-derived digital surface model and orthophoto},
author={Gui, Shengxi and Qin, Rongjun},
journal={ISPRS Journal of Photogrammetry and Remote Sensing},
volume={181},
pages={1--19},
year={2021},
publisher={Elsevier}
}
@Article{isprs-archives-XLIII-B2-2022-379-2022,
AUTHOR = {Gui, S. and Qin, R. and Tang, Y.},
TITLE = {SAT2LOD2: A SOFTWARE FOR AUTOMATED LOD-2 BUILDING RECONSTRUCTION FROM SATELLITE-DERIVED ORTHOPHOTO AND DIGITAL SURFACE MODEL},
JOURNAL = {The International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences},
VOLUME = {XLIII-B2-2022},
YEAR = {2022},
PAGES = {379--386},
URL = {https://www.int-arch-photogramm-remote-sens-spatial-inf-sci.net/XLIII-B2-2022/379/2022/},
DOI = {10.5194/isprs-archives-XLIII-B2-2022-379-2022}
}