
Computer vision / 2025
3D obstacle detection
LiDAR-based perception for detecting and classifying obstacles around power-line infrastructure.
Airbus Helicopters
- Duration
- 1 week
- Scale
- 575M points
- Contribution
- Data & algorithm design
Detecting and localizing obstacles in large-scale airborne LiDAR point clouds under computational constraints.
The challenge
During a one-week Airbus Helicopters hackathon, our team explored how dense airborne LiDAR data could be transformed into useful 3D obstacle detections.
The dataset consisted of ten HDF5 scenes, each with 100 frames of 575,000 points — 57.5 million points per scene, 575 million in total. The objective was to identify and localize four types of structures relevant to aerial navigation: antennas, cables, electric poles and wind turbines.
The difficulty was not simply to classify points. Individual LiDAR returns carry little semantic information, while the objects of interest represent only a small fraction of an extremely dense 3D environment. The challenge therefore required moving from millions of isolated measurements to a much smaller set of meaningful object candidates.
Computational frugality was also part of the problem. Reducing the amount of data processed made experimentation feasible, but created a fundamental trade-off between reducing computation and preserving enough geometry to detect rare obstacles.
Understanding the data
A LiDAR point cloud differs fundamentally from an image. Instead of pixels arranged on a regular grid, it consists of discrete measurements distributed throughout three-dimensional space.
The data was severely imbalanced. Across the ten scenes, approximately 98.83% of the points correspond to background, leaving only 1.17% associated with the four obstacle classes. Cables represented roughly 0.063% of all points.
This made data reduction part of the detection problem itself. Aggressive sampling could make the point cloud manageable while simultaneously removing the rare structures the system was expected to detect. An exploratory sample illustrated this directly: although the complete scene contained hundreds of thousands of wind-turbine points, the reduced sample used in one experiment contained none.
The geometry formed by these points is itself informative. Points belonging to a cable tend to form thin, elongated structures; surfaces produce more planar neighbourhoods; larger structures exhibit different spatial distributions. The project therefore focused not only on where points were located, but also on how neighbouring points were arranged around them.
From points to objects
Rather than treating obstacle detection as a single prediction problem, the prototype decomposed it into a sequence of geometric tasks.
A single LiDAR point says little about the object it belongs to. Its neighbourhood is considerably more informative. We therefore used nearest-neighbour analysis and local principal component analysis (PCA) to characterize whether the geometry surrounding each point was predominantly linear, planar or volumetric.
A density-based clustering algorithm, DBSCAN, then grouped spatially connected points into candidate objects. This was useful because the number of obstacles was unknown in advance and their geometry could be highly irregular.
Each cluster was subsequently compressed into a compact representation describing properties such as geometry, dimensions, orientation, spatial dispersion and reflectivity.
Instead of processing the original points with a large neural network, a lightweight multilayer perceptron (MLP) classified these candidate objects as background, antenna, cable, electric pole or wind turbine. Candidate obstacles could finally be represented using oriented 3D bounding boxes.
This geometry-first, cluster-then-classify design deliberately placed much of the representation work in explicit geometric processing rather than in the neural network itself.
Why this approach?
The methodological review surrounding the project considered both classical geometric techniques and learned point-cloud representations, including the PointNet family, graph-based approaches and voxel-based methods.
More sophisticated architectures can learn rich representations directly from point sets. For a one-week prototype operating on extremely large scenes, however, an explicit geometric pipeline offered useful properties: intermediate representations could be inspected, individual components could be tested independently, and the learned classifier remained small.
The trade-off was greater sensitivity to the representation of the point cloud itself — particularly sampling density, neighbourhood scale and clustering parameters.
What the experiments showed
The retained experiments primarily document the behaviour of the geometric pipeline on reduced-density samples rather than the final performance of the detector.
The sampling experiments exposed a first failure mode: rare obstacle classes could disappear entirely after aggressive point reduction. In one 57,500-point exploratory sample, only 18 cable points remained and no wind-turbine points were preserved.
Ground-plane experiments suggested another opportunity for reduction. Using RANSAC with a 0.2 m threshold classified approximately 65% of the exploratory sample as ground, although this filtering step remained experimental rather than part of the final training and inference path.
DBSCAN experiments also showed substantial sensitivity to spatial parameters. In the selected exploratory configuration, the algorithm produced approximately 116 clusters, while around 16% of the points remained classified as noise.
Together, these experiments demonstrated that meaningful geometric structures and candidate bounding boxes could be extracted from reduced LiDAR samples. They also showed that preprocessing decisions directly affected what remained available for downstream detection.
What we learned
The central lesson was that computational frugality and information preservation cannot be optimized independently.
Processing fewer points reduces computational requirements, but sparse and geometrically thin obstacles are precisely the structures most vulnerable to information loss. A faster representation can therefore become a poorer representation for detection.
The same dependency extends through the pipeline. Changing point density alters the physical scale represented by fixed-size neighbourhoods and affects density-based clustering.
Because clustering occurs before classification, these errors propagate through the architecture.
The classifier cannot recover an obstacle already removed by sampling, fragmented into several clusters or merged with surrounding geometry.
The project therefore shifted the problem from simply asking:
How do we classify LiDAR obstacles?
towards a more fundamental question:
How much can a 3D scene be reduced while preserving the geometry required to detect rare structures?
This question connects directly to the frugality objective of the original challenge.
Where we would go next
A second iteration would treat representation and sampling as first-class components of the detection problem.
More robust sampling strategies could be evaluated against the original baseline, together with neighbourhood representations that remain meaningful across changing point densities. Ground filtering could be incorporated consistently into training and inference, while instance extraction could be made less dependent on fixed clustering parameters.
The geometry-first pipeline would also provide a useful baseline against learned 3D representations. PointNet-family, graph-based and voxel-based approaches could then be evaluated under the same scene splits and computational budget.
The resulting question would not simply be whether a larger model performs better, but:
How much representation learning is necessary to outperform an explicit geometric baseline?
Techniques & technologies
Techniques
- Point-cloud sampling
- K-nearest neighbours
- Local PCA
- Geometric feature engineering
- DBSCAN
- RANSAC
- Multilayer perceptron
- Oriented bounding boxes
Technologies
- Python
- HDF5
- Open3D
- scikit-learn
- PyTorch
- Pandas
- Parquet
- Docker
References
The project was informed by a broader review of geometric and learning-based approaches to 3D point-cloud processing.

Wei Gao & Ge Li — Deep Learning for 3D Point Clouds
Point-cloud representations, sampling, PointNet-family architectures, point-voxel methods, Transformers, segmentation and 3D object detection.