Machine Learning (ML) Model for Automatic Classification of Water Points in 3D LiDAR Point Clouds

Read full text
Authors: Christophe Conessa, Laurent Froideval, Xavier Pellerin Le Bas
Cited by: 0

Abstract

AbstractThis repository provides a machine learning model developed at CNRS – M2C (UMR 6143) for the automatic classification of water surface points in 3D airborne LiDAR point clouds. The model is designed to identify and extract LiDAR returns corresponding to inland and coastal water bodies, supporting scientific research in hydrology, coastal dynamics, and surface water monitoring.Key Features:4-class supervised classification: Distinguishes between non-water/non-ground (class 1), ground (class 2), low-intensity water (class 9), and high-intensity water (class 10).High performance: Achieves 94% precision, 91% recall, and 92% F1-score for water detection (classes 9 and 10 combined).Open-source framework: Developed using cLASpy_T (Python), ensuring reproducibility and modularity.The model leverages geometric, and radiometric features computed from local spatial neighborhoods, making it particularly suited for smooth and horizontally coherent surfaces like water bodies.Model DescriptionThe model performs supervised classification to distinguish water surface points (classes 9 and 10) from non-water points (classes 1 and 2) in airborne LiDAR point clouds. It relies on local features (geometric, and radiometric) computed from spatial neighborhoods.Specificities:4 output classes:Class 1: Non-water/non-ground (e.g., vegetation, buildings).Class 2: Ground.Class 9: Low-intensity water.Class 10: High-intensity water.Probabilistic outputs: Predictions include probabilities for each class, enabling uncertainty analysis.Input Data3D airborne LiDAR point clouds (LAS/LAZ formats).Local features: Intensity, Scan Angle Rank.Output DataPredicted point cloud (4 classes).Probabilistic predictions for classes 1, 2, 9, and 10.Feature EngineeringThe following features must be pre-computed for each point using custom Python scripts (or tools like CloudCompare):Surface variation (radii: 5 m, 15 m).Verticality (radius: 15 m).Intensity contrast (radii: 3 m, 4 m, 5 m, 10 m, 15 m).Intensity mean (radii: 5 m, 10 m, 15 m).These features are optimized for detecting smooth, horizontally coherent surfaces such as water bodies.Software DependencyThe model was developed using cLASpy_T, an open-source Python software for LiDAR point cloud processing and classification:https://www.theia-land.fr/blog/product/claspy_t-outils-de-classification-de-fichiers-las-avec-python-et-algorithmes-dapprentissage-automatique/Machine Learning MethodAlgorithm: Gradient Boosting.Learning type: Supervised classification.Objective: Water vs. non-water discrimination.Training strategy: Stratified sampling and cross-validation.Implementation: cLASpy_T software.PerformanceMetrics evaluated on independent test datasets:Precision (water class): 94%.Recall (water class): 91%.F1-score (water class): 92%.Note: Metrics are calculated by combining classes 9 and 10 (water), reflecting the model’s ability to reliably detect water surfaces.

Fields of Study & Subjects

Remote Sensing and LiDAR Applications Remote-Sensing Image Classification Automated Road and Building Extraction

Publication details

Journal / source
Figshare
Publication date
1 January 2026
Language
EN