OpenDroneMap (ODM) transforms drone images into georeferenced maps, 3D models, and elevation data. Designed for industries like construction and agriculture, it offers tools for creating orthophotos, digital elevation models (DEMs), and point clouds. It's open-source, cost-effective, and supports Windows, macOS, and Linux via Docker. Users can choose between a free, technical Docker setup or a paid, user-friendly WebODM installer. Key features include:
- Outputs: Orthophotos, point clouds, 3D models, DEMs (terrain and surface models).
- Requirements: Minimum 4 GB RAM (for small datasets); recommended 16 GB+ for larger projects.
- Installation: Options for technical (Docker) or simple (WebODM Installer) setups.
- Processing Workflow: A 13-stage pipeline for converting raw images into usable data.
- Applications: Site management, volume calculations, land surveying, and agriculture.
ODM supports both small teams and large-scale projects, offering flexibility and precision for drone data processing.
Using WebODM to Process Drone Imagery (RTK or GCP) & Perform an Accuracy Assessment with QGis Part 1
System Requirements and Installation
To get OpenDroneMap up and running, make sure your system meets the necessary specifications. The number of images you plan to process will directly impact the memory and resources required.
Hardware and Software Requirements
The hardware requirements for OpenDroneMap depend on the scale of your projects. WebODM, a key component, needs enough memory to process datasets efficiently. Ensuring your system meets these requirements can help avoid delays.
Here’s what you’ll need:
- Minimum specs: A 64-bit CPU (2010 or newer), 20 GB of free disk space, and 4 GB of RAM. However, with just 8 GB of RAM, you’ll be limited to processing about 100 images.
- Recommended specs: A modern CPU, 100 GB of disk space, and 16 GB of RAM. These specs allow for smoother processing of 100–300 images.
Memory requirements increase with the number of images, as shown below:
Number of Images | RAM or RAM + Swap (GB) |
---|---|
40 | 4 |
250 | 16 |
500 | 32 |
1,500 | 64 |
2,500 | 128 |
3,500 | 192 |
5,000 | 256 |
For the best performance, use a multicore 64-bit CPU. Note that GPUs won’t improve processing speed, but a modern NVMe PCIe 4.0 disk can enhance swap/pagefile efficiency.
Operating system compatibility varies:
- Linux: Offers the best support.
- Windows: Requires Windows 11 or certain versions of Windows 10, with a 64-bit CPU supporting MMX, SSE, SSE2, SSE3, and SSSE3 instructions. WebODM installers won’t work on 32-bit systems.
- macOS: Needs macOS 12 or newer, supports Apple Silicon (M1+), and requires hardware from 2010 or later with virtualization support.
Choose an installation method that aligns with your technical skills and support preferences.
Installation Options
OpenDroneMap provides two main installation methods, each catering to different levels of expertise and support needs:
Installation Method | Technical Skill Required | Setup Complexity | Updates | Support | Cost |
---|---|---|---|---|---|
Docker Installation | Moderate | Medium | Manual via Git | Community forums | Free |
WebODM Installer | Minimal | Low | Automated | Professional support | Paid |
The Docker installation is community-supported and works across Windows, macOS, and Linux. It’s free but requires familiarity with Docker, Git, and Python. You’ll need to clone the WebODM repository from GitHub and follow platform-specific setup instructions:
- Windows: Install Git, Python 3 (add it to PATH), and Docker Toolbox (for older systems) or Docker for Windows (Windows 10 Professional or newer).
- macOS: Check virtualization support with
$ sysctl kern.hv_support
. Then, install Docker and Git. - Linux: Supported distributions include Ubuntu (recommended), CentOS, Debian, and Fedora. Install Docker, Git, Python, and Pip.
For a simpler setup, the WebODM Installer is a paid option that automates the process and includes professional support. This is ideal for organizations needing a reliable deployment without dedicating resources to technical troubleshooting.
If local hardware is limited, consider cloud processing for up to 3,000 images. For Docker on Windows and macOS, allocate 60–70% of your system’s memory to Docker for smooth performance.
Common Installation Problems
Even with proper setup, issues can arise. Here are some common problems and solutions:
- Network and firewall issues: Connectivity problems may occur if antivirus software or firewalls block GitHub access. Temporarily disabling these or using a mobile hotspot can help.
- Docker and virtualization issues: On Windows, ensure virtualization is enabled in your BIOS. If Docker doesn’t start, check system requirements and enable Hyper-V for Windows Professional versions.
-
Directory and path errors: Installation scripts may fail if commands aren’t run from the correct WebODM directory. If
webodm.sh start
fails, switch to the proper directory in Git Bash. -
Database connection errors: If you see errors like "could not translate host name 'db' to address", restart and run:
../webodm.sh down && ./webodm.sh start
- Python and Git configuration issues: Ensure Python, Git, and Docker are properly installed. On Windows, manually add Python to the system PATH if needed.
For large processing jobs, monitor available disk space - temporary files can quickly consume storage. If problems persist, restart your computer and rerun the installation script. The OpenDroneMap community forums are also a valuable resource for troubleshooting.
Preparing Drone Images for Processing
Getting your drone images ready for OpenDroneMap is a key step to achieving accurate results. The quality of your input data directly influences the final output, so dedicating time to proper preparation can save processing time and improve accuracy.
Image Formats and File Organization
OpenDroneMap works best with JPEG (JPG) and TIFF formats, supporting both 8-bit and 16-bit files. While PNG files might work, they often perform worse than JPEGs. If your images are in raw formats like DNG, you'll need to convert them first, as OpenDroneMap doesn’t process raw files directly.
To convert DNG files to JPG, use reliable tools such as ImageMagick, and if necessary, retain EXIF data with ExifTool. Organize your project files properly: set up a folder structure that includes a gcp_list.txt
, an image_groups.txt
, and an images
folder containing all your drone photos. For projects involving multiple flights or varying camera settings, the image_groups.txt
file helps link images to their respective groups, ensuring accurate processing.
Once your files are organized, focus on capturing high-quality images for the best results.
Drone Image Capture Guidelines
Capturing images correctly is critical for successful processing. Image overlap is a major factor - aim for at least 70% overlap, with 60% front and 40% side overlap as a baseline. Maintain a flight altitude of 300–400 feet above ground level (AGL) for optimal results.
Ground Sample Distance (GSD), which measures the resolution of your images, directly affects accuracy. A lower GSD (e.g., 1 cm) results in higher-resolution images. Generally, horizontal accuracy falls within 1–2 times the GSD, while vertical accuracy ranges from 1–3 times the GSD, with errors averaging closer to 1× GSD across all axes.
Flight parameters also play a role in image quality. Use the fastest shutter speed possible to reduce motion blur. For instance, a fixed-wing drone flying at 11 m/s moves 1.1 cm during a shutter speed of 1/1000 of a second. To avoid blurry images, ensure your drone covers less than one-third of the GSD between captures.
Lighting conditions are equally important. Overcast skies provide soft, even lighting that minimizes shadows and glare. If flying on a clear day, schedule flights between 10 AM and 2 PM when the sun is highest to reduce shadow interference. For thorough coverage, consider using cross-hatch patterns to capture images from multiple angles, and incorporate off-nadir and oblique shots to document side views and facades effectively.
With well-captured images, you're ready to move on to the upload process.
Uploading Images to OpenDroneMap
Before uploading, check your images for sharpness, proper geolocation, and consistent formatting. Ensure flight visibility was clear to avoid issues caused by dust, fog, or poor lighting. Ideally, choose evenly overcast or clear skies with low wind for consistent illumination.
Pre-processing your images can further improve results. Look for minimal noise, distortion, or blur, and verify accurate geolocation data through GPS or manual tagging. Some users enhance images by adjusting color curves or contrast in batch using tools like XnView, which can aid in reconstruction.
Removing lens distortion and standardizing image formats can also improve outcomes. Consistent camera orientation and altitude during capture are essential, and creating masks to exclude unwanted areas, like the sky, may be helpful.
When you're ready to upload, place all photos into the images
folder within your project directory. If you're working with multiple flight sessions or camera settings, group related images logically for smoother processing.
For industrial projects requiring detailed documentation, platforms like Anvil Labs offer hosting and management for OpenDroneMap outputs. These platforms provide secure data sharing and advanced visualization tools for 3D models, orthomosaics, and even thermal imagery, accessible across devices and teams.
sbb-itb-ac6e058
Processing Workflow in OpenDroneMap
When you upload your drone images, OpenDroneMap kicks off a detailed 13-stage workflow to process the data. This system ensures smooth monitoring, troubleshooting, and adjustments throughout.
Processing Pipeline Overview
OpenDroneMap's 13-stage pipeline transforms raw drone images into refined geospatial products. Each step builds on the previous one, creating outputs that are ready for practical use.
It starts with Load Dataset (dataset), where your images are uploaded and validated. For larger datasets, the system splits the data for parallel processing and later merges it seamlessly.
Next is Structure From Motion (opensfm), which estimates camera positions and builds a sparse 3D reconstruction. Then, Multi-View Stereo (openmvs) generates a dense point cloud from the images.
From there, Point Cloud Filtering (odm_filterpoints) removes noise and outliers, while Meshing (odm_meshing) creates a 3D surface from the filtered points. Texturing (odm_texturing) applies realistic textures to the 3D mesh, using the original drone images to create photorealistic models.
Georeferencing (odm_georeferencing) converts the model into real-world coordinates, ensuring precision. The final stages include DEM Processing (odm_dem) for Digital Elevation Models, Orthophoto Processing (odm_orthophoto) for orthorectified images, Report (odm_report) for summaries, and Post-Processing (odm_postprocess) for cleanup tasks.
Fine-tuning project parameters can further improve the reconstruction process.
Setting Project Parameters
OpenDroneMap offers a variety of configuration options. While WebODM provides default settings for common scenarios - such as creating orthophotos, processing multispectral data, or mapping urban and forested areas - you can adjust parameters for better results.
For higher-quality orthophotos, reduce --orthophoto-resolution
to achieve finer details. When working in forested areas, setting --texturing-data-term
to area
improves texture mapping. Urban projects benefit from increasing --mesh-size
to 300,000–600,000 and --mesh-octree-depth
to 10–11 for greater detail.
DEM processing requires careful adjustments. Use the --dtm
flag for Digital Terrain Models or --dsm
for Digital Surface Models. Fine-tune ground classification with the Simple Morphological Filter (SMRF) parameters, including --smrf-scalar
, --smrf-slope
, --smrf-threshold
, and --smrf-window
.
For best results, DEM resolution should be set to 1/4th of the orthophoto resolution. For instance, if the orthophoto resolution is 1 cm, set the DEM resolution to 4 cm. In urban environments, increasing --dem-gapfill-steps
to 4–5 improves interpolation.
Accurate camera calibration is crucial. Generate a cameras.json
file from a sample flight and use it with the --cameras
parameter to stop intrinsic parameters from being optimized during bundle adjustment. The Brown-Conrady camera model (camera-lens brown
) typically delivers better results than the default perspective model.
For memory management, plan for cloud storage approximately 10 times the size of your raw data. When working with multispectral datasets, specify the primary band using --primary-band
and exclude areas like the sky by using image masks with the _mask.JPG
suffix.
Monitoring and Troubleshooting Processing
Keeping an eye on the process helps you catch problems early. You can download the log file from the WebODM Dashboard and search for "running" to track the current stage.
For command-line monitoring, use docker logs <container ID or name>
to view logs. Navigate them page by page with docker logs <container ID or name> | more
, or check the latest activity using docker logs <container ID or name> | tail -5
. To interact directly with the Docker instance, use docker exec -ti <container ID or name> bash
.
Memory issues are a common bottleneck. In October 2023, a user named Winston_Smith on the OpenDroneMap Community forum reported that their processing stalled after initial progress. Adding more RAM resolved the issue, highlighting that the algorithm hit a memory limit without clear error messages.
"When it comes to RAM, the correct answer is always: More!" - Saijin_Naib, OpenDroneMap Staff
Monitor your system's RAM and swap usage closely. If OpenDroneMap runs out of RAM, it starts swapping to disk, which slows down processing significantly.
If a failure occurs, the --rerun-from
option lets you restart from a specific stage. For example, restart from 'opensfm' at minimum, or from 'dataset' if parameters have changed. This saves time by skipping already completed stages.
Storage management is also key. Docker doesn’t automatically clean up excess data, so compress large orthophotos using GDAL to save space and reduce download bandwidth. Use the following command:
gdal_translate -co COMPRESS=JPEG -co PHOTOMETRIC=YCBCR -co TILED=YES -b 1 -b 2 -b 3 -mask 4 --config GDAL_TIFF_INTERNAL_MASK YES /path/to/original/filename.extension /path/to/output.tif
Be cautious with multi-band TIFF files, especially when using MicaSense imagery. Older OpenDroneMap versions may struggle with compatibility. Ensure all dependencies and environmental variables are correctly set when using Docker.
Output Generation and Applications
Once the processing pipeline is complete, the outputs from OpenDroneMap are ready to be put to work. These outputs are tailored for analysis, mapping, and site management across a variety of industries.
Types of Outputs
OpenDroneMap creates four main types of outputs from drone survey data:
Point Clouds
Point clouds are collections of millions of 3D coordinates that represent the surfaces captured in your drone images. Typically provided in LAZ format, these files are foundational for precise measurements and can be imported into CAD software for deeper analysis.
3D Textured Models
These models combine geometry and textures to create detailed, interactive views of a site. Users can rotate, zoom, and inspect these models from any angle, making them ideal for comprehensive evaluations.
Orthophotos
Orthophotos are aerial images corrected for distortions caused by camera angles and terrain variations. With a consistent scale, they are perfect for accurate measurements and detailed mapping.
Digital Elevation Models (DEMs)
DEMs are available as DTMs (showing bare ground) and DSMs (including surface features). These models are essential for topographic studies, volume calculations, and construction planning.
For tasks like stockpile volume measurements, OpenDroneMap achieves an accuracy of approximately 1% to 2%, provided the project uses a ground sampling distance (GSD) of less than 1 cm.
Exporting and Managing Processed Data
Processed data can be exported from OpenDroneMap in widely-used formats such as CSV, JPEG, TIFF, DXF, and LAZ. To stay organized, use clear naming conventions that include project dates and locations. Before integrating these outputs into other software, perform quality checks to ensure the data is complete and error-free.
For collaboration, you can share data by exporting analyses as PDF reports or providing cloud access through emailed links. Additionally, compressing large files, like high-resolution orthophotos, can make them easier to store and share.
Industrial Site Management Applications
Drone-generated data is transforming site management across various industries:
Construction and Infrastructure Projects
Outputs from OpenDroneMap allow for precise 3D measurements, aiding decision-making at every stage of a project. Orthomosaics, with their consistent detail, are particularly helpful for tracking progress, ensuring quality, and planning site layouts.
Land Surveying and Mapping
OpenDroneMap outputs can be imported into tools like AutoCAD or QGIS to create detailed topographical surveys. DEMs are especially useful for terrain analysis and infrastructure planning.
Volume Calculations
The 3D visualizations and DEMs generated by OpenDroneMap simplify the calculation of stockpile volumes, benefiting industries like mining, construction, and material storage.
Environmental Monitoring and Agriculture
In the Southern United States, farmers are using drone maps and DEMs to address water management issues. By analyzing water flow and adjusting field slopes, rice and peanut farmers are improving water distribution across their land.
The integration of drones is also driving economic growth. Over 70,000 new jobs are expected to emerge in the United States within the first three years of drone adoption, with an economic impact exceeding $13.6 billion. By 2025, projections estimate over 100,000 jobs created and an economic contribution of around $82 billion.
For organizations overseeing multiple sites, platforms like Anvil Labs integrate OpenDroneMap outputs with tools for annotation, measurement, and secure sharing. This centralized system ensures easy access across devices and smooth integration with existing workflows.
The flexibility of OpenDroneMap outputs extends to urban planning, transportation, homeland security, and emergency response. By combining these outputs with GIS software and spatial analysis, organizations can unlock valuable insights and make informed decisions. These applications pave the way for advanced management strategies across industries.
Conclusion and Next Steps
OpenDroneMap takes raw drone imagery and turns it into actionable tools for managing industrial sites. Its processing capabilities generate point clouds, 3D textured models, orthophotos, and digital elevation models, all of which are invaluable for construction, surveying, and monitoring tasks.
Drones can survey up to 120 acres per hour, making them 60 times faster than traditional methods. For instance, what used to take 100 hours to survey a 12-acre property can now be completed in just 2 hours. Beyond saving time, the economic impact is significant. By 2027, the global construction drone market is expected to hit $11.96 billion, and by 2032, it could grow to $19 billion. Additionally, drones can cut operational costs by up to 75% compared to manual inspections and improve communication among project stakeholders by as much as 65%.
Take the example of Hamzah Shanbari, Technology and Innovation Manager at Haskell Construction. Using drone surveys twice a week to monitor progress, his team identified improperly placed conduits during an underground review. This early detection prevented a potential delay by allowing corrective action before it became a costly issue.
For companies managing multiple sites, integrating OpenDroneMap outputs with advanced platforms like Anvil Labs can transform workflows. Anvil Labs provides centralized hosting for 3D models, orthomosaics, and point clouds, making it easy for teams to annotate, measure, and securely share data across devices. This integration combines OpenDroneMap’s processing power with specialized tools for industrial site management, ensuring smoother collaboration and better data handling.
Looking ahead, there are exciting opportunities to enhance drone data workflows. Visualization tools like CesiumJS and Leaflet, cloud processing using Kubernetes clusters on AWS, Azure, or GCP, and automation through APIs or low-code platforms like Node-RED are just a few options to consider.
OpenDroneMap's outputs empower industries with precise spatial analysis, real-time collaboration, and improved project management. Whether it’s for construction, stockpile calculations, or environmental assessments, the platform strengthens workflows by delivering accurate data and fostering seamless team collaboration.
FAQs
What’s the difference between installing OpenDroneMap using Docker and the WebODM Installer?
The main difference comes down to setup complexity and performance. Docker offers a highly efficient containerized environment, especially on Linux systems, where it can process data much faster than native Windows installations. This makes Docker an excellent choice for users who need speed and scalability.
On the flip side, the WebODM Installer focuses on simplicity. With its user-friendly graphical interface, it's perfect for those who aren't familiar with command-line tools or technical setups. However, it's worth noting that native Windows installations using the WebODM Installer generally run slower compared to Docker setups.
If performance is your top priority, Docker is often the better option. But for those who prefer a straightforward and hassle-free setup, the WebODM Installer is a solid choice.
What steps can I take to improve the quality of my drone images for accurate processing with OpenDroneMap?
To get the best results with OpenDroneMap, start by setting your camera to manual mode. This ensures your images remain consistent throughout the flight. Keep the ISO as low as possible to minimize noise, shoot in high resolution, and, if needed, use HDR to capture more detail in challenging lighting conditions.
When planning your flight, aim for stable shooting conditions and choose proper angles to capture sharp, clear images. Overlap is key - ensure about 70-80% forward and side overlap between images to achieve accurate mapping and 3D modeling. Following these steps will set you up for high-quality results with OpenDroneMap.
Which industries and applications benefit the most from processing drone data with OpenDroneMap?
OpenDroneMap is a robust tool designed to process drone imagery, making it an essential resource for industries like agriculture, construction, real estate, mining, and energy. Beyond these, it plays a key role in areas like environmental monitoring, forestry, and archaeology, helping professionals create detailed maps, 3D models, and perform in-depth analyses.
By transforming raw drone data into practical insights, OpenDroneMap enables tasks like assessing crop health, tracking construction progress, conducting site inspections, and even preserving historical landmarks. Its adaptability has made it an indispensable choice for experts in a wide range of fields.