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

Flight plans / Photogrammetry / Structure from Motion / Metashape / Oblique Imaging / 3D Point Clouds / Lastools / Phantom 4R RTK

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.

P4R Processing ParametersLeaf-On flight 3.6.2022Leaf-Off flight 31.3.2021
Align qualityhighhigh
Keypoint limit 0 (off)80 000
Tiepoint limit0 (off)10 000
Dense point qualityfull image resolution (20 MP)full image resolution (20 MP)
Dense point cloud depth filteringno filteringno filtering
ProjectionWGS84 UTM33NWGS84 UTM33N
Build DSM (digital surface model)hole filling=nohole-filling=no
No of imagesN=334, DGN=649, O4DGN=1669,
O4N=1268, O2=508, O4=1020
O4N=1055
Tab 1: P4R image flightplan data and processing in Metashape 1.8.3
Fig. 1: True Ortho P4M RGB 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 gaps) WGS84 UTM33N).

The following flight plans were investigated:

  • Nadir flight tracks (85/85) (N)
  • Double Grid Nadir flight tracks (85/85)(DGN)
  • Oblique 2 directions – double grid oblique (85/85)(O2)
  • Oblique 4 directions – forward and backward viewing with two double grids (NWSE viewing) (85/85) (O4)
  • Oblique 4 directions (NWSE viewing) with additional one Nadir flight track (85/85) )O4N)
  • Oblique 4 directions (NWSE viewing) with additional Double Grid Nadir flight tracks (85/85) (O4DGN)

The flights were performed in 90 m altitude with 85/85 percent image overlap using 70 degrees oblique viewing angle for oblique imaging. Direct sunlight light illumination situation with data captured between 11AM and 1PM CEST.

The resulting P4RTK geo-positioned jpegs were directly processed in Metashape 1.8.3 in full resolution mode (alignment quality “high”) 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 typeNo. of points in profile I (North-South)No. of points in profile II (East-West)
N898 8911 128 998
DGN1 232 9241 483 073
O21 310 6471 717 351
O41 737 9632 319 041
O4N1 889 6832 507 219
O4DGN2 213 7842 809 812
Tab. 2: Number of points in profile I and profile II for all flight plan configurations

Flight plan typeNo. of ground points in profile I (NS)No. of ground points in profile II (EW)
N9129526961
DGN8918835850
O29278060585
O410769974480
O4N11329462256
O4DGN12307778421
Tab. 3: 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.
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.

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 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: now we have to filter 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. It all needs some educated guessing and counter checks.

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: finally deriving the CHM 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 80m transects.

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

Describing the different CHM point clouds can be done nicely with lasinfo, lascanopy and lasvoxel. Lasinfo writes a summary of the las 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. 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 therefor also useful to compare 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.

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

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 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 – and in consequence this renders a more complete 3D surface representation of the forest surface. 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. Tests are running with a 60m and 100m wide transect from las2las.

Leaf-Off mapping of deciduous forest structure holds some potential for the processing of terrain surface height under deciduous forest but with enough spatial resolution the resulting surface model also renders the leaf-off tree branch structure. Oblique 3D flight strips 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).

Fig. 4: 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.
Fig. 5: 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: 3 m. Profile length: 355m.

For this kind of analysis a lidar 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. The rendering of the internal canopy structure should also be compared with TLS measurements during summer.

ParameterNDGNO2O4O4NO4DGN
No. images334649508102012681669
Aligned images
Point cloud size (after subsetting under AOI)
Dense point cloud size (after subsetting under AOI)
Point cloud RMS reprojection error0,93pix1,22pix0,97pix1,15pix1,22pix1,27pix

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.

The full picture will likely be published at ForestSAT 2022 in Berlin/review pending.

Sören Hese

Leave a Reply

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

Post comment