Terrain Mapping benchmark with OpenDroneMapIf you're interested in drone mapping and terrain analysis, don't miss this exercise where we compare the functionality of OpenDroneMap tools. OpenDroneMap is an open-source and cost-effective tool that can process images from a variety of drone cameras and sensors, generating highly accurate 3D models and maps. With its large open-source community and high customizability, it is a go-to option for terrain mapping. This benchmark exercise tests the tool's processes with both CPU and GPU on the same set of images, using 20 photos taken with a DJI Mini 2 and processed with DroneLink app. However, some restrictions apply, and the project folders and image locations must be placed on an external SSD hard drive to avoid disk overload. The process is recorded in a 4k screen capture video for both CPU and GPU. Check out the article for more details and the code used in this exercise. Content:
If you have an interest in drone mapping and terrain analysis, you’ll want to check out this exercise that compares the functionality of OpenDroneMap tools. OpenDroneMap is a cost-effective and open-source tool that can process images from various drone cameras and sensors, producing highly accurate 3D models and maps. With its customizable nature and large open-source community, it is a popular choice for terrain mapping. In this benchmark exercise, we test the tool’s processes using both CPU and GPU on the same set of images, captured with a DJI Mini 2 and processed with DroneLink app. However, there are some restrictions, and the project folders and image locations must be on an external SSD hard drive to prevent disk overload. The entire process is recorded in a 4k screen capture video for both CPU and GPU. For more information and the code used in this exercise, be sure to check out the article.
- Cost-effective: OpenDroneMap is an open-source tool that is available for free, making it a cost-effective option for those who cannot afford to purchase expensive software for drone mapping.
- Versatility: OpenDroneMap can process images from a variety of different drone cameras and sensors, making it a versatile tool for drone mapping.
- Accuracy: OpenDroneMap uses advanced algorithms to generate highly accurate 3D models and maps from drone images. This can be especially useful for surveying, land management, and construction planning.
- Open-source community: OpenDroneMap has a large and active open-source community, which means that users can benefit from the collective knowledge and expertise of others who have used the tool.
- Customization: OpenDroneMap is highly customizable, allowing users to tweak and adjust various parameters to achieve the desired results.
This exercise serves as a benchmark for tool processes performed with both CPU and GPU on the same set of images (20 images with a resolution of 4000*2250 pixels, quality 100 of jpg, and a weight of about 4.5 MB each). These look like this:
- The project folders and image locations are placed on an external SSD hard drive (Samsung Portable SSD T5). This way, the disk works exclusively on reading and writing these projects. It has been found that the processes performed with OpenDroneMap are very intensive, especially in the use of the disk (it works with tons of temporary files written to disk), so I do not recommend performing the process within the OS disk or a SATA or external one that is being used at the same time. Note: The first time I used this, I locked the main disk of my operating system by filling it 100% with files that were difficult to locate and delete to recover the system. So please, do not do anything heavy in your user folder, or in downloads, or on the desktop. I insist.
- 20 images will be used, taken with the DJI Mini 2 and using the app DroneLink as a guide.
- OBS Studio is recording just the screen in 4k at the same time, so some GPU are always working.
# Create Ortoimage, DSM and DTM with CPU - Resolution 2 sudo docker run -ti --rm -v /media/cesarkero/D4/Drive/OPENDRONEMAPTEST:/OPENDRONEMAPTEST --gpus all opendronemap/odm:gpu --project-path /OPENDRONEMAPTEST project2 --dsm --dtm --dem-resolution 2 --orthophoto-resolution 2 --build-overviews # Create Ortoimage, DSM and DTM with GPU - Resolution 2 sudo docker run -ti --rm -v /media/cesarkero/D4/Drive/OPENDRONEMAPTEST:/OPENDRONEMAPTEST opendronemap/odm --project-path /OPENDRONEMAPTEST project2 --dsm --dtm --dem-resolution 2 --orthophoto-resolution 2 --build-overviews # Clean all after use it sudo docker system prune y
Otherwise, I leave you the video of the process for both CPU and GPU, showing how the program launches the jobs. In this case, the PC has a dual GPU, but I am not sure if the program is capable of effectively using both or if it is a problem for it.
The benchmark results show that the CPU production took 7 minutes and 18 seconds, while the GPU production took 6 minutes and 3 seconds. In the following test we will try with a real world example with hundreds of ortophotos and angles of photo capture.