Parameter‑efficient fine‑tuning (LoRA) for 3D point cloud semantic segmentation with PointNet++, evaluated on airborne LiDAR datasets.
Please respond to the form to receive the link to download the dataset: Link to form
This repository contains code and assets accompanying the paper:
Efficient Task and Domain Adaptation in ALS Semantic Segmentation via LoRA for PointNet++
Semantic segmentation of airborne LiDAR point clouds enables a broad range of urban and environmental applications. However, domain shifts between training and operational data, as well as the frequent emergence of new semantic classes, pose significant challenges for deploying deep learning models effectively. In this work, we explore the integration of Low-Rank Adaptation (LoRA), a parameter-efficient fine-tuning technique, into the PointNet++ architecture to address these challenges. We evaluate LoRA in two realistic scenarios: domain adaptation and incremental learning with novel classes, using subsets of large-scale LiDAR datasets under constrained labeled data settings. Our experiments show that LoRA outperforms traditional full fine-tuning, achieving notable gains (+3.1 IoU for specific classes and +0.3 mIoU on TerLiDAR, +2.7 mIoU on DALES), while exhibiting greater resistance to catastrophic forgetting and improved generalization, particularly for underrepresented classes. Furthermore, LoRA exceeds baseline accuracy with substantially fewer trainable parameters (73.4% reduction), highlighting its suitability for resource-constrained deployment scenarios. We also present TerLiDAR, a publicly available annotated airborne LiDAR dataset covering 51.4 km^2 along the Ter River in Catalonia, Spain. It contributes to increasing the diversity of semantic segmentation benchmarks and advancing 3D scene understanding in remote sensing.
📄 Paper link: Read the paper on ScienceDirect
PN++ architecture. Set Abstraction (SA) layers sample input points, group them, and apply PointNet to obtain high-dimensional representations. Feature Propagation (FP) layers upsample points and propagate features back to the original resolution.
Orange boxes indicate trainable modules. The input point cloud is represented as x ∈ ℝN×D, where N is the number of input points and D is the number of input features. Each layer processes local neighborhoods, where Nl is the number of sampled points at each level l, K is the number of neighboring points in the local region, and Din and Dout are the input and output feature dimensions. The output of the network is a per-point semantic prediction y ∈ ℝN×C, where C is the number of semantic classes.
We present TerLiDAR, a fully open and annotated airborne LiDAR dataset that covers 51.4 km² of urban and forested areas along the Ter River in Catalonia, Spain. The data were acquired in July 2021 using an ALS system mounted on a georeferenced aircraft operated by ICGC. The dataset comprises 692 million colorized 3D points, each annotated with one of the semantic classes listed in the paper.
Geographic coverage of the TerLiDAR dataset along the Ter River in Catalonia, Spain.
The classes are described as follows:
Visualization of a LAS tile using RGB values and corresponding semantic classes.
Proposed Split
To ensure reproducible results and a fair evaluation of the model, we propose the following split between training and testing data:
| Split Type | Block IDs | Description |
|---|---|---|
| Test Set | pt438656, pt438652, pt438658 |
Held-out blocks for final evaluation. |
| Train Set | All remaining blocks | Used for model optimization and cross-validation. |
Please adhere to this split when reporting results to ensure benchmarks remain comparable across different runs.
Environment:
Quick setup:
conda create -n lora-pn2 python=3.10 -y
conda activate lora-pn2
pip install -r requirements.txt
This project is dual-licensed: