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.

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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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.
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.
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
Email: info@geowgs84.com
USA (HQ): (720) 702–4849
(A GeoWGS84 Corp Company)




Comments