Iterative LiDAR noise filtering
In case “Keep all LiDAR points” was selected during data ingest, LiDAR points tagged as noise were assigned to the respective custom noise classes. HxMap uses the following class numbers to store the noise points:
Class 101 - Amplitude Filter Noise
Class 102 - KDE Filter Noise
Class 103 - Channel Filter Noise
Class 104 - Gaussian Filter Noise
Class 105 - Non-Gaussian Filter Noise
Class 106 - Elevation Filter Noise
Class 108 - Strip End
The channel filter algorithm used to assign points to class 103 is a hardware related filter that is executed during the ingest step. The “Keep All Points” option of the Ingest GUI will preserve the points and tag them with the noise class, but it is not possible to re-run this filter as part of the iterative LiDAR filter workflow.
By loading LiDAR data into the Lidar viewer, it is possible to toggle these point classes in the viewer to evaluate if a filter was too aggressive or not aggressive enough. HxMap allows to re-run the noise filtering through the LiDAR Filter Tool available in the QC Perspective Tools menu:
Start the LiDAR Filter Tool through Tools > Run LiDAR Filters…
Select the Noise Filter that will be executed on the selected point cloud
Select all the Point Classes that should be used as input
Continue through the next wizard pages to configure each of the selected Noise Filter
Run the noise filter either locally or on the processing cluster
Iterative Workflow is only supported for Hyperion LiDAR units and will only run on regular ingested data. Running Filters after a calibration ingest is not possible.
Lidar attributes for MPiA0 range and Amplitude values are removed in consecutive processing steps. Make sure that noise points are removed from your point cloud data before continuing further.
Amplitude Filter
Min Threshold: the lower limit of the amplitude to keep the points
Max Threshold: the upper limit of the amplitude to keep the points
|
The amplitude filter will evaluate each return’s pulse amplitude and discard returns where the amplitude lies outside the threshold values.
As such the amplitude filter can be used for two scenarios:
Remove low amplitude noise points: Signals with low amplitude can create unwanted returns. Examples herefor are solar noise or other random noise that normally has a weak signal and low intensity/amplitude. Adjusting the minimum threshold allows to regulate the aggressivness of the filtering to avoid removing valid returns with low amplitude (e.g. powerlines or water points).
Remove high amplitude noise points: Covers the opposite case where noise points are caused by an object closer to the aircraft. In these cases the LiDAR pulse still has a high energy and will create a high amplitude return signal. Examples for this are returns from clouds, near-field noise or reflections from the port glass. The default value of 30’000 DNs is above the systems maximum and filtering of high-intensity points is therefore deactivated. To start using the high amplitude filtering, reduce the threshold to make the filter more aggressive.
By default amplitude filtering is NOT run during ingest for GATELESS flights. In this case ingested point clouds will not have returns assigned to this class if the keep_all_points is activated.
(see parameter “amplitude_filter_on” in HxMap.ini)
KDE Filter
Min Range: the lower limit of the MPiA0Range for noise points |
The KDE filter is a selective filter that evaluates returns that fall inside the window defined by the MPiA0Range and Amplitude thresholds. KDE filter targets any remaining near-field noise returns which are caused by the scattering of the atmospheric aerosol or particles that are close to aircraft, or the sensor optic itself (e.g. external lidar cover glass contamination).
A point density is computed for every return in the point cloud using the spatially nearest neighbors. The density threshold is determined by the points outside of the selective window divided by the threshold ratio value. All the points inside the selective window with density measure less than the density threshold are determined as near field noise return.
Increasing the threshold ratio will result in a lower computed density threshold for the evaluated return; this in return means the point is less likely to be discarded and the filter behavior will become less aggressive.
Range values refer to their MPiA0Range and not the actual measurement range (to the object) as the near-field noise returns range cannot be determined due to MPiA ambiguity. MPiA0Range window is applied to every MPiA zone of the laser shot. Max possible MPiA0Range depends on the PRF settings chosen for aquisition:
MPiA0Range = c / (2*PRF)
A lower PRF setting will therefore result in a larger MPiA0Range window.
A user can expand the MPiA0Range window (i.e. 0m to 6000m) to target all low amplitude returns.
Due to the evaluation by the density of its neighbors, it can happen that some valid points with similar sparse point distribution are wrongly discarded as well. Carefully evaluate the KDE filter result and adjust the Range and Amplitude thresholds if over-filtering is detected.
Gaussian Filter
Number of neighbors: number of neighbors used in the filter for the metrics calculation |
For each return that is evaluated, the Gaussian filter calculates both the Mahalanobis distance and Euclidean distance for the given number of neighbor points.
Compared to the Euclidean distance, the Mahalanobis distance takes into account the spatial distribution of the neighboring points (see example for 2D space below). In 3D space, Euclideon distance would be equal for all axes in the symmetrical spheres, while for the Mahalanobis distance, this gets adjusted to ellipsoidal spheres depending on the spatial distributions calculated.
The Mahalanobis distance (and the threshold) is therefore given in standard deviations instead of a metric value.
The Gaussian filter uses both distances computed which can be used to identify different noise patterns:
Mahalanobis distance: effective to remove points that do not follow a common grouping pattern. An example would be to remove random noise close to a valid target (e.g. ground surface).
Euclideon distance: runs secondary to the Mahalanobis distance and allows discarding points that (metrically) are located far away from the nearest neighbors (outliers and similar).
Smaller values will make the ellipsoidal/spherical extend smaller and a point is therefore more likely to be discarded.
As we consider the spatial distribution for this filter as well, sparse valid returns that are located further away from the next valid return can falsely be discarded.
Non-Gaussian Filter
Number of neighbors: Number of neighbors used in the metrics calculation
|
Non-Gaussian filter is a revised SOR (Statistical Outlier Removal) filter that removes the random points with density measures less than the threshold.
This filter follows in principle the Euclideon distance filter in the Gaussian Filter, but instead of using a metric value a threshold based on standard deviation is used.
Points that are close to their neighbor points are kept, and outliers that are far away from their neighbors are discarded. As a result, this filter is good for eliminating single (unclustered) noise points.
Elevation Filter
Height Threshold: Minimum height difference threshold to define the noise clusters
|
The elevation filter first looks for clusters and investigates how they are connected to each other. To do this, HxMap first divides the data into voxels. Neighboring/connecting voxels are grouped into a cluster.
For each cluster where the number of points included is less than the defined cluster size, a cluster height is computed. If this cluster height is above the height threshold the full cluster gets discarded.
Compared to other filters that target single spare noise points, this filter aims to eliminate clustered noise points floating in the air (e.g. MPiA residual error or small clouds).
A risk of applying this filter is that in big urban cities “floating” rooftops can get filtered away. This is a result of the buildings not having sufficient wall points to connect the wall cluster with the ground cluster and/or rooftops of such tall buildings being above-set height threshold.