top of page
GeoWGS84AI_Logo_edited.jpg

How to Process Drone Images into Orthomosaics Using OpenDroneMap

  • 1 day ago
  • 8 min read

Drone imagery has become a vital component of providing high-resolution geospatial data for surveying, mapping, construction, agriculture, mining, environmental surveillance, and infrastructural inspection purposes. However, a single photograph taken from the air cannot help in making a precise map. The photos need to be processed using photogrammetric software to determine the position of the camera, create a 3-D surface, and orthorectify the image.


OpenDroneMap (ODM) is a photogrammetry package used to turn drone and aerial photos into geospatial products such as orthophotos, digital surface models (DSM), digital terrain models (DTM), point clouds, and texture 3-D models. In this tutorial, I will explain how to process drone photos into orthophotos using the ODM package.


Drone Images into Orthomosaics Using OpenDroneMap
Drone Images into Orthomosaics Using OpenDroneMap

What Is OpenDroneMap?


OpenDroneMap is an open-source software ecosystem designed for working with aerial images. The software uses photogrammetry and computer vision to build geographical information out of overlapping photos taken by drones, planes, balloons, and other photographic platforms.


The OpenDroneMap ecosystem consists of the following components:


  • OpenDroneMap - the primary photogrammetry command-line toolkit

  • WebODM - a web-based graphical interface to manage processing tasks

  • NodeODM - a processing engine and API service

  • PyODM - a Python library to communicate with ODM processing nodes

  • ClusterODM - a solution for distributing processing load on multiple machines

  • CloudODM - cloud infrastructure for processing tasks


For many users, WebODM is one of the most convenient ways to process drone images as it is accessible via the browser and utilizes the OpenDroneMap processing engine at the same time.


Understanding Orthomosaics


An orthomosaic image is a geometrical correction of aerial images obtained using overlapping pictures. An orthomosaic differs from a normal drone picture in that it is adjusted for:


  • Camera angle

  • Distortion caused by the lens

  • Distortion caused by perspective

  • Terrain elevation

  • Overlap

  • Geographical location


The spatial coordinates of each pixel depend on a coordinate reference system (CRS). As a result, the final output can be used in GIS software like QGIS, ArcGIS, Global Mapper, LizardTech GeoViewer, etc.


GeoTIFF format is often used for exporting orthomosaics. It stores geographic coordinates in a raster file.


How OpenDroneMap Creates an Orthomosaic


OpenDroneMap involves the following stages in its photogrammetric workflow:


Drone Imagery → Feature Detection → Image Matching → Bundle Adjustment → Sparse Point Cloud → Dense Point Cloud → DSM/DTM → Orthorectification → Orthomosaic


Every stage above helps achieve an orthomosaic with high positional accuracy and quality.


  1. Acquisition of the Drone Imagery


The process of acquiring orthomosaic imagery begins with good flight planning and capturing of images. There needs to be adequate overlap of photographs to allow the software to detect common features.


Standard parameters of imagery include:


  • Front overlap of 70% - 85%

  • Side overlap of 60% - 80%

  • Nadir view is used for creating an orthomosaic

  • Maintaining constant flight altitude, which ensures relatively uniform ground sampling distance

  • Maintaining constant camera settings whenever possible to minimize variations in exposure


When mapping is done with a high level of detail, the flight altitude is reduced to minimize Ground Sampling Distance.


For example:


  • When 2 cm GSD is used, it gives approximately 2 cm per pixel spatial resolution.

  • When 5 cm GSD is used, it gives approximately 5 cm per pixel spatial resolution.


However, reducing flight altitude increases the number of images and total processing requirements.


The images should have GPS data whenever possible. RTK- or PPK-enabled drones will provide an improvement in georeferencing accuracy since they ensure relatively precise camera location.


  1. Installing and Configuring OpenDroneMap


Several ways to use OpenDroneMap are available.


Using WebODM


WebODM is the way to go for those preferring graphical user interfaces. The program can be run either locally or on a remote server with the help of containers.


The common process includes:


  • Installing Docker and Docker Compose.

  • Getting the WebODM source code.

  • Running the application.

  • Accessing the WebODM interface via a web browser.


Features of the WebODM interface allow you to:


  • Create projects

  • Upload drone images

  • Configure processing options

  • Import Ground Control Points

  • Manage processing tasks

  • Download orthomosaics and other results.


NodeODM and ClusterODM may be used for distributing the processing among multiple systems in case of enterprises or large-scale projects.


  1. Sorting and Uploading Drone Images


Prior to processing, images must be sorted and non-relevant files removed.


An image dataset usually contains:


  • Unedited drone photographs

  • EXIF metadata

  • GPS coordinates

  • RTK or PPK position data if available

  • Ground Control Points data

  • Camera calibration data


Do not edit or recompress your images prior to processing since this may result in EXIF data loss or a decreased number of image features.


Upload images as a new project in WebODM.


WebODM will analyze the image metadata and get the dataset ready for processing.


  1. Ground Control Points Configuration


Ground Control Points (GCPs) are ground-based reference points that are employed to increase the precision of the photogrammetric model.


Usually, the GCP includes:


  • Point ID

  • Easting or longitude

  • Nothing or latitude

  • Elevation


Coordinates should be collected using an appropriate coordinate reference system and methods.


For survey-grade mapping, GCP coordinates could be measured using the following:


  • GNSS RTK receiver

  • PPK GNSS workflow

  • Total station

  • Survey control network


Then, the GCP file is loaded in OpenDroneMap, and the corresponding targets are recognized on multiple images.


Additionally, for high-precision projects, checkpoints should be used. Checkpoints are measured separately from GCPs and do not influence the optimization of the photogrammetric model. Therefore, they could be used for checking mapping accuracy.


A combination of RTK/PPK drone position and properly placed GCPs will provide a substantial increase in absolute accuracy.


  1. Processing Options Configuration


OpenDroneMap software provides a lot of parameters that influence the speed of processing, the quality of results, and the amount of required resources.


Key parameters include:


Image Resize


The image resize parameter defines the maximum image size used in processing.


Processing images at full resolution provides greater detail but requires much more:


  • RAM

  • CPU

  • Disk space

  • Processing time


Reduction of the image size will provide faster processing but decrease the level of detail of dense reconstruction.


For big projects, it may be necessary to find a balance between image resolution and computational resources.


Feature Quality


Feature quality helps to determine how much and what quality of visual data will be taken into account when performing image matching.


It might provide better reconstruction of the 3D model in a complicated environment at the cost of higher computational expenses.


Point Cloud Quality


The point cloud quality option determines the density of the resulting point cloud.


Using higher values for point cloud quality results in:


  • Better detail of surfaces

  • Better accuracy of the resulting 3D reconstruction

  • Better orthorectification


However, better settings take significantly more computation resources and memory.


DSM and DTM Extraction


A Digital Surface Model (DSM) contains elevations of surfaces such as:


  • Buildings

  • Vegetation

  • Vehicles

  • Terrain

  • Other objects


A Digital Terrain Model (DTM) tries to produce elevations of the bare-earth surface by classification and filtering of non-ground objects.


For normal aerial images, the creation of a DSM is usually necessary for orthorectification.


Coordinate Reference System


Choosing the right coordinate system is very important.


The CRS of the output model may be:


  • WGS 84 geographic coordinates

  • UTM coordinate system

  • Projected local coordinate system

  • National coordinate system


A projected CRS is preferable for engineering, surveying, and distance/area calculations compared to latitude/longitude coordinates.


  1. Image Feature Detection


As part of processing, OpenDroneMap detects distinct image features.


Such features can include:


  • corners;

  • edges;

  • textures;

  • buildings;

  • road markings;

  • rocks;

  • other features visible.


The same features are found in overlapping images.


Feature detection is one of the most critical steps in photogrammetry since the software needs to know which pixels in the images correspond to the same physical places.


In case the dataset does not have enough texture or overlap, the process of image matching fails.


Possible issues are:


  • surfaces of water bodies;

  • dense repeating patterns;

  • terrain without any features;

  • motion blur;

  • under/overexposure;

  • not enough overlap of images.


  1. Image Matching and Camera Calibration


After image feature detection, OpenDroneMap matches photographs and finds matching features.


The software builds an image connectivity graph using overlapping photographs.


It estimates the following:


  • relative position of cameras;

  • orientation of cameras;

  • properties of lenses;

  • 3D coordinates of matching features.


This results in the generation of an initial sparse point cloud.


A sparse point cloud consists of 3D points recovered by the intersection of camera rays.


  1. Bundle Adjustment


Bundle adjustment is a mathematical optimization procedure that simultaneously optimizes the following:


  • Camera positions

  • Camera orientations

  • Lens parameters

  • Coordinates of 3D points


Bundle adjustment aims at minimizing the reprojection error between observed image features and reconstructed 3D geometry.


An example of such optimization can be expressed by the following formula:


Minimize Σ ||xᵢⱼ − Pᵢ(Xⱼ)||²


Where:


  • xᵢⱼ – observed image feature

  • Pᵢ – camera projection function

  • Xⱼ – reconstructed 3D point.


As a result, optimized camera network and sparse reconstruction are achieved.


GPS coordinates of the drone and GCP observations can be used in the bundle adjustment optimization procedure.


  1. Dense Point Cloud Reconstruction


Following the camera alignment, OpenDroneMap produces a denser reconstruction of the scene.


A dense point cloud may contain millions or billions of 3D points depending on:


  • Image resolution

  • Size of the project

  • Settings

  • Hardware available


A typical point consists of:


  • X coordinate

  • Y coordinate

  • Z coordinate

  • RGB color information


A dense point cloud reflects physical surfaces of objects captured by drone imagery.


Possible uses of dense point clouds include:


  • Topographic mapping

  • Volume calculation

  • Modeling of the surface

  • Visualization in 3D

  • Reconstruction of buildings

  • Analysis of vegetation


  1. Creation of the Digital Surface Model


From the dense point cloud, a raster surface model will be created.


OpenDroneMap creates the Digital Surface Model (DSM), which is the representation of the elevation of the visible surface.


The DSM gives the elevation data needed to compensate for any distortions on account of terrain or objects.


Without orthorectification, some effects are observed:


  • Tall buildings might be leaning away from the center of the image.

  • The terrain would result in a positional shift.

  • There may be positional displacements for trees.

  • Accuracy of the features between images would be affected.


It would be helpful in projecting each image to the reconstructed surface.


  1. Orthorectification of the Drone Images


Orthorectification involves correction of the aerial images based on:


  • Camera geometry

  • Exterior orientation

  • Interior orientation

  • Surface elevation

  • Coordinate system information


The source photographs are projected on the surface that was reconstructed.


Each pixel will be converted from image coordinates to geographic/projected coordinates.


This involves:


  • Terrain displacement

  • Perspective distortion

  • Camera orientation

  • Elevation differences


This is done to create geometrically corrected image layers.


  1. Generation of the Orthomosaic


Upon completion of the orthorectification process, the OpenDroneMap software merges the corrected images into a seamless raster.


This process is referred to as mosaicking.


It entails selection and combination of pixels from overlapping photos to produce a smooth output.


Some of the techniques used in the production of the orthomosaic include:


  • Optimization of seamlines

  • Image blending

  • Color correction

  • Management of overlap

  • Raster reprojection


Some of the products generated after this process are:


Geotiff (tif)


The orthomosaic may then be imported into GIS and remote sensing applications.


OpenDroneMap Best Practices


To get reliable results, follow these best practices:


  • Plan flights with enough forward and side overlap;

  • Take nadir images for conventional orthomosaic mapping;

  • Maintain constant flight altitude whenever possible;

  • Use clear images of high quality;

  • Preserve EXIF metadata;

  • Use RTK or PPK positioning systems for better georeferencing;

  • Include Ground Control Points for accurate projects;

  • Include independent checkpoints for assessing accuracy;

  • Use an appropriate projected coordinate system;

  • Set up processing parameters depending on the size of your project and computer resources; and

  • Examine the point cloud, DSM, and orthomosaic before handing the result over.


OpenDroneMap is a free and highly efficient workflow allowing you to turn overlapping aerial photographs taken by a drone into an orthomosaic map and other geospatial datasets. OpenDroneMap processing consists of image acquisition, feature detection, camera calibration, bundle adjustment, dense point cloud generation, surface modeling, orthorectification, and image mosaicking.


The quality of the orthomosaic depends on the number of overlaps, camera quality, accuracy of GPS coordinates, Ground Control Points, processing parameters, and available hardware resources. If used correctly, OpenDroneMap creates detailed georeferenced images that can be used for GIS analysis, surveys, construction, agriculture, mining, environmental studies, and other purposes.


Combining the right drone flight planning with georeferencing and photogrammetric processing will help you turn hundreds or even thousands of aerial images into a single orthomosaic.


To learn more about OpenDroneMap and its geospatial capabilities, click here.


For more information or any questions regarding OpenDroneMap, please don't hesitate to contact us at


USA (HQ): (720) 702–4849


(A GeoWGS84 Corp Company)



 
 
 

Comments


bottom of page