Introduction

Terrestrial laser scanning (TLS) is frequently used in forests to describe crowns of individual trees. Tree crowns are of particular interest, because the location of foliage relative to competing neighbors determines photosynthesis and tree growth. Tree crowns are therefore scanned either individually with scanner positions around each tree (Bayer et al. 2013; Seidel et al. 2015) or as a group of trees on a sample plot with multiple scanner positions set up across the sample plot (Barbeito et al. 2017; Fang and Strimbu 2019; Georgi et al. 2021; Wilkes et al. 2017). Segmenting individual tree crowns from the resulting point clouds is an essential step in the analysis of these data. Many different methods have been applied for segmentation. Most often, deciduous trees have been scanned in the leave-off phase to have complete branch systems visible in the point cloud (Barbeito et al. 2017; Bayer et al. 2013; Bienert et al. 2018; Georgi et al. 2021; Seidel et al. 2015). Methods tailored for these data are often tracking individual branches in the point cloud with geometric models (Hackenberg et al. 2014, 2015; Raumonen et al. 2013; Tao et al. 2015). For conifer stands, data are substantially different for a number of reasons: (1) branches are most often not visible because they are covered by foliage, and (2) conifer crowns are effectively obstructing the view from laser scanners on the ground, which creates point clouds where parts of the crown might not be visible from any scanner position, or lower resolution of laser hits for parts of the crown are a consequence of crown parts only being visible from some scanner positions. The latter problem applies to trees obstructing the view to neighbors, but also to crown parts obstructing the view to parts of the same crown. Therefore, tree segmentation for crown studies in conifers still relies heavily on manual point cloud processing (Cattaneo et al. 2020; Srinivasan et al. 2015; Uzquiano et al. 2021). Difficulties to detect branch characteristics in the upper crown of Scots pine trees with TLS (Pyorala et al. 2018a, b) demonstrate occlusion problems in conifer trees and stands, but also the impossibility to segment conifer tree crowns from point clouds by geometric modeling of branch systems alone.

Several methods for automatic segmentation of conifer trees from TLS point clouds have been developed. Recently, an advanced automated clustering method for segmentation of conifer trees in complex stand structures has been presented with promising results (Heinzel and Huber, 2018). Bienert et al. (2021) automatically segmented crowns of deciduous trees from point clouds using distance to the trunk in iterative steps as the main criterion and reported many misassignments, some of which might be a consequence of the one-sided mobile laser scanning. Watershed algorithms were used in combination with other stem detection methods to segment tree crowns (Bogdanovich et al. 2021; Yrttimaa et al. 2020a, b). Region growing in voxel space was used to segment tree crowns from stem voxel seeds but failed in estimating tree height for many trees and no results were presented about the accuracy of crown segmentations (Brolly et al. 2021).

Stand density has a large effect on visibility of individual tree crowns from the ground. Stands in our study were at low density due to thinning from below about 10 years earlier. Tree species and species mixture also contributed to good visibility in our study. Scots pine (Pinus sylvestris L., hereafter pine) has rather short and more transparent crowns than other conifer species. Norway spruce (Picea abies (L.) Karst., hereafter spruce) crowns are less transparent and longer and are therefore more often obstructing the view. Being part of a study about species mixture effects (Houtmeyers and Brunner 2020), the sample plots varied largely in their mixture proportion but also in stand density about 10 years after the last thinning, and therefore also in visibility.

Interest in tree crown data can be motivated by a number of different objectives, causing variation in the level of detail and the number of tree crowns to be described. Growth and yield studies have most often applied simple metrics like crown width, crown length, and crown volume to explain observed tree growth. TLS allows to describe the crown shape with more realistic geometrical shapes than the earlier assumptions based on simple shapes (Fleck et al. 2011; Seidel et al. 2015), or infrequent crown shape measurements (Goudie et al. 2009; Rautiainen et al. 2008). Given the occlusion problems in conifers, crown models derived from TLS data still need to apply envelope models that are little sensitive to gaps in the data and adapted to the resolution of the point clouds. Occlusion makes it also difficult to judge if horizontally eccentric crown shapes are caused by missing data for parts of the upper crown or real eccentricity. Envelope models must therefore in many cases assume concentric crowns around a stem axis. For conifers, these simplifying assumptions are most often still realistic, because the regular growth patterns of stem and branches in most species, especially in young trees, result in very regular tree crowns. For the objective of describing large numbers of conifer tree crowns from TLS data, simple rotational models are therefore appropriate.

Given the limitations of TLS point clouds in conifer stands, i.e., partly invisible crowns and sparse point clouds, the objective of our study was to derive tree point clouds that could be used to describe conifer tree crowns with simple concentric geometric models. To facilitate the description of a large number of tree crowns, we were interested to apply largely automated tree segmentation procedures. Given the lack of available algorithms for this type of data, we developed a new tree segmentation algorithm and tested it on a large number of trees and sample plots. This paper describes this new method and test results. It also demonstrates several crown dimension and crown shape variables derived with the method.

Material and methods

This paper describes a method for extraction of individual tree crown metrics from 3D point clouds generated by TLS. The segmentation algorithm has been developed based on data from a large number of sample plots in mixed species stands. In addition to the TLS point clouds, data from field measurements were available and have been used to process TLS point clouds. The method is therefore based on a combination of field data, TLS point clouds, tree segmentation algorithms, and geometric crown models fitted to the TLS point clouds. All methods need to be described in detail to understand the choices taken in method development and the data used in total. An overview of the core methods for crown segmentation and crown model fitting is given in Table 1.

Table 1 Overview of the methods used for crown segmentation and crown model fitting

Stands and plots

A total of six mixed species stands of Norway spruce and Scots pine was selected for this study in the municipalities of Løten and Rena in southeastern Norway. Stands, plots, and field measurements of trees on the plots are described in Houtmeyers and Brunner (2020), which also describes an additional stand (number 897) not used here.

In each stand, four circular sample plots (13 m radius, 531 m2) with varying species proportions were established, from almost pure pine plots, over pine-dominated and spruce-dominated mixed plots, to almost pure spruce plots. Species proportions ranged from 9 to 92% spruce of the total basal area in 2017 (Houtmeyers and Brunner 2020).

All stands had been thinned about 10 years earlier in order to study thinning reactions in mixed stands. Thinnings were from below (ratio of Dg after thinning to Dg before thinning varied from 1.04 to 1.29 on the 24 plots) and done by harvesters operating on strip roads, removing about 30% of the basal area, from about 35 m2 ha−1 to about 25 m2 ha−1 (Houtmeyers and Brunner 2020). Thinnings reduced the basal area proportion of spruce on all plots, often by about 10%, indicating that smaller spruce trees were removed in favor of larger pine trees. Basal area at the time of laser scanning in 2017 varied from 25 to 38 m2 ha−1 on the sample plots (Houtmeyers and Brunner 2020).

Tree measurements

For all trees with a diameter at breast height (dbh) larger than 5 cm on the plot, we registered dbh (girth tape), species, and stem position (Houtmeyers and Brunner 2020). Tree height and height to crown base (htcb, height to the lowest living continuous whorl, i.e., a whorl that has at least half of the branches alive and no dead whorl above this whorl) were measured for a random stratified sample using a Vertex hypsometer. Tree height and htcb were used in the segmentation algorithm to identify the crown core for each tree in the point cloud. Missing tree heights were estimated using height-dbh regressions fitted to the sample tree data per stand and species, applying a modified Näslund equation (Nilsson et al. 2010). Missing htcb was estimated as a fixed height per sample plot and species, based on observations of htcb being independent of tree size for the same species in closed stands (Purves et al. 2007). This pattern was confirmed in our data for most sample plots. Only on three plots, a regression of htcb over dbh showed significant slope parameters for overstory spruce trees, and therefore we applied these regressions to estimate htcb from dbh. Understory trees, of mostly Norway spruce, had a lower htcb than overstory trees of the same species. We therefore calculated a mean htcb per plot and species separately for overstory and understory trees (dbh < 10 cm).

Laser scanning

The sample plots were scanned in June and July 2017 with a Faro Focus 3D X 130 laser scanner. The scanner uses phase shift technology to measure distance to objects that the laser beam hits. We used the following settings when scanning the plots: Full view angle (360° horizontal and 300° vertical), no colour pictures, Resolution: 1/4, Quality: 2×. These settings resulted in a resolution of about 6 mm at 10 m distance and a scanning time of about 2 min. per scan.

The laser scanning design and method was inspired by Barbeito et al. (2017), but modified to scan a large number of tree crowns per sample plot with sufficiently high point density rather than individual trees. Similar designs have been recommended based on extensive practical experience (Wilkes et al. 2017) and simulation studies (Van der Zande et al. 2008), or implemented for similar objectives (Fang and Strimbu 2019; Georgi et al. 2021). Given the sample plot diameter of 26 m and an average distance of 20 m between the 4 m-wide strip roads, varying proportions of strip roads were included in the sample plots. Strip roads allow more efficient laser scanning due to better visibility. Ten scanner positions per plot were placed in a 3 × 3 grid and an additional 10th position in a strip road that is not included in the plot. Scan positions were chosen in gaps in the stand with sufficient distance from tree stems and understory trees, with good visibility into tree crowns in all directions. A scan position close to the plot center was selected first, the other positions in the grid were found at about 6 m distance between grid points and a grid orientation parallel to the strip roads. This grid set-up in combination with the plot design has the advantage that three to four of the scan positions are on strip roads with better visibility into tree crowns. After setting up metal pegs at scan positions, five spheres were set up on wooden poles in the plot center about 1 m above ground, in a way that all five spheres are visible from all 10 scan positions. The spheres were used as targets to automatically co-register the 10 scans. Visibility of spheres was checked from all 10 scan positions, scan positions were moved to ensure full visibility, and branches and understory trees that obstructed spheres were removed.

The laser scanner was mounted on a leveled tripod at about 1.5 m height. Visibility of the five spheres was checked once again after the tripod had been leveled and before the scan was started. Scanner positions were registered by measuring distances to the four closest numbered stems with known positions, evenly distributed in all directions.

Laser scanning of tree crowns can only produce point clouds with small errors if the tree crowns are not moving during the about 40 min of the scanning needed per plot. This is a challenging task as even light wind moves crowns of 20 m tall trees at the scale of decimeters to meters. Scans were therefore only started if the conditions were promising to be without any wind for the next 2 min. In some cases, scans had to be repeated to achieve this.

The entire laser scanning procedure required about 2 h of work per plot, given perfect weather conditions and no other delays. Accessing the field plots with the heavy equipment on often roadless rugged terrain far from the vehicles required additional hours.

The Faro Scene 6.2 software was used for processing of raw data and registration of individual scans into plot point clouds. Sphere targets were automatically detected by the software in individual scans, but had to be manually corrected to find missing spheres or remove false detections. The number of visible spheres was five for most scans. Only four spheres were visible for 30 of the 240 scans. Automatic co-registration of the 10 scans into a plot point cloud was target-based. The registration accuracy was described by a target error range of 2.4 – 5.3 mm (median 3 mm) for all 24 plots. Plot point clouds were resampled using a cell size of 5 mm to homogenize point density.

Point cloud processing

For further analyses of the TLS point clouds, we used algorithms developed for this purpose and coded in SAS. The algorithms transformed tree positions into laser coordinate systems, voxelized the point cloud, detected tree positions and dimensions in the voxel clouds, and segmented individual tree voxel clouds (Table 1).

Coordinate system transformation

Scanner coordinates in the point cloud coordinate system were read out from Faro Scene and used to transform tree positions and other x- and y-coordinates measured in the field to point cloud coordinates. Most often the scanner position closest to the plot center was used to transform x- and y-coordinates. Angular deviations between the two coordinate systems were corrected for by calculating the direction of the remaining 9 scanner positions from the matched scanner position in both coordinate systems and a least-square regression to estimate the transformation angle.

Voxel clouds

The tree segmentation algorithm applied here is based on growing regions of already identified tree elements in order to detect all point cloud points from a given tree. Given that many point clouds of individual conifer trees are sparse, especially in the upper crown, a lack of connectivity would not allow a region-growing algorithm to detect all tree elements. Connectivity in sparse point clouds can be increased by reducing the spatial resolution and summarizing points into voxels. Voxel size will in this context be a compromise between the level of details described by the voxel cloud and connectivity (Heinzel and Ginzler, 2019; Heinzel and Huber, 2017). A voxel size of 0.1 m was chosen for the objective of describing tree crowns in sparse point clouds. Smaller voxel sizes would be necessary for descriptions of tree stems in the typically much denser point clouds in that region (Heinzel and Huber, 2017). TLS point clouds were reduced to binary voxel clouds by rounding the x-, y-, and z-coordinate of each laser hit to the nearest 0.1 m and keeping only one hit per voxel.

The voxel point cloud was restricted to the field plot by discarding voxels beyond 18 m distance from the plot center. Z-coordinates of the voxels were transformed to a local coordinate system by subtracting the minimum z. The plot voxel cloud was segmented into a plot ground cloud and a plot tree cloud by sorting all voxels below 1.5 m height above ground into the plot ground cloud (cf. Trochta et al. 2017). Interpolation of z-coordinates indicating a height of 1.5 m above ground between scanner positions was accomplished by calculating a weighted z-coordinate using all scanner coordinates, applying the inverse of the distance in the x–y-plane to individual scanner positions as weights for the estimated z-coordinate. This rough terrain model detected by only 10 scanner positions avoided inclusion of ground voxels into the plot tree cloud, except for small parts at the edge of a few plots.

Tree coordinates detected from voxel clouds

For all tree crown analyses, tree coordinates derived from the voxel cloud were used in order to avoid errors in the field coordinates relative to the more precise TLS point cloud. The plot ground cloud was used to detect the z-coordinate of the stem base using the lowest z of voxels within a cylinder of 0.3 m radius around the stem center position registered in the field. The segmented tree cloud was used to detect x- and y-coordinates of the stem center. A section to 5 m above the z-coordinate detected in the plot ground cloud was extracted, i.e., about 3.5 m length. In this section, the 12 columns with identical x- and y-coordinates of the voxels were identified as stem voxels, assuming that with the given voxel size (0.1 m) and dbh (max. 0.3 m) a 4 × 4-matrix with an empty core of about 2 × 2 voxels represents the stem. Voxel columns were only accepted if they contained at least 25 voxels. Mean x and y of the accepted voxel columns were used to estimate the stem center position. Voxel columns with a distance from the mean larger than 0.3 m were removed as outliers and the means were recalculated. Only for a few trees this automatic procedure failed, and field coordinates were used instead. Differences between tree positions detected from voxel clouds and measured in the field were mostly below 0.2 m and most often below 0.1 m.

Tree segmentation

Segmentation of individual trees from the plot tree cloud used a four-step procedure: (1) Known tree position and dimensions were used to extract a tree voxel cylinder proportional to the tree size, large enough to include all potential voxels from that tree; (2) Voxels in the core of the expected tree crown (crown core) were assigned to the tree based on information on tree position and size registered in the field; (3) Voxels assigned to the tree in the crown core were used as seeds in a 3D region-growing algorithm to detect other voxels of this tree within the cylinder extracted in step 1; (4) Segmented tree clouds were combined into a segmented plot cloud and voxels assigned to more than one tree corrected. The first two steps of this algorithm depend on field-registered tree position and size. However, in the absence of this information, stem position and dbh detected in the plot cloud could be used to generate this information.

In step 1 and 2, measured and estimated tree height and htcb were used to detect voxels from these trees. In addition, crown radius was estimated from dbh and tree height using models by Pretzsch et al. (2002) for spruce and pine, respectively. Crown radius estimates from these models were reduced to 80% in order to avoid wrong assignments of voxels from neighboring trees when applying these variables. The tree voxel cylinder in step 1 had a size of twice the estimated crown radius around the stem axis for the given tree (see Srinivasan et al. (2015) for a similar approach).

The crown core (step 2) was defined separately for overstory trees (height > 15 m) and understory trees to avoid that understory trees claim voxels from overstory trees. For overstory trees, a cylinder with the estimated crown radius around the stem axis above htcb was used. In addition, all voxels inside a cylinder representing the stem (radius of 0.3 m around stem axis) were assigned to the given tree. For understory trees, only the stem cylinder below a height 2 m under the tree height was assigned to this tree. The very conservative approach for understory trees was necessary to avoid voxels falsely assigned in the tree tip to cause wrong assignments in the next step. Voxels that were assigned to more than one tree were not assigned to any tree in this step.

The 3D region-growing algorithm (step 3) loops through a list of voxels sorted by criteria specified below and identifies for all voxels, that have not been assigned to a tree yet, the 26 voxels that have direct contact (cf. Wu et al. 2013). The voxel is assigned to the most frequent tree found among the 26 adjacent voxels. The region-growing was applied twice to the same tree voxel cylinder, firstly, with the voxel list sorted according to ascending z, y, and x, and, secondly, with the voxel list sorted according to descending z, y, and x. This procedure is in the first round growing regions predominantly bottom up, which causes seeds along the stem and lower crown to grow into branches that are pointing upwards. The second round, growing regions predominantly downwards, allows detecting branch segments that are hanging down from other branch segments of the stem. The computation time needed for this step of the algorithm varied between 2 and 40 min per tree, depending on the tree size and number of voxels per tree.

In step 4, segmented tree clouds were combined into a common plot voxel cloud. After the previous two steps of voxel assignments, voxels that were present in more than one tree voxel cylinder could have been assigned to more than one tree. These double assignments were corrected in step 4. Voxels with double assignment were assigned to the closest tree using

$$d^{\prime} \, = \, 1 \, / \, \left( {d + \, 1} \right)$$
(1)

as a criterion, where d is the horizontal distance to the stem center (m). The voxel is assigned to the tree with the largest d’. This distance function is independent of the tree size and gives a lot more weight to trees that are closer to the voxel than to trees further away from the voxel. This step of the algorithm efficiently assigned double assigned voxels to the correct tree, as long as there were any fully segmented neighbors in the plot cloud claiming these voxels. At plot edges, falsely assigned branches or full crowns from neighboring trees will not be corrected for. For our plot design, we could therefore only expect correct segmentation for trees to a maximum distance of 11 m from the plot center.

The segmented tree clouds contained between 1000 and 40 000 voxels, varying with dbh, and with larger numbers for spruce than for pine.

Assessment of tree segmentation

The tree segmentation algorithm failed for parts of the tree crown or for entire tree crowns with different degrees and for a number of different reasons. Given the objective of our study, to describe as many tree crowns as possible on the sample plots with concentric geometric crown models, we evaluated the segmentation success based on the sensitivity of the crown model to certain types of segmentation errors. Segmentation quality was assessed by visually controlling segmented tree clouds of all 1296 living trees in 3D using CompuTree (http://computree.onf.fr). Segmentation errors were often first detected when segmented tree clouds of neighboring trees were added to the display. Displaying stem maps representing the estimated crown radius together with segmented tree clouds helped to assess neighborhood constellations when evaluating segmentation success. The procedure also allowed to identify trees with voxel clouds too sparse in the upper crown to allow a realistic representation in crown models. Segmentation errors were most often assignments of voxels to neighboring trees. If only small branches or parts of the crown were misassigned, the concentric crown model is little sensitive to these errors. However, larger misassignments of entire crown parts or entire trees outside the sample plots would have caused unrealistic crown models and were therefore registered as segmentation failure. Assignment errors were more frequent at close distances between neighboring trees and absent for trees with sufficient distance to neighboring trees. Some details in the algorithm were designed particularly to avoid misassignments (region growing only inside the tree voxel cylinder, conservative assignment of seed voxels in the crown core), however, without being able to avoid all cases. Other sources of assignment errors for understory trees were the often horizontally oriented branches of shade-tolerant spruce trees extending closely to stems of overstory trees. In contrast to a zone of crown shyness between crowns of larger trees, which is caused by wind movements and branch abrasion (Goudie et al. 2009), branches of understory trees can be in direct contact with each other or with stems of larger trees. A few leaning trees or snags also caused problems for the algorithm, which assumes a strictly vertical orientation of stems and crowns.

Crown model

Crown metrics and crown shape models were only derived for tree crowns without segmentation errors. Given the limitations by sparse point clouds in laser scans of conifer stands and the objective of our study to represent tree crowns as simple geometric shapes, we selected a concentric model of circular layers. Even though it would be desirable to represent eccentricity of crowns in dense stands, it is especially the frequently sparse point cloud in combination with an increased risk of segmentation errors in dense tree groups that does not allow to describe tree crowns with more realistic geometric shapes. In contrast to most deciduous species, conifers like Norway spruce and Scots pine form most often regular crowns with little eccentricity relative to the stem axis. Crowns were therefore represented by a stack of circular crown layers, centered around the stem axis. This representation allows to derive simple summarizing crown metrics, e.g., maximum crown radius, crown length, or crown volume. It also allows studying the crown shape using simple models of crown layer radius along the crown length. Table 1 presents an overview over the methods used for crown model fitting.

Concentric crown layer model

Before estimating the crown models, for a few trees, voxels far above the rest of other tree voxels were removed as outliers, with vertical distances of larger than 1 m as indicators for outliers. The maximum z of voxels in the segmented tree cloud above the minimum z detected from the plot ground cloud was used as laser-estimated tree height.

A stack of circular crown layers centered at the stem axis was fitted to the segmented tree cloud using a layer thickness of 0.5 m, i.e., five voxels. This layer thickness allowed for sufficient detail in the description of crown shapes and estimated crown length, but at the same time secured a sufficient number of voxels per layer in the frequently sparse voxel clouds of the upper crown. The upper limit of the uppermost crown layer per tree is the laser-estimated tree height.

To estimate the radius describing the outer envelope of each crown layer, the following calculations were applied. First, for each voxel the horizontal distance from the stem axis was calculated. For each crown layer, the voxel cloud was divided into 20 horizontal direction sectors with equal angular extent. For each direction sector, the 95th percentile of horizontal distances from the stem center was used as an indicator of the crown envelope in that direction (cf. Ferrarese et al. 2015). Using the 95th percentile also removes assignment errors from neighboring trees and excludes voxels from individual branch tips that extend far beyond the general crown shape. Per crown layer, the median of all 95th percentiles of horizontal distances were used to indicate the radius of that layer. The median, once more, removes assignment errors from neighboring trees and excludes extreme branch tips, but also transforms eccentric shapes into a concentric shape.

Plotting radius per crown layer versus height of the crown layer indicated typical crown shapes (Fig. 4). However, variation in radius between subsequent crown layers was often large. In the upper crown, only few voxels and sectors represent one layer (Fig. 5) causing large estimation errors, often explained by sparse TLS point clouds (Fig. 1). At the crown base, individual whorls with few branches cause irregular crown shapes. Therefore, a moving average with a window of three crown layers was used to fit a more regular crown model in vertical direction. For the uppermost crown layer, a radius of zero in the layer above was added to calculate the moving average.

Fig. 1
figure 1

Segmented voxel clouds of two neighboring trees on plot 121-2, pine tree no. 58 left, spruce tree no. 59 right

This crown layer model removes outlier voxels in three different steps, making the model insensitive to sparse voxel clouds or assignment errors during tree segmentation: the 95th percentiles per direction sector, the median radius per crown layer, and the moving averages of the crown layer radius.

Crown variables

The maximum crown radius (CRmax) and its height were detected by finding the crown layer with the maximum radius. This procedure failed for only 16 trees, where manual corrections were needed. Crown shapes of the two conifer species in this study were so regular that this layer was in all cases at the bottom of the upper crown, with layer radii receding to the stem diameter within short distances for pine, or to the radius of dead branches for spruce. Automatic detection of the lowest living whorl, as one possible indicator of crown length, is not possible in TLS point clouds of conifers, because recently died branches have similar shapes than living branches. We therefore only used the upper part of tree crown, above and including the layer of CRmax, to describe summary crown metrics and crown shape. This part of the crown contains most of the active foliage and is subject to competition with neighboring trees. Crown length (CL) therefore indicates the combined thickness of all crown layers above and including the layer of CRmax with a resolution of the layer thickness.

Crown shape model

To describe the crown shape using the stack of concentric crown layers, models were fitted describing layer radius as a function of height within the crown above and including the layer of CRmax. Crown shape of Norway spruce and Scots pine has earlier been described for similar data by Rautiainen et al. (2008). In their study, regression models were fitted to data of individual tree crowns and shape parameter estimates were compared. Results of that study indicated some variation in crown shape between individuals, but no systematic variation with species, tree size, or crown size. Also crown shape models from other conifer species varied little with tree size and site (Ferrarese et al. 2015). We therefore aimed at a common crown shape model per species, irrespective of crown radius or crown length. Crown layer radii were therefore normalized to CRmax (CRnorm), and height within the crown to crown length (CHTnorm). We used the crown shape model of Rautiainen et al. (2008), converted to normalized radius and height in the form:

$$CR_{{{\text{norm}}}} = \, \left( {1 \, - \, \left( {CHT_{{{\text{norm}}}} /CHT_{{{\text{total}}}} } \right)^{t} } \right)^{(1/t)}$$
(2)

where t is the shape parameter. Given that the uppermost crown layer has a radius larger than zero, the equation has also been modified to allow the radius of zero to occur at a relative height of CHTtotal outside the observed crown layer stack. Given the uneven number of crown layers per tree, individual observations where weighted by the inverse of the number of crown layers per tree in the regression procedure. For spruce, understory trees with short crowns are represented by fewer crown layers and have often different crown shapes than overstory trees. Crown shape models were therefore fitted separately for spruce overstory trees (dbh > 12 cm) and understory trees.

Results

Scanning design

With the given sampling design of only 10 scans systematically placed across a plot in spots with good visibility, it was possible to get TLS point clouds for 1294 of the 1296 living trees on 24 plots. Of the two trees not detected, one was a small leaning tree, and the other had errors in the field positions. A large number of trees could therefore be scanned with this design with rather little effort. However, as indicated below, not all of the individual tree point clouds were of sufficient quality to allow a description of tree crowns. More intensive sampling in denser parts of the plot would be necessary to successfully describe all tree crowns. The challenge of overcoming the obvious visibility problems in dense conifer stands has therefore not been fully solved by the given scanning sampling design.

Segmentation algorithm

The criterion to judge the quality of the tree point clouds and the segmentation algorithm was that point clouds in combination with the given concentric crown model would result in a realistic representation of the crown to derive crown diameter, length, or shape.

Most trees had sparse point clouds in the upper crown due to obstructions by their own crown or crowns of neighboring trees (Fig. 1). For 124 trees (9.6% of the total number of trees with point clouds), the point cloud was too sparse or absent for the upper meters of the crown (Fig. 2). The proportion of trees with a sparse upper crown increased somewhat from the plot center towards the plot edge.

Fig. 2
figure 2

Segmented voxel clouds illustrating common segmentation errors: Left—misassignment of branches to neighboring tree (plot 121-2, trees no. 52 and 53); right—sparse voxel cloud in upper crown (tree 121-2-13)

The remaining 1170 trees were carefully checked for segmentation errors. Wrong assignment of crown parts to or from neighboring trees was the most common error (Fig. 2). For 518 trees, segmentation errors were too large for the given objective. For a total of 652 trees (50.4% of the total number of trees with point clouds), point clouds were without major segmentation errors.

Segmentation errors were more frequent at the plot edge due to point clouds of neighbors outside the plot not being segmented. While 34% of the trees had segmentation errors on the core plot of 9 m radius, this percentage increased to 40% at 9–11 m from the plot center, and to 72% at 11–13 m from the plot center. The region growing during the segmentation included crown parts or entire trees of neighbors into the point clouds of trees if those neighbors had not been identified with tree positions and voxels defining the core crown. It might be possible to identify trees outside the plot border in the TLS point cloud to avoid those errors. However, a decreasing scan resolution with increasing distance from the plot center and difficulties to automatically detect stems of spruce trees with many dead branches challenge this approach.

Stand density affects the point density in the upper crowns and assignment errors. Despite the rather low stand density in the plots thinned 10 years earlier, many plots and tree groups were too dense to allow sufficient insight into tree crowns and short distances between tree crowns caused assignment errors. Spruce trees with their longer and less transparent crowns likely caused more segmentation problems than pine trees. Segmentation errors (sparse point cloud and assignment errors) for trees on the core plot (9 m radius) varied with stem number (N) on the total plot (Error (%) = -8.9 + 0.044 * N (ha−1), R2 = 0.47, with N varying from 584 to 1526 ha−1), but not with basal area (24–38 m2 ha−1) or spruce proportion in basal area (11—93%). For the same trees, segmentation errors varied with dbh, being 73% for trees with dbh < 12 cm (n = 147), 40% for trees with dbh 12 – 18 cm (n = 194), and 23% for trees with dbh > 18 cm (n = 346). In summary, segmentation errors were small for most dominant trees in the center of the plot, which had been released by thinning, but substantially larger for subdominant and understory trees. For understory trees, the most common assignment errors were caused by branches overlapping with stems of overstory trees or other tree crowns. In contrast to overstory trees, understory trees do not develop a zone of crown shyness due to reduced wind movements.

Voxels assigned to the core cylinder in crowns and stems as seeds for the region growing are essential in the segmentation algorithm. This step is particularly important for sparse voxel clouds where a lack of connectivity does not allow the region growing alone to detect crown parts at the periphery (Fig. 1). The size of the crown core is essential in avoiding assignment errors. Crown cores can be too narrow to allow detecting branches at the periphery, or crown cores can be too large, claiming crown parts of neighbors in dense tree groups. The size of the crown core therefore needs to be a compromise adapted to the real crown sizes, stand density, and the density of the voxel cloud.

Another type of segmentation error is that individual voxels or voxel clusters are not assigned to any tree on the plot due to a lack of connectivity. To assess the magnitude of these errors, the unassigned voxels were counted for the canopy layer (to exclude unregistered small trees) of the core plot to 11 m radius (to exclude crown voxels from unregistered trees outside the plot). Unassigned voxels accounted on average for 2.2% of all voxels in that cylinder (std = 1.1%, min. 0.6% to max. 4.4%). Sample plots with higher proportions of unassigned voxels contained dense tree groups with assignment problems or crown parts of unregistered trees outside the plot. The generally low proportion of unassigned voxels and their spatial distribution of mostly individual voxels in the periphery of segmented crowns indicates that overall, only small parts of the crowns are missed due to missing connectivity.

Tree heights estimated from TLS point clouds had a small negative bias compared to tree heights measured in the field (Fig. 3). The mean estimation error was −0.50 m (std = 0.50 m, n = 97) for pine and −0.41 m (std = 0.47 m, n = 93) for spruce. Even though this bias indicates a systematic problem caused by sparse point clouds that might miss the tree’s leader in many cases, the magnitude of the error is small and absent for many trees (Fig. 3).

Fig. 3
figure 3

Tree height estimated from TLS point clouds compared to tree height measured in the field. Dots are indicating trees where height has been measured in the field, circles indicate trees where field height has been estimated from height-dbh regressions

Crown model

Crown layer model

Crown layer models fitted to two pine and two spruce trees with varying degree of crown eccentricity are visualized as vertical crown profiles in Fig. 4. For pine, tree no. 36 has a concentric crown (Fig. 5) and tree no. 58 an eccentric crown (Fig. 6). For spruce, tree no. 54 has a concentric crown and tree no. 128 an eccentric crown. The vertical crown profiles of these example trees illustrate the much shorter crowns of pine compared to the spruce trees. For pine, crown layer radii below the layer of CRmax recede within a few layers to the stem radius. For spruce trees, dead branches are most often present below the layer of CRmax and almost all the way to the bottom of the stem (cf. Figure 1). Detecting the base of the live crown is not possible in the voxel clouds because it is not possible to separate living and dead branches. Crown layer radius recession as an alternative way to identify the crown base has been tried with some success for pine but failed for spruce. Given that the height to the lower limit of the layer of CRmax is a possible estimator of field-measured height to the base of the live crown (Fig. 9), the conical upper crown part above the layer of CRmax can be used as an easy to detect approximation of crown size and shape. It can also be argued that most of the productive foliage can be found in this upper part of the crown and that foliage below CRmax due to self-shading only contributes little to the total biomass production of the tree.

Fig. 4
figure 4

Vertical crown profiles of two pine trees (left) and two spruce trees (right). Dots indicate the layer radius calculated as a median of the direction sector radii, black lines indicate the moving averages of those layer radii. The vertical grey line indicates crown length above the height of CRmax. The grey line in the upper crown indicates predictions of the crown shape model (Table 2)

Fig. 5
figure 5

Crown layer data for a pine tree with a concentric crown (tree 121-1-36). The circle indicates the moving average layer radius. Black dots and lines indicate the 95th percentiles of distances for each direction sector, grey dots and lines the maximum voxel distance

Fig. 6
figure 6

Crown layer data for a pine tree with an eccentric crown (tree 121-2-58). The circle indicates the moving average layer radius. Black dots and lines indicate the 95th percentiles of distances for each direction sector, grey dots and lines the maximum voxel distance

For spruce, the conical upper part of the crown is most often followed by a cylindrical part (Figs. 1, 4). This cylinder of crown layers with little variation in layer radius might contain living branches in the upper part and dead branches in the lower part. As also illustrated in Fig. 4, the automatic detection of the layer of CRmax yields varying results, where the layer is at the bottom of the conical upper crown (tree no. 54) or further down in the cylindrical crown part (tree no. 128). Some of the large variation of crown base estimates from the crown model relative to field-measured crown base (Fig. 9) might be due to this variation of layer radii in the lower crown of spruce trees. This difficulty to detect CRmax of the living crown does not affect estimates of CRmax much due to the similar radii of layers in this region of the crown. However, it does affect precision of the estimates for crown base height and crown length.

The horizontal extension of voxel clouds and crown model layers is shown in Figs. 5 and 6 for all crown layers of two pine trees. The lack of differences between the 95th percentiles and the maxima of voxel radii in most direction sectors and layers indicates that most often less than 20 voxels are present in each direction sector. The objective of using 95th percentiles to remove extreme branches and segmentation errors is therefore not achieved. However, the other two averaging procedures of the crown model, i.e., using the layer median of the 95th percentiles and their moving averages, effectively concentrated the crown envelope model to the core of the crown containing most voxels.

The sparse voxel cloud in the upper crowns of most trees is illustrated by only a few of the 20 direction sectors in each layer containing voxels (Figs. 5 and 6).

The effect of applying a concentric crown model to eccentric crowns is illustrated in Figs. 4 and 6. Even though the model might still describe the size and shape of the crown without much bias, the horizontal position of the crown is biased in the model representation. This bias might have consequences if the crown models are used to quantify competition for neighboring trees. However, with the given sparse voxel clouds of conifer trees, alternative envelope models that account for eccentricity might be overly sensitive to invisible parts of the crown. The pine tree no. 58 in Figs. 6 and 1 has been selected for this illustration because it is among the trees with largest horizontal eccentricity in the sample. Most trees with successful segmentation are much less eccentric.

Crown radius and crown length

Crown radius (CRmax) was strongly correlated with dbh for overstory trees (dbh > 12 cm) of both species (Fig. 7).

Fig. 7
figure 7

Maximum crown radius (CRmax) over dbh for spruce (black) and pine (grey). Predicted CRmax for the overstory trees (dbh > 12 cm) with a height of 20 m is displayed as lines and based on regression models for spruce (CRmax = 0.689 + 0.0587 * dbh – 0.0272 * height) and pine (CRmax = 0.960 + 0.0665 * dbh – 0.0517 * height)

Crown length (CL) was much longer for spruce, both as absolute CL (Fig. 8) and relative CL. CL relative to tree height for overstory trees (dbh > 12 cm) was on average 45.9% (std = 10.5%) for spruce, and 32.3% (std = 6.9%) for pine. The height of CRmax was not correlated to dbh and was mostly similar for trees in the same stand, confirming earlier reports of a common height to the base of the live crown in closed stands (Purves et al. 2007). Stand means of the lower limit of the crown layer of CRmax ranged from 8.8 to 10.6 m for spruce, and from 12.4 to 14.4 m for pine. Spruce trees had longer crowns than pine trees, but similar crown radii.

Fig. 8
figure 8

Crown length (CL) over dbh for spruce (black) and pine (grey). Predicted CL for the overstory trees (dbh > 12 cm) with a height of 20 m is displayed as lines and based on regression models for spruce (CL = -1.32 + 0.0781 * dbh + 0.454 * height) and pine (CL = -1.19 + 0.107 * dbh + 0.257 * height)

The height to the crown base estimated from TLS point clouds as the lower limit of the layer with CRmax had a positive bias compared to the height to the base of the live crown measured in the field (Fig. 9). The mean difference was 1.59 m (std = 1.20 m, n = 97) for pine and 0.84 m (std = 1.70 m, n = 93) for spruce. Height to CRmax was apparently above the lowest continuous living branch whorls measured in the field. For spruce, the large variation of the differences indicates problems to consistently detect the height to CRmax in the TLS point cloud, which in this region has a cylindrical shape with little variation in layer radii (Fig. 4). For some spruce trees, crown layer radius was maximum at the bottom of the conical upper crown, whereas for other trees, layers lower down in the cylindrical crown part had a slightly higher layer radius.

Fig. 9
figure 9

Height to crown base estimated from TLS point clouds compared to height to base of the live crown measured in the field. Dots are indicating trees where field height has been measured, circles indicate trees where field height has been estimated from regressions

Crown shape model

The crown shape parameters (t) (Table 2) were comparable to those of Rautiainen et al. (2008). However, direct comparison is not possible, because the shape parameters are influenced by estimates of CHTtotal in the model. There was no difference in crown shape between Norway spruce and Scots pine (e.g., Fig. 4), despite the much longer crowns of spruce compared to pine (Fig. 8) and similar crown radii (Fig. 7). In these crown shape models, the leader’s tip was estimated to be about 10% of the crown length above the upper crown layer for the overstory trees (CHTtotal, Table 2). The sparse point cloud of many trees in the upper crown might have caused this offset, rather than an inappropriate crown shape model. Similarly, sparse point clouds caused a small negative tree height bias in these data (Fig. 3).

Table 2 Parameter estimates and fit statistics of crown shape models (Eq. 2). Standard errors of parameter estimates are given in parentheses

Discussion

Segmentation method

The tree crown segmentation algorithm applied here is sensitive to the presence of close neighbors. It therefore fails if unregistered trees outside plot borders are not segmented in the point clouds, or if trees are located close to each other. With only half of the trees, the overall success rate is therefore not satisfying. However, for the trees of interest in growth and yield studies, i.e., the dominant trees on the plot center, success rates were above 80% on most plots. The method was therefore able to produce large amounts of crown data in the stands that were thinned about 10 years earlier and therefore mostly composed of dominant trees with sufficient distance to all neighbors. The segmentation algorithm works satisfactory for open stands with good visibility and therefore dense point clouds in the crown, and little risk for assignment of voxels to neighbors. Stem number was a better indicator of openness for TLS objectives than basal area.

Despite the generally much higher success rates in correct tree segmentation compared to our study, the advanced automated clustering method of Heinzel and Huber (2018) did produce similar assignment errors than in our study, for example due to fragmented tree clouds in the upper canopy or closely interlocked tree crowns. Manual corrections were also in this method necessary to produce tree voxel clouds for further analyses. Ritter and Nothdurft (2018) applied region growing to horizontal canopy layers of 2.5 m thickness to derive crown projection area. Based on the results presented in their study it is not possible to judge the accuracy of crown segmentation and the summary variable crown projection area was not well enough correlated with ocular measurements.

TLS and automatic segmentation of tree crowns can be used in conifer stands, if stand density is low, for example due to thinning (Yrttimaa et al. 2020b), and the objective is only to analyze size and shape of tree crowns with simple geometric shape models. For more detailed analysis of crown shape and eccentricity influenced by neighbors, the resolution is too low. In dense stands, obstructions and assignment problems during the automatic segmentation will cause many errors.

Visibility in forest stands varies with stand density. Low point cloud and voxel density in upper crowns and canopy are frequently reported (Van der Zande et al. 2006) but more severe in conifers due to occlusion, causing problems to describe conifer tree crowns in forest stands with TLS (Bayer et al. 2013; Fang and Strimbu 2019; Hilker et al. 2010; Pyorala et al. 2018a, b). Combining TLS data with point clouds from drone images (Puliti et al. 2020; Saarinen et al. 2020) or from airborne laser scanning (Hilker et al. 2010; Lovell et al. 2003) might make it possible to generate more detailed descriptions of conifer crowns.

Seeds in our region growing algorithm were derived from field measured stem position and size. Automatic detection of tree stem positions and size from laser point clouds is a well elaborated method in many applications. It should therefore be possible to apply our crown segmentation in plots with less field data. The challenge of detecting stems and their diameters for spruce trees with large amounts of retained dead branches could likely be solved in that context. However, detection of 100% of the trees is a prerequisite for successful crown segmentation. Automatic tree stem detection might also solve the problem of unsegmented crowns of neighboring trees outside the sample plot for assignment errors of plot trees in our analyses, if the point cloud outside the plot is still dense enough for this task. Further research is needed to solve these details for the intended application.

Crown models

Despite this and many other studies reporting on sparse TLS point clouds in the upper canopy of conifer stands after plot-level scans (Figs. 1, 5 and 6), the description of individual tree crowns for growth and yield studies achieves rather high precision, allowing estimation of crown size, shape, and eccentricity in young conifer trees with their rather regular crown shapes. The important variables to describe crowns of young conifer trees are apparently scanned with sufficient precision, i.e., tree height (Fig. 3) (Dassot et al. 2011; Fleck et al. 2011; Jacobs et al. 2020; Seidel et al. 2011, 2015; Yrttimaa et al. 2020b), maximum crown expansion (Fig. 7) (Fleck et al. 2011), and the height of maximum crown expansion (Fig. 9). The point cloud for those variables is mostly at the crown base and therefore closer to the scanner positions and denser. Only in the case of the tree’s leader defining tree height, the point cloud is often sparse in the upper crown. However, leading shoots are less obstructed by branches in the immediate vicinity and spaced with sufficient distance and therefore visible from many viewpoints. Only few laser hits on the leader might be enough to allow tree height estimates with little systematic errors

Maximum crown expansion (or crown projection area) and height of maximum crown expansion (or crown base) have often been reported to deviate substantially from sight-based measurements (Fleck et al. 2011; Seidel et al. 2011, 2015). Most often the discrepancy between the different estimation methods is caused by simplifying assumptions about crown geometry in sight-based methods. For crown projection area or crown diameter, shape assumptions and a limited number of measured crown radii in fixed or variable directions, relative to the stem or a crown centroid, all affect the sight-based estimates (Fleck et al. 2011; Seidel et al. 2015). For height to the base of the living crown, many definitions exist and still leave substantial elements of judgement to the field operators. TLS-derived crown base heights allow more detailed and objective estimates, but fail to identify living foliage as a basis for these decisions in most plot-level scans (Fig. 9), leading to bias and random errors in the estimation of height to the crown base and crown length compared to sight-based methods (Ferrarese et al. 2015).

Estimated crown metrics and crown shape reported here might be biased due to the sample only containing trees without segmentation errors and therefore preferably trees without close neighbors (Ferrarese et al. 2015).

The crown shape model (Rautiainen et al. 2008) used in our study described the upper crown down to maximum crown expansion (Fig. 4) sufficiently well for Norway spruce and Scots pine, irrespective of tree size. However, the cylindrical lower crown below the maximum crown expansion of Norway spruce is less well described by this model. Difficulties to estimate the height of maximum crown expansion in this cylindrical part without information about living foliage contribute to this problem of TLS data.

Horizontal crown eccentricity is not represented by the concentric crown layer model in our study. It might be possible to describe eccentricity in the lower crown, where point clouds are sufficiently dense. However, in the upper crown, gaps in the point cloud caused by occlusion (Fig. 6) prevent a reliable description of crown eccentricity.

Simple concentric crown layer models, like the one presented here, might be a method to correct for sparse TLS data in the upper canopy and arrive at realistic descriptions of crown shape also in the upper crown. However, there are no data available to test this assumption. The low spatial resolution of voxels (0.1 m), layer thickness (0.5 m), and direction sectors (20 per layer) in the crown model are in contrast to the very detailed TLS point cloud and the detailed models fitted to deciduous trees or open grown trees in other studies. More advanced crown models for conifer trees in dense stands will only be possible if the point density in the upper canopy can be increased substantially.

Conclusions

With the methods applied in our study, we were able to generate many variables of interest describing conifer tree crowns. However, major challenges remain to be solved for a complete description of all tree crowns per stand. Even in thinned stands, occlusion leads to point clouds that are too sparse for a detailed description of irregularly shaped crowns. Automatic tree crown segmentation is very often hampered by close vicinity of crown elements from neighbors, causing misassignments in our but also in many other algorithms. Identification of a crown base is difficult in the field but even harder in TLS point clouds due to difficulties to distinguish living and dead branches.