Algorithms and Tools for Point Cloud Based Vegetation Studies - The OPALS Forestry Package Lothar Eysn1 , Gottfried Mandlburger1 , Markus Hollaus1 , Johannes Otepka1 and Norbert Pfeifer1 1
Vienna University of Technology, Department of Geodesy and Geoinformation, Research Group Photogrammetry, Gußhausstraße 27-29, A-1040 Vienna, Austria (Lothar.Eysn, Gottfried.Mandlburger, Markus.Hollaus, Johannes.Otepka,
[email protected])
Highlights: The operationalization of five different applications in forestry within the scientific software package OPALS is presented. The OPALS forestry package enables handling and processing of large point cloud data in a research as well as in a production environment.
Key words: LiDAR; forest delineation; biomass estimation; scientific software, point cloud processing Introduction Recent developments in LiDAR and image matching technology allow precise and fine quantification, qualification and mapping of the resource forest. The increasing availability of 3D data derived from these technologies opens new opportunities for large area applications in the forestry domain. Different tasks as, for example, the delineation of forested areas, the evaluation of forest biomass, the detection of forest change or the extraction of single tree information are already close to an operational status, also for forests composed of a mixture of species.. While the acquisition of 3D data is more or less state of the art, software for processing these data is still developing. Efficient algorithms and software tools are needed to tackle the above mentioned tasks. In many cases, operational software tools and their corresponding algorithms originate from a scientific environment. In this study, the scientific software package, OPALS (Orientation and Processing of Airborne Laser Scanning data) [1] for processing of 3D point cloud data is presented with focus on forestry and vegetation applications. This software is a means of sustainably providing new algorithms to researchers, but is also fit for efficiently handling and processing large data in a production environment. The study concentrates on the operationalization of five different tasks: 1) reconstruction of a canopy height model (CHM) optimized for forested areas 2) detection of single trees, 3) delineation of forested areas, 4) estimation of stem volume and 5) forest change detection based on multi-temporal data. All presented algorithms were developed in-house.
OPALS The requirements to modern software are manifold. Mass production as well as demanding research should be ideally enabled in different scripting and programming languages. The software OPALS [2] is a modular, scientific software system consisting of small well defined components (modules). The aim of the software is to provide a complete processing chain for processing LiDAR data including: waveform decomposition, georeferencing, quality control, point cloud classification, topographic modeling and several fields of applications like for example forestry and hydrology. Each module is available as (i) a command line program,(ii) a Python module, and (iii) a C++ class (via DLL linkage). While the command line executables allow straight forward execution of the modules from within the operating systems command prompt, the latter enable embedding OPALS functionality in high level programming and scripting languages, allowing for the construction of complex work flows. Above all, the python integration has proven its worth as Python combines the advantages of an easy to use scripting and a full featured programming language. A central data administration unit (OPALS Data Manager, ODM) is available for efficient data management. Tile-wise kd-trees are built up allowing high performance spatial queries (k-nearest neighbors and fixed distance queries). Additionally, the ODM also features an administration scheme for storing arbitrary attributes on a per point basis. The attributes may either stem from the initial sensor data analysis (e.g. amplitude, echo width, etc.) but may also be derived during data processing (e.g. local 3D metrics, surface normal vectors, etc.). Thus, the additional information system is highly dynamic and can, therefore, be used to transfer information between different modules without the need for external storage of attributes.
Land cover dependent surface model Reliable modeling of the forest canopy is needed when it comes to forestry related applications. As the canopy height is very important for many forestry applications, it must be ensured that the derived digital surface models (DSM) follow the uppermost part of the canopy but also the terrain in forest gaps. Within the OPALS
311
forestry package, a land cover dependent approach described in Hollaus, et al. [3] is implemented for the derivation of a DSM. This approach uses the strengths of different algorithms for generating a DSM by using surface roughness information to combine two DSMs, which are calculated based (i) on the highest point within a raster cell and (ii) on moving least squares interpolation with a plane as functional model (i.e. a tilted regression plane is fitted through the k-nearest neighbors). As the surface roughness is high in forests, the created models correctly follow the uppermost canopy within the forest as the highest point per cell method is used. Additionally, local height jumps at forest gaps and forest borders are preserved and show sharp edges. In contrast, for the modelling of the open terrain and for cells with no points the moving least squares interpolation is used, which enables smooth results. Finally, a CHM is calculated by subtracting the heights of a digital terrain model (DTM) from the DSM.
Single tree detection The identification of single trees and their parameters is an important task for analyzing large forested areas. The single tree detection can be performed based on rasterized LiDAR data or directly in the 3D point cloud. In OPALS forestry, both of these options are available. Focal statistics using different kernel sizes and shapes (i.e. circular, diamond) can be applied to rasterized LiDAR data (i.e. CHM), to detect local maxima in the model. Height thresholds and a forest mask limit the detected positions to forested areas. Alternatively, based on the 3D point cloud, local point cloud metrics can be calculated from the data for each point. This means, that the distribution of a selected point attribute (i.e. height above terrain) within a local neighborhood is analyzed. Statistical features (i.e. max, quantiles) are derived and stored as additional attributes of the current point. The point neighborhood can be defined as an infinite vertical cylinder (2D), a bounded vertical cylinder (2.5D) or a sphere (3D). The selected statistical features are calculated by aggregating the signed attribute deviations of the feature point and its neighbors from a reference model. Different reference models (i.e. horizontal or tilted plane, raster model) are handled. For the single tree detection, the normalized point cloud is analyzed for the statistical feature “Max” using a 2.5D neighborhood, and a horizontal plane with z=0 as a reference model (Figure 1).
Forest delineation As presented in Eysn, et al. [4], forested areas can be automatically delineated based on LiDAR data by subsequently checking four clearly defined geometrical criterions (area, height, width and crown coverage) of a forest definition. The method is implemented using the Python bindings of OPALS. The following steps are carried out: The minimum height criterion is applied by height thresholding of rasterized CHMs. Buildings and other artificial objects are previously removed from the scene by using pre-derived point cloud metrics and image morphology. For the crown coverage calculation the ‘tree triples’ approach as described in Eysn, et al. [4] is used, where single trees are detected, crown sizes are estimated and a Delaunay triangulation is used to connect the trees. The minimum area criterion is applied by using standard GIS-queries on all areas fulfilling the previously checked criterions. The minimum width criterion is applied by using morphologic operations (open, close) based on the intermediate result fulfilling the criteria height, crown coverage and area. Because the width criterion can change the given areas, an iterative process of checking minimum area and width is applied.
Stem volume estimation For estimating the growing stock, the method described in Hollaus, et al. [5] is available in the OPALS forestry package. The method assumes a linear relationship between the growing stock and the LiDAR derived canopy volume, stratified according to different canopy height classes to account for height dependent differences in the canopy structure. The estimation process consists of two general steps, where (i) the linear model is calibrated based on forest inventory (FI) data and LiDAR data within well known areas (i.e. forest inventory plots) and (ii) the calibrated model is applied to large areas. For the calibration process, information within canopy height classes, in detail the canopy volume within a certain height layer (vcan,i ), is obtained by processing zonal statistics on the point cloud or rasterized CHM models. The locations of the zones are defined by polygons (i.e. shape file). For each zone, the proportion of LiDAR points or raster cells within the corresponding canopy height class is analyzed and linked to the vcan,i . Using the given FI data and the obtained vcan,i values, the model coefficients are calibrated using the software package R [6]. Statistical measures and graphical representations are derived to enable an insight about the quality of the calibration. Additionally, stratified models can be calibrated to account for local forest changes. For example, crown cover classes can be used to calibrate separate stem volume models. Finally, area-wide maps can be calculated by checking the local heights of the CHM and multiplying them with the corresponding coefficients. The resulting maps can be processed in different spatial resolutions (i.e. 1x1m or 10x10m). Using zonal statistics, the information can be aggregated to existing forest stand polygons.
Forest change detection Multi-temporal point cloud data can be used to monitor forest change, which can be, e.g., a change in forested area, harvested areas inside the forest or a change in growing stock. Changed forested areas can be
312
identified by comparing different forest delineations of different epochs. The identification of harvested areas can be performed by comparing the DSM heights of different epochs. Based on the estimated stem volume, derived from multiple datasets, the changes in growing stock can be assessed. A mandatory initial step is to test and enhance the quality of the input data. Especially height differences of stable objects between multiple surface models originating from errors in the georeferencing may occur. In OPALS, least square matching (LSM) of smooth surfaces (i.e. open terrain or buildings) can be used to minimize these errors between multiple models. For differentiating between exploitation and forest growth the area of interest is classified into areas with an (i) increased (= forest growth) and (ii) decreased (= exploitation) surface height. As for each LiDAR data set small differences in the tree crown representation within the DSMs can occur, morphologic operations and a minimum mapping area are applied to a DSM difference map. For each classified area (exploitation, forest growth), the change for the assessed growing stock is analyzed separately. The transferability of the calibrated models from one acquisition time to the other is tested by applying the calibrated models to the LiDAR data, which were not used for the calibration. Finally, the derived growing stock maps are validated with the corresponding FI data.
Figure 1: a) Detected single tree positions based on the 3D point cloud, b) Delineated forest areas based on LiDAR data c) aggregated stem volume map and d) Detected forest changes based on matching data
Conclusion The basic concept of the comprehensive LiDAR software OPALS representing a sustainable basis for future research work and operational use was presented. A series of forestry related research topics were presented, considering both, their theory and the embedding into OPALS. All processes are fully automated, take care of the data handling and therefore enable operational use. The methods were already successfully tested and applied to large areas as i.e. Voralberg, Austria (2600 km²) or Canton Bern, Switzerland (6000 km²). The forest delineation shows a high performance and delivers robust and comprehensible results. The method can be applied to different forest definitions, which is significant when the results are used for obligatory reporting. The presented single tree detection enables processing of different point cloud metrics using the powerful attribute scheme of OPALS. The stem volume estimation and forest change detection opens up new possibilities for a sustainable forest management. The OPALS forestry package will be expanded with new tools in the future, to ensure that research driven methods will be available for operational use.
Acknowledgements This work was partly funded by the EU FP7 “Advanced_SAR” project.
References [1] OPALS Orientation and Processing of Airborne Laser Scanning Data. http://geo.tuwien.ac.at/opals [2] Pfeifer, N.; Mandlburger, G.; Otepka, J.; Karel, W., OPALS–A Framework for Airborne Laser Scanning Data Analysis. Computers, Environment and Urban Systems 2014, 45, 125-136. [3] Hollaus, M.; Mandlburger, G.; Pfeifer, N.; Mücke, W. In Land Cover Dependent Derivation of Digital Surface Models From ALS Data, ISPRS Comm. III Symp. PCV2010, Saint-Mandré, France, 2010; pp 6-6. [4] Eysn, L.; Hollaus, M.; Schadauer, K.; Pfeifer, N., Forest Delineation Based on Airborne LIDAR Data. Remote Sensing 2012, 4, 762-783. [5] Hollaus, M.; Wagner, W.; Schadauer, K.; Maier, B.; Gabler, K., Growing Stock Estimation for Alpine Forests in Austria: A Robust LiDAR-Based Approach. Canadian Journal of Forest Research 2009, 39, 1387-1400. [6] R: A Language and Environment for Statistical Computing. http://www.R-project.org
313