course header LV-UAV-Guide | Metashape Ortho+ - optimized processing of RGB images

Metashape Workflow via Ortho+

The Metashape Ortho+ menu provides essential scripts that simplify and optimize the manual metashape workflow Ludwig et al., 2020. The optimized workflow generates reproducible and automatically optimized products from the aerial images. Installation is seamless via Metashape’s scripting interface.
After the installation and the necessary restart of Metashape there is Ortho+ menu item in the Metashape menu bar.

Instalation of the toolbox

Linux/Mac: Download this repo and unzip it to ~/.local/share/Agisoft/Metashape Pro/scripts/

cd ~/.local/share/Agisoft/Metashape Pro/scripts
git clone https://github.com/gisma/MetashapeTools.git .

Windows: Copy the content of this repo to User/AppData/Local/AgiSoft/Metashape Pro/scripts

First things first - Load images

All functions are based on image data so first do always the following:

  1. Add the images you want to process to the chunk.
  2. Give the chunk a meaningful name.
  3. Save the project using a meaningful name

Note: You will be always ask if you want to perfrm the task for a singel chunk or all chunks. Choose wisely.

BestPractice

The BestPractice menu provides robust and well tested workflows that are primarily intended for processing large image data sets from (low cost) drone surveys. The problem that arises here is the huge amount of images with numerous starts and landings and a fixed continuous camera system (e.g. GoPro Hero 7, time lapse 2 sec). This way, 10k images are quickly collected, 80% of which are over sampled or of poor image quality and so on. The workflows identify low image quality and reduce the number of images by an inverse camera position calculation based on the preliminary surface model. This dramatically reduces the number of images, due to elimination of unusable taxiway and takeoff/landing image sequences. In addition the remaining cameras are activated and optimized. In this way, the quality and reproducibility can be significantly improved. At the same time, processing time is reduced by one to two orders of magnitude.

Orthoimage Workflow integrating Ground Control Points (GCPs)

It is obligatory that you run consecutively all three steps.

Step-1 Orthoimage-pre-GCP

After the script is finished you may need to manually remove the few remaining start and landing area pictures. Otherwise you will find at the launching place some artefacts. To do so just right-click on the position in the model and choose filter by point. Mark and remove all pictures with the launching pad and repeated launching and landing images.

The procedure is well documented. Dor instant watch this YouTube or follow this tutorial. Import your Ground Control Points (GCP) and align them manually in at least 4 images. Use about 30 % of the GCP as independent checkpoints by unticking the check box in the reference pane. Save your project.

Step-3 Optimize Sparsecloud

Performs an iterative optimisation of the sparse cloud to retrieve the best reprojection error. The tie pointcloud will be much more reliable for all later tasks

Step-4 Orthoimage-post-GCP

Finally you have a result that automatically tries to optimize the number of necessary cameras, minimize re projection errors in the tie point cloud (sparse cloud), re-arrange the cameras and thus produce an reproducible orthoimage on the (statistically) best possible spatial resolution.

Orthoimage-no-GCP

If you do NOT have Ground Control Points or not intending to squeeze the absolute position of the final product, you can run corresponding to the upper workflow, an one click production of optimized orthoimages. This maybe very useful if you have several repeated flights over an area and if you want to get an overview. Just put the image data of each flight in a seperate chunk and start the script Toolchain noGCP with the option to process all chunks.

This will do the following steps:.

Tools+

Reduce Overlap

Creates a low quality first alignment and sparse pointcloud and a smoothed (factor 10) mesh. Calculates then an inverse optimization of the needed images with the factor 8.

Densecloud

Calculates a dense point cloud

Orthoimage

If you do not want to optimize the camera positions and the sparse cloud you should choose Orthoimage. This includes the following steps:

It is recommended run beforehand the Optimize Sparsecloud script. This will print out a Reprojection Error for which the checkpoint error reach its minimum.

Utilities

Export Marker Error

Export the Marker Error to a csv file.

Export Tiepoint Error

Export the Tie Point Errors from the sparse pointcloud to a csv file. This means Reconstruction Uncertainty, Reprojection Error,Projection Accuracy, Image Count.

Orthomosaic Reproducibility

  1. Import the GCP and align them.
  2. Start the script Reproducibility This will compute a set amount of orthomosaics (default is 5), which later can be analysed in R.

Further Readings

The workflow above is strictly speaking a kind of black box. At least it is documented and you will find deeper information checking the scripts and reading the corresponding paper from Ludwig et al. 2020. The optimizations and experiences that are imparted in this course focus mainly on low and medium mountain forest areas. The presets and parameters are tailored to this and will not be optimal in every other setting.

Even more it makes sense to actively deal with a complex tool like Metashape. The resources below will give you an update on different workflows for different settings. They also describe the intensive interactive use of tools and steps that were only partially programmed in the scripts of Ortho+.

And please note that you will almost certainly find different and contradictory suggestions than the ones given in the course. Just try it out and feel free to report your findings in the comments below.