Detecting trails in LiDAR point cloud data
Angela M. Kim and Richard C. Olsen
Naval Postgraduate School, Remote Sensing Center, 1 University Circle, Monterey, CA, USA
The goal of this work is to determine methods for detecting trails using statistics of LiDAR point cloud data,
while avoiding reliance on a Digital Elevation Model (DEM). Creation of a DEM is a subjective process that
requires assumptions be made about the density of the data points, the curvature of the ground, and other factors
which can lead to very diﬀerent results in the ﬁnal DEM product, with no single “correct” result. Exploitation of
point cloud data also lends itself well to automation. A LiDAR point cloud based trail detection scheme has been
designed in which statistical measures of local neighborhoods of LiDAR points are calculated, image processing
techniques employed to mask non-trail areas, and a constrained region growing scheme used to determine a ﬁnal
trails map. Results of the LiDAR point cloud based trail detection scheme are presented and compared to a
DEM-based trail detection scheme. Large trails are detected fairly reliably with some missing gaps, while smaller
trails are detected less reliably. Overall results of the LiDAR point cloud based methods are comparable to the
DEM-based results, with fewer false alarms.
Keywords: LiDAR, trails, point cloud, statistics
In this work, we attempt to develop methods for extracting trails based upon the spatial statistics of the LiDAR
point cloud data. A common ﬁrst step when dealing with LiDAR data is to create a Digital Elevation Model
(DEM), which gives an estimation of the bare earth surface in the absence of vegetation and man-made structures.
Unfortunately, creation of the DEM can be a subjective process, relying on the user to choose parameters which
are often ill-deﬁned and which depend on a priori knowledge of the data. To make matters worse, algorithms
for creating DEMs are typically proprietary, and so very little information is available about how the data is
being processed. We have attempted to make the DEM-processing step unnecessary by working directly with the
point cloud data. We hypothesize that statistics of local neighborhoods of points can be analyzed and classiﬁed
to extract trail features. Similar procedures using statistical properties of the point cloud have been used to
extract buildings from LiDAR point cloud data, as presented by Kim et. al1and Zhou et. al.2Trails present a
much more challenging problem - both in physically describing what a trail is, and in separating the trails from
a background which is likely very similar to the trail itself.
The following characteristics describing trails have been found to be useful in extracting trails from the
LiDAR point cloud data:
1. Ground is smooth
2. Area is clear of underbrush (vegetation <20 cm
3. Area is clear of obstacles up to a height of ∼2 m
4. Trail components are “long and skinny”
5. Trail components are connected
The ﬁrst three of these features (1-3) can be measured directly using spatial statistics of the LiDAR point
cloud data. The last two features (4 and 5) depend upon post-processing of derived raster products using
standard image processing techniques. The methods used for processing the point cloud data are discussed in
Further author information: (Send correspondence to A.M.K.)
A.M.K.: E-mail: firstname.lastname@example.org, Telephone: 1 401 647 3536
R.C.O.: E-mail: email@example.com, Telephone: 1 831 656 2019
Laser Radar Technology and Applications XVII, edited by Monte D. Turner, Gary W. Kamerman,
Proc. of SPIE Vol. 8379, 837906 · © 2012 SPIE · CCC code: 0277-786X/12/$18 · doi: 10.1117/12.918631
Proc. of SPIE Vol. 8379 837906-1
To qualify the success of the LiDAR point cloud processing methods, a comparison is made to results using
an optimized DEM-based extraction process as discussed in Section 5. Although fairly good results are possible
using the DEM in this case, it should be noted that these results required signiﬁcant ﬁnessing of parameters and
manual interaction. The point cloud processing is much more suited towards automation. The comparison of
results from the DEM and LiDAR point cloud processing methods is given in Section 6.
2. PREVIOUS WORK
Several theses at the Naval Postgraduate School Remote Sensing Center (Espinoza and Owens, Karatolios and
Krougios, Muha, and Harmon) and a 2010 paper by White et al. have demonstrated the feasibility of using
LiDAR data for trail detection purposes.3–7 The work presented here builds on these eﬀorts, with an emphasis
placed on dealing with the LiDAR point cloud data rather than DEM-based processes.
An approach similar to the work presented here which makes use of features derived from the LiDAR point
cloud data is given by David et al., where the authors develop a semi-automated method for detecting pathways
in forested areas using features including a normalized Digital Surface Model (nDSM) for height above ground
measurements, a measure of “altimetric variance”, and a LiDAR intensity image.8The method works well when
the trail is not occluded by canopy, and when trail features are radiometrically diﬀerent from the background
vegetation. Unfortunately, in many forested environments, the trail is hidden by the canopy, and the intensity
of the LiDAR returns are not reliably diﬀerent from the ground returns of non-trail areas.
A method presented by Lee et al. speciﬁcally deals with detecting trails which are occluded by dense canopies,
and also makes use of statistical measures of the LiDAR point cloud including the standard deviation of heights,
and the presence of gaps in the space immediately above a trail.9In contrast to our methods, however, the
point cloud-derived features are used to ﬁnd seed regions for a visibility-based trail detection scheme. Visibility
vectors are assumed to represent possible trail segments; the choice of the actual trail path is chosen as the
longest connected set of trail segments. The method depends upon estimating tree trunk locations to ﬁlter the
open spaces due to trails from the open spaces due to missing LiDAR data. In our work, the features derived
from the LiDAR point cloud are the primary input to the trail detection scheme.
3. THE STUDY AREA AND LIDAR DATASET
The study area is located in the Santa Cruz Mountains of California’s central coast at the Swanton Paciﬁc Ranch,
an educational and research facility owned by the Cal Poly Corporation and managed by the Cal Poly State
University’s College of Agriculture, Food and Environmental Sciences.7LiDAR data were collected in March
2010 by Airborne 1 Corporation, El Segundo, CA, using an Optech ALTM 3100 sensor. The average point
density for the data subset used in this work is approximately 2.5 pts/m2.
A “truth” map of trails was hand-digitized based on a visual inspection of the DEM and LiDAR point cloud
data products. The hand-digitized trails are overlaid on a Google Earth image in Fig. 1. There are trails which
are visible in large open areas in the Google Earth image, but which are not apparent in the DEM or LiDAR
point cloud data products - these trail areas are therefore not included in the “truth” map. The LiDAR point
cloud data, colored by elevation, is also displayed in Fig. 1, and shows how the trails in the study area are
mostly occluded by canopy. The riverbed or canyon running through the study set adds an additional layer of
complexity, as DEM-based processes for trail extraction tend to confuse riverbeds with trails.3
Proc. of SPIE Vol. 8379 837906-2
Figure 1. (L) Trail features overlaid on a true-color image of the study area from Google Earth ( c
2012 Google). Trail
features were extracted based on a visual analysis of the DEM and LiDAR point cloud data products. (R) The LiDAR
point cloud colored by elevation.
4. POINT CLOUD PROCESSING
The overall goal of this work is to focus on analyzing the LiDAR point cloud for features indicating trails, while
minimizing or eliminating any dependence on the DEM raster data product. All of the processing of the point
cloud data is accomplished by analyzing local neighborhoods of LiDAR points. Because trail features occur at
speciﬁc heights, the point cloud is subset into height strata, and point cloud statistics based measures are used
to detect trail features.
4.1 Local Neighborhoods
The extent of the local neighborhood is based on a user-deﬁned range value that is intuitively deﬁned as the
approximate scale of the features being sought. A typical trail is assumed to be about 1 m wide, so a range value
of 1 m was used in this case. A restriction on this value in general is the density of the LiDAR point cloud data.
The range value must be large enough to so that most local neighborhoods include multiple points in order to
create meaningful statistics.
To deﬁne the local neighborhoods, a regular grid of query points is generated according to the user-deﬁned
range value. Neighborhoods around each query point are then deﬁned to completely cover the entire spatial
(x, y) extent of the point cloud space (see Fig. 2). For each query point neighborhood, statistics of the LiDAR
point cloud are calculated, including: the distance from the query point to each of the LiDAR points in the
neighborhood, the number of LiDAR points in the neighborhood, and the vertical distribution of LiDAR points
in the neighborhood. These calculations make use of the fast range searching algorithm available in the open
source tool “OpenTSTool” developed by Merkwirth et. al.10
Proc. of SPIE Vol. 8379 837906-3
J0.1 LIDAR Point
1.2 1.4 1.6 1.8 2
Figure 2. An example illustrating the deﬁnition of a local neighborhood. A grid of query points is overlaid on the (x, y)
extent of the LiDAR point cloud space. The density of the grid is based on a user deﬁned threshold, which should be on
the order of the scale of the features to be detected. Neighborhoods around each query point are generated to completely
cover the entire point cloud space.
4.2 Height Above Ground Level (AGL) Slices
The relevant portion of the LiDAR point cloud for detecting trails based on the characteristics deﬁned in Section 1
can be divided into distinct height strata from the ground up to approximately 2 m above ground level (AGL).
The smoothness of the ground and presence of underbrush is measured using the ground points themselves and
points within 20 cm of the ground. The region from 10 cm to 2 m AGL should be clear of obstacles on a deﬁned
trail to ensure and open space for travel. The canopy above a trail can be open or closed, so the LiDAR point
cloud above 2 m AGL cannot be reliably used to indicate the presence of trails.
Typically, a LiDAR point cloud is delivered from the vendor having ground points classiﬁed; if this is not
the case, open-source methods exist for classifying the points. In this work, we make use of the MCC-LiDAR
tool developed by Evans and Hudak to classify ground points in the LiDAR data.11 To extract subsets based on
height AGL, an estimate of the ground elevation based on the ground classiﬁed points is used to transform the
point cloud from elevations to heights AGL. Because the heights AGL measurement is based on a rough estimate
of ground elevation, the values are only approximate, but this is suﬃcient for this work. The height values are
only used in segmenting the point cloud data - all processing is completed using the original elevation data.
4.3 Statistics of Local Neighborhoods
A variety of statistics are tested to determine their usefulness in detecting trails. Statistics are calculated for
each query point neighborhood, with the results of each calculation being stored at the (x, y) location of the
query point, thereby creating a regularly gridded image product.
Fig. 3 shows results of each of the statistics calculated for the 0.0-0.2 m AGL height slice, including the point
density (number of points in a local neighborhood), mean and standard deviation of intensity values, mean and
standard deviation of elevations, and the mean horizontal distance between LiDAR points. Note: Although the
point cloud is segmented based on height AGL, statistics were calculated using point elevation values. These
statistics were also calculated for the 0.1-2.0 m AGL subset, but due to a relatively low point density in that
height slice, the results were mostly unilluminating. The single useful measure for the 0.1-2.0m AGL subset is
the “point density”, which can be used to conﬁrm an open path of travel in the space directly above the trail.
A visual inspection of the statistics measures shows that the “Standard Deviation of Elevations” measurement
is the statistic most likely to be useful for trail extraction (Fig. 3e). The statistic looks remarkably similar to
the magnitude of the gradient of the DEM (Fig. 9); in both cases, trail features appear darker than the local
background. This is an indication of very little ground cover and a smooth ground surface.
Proc. of SPIE Vol. 8379 837906-4
Figure 3. Local neighborhood statistics for 0.0-0.2m AGL height slice: a) Point Density, b) Mean Intensity, c) Standard De-
viation of Intensity, d) Mean Elevation, e) Standard Deviation of Elevations, f) Mean Horizontal Distance Between Points
4.4 Image Processing to Extract Trails Based on Point-cloud Statistics
After creating features based on statistics of the LiDAR point cloud, we apply an image processing scheme to
extract trails. A step-wise process applied to the “Standard Deviation of Elevations” statistic image iteratively
rules out non-trail points, resulting in a product which contains only “deﬁnite” trail detections. The step-wise
exclusion process incorporates a local and global thresholding scheme, an erosion ﬁlter to remove isolated noise,
and a shape criterium to exclude any features which don’t have the appropriate “long and skinny” trail shape.
The product of the exclusion process will have a very low false alarm rate, but a high rate of missed detections.
A region growing scheme is used to reinsert regions which are likely trails. The decision to add points which were
previously excluded depends upon two criteria: 1) the points being considered must be “connected” to a deﬁnite
trail feature, and 2) the points being considered must have the appropriate “long and skinny” trail shape.
4.4.1 Local and Global Thresholding
Local and global thresholding methods are used as a ﬁrst step to extract trail features. In both the local and global
cases, the threshold is deﬁned so that the darkest 25% of pixels are captured as possible trail regions. The local
thresholding method incorporates pixels within a 10 m square local window, whereas the global threshold method
uses all of the pixels in the image. The results from the local and global detection schemes are complementary
to each other. In the case of the local threshold, some small trails are detected which are missed when using a
global threshold, but there are also a large number of single/few-pixel false detections. In the case of the global
threshold, larger trails are captured faithfully but some smaller trails are missed, and there are large regions
which are obviously false detections. Combining results from the local and global detection scheme (intersection
of results) provides the optimal result, excluding most of the false alarms while retaining most of the valid trail
Proc. of SPIE Vol. 8379 837906-5
points (Fig. 4). In the threshold result, some smaller trails are lost completely, but in many cases, a small portion
of the trail remains, and when the region growing process is applied, these smaller trails can be detected.
Figure 4. (Left) Local threshold result. Points which are in the darkest 25% of pixels within the local 10x10 m region
are classiﬁed as trails. (Center) Global threshold result. Points which are in the darkest 25% of pixels in the image are
classiﬁed as trails. (Right) Combined local and global threshold result (Local threshold ∩Global threshold).
4.4.2 Open Spaces Masking
To ensure the space above the trail on the ground is clear of obstacles, the portion of the data containing points
between 0.1-2.0 m AGL is examined for open spaces. As before, a regular (x, y) grid of points is overlaid on the
ﬂattened point cloud (z-values are ignored). If a grid query point has no LiDAR points in the local neighborhood,
it is marked as an open space. The result of this measurement is shown on the left in Fig. 5. By itself, this
product is not useful for detecting trails because there are many open spaces which do not correspond to trails.
In combination with the other products, however, it is useful for ensuring the trail is free from obstacles from
0.1-2.0m AGL. The open spaces mask is combined with the previous results using intersection (Fig. 5).
Figure 5. (Left) Open spaces detected in the LiDAR point cloud from 0.1-2.0m AGL. (Right) Result of incorporating the
open spaces mask in the trail detection scheme (Local threshold ∩Global threshold ∩Open spaces mask).
4.4.3 Erosion Filtering
The next step is to remove the single/few-pixel points which represent noise in the detection result so far. A
morphological erosion ﬁlter removes foreground pixels smaller than the erosion kernel, and erodes the edges of
larger objects. The kernel is chosen so that only the smallest groups of points are removed, and erosion of edges
is minimized (Fig. 6). We use a 3x3 pixel cross-shaped erosion kernel, having physical dimensions of 1x1 m.
Proc. of SPIE Vol. 8379 837906-6
Figure 6. Trail detection result after applying the morphological erosion kernel, and an illustration of the erosion kernel.
4.4.4 Shape-based Filtering
The ﬁnal step used to exclude regions relies on a shape-based criterium. A bounding ellipse is drawn around
each of the connected components in the image, and those which are too small in size are discarded. Excluding
the smallest components reduces the noise in the result. A threshold based on the “ellipticity” of the bounding
ellipse is deﬁned to exclude objects which do not have the appropriate “long and skinny” trail shape.
Figure 7. (Left) Ellipses drawn around each component, with those ellipses which satisfy user-deﬁned “ellipticity” threshold
shown in green. (Right) “Deﬁnite Trails” remaining after completion of the point-cloud based processing.
4.4.5 Region Growing
Each of the steps described in Sections 3.4.1 through 3.4.5 excludes points that do not have the highest probability
of being trails. By design, the product created by this process has a large number of “missed detections”. Some
of the excluded points should in fact be included in the trails classiﬁcation product. By stepping through each
of the products previously created, this time in reverse, components can be iteratively reinserted assuming they
satisfy two criteria:
1. Candidate components must be connected to a
2. Candidate components must have a “long and
The region growing process is repeated until no more regions can be added. Some of the smaller trail regions
are recovered, but sometimes regions are overgrown, resulting in added false alarms (Fig. 8). The user may decide
to halt the region growing process where appropriate. In this case, the best result seems to be at step 3, and this
result is chosen as the “ﬁnal trail map” and compared to results using the DEM-based trail detection process.
Proc. of SPIE Vol. 8379 837906-7
Figure 8. Automatic region growing process applied to the LiDAR point-cloud processing trail extraction result. Step
3 (top right) is chosen as the most appropriate “ﬁnal trail map”. Steps 4 and 5 contain false alarms due to overgrown
5. DEM PROCESSING
The creation of a DEM is a subjective process, with diﬀerent processing routines leading to diﬀerent DEMs.
It is for this reason that we have attempted to deﬁne methods which depend solely on the LiDAR point cloud
data. Regardless of the diﬃculties of creating a DEM however, the beneﬁt of the information is undeniable, and
methods which are robust against small diﬀerences in DEMs would be useful. The DEM-based process deﬁned
here works well in this case, but further work is needed to determine the robustness of the routine against small
diﬀerences in DEMs.
A gaussian smoothing ﬁlter is applied to eliminate small peaks or sinks in the DEM. This smoothing process
does not degrade the trail features unnecessarily. After smoothing, the gradient of the image, ∇f(x, y ), is
∇f(x, y) = ∂f
To create a single image product, the magnitude of the gradient is taken as:
The magnitude of the gradient of the DEM is shown in Fig. 9. Flat regions have a value close to zero. Note
how this image is similar to the standard deviation of elevations image created by calculating statistics of local
neighborhoods of LiDAR points (Fig. 3e). In both cases, trails appear dark compared to the local background,
and this characteristic can be exploited to extract trail regions algorithmically.
Proc. of SPIE Vol. 8379 837906-8
Figure 9. Magnitude of the gradient of the DEM.
The DEM-based trail extraction process mirrors the point-cloud based process, with the magnitude of the
gradient of the DEM image being used as the input image. Results from a local and global threshold are
combined, an erosion ﬁlter is used to eliminate isolated noise, and shape based ﬁlters are used to extract “long
and skinny” trail-shaped objects. The steps of this process are showing in Fig. 10, with the ﬁnal trail map
displayed in the bottom right corner. Region growing was not used in the DEM-based process.
Figure 10. DEM-based trail detection. (Top Left) Local threshold result. Points in the darkest 25% of pixels within a local
10x10 m region are classiﬁed as trails. (Top Center) Global threshold result. Points in the darkest 25% of pixels in the im-
age are classiﬁed as trails. (Top Right) Combined local and global threshold (Local threshold ∩Global threshold). (Bottom
Left) Result after applying erosion ﬁlter. (Bottom Right) Result of shape based ﬁltering - DEM-based “ﬁnal trail map”.
Proc. of SPIE Vol. 8379 837906-9
6. COMPARISON OF RESULTS
The magnitude of the gradient of the DEM and the standard deviation of elevations images are used to hand-
digitize a map of expected trail locations. While this is not ground truth, it is a best estimate of what a human
analyst would extract from the image as trails (Fig. 11, Center). Results from each of the trail-detection processes
are shown in Fig. 11, with correctly identiﬁed regions shown in grey, commission errors in black, and omission
errors in white. The LiDAR point cloud-based result correctly identiﬁes the majority of the larger trails with
some gaps. The DEM-based result also correctly identiﬁes the larger trails, but with a larger number of false
alarms. Comparison with the Google Earth imagery indicates that these false alarms in the DEM-based result
are due to a natural depression such as a riverbed or canyon in the scene. Detection of the smaller trails is more
challenging. In both cases, portions of the smaller trails are detected but with large missing gaps. Note: the
presence of commission/omission errors along the edges of trails may not be true errors, but rather inaccuracies
in the hand-digitized “truth” map.
Figure 11. Comparison of trail detection maps created using the LiDAR point cloud data (left) and the DEM-based
detection schemes (right), with the hand-drawn annotation of expected trail detections (center). Commission errors are
shown in black, omission errors are shown in white, and correctly classiﬁed areas are shown in grey.
7. SUMMARY AND CONCLUSIONS
A method is shown for extracting trails from LiDAR point cloud data based on statistics of local neighborhoods
of points. Several statistics are calculated, but the standard deviation of elevations is found to be most useful
statistic for detecting trails. Dividing the point cloud based on heights AGL allows exploitation of multiple trail
characteristics. An iterative scheme to exclude all but the most likely trail regions, followed by a region growing
process, creates a fairly reliable trail map. The main beneﬁt of the method is that it relies solely on point cloud
data and intuitively deﬁned threshold values. The process does not require creation of a DEM. The LiDAR
point cloud based trail detection process produces a result that is comparable to results from a DEM-based trail
extraction, but with fewer false trail detections.
8. FUTURE WORK
We have attempted to demonstrate the feasibility of working exclusively with LiDAR point cloud data, while
intentionally excluding information present in the DEM product. This was motivated by the assumption that
creation of a DEM is a subjective process, and so it should not be used as the basis of the trail detection scheme.
It is clear, at least in the case presented here, that combining information from statistics of the LiDAR point
cloud with the DEM could be useful for producing a more reliable trail detection map. Further work is needed
to determine the reliability of DEM-based processing for trail extraction and to understand the impact of small
diﬀerences in DEMs due to diﬀerent DEM creation processes.
Proc. of SPIE Vol. 8379 837906-10
1. A. M. Kim, F. A. Kruse, R. C. Olsen, and C. C. Clasen, “Extraction of Rooftops from LiDAR and Mul-
tispectral Imagery,” in Proceedings Optical Remote Sensing of the Environment (ORS), 24-28 June 2012,
(Monterey, CA, USA), In press.
2. Q. Y. Zhou and U. Neumann, “Fast and Extensible Building Modeling from Airborne LiDAR Data,” in Pro-
ceedings of the 16th ACM SIGSPATIAL International Conference on Advances in Geographic Information
Systems, University of Southern California, Jan. 2008.
3. F. Espinoza and R. E. Owens, “Identifying Roads and Trails Hidder Under Canopy Using LiDAR,” Master’s
thesis, Naval Postgraduate School, Monterey, CA, 2007.
4. A. Karatolios and P. Krougios, “Extracting Hidden Trails and Roads Under Canopy Using LiDAR,” Master’s
thesis, Naval Postgraduate School, Monterey, CA, 2008.
5. S. L. Muha, “Evaluation of LiDAR for Automating Recognition of Roads and Trails Beneath Forest Canopy,”
Master’s thesis, Naval Postgraduate School, Monterey, CA, 2011.
6. C. F. Harmon, “Automating Identiﬁcation of Roads and Trails Under Canopy Using LiDAR,” Master’s
thesis, Naval Postgraduate School, Monterey, CA, 2011.
7. R. A. White, B. C. Dietterick, T. Mastin, and R. Strohman, “Forest Roads Mapped Using LiDAR in Steep
Forested Terrain,” Remote Sensing 2, pp. 1120–1141, Apr. 2010.
8. N. David, C. Mallet, T. Pons, A. Chauve, and F. Bretar, “Pathway detection and geometrical description
from ALS data in forested moutaneous area,” Laser Scanning 2009, IAPRS XXXVIII, pp. 242–247, Sept.
9. H. Lee, K. C. Slatton, and H. Jhee, “Detecting Forest Trails Occluded by Dense Canopies Using ALSM
Data,” Proceedings of IGARSS ’05 5, pp. 3587–3590, Oct. 2005.
10. C. Merkwirth, U. Parlitz, I. Wedekind, D. Engster, and W. Lauterborn, OpenTStool User Manual. Drittes
Physikalisches Institut, Universitat Gottingen, 1.2 ed., Feb. 2009.
11. J. S. Evans and A. T. Hudak, “A Multiscale Curvature Algorithm for Classifying Discrete Return LiDAR in
Forested Environments,” IEEE Transactions on Geoscience and Remote Sensing 45, pp. 1029–1038, Apr.
Proc. of SPIE Vol. 8379 837906-11