STRUCTURING LASER-SCANNED TREES USING 3D MATHEMATICAL MORPHOLOGY Ben Gorte and Norbert Pfeifer Section of Photogrammetry and Remote Sensing, TU Delft, Kluyverweg 1, 2629HS, The Netherlands {b.g.h.gorte,n.pfeifer}@lr.tudelft.nl Commission V, Working Group 2 KEY WORDS: Laser scanning, Reconstruction, Forestry, Segmentation, Virtual Reality ABSTRACT: The task addressed in this paper is 3D modelling and reconstruction of (real world) trees on the basis of terrestrial laser scans. To identify the structure of a tree in terms of stem and branches, an algorithm has been designed in 3D voxel space, based on a selection of basic and advanced 2D raster (image) processing algorithms, transferred into the 3D domain. The selection includes filtering, mathematical morphology, skeletonization, connected component labeling and shortest route computation. 1 INTRODUCTION The purpose of the paper is to analyse point clouds of terrestrial laser scans that are recorded inside a production forest. The pur- pose is to reconstruct trees in 3D, in order to measure lengths and thicknesses of the tree stem and of the main branches, to es- timate the corresponding wood volumes. (In the remainder we will not mention the stem anymore explicitely, but only speak of branches). Reconstruction of real world trees on the basis of terrestrial laser scans allows to automate the estimation of forest wood mass for valuation purposes. Also to make ecological assessments detailed knowledge of tree structures is considered helpful in forestry. Several authors report modelling from laser scans, but these are usually made with airborne scanners and provide rough estimates of tree canopies, albeit over large areas [Pyysalo and Hyyppae, 2002, Sun, 2000]. Using 2D video and 2.5D laser pulse range measurements, [Clark, 2002] builds a 3D model of a tree stem by combining multiple vantage points. In our paper we will build the model from 3D measurements directly. Datasets were provided by the Institute for Forest Growth in Freiburg, Germany. One plot (i.e. one location in a forest) is captured by one or more positionings of the laser scanner. The datasets are oriented relative to each other (i.e. registered). The data is captured with Zoller+Fr¨ ohlich laser scanners and provided in the form of point clouds (sequence of (x, z, y)-triples). A tree to be reconstructed is scanned from all sides by locating the scanner at a number of viewpoints around the tree and merging the resulting scans into a single point cloud. Because of the nature of laser scanning, it may be expected that the coordinates of the reflected points are located at the surfaces of the branches. Scans are taken during the winter season when the trees are without leaves. At the final stage of the reconstruction process a cylinder fitting process is carried out for each of the significant branches: a cylin- der is fitted through those points that are at the surface of a par- ticular branch. Before this is possible, however, it is necessary to have a rough idea which points belong to that particular branch, in other words to know the initial subset of points that should be involved in the fitting process. This process itself will be able to identify erroneous points (that do not fit) within the initial subset, and possibly to add points to the subset that are in the vicinity and fit on the same cylinder. The crucial point in the above is to find the initial subset of points for each branch. This is the problem addressed in this paper. We are presenting an algorithm that subdivides (segments) a laser point cloud of a tree into subsets that correspond to main branches (those that have a significant amount of wood). Besides, points that do not seem to correspond to any main branch are identified as noise. The algorithm segments a point cloud according to branches and at the same time identifies how the branches are connected to each other. As a result, a ”tree” data structure is constructed, which represents the topology of the branches within a tree. Basically, the task of the algorithm boils down to detecting elon- gated, cylindrical structures in a point cloud. However, in general point cloud segmentation can be considered a difficult subject, es- pecially in presence of the before-mentioned noise, in addition to gaps within branches (missing points, e.g. caused by occlusions by other branches) and varying point densities (as a result of vary- ing distance from the scanner). To establish the topology between branches on the basis of point clouds is an unsolved problem as well. Therefore we decided to perform this part of the analysis in the 3- dimensional raster domain. Connectivity and neighborhood rela- tions between voxels in a 3D raster can be established much eas- ier than between the original (x, y , z)-points, using morphologi- cal operations, which are well-known from 2D image processing. Their extension to the 3D raster domain is described here. When defining connectivity in 3D, a choice has to be made between 6, 18 and 26-adjacency, depending on the number of voxels that are considered neighbors of a voxel: only those with a common face, also those with a common edge, or even also the ones with a common corner. The 3D reconstruction is done in several steps. After converting the point cloud to 3D raster, closing and opening are applied to close gaps and holes, and to remove isolated points, respectively. Next, 3D skeletonisation is applied, which (temporarily) reduces the stem and branches to single voxel thickness. Then, Dijk- stra’s minimum spanning tree algorithms ensures that the skele- ton from the previous step becomes a tree in the data structuring sense. Topology can now be established, in which the stem and the braches obtain unique IDs. Finally, 3D distance transform is applied to assign to each point in the original set the ID of the nearest branch. As a result, the points are grouped by ID accord- ing to the tree structure. Summarizing, the reconstruction process has two phases: