Back to projects

Project

Point Cloud Classification

Geometric pipeline to classify LiDAR data into ground, buildings, and vegetation.

Python LiDAR PCA KD-Tree

Overview

Built a full geometric workflow to classify a raw LAZ point cloud, generate a terrain model, and compare the output against AHN reference data.

Objective

To classify a raw point cloud into ground, buildings, and vegetation, generate a DTM from classified ground points, and evaluate the output against AHN reference data.

Method

01

Ground extraction using the Cloth Simulation Filter (CSF) algorithm

02

DTM generation via Laplace interpolation on ground-classified points

03

Local geometric feature extraction using PCA on KD-tree–derived neighborhoods

04

Building detection via planar seed extraction, normal-constrained region growing, and RANSAC-based plane fitting with smoothing

05

Vegetation detection using PCA-derived sphericity features, region growing on scattered neighborhoods and return attributes, and consensus-based refinement with smoothing

Visuals

Geometric classification strategy combining PCA-based local features with region growing and sampling consensus.
Building extraction using planar segmentation and region growing with normal constraints.
Vegetation classification using sphericity and neighborhood scattering features.
Comparison with AHN reference classification showing strong agreement and overclassification zones.

Results

Normalized confusion matrix comparing predicted classification with AHN reference data. Ground accuracy reaches 97.7% and non-ground 93.1%, with minor confusion at class boundaries and complex surfaces.

Analysis

  • Planarity and normal-angle thresholds strongly affected building extraction
  • Sphericity alone overgrew into buildings, so return information became important for vegetation
  • Performance was strongest in open terrain and weaker around rivers and data voids

Reflection

  • The project showed that geometric methods can perform strongly without deep learning
  • Runtime and memory constraints required chunk-based processing
  • Parameter tuning had a major influence on classification quality
  • The workflow also improved collaboration and GitHub-based project organization