Fast and Extensible Building Modeling from Airborne LiDAR Data Qian-Yi Zhou Ulrich Neumann University of Southern California
Introduction Toward automatic 3D building model reconstruction … – 3D models are useful in several applications – Manual creation is slow and expensive – New instruments provides more and more data – Problem How to fulfill the gap between data and 3D building models?
Introduction Approach overview – Data source: airborne LiDAR data Without other data sources Working directly on point cloud, without rasterization – Experiments On 3 different data sets – Automatic vs. interaction Fully automatic for flat roofs Use interaction to acquire the extensibility for non-flat roof patterns
Pipeline Input LiDAR dataClassified points Classification Plane extraction Plane extraction Planes of one patch Boundary detection Boundary detection Boundary pointsBuilding model Modeling
Pipeline Plane extraction Plane extraction Planes of one patch Boundary detection Boundary detection Boundary pointsBuilding model Modeling Input LiDAR dataClassified points Classification
Algorithm – Use a SVM (Support Vector Machine) algorithm Machine learning method All the weight parameters could be trained from a small area of labeled data – Take several differential geometry properties as features Features are defined locally Same solution works for different data sets, even their global variants (e.g. absolute height) varies
Classification Features: Building (ground) vs. vegetation – Distribution of neighbor points Regular vs. Irregular – Normal direction Vertical vs. Unordered – Flatness Flat vs. Non-flat – Normal distribution Regular vs. Irregular
Classification Input LiDAR data F1 (regularity of distribution ) F2 (normal direction ) F3 (flatness ) F4 (regularity of normal dist. ) F5 (regularity of normal dist. )
Classification Experiments for classification – Weights for features learned from data: W 1~5 = (2.5, 0.1, 1.7, 5.2, 20.4) Regularities of normal distribution are important – We get around 95% accuracy rate on 3 different data sets Sample rate of different data sets varies from 6 points per sq.m. to 17 points per sq.m. Global variants (e.g. average height, average intensity) varies between different data sets
Classification Post-processing – Refinement Use the intuition that points of same category usually occur together in space Let points in a local neighborhood vote for the final classification result – Segmentation Apply region growing algorithm to find roof patches Largest patch is assigned as ground
Classification
Input LiDAR data Classification Pipeline Boundary detection Boundary detection Boundary pointsBuilding model Modeling Classified points Plane extraction Plane extraction Planes of one patch
Plane extraction Algorithm – For each roof patch, apply a region growing algorithm but based on normal similarity – Iteratively find all plane patterns in one roof patch
Classified points Plane extraction Plane extraction Input LiDAR data Classification Pipeline Building model Modeling Planes of one patch Boundary detection Boundary detection Boundary points
Boundary detection Algorithm – Apply a uniform grid onto the point cloud P – Correspondence: Boundary line in grid Boundary point of P Boundary corner in grid Boundary edge of P – Run two passes, to construct a watertight manifold polygonal boundary from boundary points and edges
Boundary detection Algorithm (continue) Boundary lines Boundary corners First pass Second pass
Boundary detection Advantages – Topology guarantee: watertight manifold boundary – Easy to implement – Efficient and robust – Can be used with morphological operations Limitation – Cannot guarantee geometry completeness
Planes of one patch Boundary detection Boundary detection Classified points Plane extraction Plane extraction Input LiDAR data Classification Pipeline Boundary pointsBuilding model Modeling
Building modeling Principal directions – Intuition: most boundary line segments in a local area fall into a couple of directions, known as principal directions
Building modeling Snapping – Snap to principal directions Find as much as possible boundary segments along principal directions – Snap between neighbor segments Patches may share same boundary segments Patches may be connected via a vertical wall
Building modeling
Planes of one patch Boundary detection Boundary detection Classified points Plane extraction Plane extraction Input LiDAR data Classification Pipeline Boundary pointsBuilding model Modeling Non-flat roof extension User interaction Non-flat roofs
Non-flat objects extension Algorithm – Define a few pattern types, e.g. cone, sphere, cylinder – Let user specify pattern type of certain roof patch – Apply RANSAC algorithm to get the parameters for this shape pattern
Experiments Oakland (17 samples/sq.m.; 600m x 600m)
Experiments Denver (6 samples/sq.m.; 1km x 1km)
Experiments Industrial site (14 samples/sq.m.)
Conclusion We provide an automatic building modeling pipeline with novel classification, boundary extraction and modeling algorithms; in addition, we show the extensibility to non-flat roofs with the help of a few user interactions. Future works – How to quantitatively analysis errors? – How to handle data sets with billions of points? An out-of-core implementation is possible!
The end Q & A Acknowledgement – Data Airborne 1 Corp., Sanborn Corp., Chevron Corp., Sentinel AVE LLC – Discussion and comments Suya You, Yuan Li, and anonymous reviewers – Support Provost’s Fellowship from USC