Opened 9 years ago

Closed 6 years ago

#1480 closed enhancement (fixed)

v.outlier - distinguish positive and negative outlier filtering from lidar point clouds

Reported by: sbl Owned by: grass-dev@…
Priority: normal Milestone: 7.0.0
Component: Vector Version: unspecified
Keywords: review Cc: sbl
CPU: All Platform: All

Description

In forest areas LIDAR returns usually both: signals from tree-tops (canopy) and from the ground as well. Unfortunately v.outlier (as it is today) filters positive and negative outliers at the same time, because it filters based on the absolute value of deviation from an interpolated surface. In forest areas, this appoarch affects both ground- and canopy-returns (meaning that very often both are being removed).

Usually a local minimum filtering is applied for removing vegetation returns from LIDAR point clouds (see: http://www2.geog.ucl.ac.uk/~plewis/lidarforvegetation/UCL-ALS-Lidar_for_Vegetation_Applications_2010.pdf or http://www.fs.fed.us/rm/pubs_other/rmrs_2007_evans_j001.pdf).

This is why I propose a p- and a n-flag for v.outlier, in order to be able to specify, that only positive or negative outliers are filtered. The attached code did the job for me. The attached two images illustrate my result when applying my modified version of v.outlier to my data rereatedly (similar to http://www.fs.fed.us/rm/pubs_other/rmrs_2007_evans_j001.pdf). On is a shaded relief of the DSM and the other a shaded relief of the DTM of the same region (after removing positive outliers).

Attachments (5)

v.outlier.diff (20.0 KB) - added by sbl 9 years ago.
code (svn diff)
DTM_shaded.jpg (30.4 KB) - added by sbl 9 years ago.
DTM_shaded (positive outliers removed)
DSM_shaded.jpg (47.7 KB) - added by sbl 9 years ago.
DSM_shaded (original
DSM_shaded.2.jpg (47.7 KB) - added by sbl 9 years ago.
DSM_shaded (original LIDAR-data)
v.outlier_G7.diff (19.5 KB) - added by sbl 7 years ago.
Adds a p- and a n-flag to v.outlier for only filtering positive or negative outliers

Download all attachments as: .zip

Change History (10)

Changed 9 years ago by sbl

Attachment: v.outlier.diff added

code (svn diff)

Changed 9 years ago by sbl

Attachment: DTM_shaded.jpg added

DTM_shaded (positive outliers removed)

Changed 9 years ago by sbl

Attachment: DSM_shaded.jpg added

DSM_shaded (original

Changed 9 years ago by sbl

Attachment: DSM_shaded.2.jpg added

DSM_shaded (original LIDAR-data)

comment:1 Changed 9 years ago by sbl

Cc: sbl added
CPU: UnspecifiedAll
Milestone: 6.4.2
Platform: UnspecifiedAll
Version: svn-trunksvn-develbranch6

comment:2 Changed 9 years ago by mmetz

v.outlier is not designed to separate first from last return of LiDAR point clouds. The purpose of v.outlier is to detect true outliers, i.e. erroneous data points. First and last returns are not erroneous data points but valid data points. First and last returns can be separated with the LiDAR filtering toolchain v.lidar.*, r.in.xyz, and in grass 7 v.in.lidar and r.in.lidar.

Markus M

Changed 7 years ago by sbl

Attachment: v.outlier_G7.diff added

Adds a p- and a n-flag to v.outlier for only filtering positive or negative outliers

comment:3 Changed 7 years ago by sbl

Milestone: 6.4.27.0.0
Version: svn-develbranch6unspecified

Recently we had another project where we got insufficient filtered LIDAR data, where especially returns from lower mountainous vegetation were classified as "ground return". Filtering only last return was already done in the classification process (applied by the LIDAR-operator) and therewith insufficient too. The multi-scale curvature classification (mcc) procedure developed by Evans & Hudak 2007 (PDF linked above) however helped filtering out at least some more vegetation returns. I created a GRASS 7 AddOn? (python script) which applies the mcc procedure. It is not uploaded to svn yet and some more testing will be necessary in order to write a useful manual. But I could attach it as a prove of concept if that is of interest. However, it requires that the v.outlier.diff is applied. Therefore I would like to ask if the decision not to change v.outlier (because of the different concept of the module) could be reconsidered? The mcc-algorithm was really useful for us at least...

comment:4 in reply to:  3 Changed 7 years ago by mmetz

Replying to sbl:

Recently we had another project where we got insufficient filtered LIDAR data, where especially returns from lower mountainous vegetation were classified as "ground return". Filtering only last return was already done in the classification process (applied by the LIDAR-operator) and therewith insufficient too. The multi-scale curvature classification (mcc) procedure developed by Evans & Hudak 2007 (PDF linked above) however helped filtering out at least some more vegetation returns. I created a GRASS 7 AddOn? (python script) which applies the mcc procedure. It is not uploaded to svn yet and some more testing will be necessary in order to write a useful manual. But I could attach it as a prove of concept if that is of interest. However, it requires that the v.outlier.diff is applied. Therefore I would like to ask if the decision not to change v.outlier (because of the different concept of the module) could be reconsidered? The mcc-algorithm was really useful for us at least...

I have added a new option to filter out only positive or only negative outliers in trunk r58414. Please note that this is a new option called filter, not two new flags.

comment:5 Changed 6 years ago by sbl

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.