1v.lidar.edgedetection(1)      Grass User's Manual     v.lidar.edgedetection(1)
2
3
4

NAME

6       v.lidar.edgedetection   -  Detects the object’s edges from a LIDAR data
7       set.
8

KEYWORDS

10       vector, LIDAR, edges
11

SYNOPSIS

13       v.lidar.edgedetection
14       v.lidar.edgedetection --help
15       v.lidar.edgedetection  [-e]  input=name  output=name    [ew_step=float]
16       [ns_step=float]      [lambda_g=float]      [tgh=float]      [tgl=float]
17       [theta_g=float]   [lambda_r=float]   [--overwrite]   [--help]   [--ver‐
18       bose]  [--quiet]  [--ui]
19
20   Flags:
21       -e
22           Estimate point density and distance and quit
23           Estimate point density and distance in map units for the input vec‐
24           tor points within the current region extents and quit
25
26       --overwrite
27           Allow output files to overwrite existing files
28
29       --help
30           Print usage summary
31
32       --verbose
33           Verbose module output
34
35       --quiet
36           Quiet module output
37
38       --ui
39           Force launching GUI dialog
40
41   Parameters:
42       input=name [required]
43           Name of input vector map
44           Or data source for direct OGR access
45
46       output=name [required]
47           Name for output vector map
48
49       ew_step=float
50           Length of each spline step in the east-west direction
51           Default: 4 * east-west resolution
52
53       ns_step=float
54           Length of each spline step in the north-south direction
55           Default: 4 * north-south resolution
56
57       lambda_g=float
58           Regularization weight in gradient evaluation
59           Default: 0.01
60
61       tgh=float
62           High gradient threshold for edge classification
63           Default: 6
64
65       tgl=float
66           Low gradient threshold for edge classification
67           Default: 3
68
69       theta_g=float
70           Angle range for same direction detection
71           Default: 0.26
72
73       lambda_r=float
74           Regularization weight in residual evaluation
75           Default: 2
76

DESCRIPTION

78       v.lidar.edgedetection is the first of three steps to filter LiDAR data.
79       The  filter  aims to recognize and extract attached and detached object
80       (such as buildings, bridges, power lines,  trees, etc.)   in  order  to
81       create a Digital Terrain Model.
82
83       In particular, this module detects the edge of each single feature over
84       the terrain surface of a LIDAR point surface. First of all, a  bilinear
85       spline  interpolation  with a Tychonov regularization parameter is per‐
86       formed. The gradient is minimized and the low  Tychonov  regularization
87       parameter brings the interpolated functions as close as possible to the
88       observations. Bicubic spline interpolation with Tychonov regularization
89       is then performed. However, now the curvature is minimized and the reg‐
90       ularization parameter is set to a high value. For each point, an inter‐
91       polated  value is computed from the bicubic surface and an interpolated
92       gradient is computed from the bilinear surface. At each point the  gra‐
93       dient  magnitude  and  the direction of the edge vector are calculated,
94       and the residual between interpolated and observed values is  computed.
95       Two  thresholds are defined on the gradient, a high threshold tgh and a
96       low one tgl. For each point, if the gradient magnitude is greater  than
97       or  equal  to  the  high  threshold and its residual is greater than or
98       equal to zero, it is labeled as an EDGE point.  Similarly  a  point  is
99       labeled  as  being  an  EDGE point if the gradient magnitude is greater
100       than or equal to the low threshold, its residual  is  greater  than  or
101       equal  to  zero, and the gradient to two of eight neighboring points is
102       greater than the high threshold. Other points are  classified  as  TER‐
103       RAIN.
104
105       The length (in mapping units) of each spline step is defined by ew_step
106       for the east-west direction and ns_step for the north-south direction.
107
108       The output will be a vector map in which points has been classified  as
109       TERRAIN,  EDGE  or  UNKNOWN.  This  vector  map  should be the input of
110       v.lidar.growing module.
111

NOTES

113       In this module, an external table will be created which will be  useful
114       for  the  next module of the procedure of LiDAR data filtering. In this
115       table the interpolated height values of each point  will  be  recorded.
116       Also points in the output vector map will be classified as:
117       TERRAIN (cat = 1, layer = 1)
118       EDGE (cat = 2, layer = 1)
119       UNKNOWN (cat = 3, layer = 1)
120       The   final  result  of  the  whole  procedure  (v.lidar.edgedetection,
121       v.lidar.growing, v.lidar.correction) will be a point classification  in
122       four categories:
123       TERRAIN SINGLE PULSE (cat = 1, layer = 2)
124       TERRAIN DOUBLE PULSE (cat = 2, layer = 2)
125       OBJECT SINGLE PULSE (cat = 3, layer = 2)
126       OBJECT DOUBLE PULSE (cat = 4, layer = 2)
127

EXAMPLES

129   Basic edge detection
130       v.lidar.edgedetection input=vector_last output=edge ew_step=8 ns_step=8 lambda_g=0.5
131
132   Complete workflow
133       # region settings (using an existing raster)
134       g.region raster=elev_lid792_1m
135       # import
136       v.in.lidar -tr input=points.las output=points
137       v.in.lidar -tr input=points.las output=points_first return_filter=first
138       # detection
139       v.lidar.edgedetection input=points output=edge ew_step=8 ns_step=8 lambda_g=0.5
140       v.lidar.growing input=edge output=growing first=points_first
141       v.lidar.correction input=growing output=correction terrain=only_terrain
142       # visualization of selected points
143       # zoom somewhere first, to make it faster
144       d.rast map=orthophoto
145       d.vect map=correction layer=2 cats=2,3,4 color=red size=0.25
146       d.vect map=correction layer=2 cats=1 color=0:128:0 size=0.5
147       # interpolation (this may take some time)
148       v.surf.rst input=only_terrain elevation=terrain
149       # get object points for 3D visualization
150       v.extract input=correction layer=2 cats=2,3,4 output=objects
151
152       Figure  1:  Example output from complete workflow (red: objects, green:
153       terrain)
154
155        Figure 2: 3D visualization of filtered object points (red) and terrain
156       created from terrain points (gray)
157

REFERENCES

159           ·   Antolin,  R. et al., 2006. Digital terrain models determination
160               by LiDAR technology: Po  basin  experimentation.  Bolletino  di
161               Geodesia e Scienze Affini, anno LXV, n. 2, pp. 69-89.
162
163           ·   Brovelli M. A., Cannata M., Longoni U.M., 2004. LIDAR Data Fil‐
164               tering and DTM Interpolation Within GRASS, Transactions in GIS,
165               April  2004,   vol.  8, iss. 2, pp. 155-174(20), Blackwell Pub‐
166               lishing Ltd.
167
168           ·   Brovelli M. A., Cannata M., 2004. Digital Terrain model  recon‐
169               struction in urban areas from airborne laser scanning data: the
170               method and an  example for Pavia  (Northern  Italy).  Computers
171               and Geosciences 30 (2004) pp.325-331
172
173           ·   Brovelli M. A. and Longoni U.M., 2003. Software per il filtrag‐
174               gio di dati LIDAR,  Rivista  dell’Agenzia  del  Territorio,  n.
175               3-2003, pp. 11-22 (ISSN 1593-2192).
176
177           ·   Brovelli M. A., Cannata M. and Longoni U.M., 2002. DTM LIDAR in
178               area urbana, Bollettino SIFET N.2, pp. 7-26.
179
180           ·   Performances of the filter can be seen in the  ISPRS  WG  III/3
181               Comparison  of Filters report by Sithole, G. and Vosselman, G.,
182               2003.
183

SEE ALSO

185         v.lidar.growing,  v.lidar.correction,   v.surf.bspline,   v.surf.rst,
186       v.in.lidar, v.in.ascii
187

AUTHORS

189       Original version of program in GRASS 5.4:
190       Maria  Antonia Brovelli, Massimiliano Cannata, Ulisse Longoni and Mirko
191       Reguzzoni
192       Update for GRASS 6.X:
193       Roberto Antolin and Gonzalo Moreno
194
195       Last changed: $Date: 2017-07-24 23:59:39 +0200 (Mon, 24 Jul 2017) $
196

SOURCE CODE

198       Available at: v.lidar.edgedetection source code (history)
199
200       Main index | Vector index | Topics index | Keywords index  |  Graphical
201       index | Full index
202
203       © 2003-2019 GRASS Development Team, GRASS GIS 7.4.4 Reference Manual
204
205
206
207GRASS 7.4.4                                           v.lidar.edgedetection(1)
Impressum