Oblique and cross-grid UAV imaging flight plans – a sneak preview of the analysis of resulting 3D point cloud properties for deciduous forest surfaces – low cost 3D mapping with the Phantom 4R (RTK)

Flight plans / photogrammetry / structure from motion / Metashape / oblique imaging / 3D point clouds / Lastools / Phantom 4R RTK / beech tree / deciduous trees / forest stand structure

Fig.: Point cloud profile subset of a fused leaf-off (31.3.21) and leaf-on (3.6.22) point cloud derived from oblique flight strip plans with the Phantom 4RTK. Landscape park region “Klein Glienicke”, Berlin, Germany.

“Oblique and cross-grid UAV imaging flight plans – a sneak preview of the analysis of resulting 3D point cloud properties for deciduous forest surfaces” by Sören Hese.

Various flight plan configuration options exist for UAV based photogrammetric data acquisitions with SfM approaches. Especially for discontinuous surfaces the imaging configurations can make a difference for the resulting point cloud density and 3D properties of the point cloud. This work tries to quantify the differences for a deciduous beech and oak tree dominated forest with data captured with a Phantom 4 RTK in different setups.

The test site is situated within the historical landscape park area “Klein Glienicke” in the south-west of Berlin. This area belongs to the UNESCO world heritage sites of Berlin/Brandenburg.

The leaf-on flights were performed in 78 m altitude with 85/85 percent image overlap using 60 degrees oblique viewing angles for oblique imaging. The leaf-off flight was performed in 120m altitude. Direct sunlight light illumination situation with data captured between 11AM and 1PM CEST. Overcast conditions were captured June 29th for comparison. Processing was done using keypoint and tiepoint limit set to “off” and full resolution processing with 20 MP image files, no point cloud (depth) filtering. Full processing parameters are listed in table 1.

P4RTK Flight &
Processing Parameters
Leaf-On flight
direct sunlight
Leaf-On flight
Leaf-Off flight 31.3.2021
direct sunlight
Align qualityhigh (full resolution images)highhigh
Keypoint limit 0 (off)0 (off)80 000
Tiepoint limit0 (off)0 (off)10 000
Dense point qualityfull res. (20 MP)full res. (20 MP)full res. (20 MP)
Dense point cloud depth filteringno depth filteringno depth filteringno depth filtering
ProjectionWGS84 UTM33NWGS84 UTM33NWGS84 UTM33N
Build DSM (digital surface model)hole filling=nohole filling=nohole filling=no
No. of imagesN:334, DGN:649, O2:508, O4:1020, O4N:1268, O4DGN:1669.N:240, DGN:651, O2:500, O4:1018, O4N:1266, O4DGN:1669. O4N: 1055
Flight altitude (pixel res.)78 m (2 cm)78 m (2 cm)120 m (2.5 cm)
Image overlap 85/8585/8585/85
Viewing angle (degree)90 Nadir/60 oblique90 Nadir/60 oblique90 Nadir/60 oblique
No. points in models (millions)578, 752, 728, 1006, 1101, 1281456, 787, 739, 1063, 1165, 1253472
Tab 1: P4R image flightplan data and processing in Metashape 1.8.3

Fig. 1: True Ortho P4M RGB (Phantom 4 Multispectral) visualization of the subarea used for point cloud analysis in RGB:532 combination (NIR/red/green channel) (8 cm, WGS84 UTM33N).

Fig. 2: Digital surface model derived from P4R O4DGN-flightplan dense point cloud data – subarea and profiles used for the point cloud comparisons (spatial resolution 2 cm, without interpolation (allowing DSM gaps) WGS84 UTM33N).

The following flight plans were investigated:

  • Nadir flight tracks (85/85) (N) 90 degree Nadir viewing only – standard flight mode,
  • Double Grid Nadir flight tracks (85/85)(DGN), 90 degree Nadir viewing (cross grid mode),
  • Oblique 2 directions – double grid oblique (85/85)(O2), 60 degree oblique viewing (cross grid with 2 viewing directions),
  • Oblique 4 directions – forward and backward viewing with two double grids (NWSE viewing) (85/85) (O4) , 60 degree oblique viewing (viewing in 4 directions),
  • Oblique 4 directions (NWSE viewing) with additional one Nadir flight track (85/85) )O4N), 60 degree oblique viewing and 90 degree Nadir, (same as O4 but with additional N),
  • Oblique 4 directions (NWSE viewing) with additional Double Grid Nadir flight tracks (85/85) (O4DGN), 60 degree oblique viewing and 90 degree Nadir viewing (combination of DGN and O4).

The resulting P4RTK geo-positioned jpegs were directly processed in Metashape 1.8.3 in full resolution mode (alignment quality “high”, dense point cloud “ultra high” setting) with no tiepoint or keypoint limitations. The derived dense point clouds were processed without depth filtering, projected to WGS84 UTM33N and sliced into two transects – each 1 m wide using lastools: las2las -keep_profile. One transect goes from south to north through the forested region, the other from east to west. Within the transects the ground height points were classified to id=2 using lasground_new and the number of ground points was calculated for all flight plans and transects. The transects were also directly visualized with lasview.

The different flight plans lead to point clouds with different densities in the 1 m wide profiles:

Flight plan type
| No. of points in profile I (NS)
(ground points)
| No. of points in profile II (EW)
(ground points)
N898 891 (91 295)1 128 998 (26 961)
DGN1 232 924 (89 188)1 483 073 (35 850)
O21 310 647 (92 780)1 717 351 (60 585)
O41 737 963 (107 699)2 319 041 (74 480)
O4N1 889 683 (113 294)2 507 219 (62 256)
O4DGN2 213 784 (123 077)2 809 812 (78 421)
Tab. 2: Number of points in profile I and profile II for all flight plan configurations; illumination: direct,
Number of ground points (processed with lasground_new -hyper_fine -all_returns for all
flight plan configurations. Highest no. of ground points with the O4DGN configuration.

The following lastools processing steps were performed to generate the CHM point cloud and starting analysis on the CHM point cloud:

Cutting the full point cloud into a subset for the multiview angle analysis were full overlap of all images in guaranteed. This is easily done with lasclip.

lasclip -i lasfile.laz -poly mvsubarea.shp -o out.laz

Cutting the subarea point cloud into slices for profile analysis (and later into tiles) and for further CHM processing (the full model is to big for TIN based CHM processing in lasground_new:

las2las -i input.laz -keep_profile 371056.154 5809332.601 370646.508 5809307.474 8 -o out.laz

Filtering: we filtered the extreme point cloud outliers for further processing to CHM heights. This is kind of difficult since we only want to remove clear outlier – within the dense point cloud these outlier usually come in clusters so removing these needs some specific settings especially with the “-isolated” value. In this dataset the isolated clusters have a lot of points but they are far away from the main terrain surface and canopy volume. Grid boxes of size 1x1x1 m are only point cleared when neighbouring boxes all have less than “-isolated”. This is clearly a powerful parameter and here the higher this value the stronger the filtering but it might leave some noise close to the below terrain heigh level. Reducing the step value by 50% (box grid size) with interactive control was a strategy that was successful but might not be easily transferrable to other point cloud datasets and you have to readjust the “-isolated value here also by factor .25 since its volumen and not side length.

lasnoise -i file.laz -v -remove_noise -isolated 300 -step_xy 1 -step_z 1 -o outfiltered.laz

lasnoise -i file.laz -v -remove_noise -isolated 80 -step_xy 0.5 -step_z 0.5 -o outfiltered.laz

Canopy Height Model calculation on profiles: finally deriving the CHM profiles was done using lasground_new with testing the -hyper_fine / -fine / – coarse settings and using -all_returns and without. Here we directly write the new difference height into the new z value field and generate the CHM point cloud. The important control parameters in lasground_new are “-step”, “-offset” and “-refine”. The -spike options are usable to filter out some noise here but I prefer to remove noise in lasnoise. Obviously the naming convention of input output files is kind of crucial to not get totally confused when this is done for the various flight modi transects.

lasground_new -i file.laz -fine -all_returns -step 25 -compute_height -replace_z -o CHM.laz

lasground_new -i tiles/o4n/*.laz -hyper_fine -v -ignore_first_of_many -ignore_intermediate -step 10 -offset 0.09 -odir tiles\o4n-g -olaz -cores 20 // to directly convert to chm: -step 25 -compute_height -replace_z -o CHM.laz

lasinfo -i classified-groundfile.laz -o groundfile.lasinfo.txt

Fig. 3: Point cloud profiles (350 m transect with 1 m width) from the NS-transect with the 6 different flight plan modi configured (N=Nadir overlapping flight strips, NDG=Nadir (Cross) Double Grid /overlapping Nadir flight strips in grid formation, O2= Oblique double Grid flight strip, O4= Oblique Grid flight with foreward and backward viewing directions – 2 double grid formations, O4N= O4 with additional Nadir grid, O4DGN= O4 with additional Nadir Double Grid flight strips). Follow the link to open the full resolution profile figure.

Quantitative comparison of the point clouds can be done nicely with lasinfo, lascanopy and lasvoxel. Lasinfo writes a summary of the laz file (min/max/no point/point density/various attributes) into a text file. lascanopy is creating a lot of different canopy metrics based on polygons or grid descriptions, and lasvoxel does a voxelization with a defined square size and counting of intensities – however lasvoxel writes a laz file. The resulting lazfile can be used to store the number of points per voxel with the -step-z-infinite parameter. This saves the number of returns for all vertical voxels in one grid cell to the intensity value.

lasvoxel -i input.laz -step-z-infinite step_xy 0.5 -o VOXEL-InfZ-out.laz

The intensity is now useful to compare the number of point returns in one voxel column. This is done by gridding the voxel laz file to a tif file. In order to save the intensity as grey value this is done with the -intensity value:

las2dem -i VOXEL-InfZ-out.laz -o DEM-VOXEL-InfZ-out.tif -intensity

Comparison of point densities can now be done easily with the raster tif formats. For this work difference raster files were created with the simple Nadir flight modi (N) as the reference showing spatially where the point density is changed most between the different flight plan modi (Fig. 4 and Fig. 5).

Fig. 4: Point number difference (DGN-N) (increase) calculated per 0,5 x 0,5 m infinite voxel column for the full 3D voxel column. Difference between the DGN (double grid Nadir) and Nadir flight plan modus (DGN-N). The double grid Nadir flight plan has only a minor impact on point density (when compared with the other flight plans).
Fig. 5: Point number difference (increase) calculated per volume 0,5 x 0,5 m infinite voxel column for the full 3D voxel column. Difference between the O4DGN (4 oblique double grid Nadir) and Nadir flight plan modus (04DGN-N). High differences of point numbers are mapped especially at the crown edges and stand borders where below crown ground surface and sub crown structure is also mapped by the point cloud – in opposite to the standard Nadir flight plan point cloud numbers. The amount of points is however also changed within the crown surface structure.

For the full CHM point cloud calculation the original point clouds were subsetted to the study region, then filtered for outlier and indexed. Indexing is useful to speed up the tiling process. Tiling was then done to 100×100 m tiles to ease the lasground_new process. Both processes can be accelerated on multiple las input files/tiles with -cores 20 parameter (if you have multiple input laz files – single file processing is not accelerated). The ground normalized laz tiles were finally merged together with lasmerge to form one laz file again. Unfortunately lasground_new cannot do this directly in one file without hitting the memory allocation limits with these bigger point clouds.

For this work we heavily relied on lascanopy since it was exactly designed for CHM point cloud data. lascanopy creates canopy density and canopy cover / gap fractions, various height statistics. Its therefore also useful for the comparison of the resulting point cloud models of the different flight modi.

Online visualization can be easily prepared with laspublish – it uses the potree library and directly generates an html index file for upload to a website. However this is likely only usefull when combined with lasthin since most of the point clouds are just too big for smooth visualization.

Leaf-Off mapping of deciduous forest structure holds some potential for the processing of terrain surface height under deciduous forests but with enough spatial resolution the resulting surface model also renders the leaf-off tree branch structure. Oblique 3D flight modi clearly have some potential here since the resulting point surface is very discontinuous and has a lot of depth. In the following figure a leaf-off model and the O4DGN point model was combined (extracted from a 16 m wide leaf-off transect). The resulting point cloud model clearly renders below canopy structure and as a combined data set this resembles Terrestrial Laser Scanning (TLS) point cloud data – although clearly lacking the various internal/horizontal leaf layers (the internal leaf structure is not detected in these combined point cloud models and the fused model is a multitemporal dataset from different dates – 15 months apart.

Fig. 6: Fused point cloud profile visualization (North-South profile I) with leaf-on point cloud from O4DGN flight plan and leaf-off from O4N flight plan configuration. Profile depth: leaf-off: 16m, leaf-on: 4m. Profile length: 355m. leaf-off (31.3.21) and leaf-on (3.6.22)
Fig. 7: Fused point cloud profile visualization (East-West profile II) with leaf-on point cloud from O4DGN flight plan and leaf-off from O4N flight plan configuration. Profile depth: leaf-off: 16m, leaf-on: 4 m. Profile length: 355m. leaf-off (31.3.21) and leaf-on (3.6.22).

For this kind of analysis an airborne lidar & TLS dataset as a reference or accuracy benchmark dataset is clearly needed. We hope to have this sensor available by end of summer 22 but the equipment proposal is still in evaluation so lets keep fingers crossed.

This work was performed with Metashape 1.8.3 and Lastools (lastools academic license for FSU Jena – Institute of Geography). Flights were performed within the EDR-4 no-fly zone in Berlin with BLA permission for 2022 for the region Klein-Glienicke.

Update: overcast (NS and EW) transect point cloud numbers:

Flight plan typeNo. of points in profile I (NS)
Illumination: overcast (ground points)
No. of points in profile II (EW)
Illumination: overcast (ground points)
N770 754 (114 240)1 004 728 (72 877)
DGN1 275 930 (151 642)1 584 001 (70 562)
O21 433 459 (117 120)1 620 369 (72 146)
O41 987 933 (124 121)2 433 253 (88 324)
O4N2 168 572 (134 152)2 592 288 (85 149)
O4DGN2 253 685 (146 910)2 746 086 (81 587)
Tab. 4: Number of points in profile I and profile II for all flight plan configurations, illumination: diffuse, number of ground points (processed with lasground_new -hyper_fine -all_returns for all flight plan configurations. Highest no. of ground points with the O4DGN / O4 configuration.

All flight plans with overcast illumination conditions lead to higher point densities in the infinite voxel column statistics and in transect analysis (compare Tab. 2 and Tab. 4). However the complex oblique flight plans (O4DGN) generate comparable point numbers in this transect analysis for both overcast and direct illumination. For terrain ground detection already the simple Nadir flight plan with overcast illumination conditions provides better detection results than the direct sun light illumination version.

(Preliminary)conclusions: so yes it seems as if the O4DGN mode ends up with the highest number of points. It is however unclear in how far all these points add to the overall accuracy of the vegetation structure representation. The oblique modes clearly render more ground height (especially under crown structure edges facing south) and for terrain model interpolation these modes clearly are preferable and the oblique modes also render the sides of isolated crown objects or stand borders more accurately, this also applies to stand gaps – and in consequence this renders a more complete 3D surface representation of the forest surface (especially in stands with open stand surfaces. If we look into the profiles and compare sub canopy surface points there seems to be more penetration into deeper layers of the canopy volume. The differences will be measured by horizontal slicing the ground height normalized point cloud model. This can only be done with a smaller subset of the point cloud since the full point cloud size easily exceeds the TIN based approach in lasground_new -> tiles … . An illumination direction related effect can be seen at the tree crown edges with the image plans that were done with direct sun illumination. Overcast conditions do not create this effect. The oblique flight modi generate more points at the south facing crown slopes. The overcast illumination conditions render more details of the terrain surface even with very basic Nadir viewing flight plans (Table 4) compared to the direct sun illuminated imaging flight plans and this also applies to the complexer O4/DGN modes. However the point cloud increase is less pronounced. Preliminary terrain model analysis from all these flight modes clearly shows that terrain height visibility is greatly improved with oblique viewing angles. Best terrain height mapping approach is however with the leaf-off situation.

This work is presented in more detail as “live oral” at ForestSAT 2022 in Session PS 1 – SpS 03: Applications of drones in forestry: lessons learnt and way forward. Location: Lecture Hall 2.

Sören Hese

Leave a Reply

Your email address will not be published. Required fields are marked *

Post comment