OpenDroneMap
{{Short description|Open source photogrammetry toolkit}}
{{Infobox software
| name = OpenDroneMap
| developer = OpenDroneMap
| released = 2013
| latest release version = 3.5.0
| latest release date = {{Start date and age|2024|4|11|df=yes}}{{cite web |title=Releases |url=https://github.com/OpenDroneMap/ODM/releases |website=Github |access-date=5 May 2024}}
| operating system = Windows, Linux, MacOS
| language = English
| genre = 3D computer graphics software, photogrammetry, computer vision
| programming language = Python
| license = AGPLv3{{cite web |title=LICENSE |url=https://github.com/OpenDroneMap/ODM/blob/master/LICENSE |website=Github |access-date=24 January 2021}}
| website = {{URL|opendronemap.org}}
| repo = {{URL|https://github.com/OpenDroneMap/ODM}}
}}
OpenDroneMap is an open source photogrammetry toolkit to process aerial imagery (usually from a drone) into maps and 3D models.Ruggeri, Luca. [https://www.open-electronics.org/opendronemap-open-source-project-for-processing-aerial-drone-imagery/ “OpenDroneMap: Open Source Project for Processing Aerial Drone Imagery”], Open-Electronics.org, 27 Dec 2017. Retrieved 24 February 2019.{{Cite journal|url=https://eartharxiv.org/bna95/|title=Digital photogrammetry of historical aerial photographs using open-source software|last=Batlle|first=Jose Martinez|date=2019-07-07|journal=Eartharxiv ePrints|doi=10.31223/osf.io/bna95 |bibcode=2018EaArX....BNA95M |hdl=10654/44283 |s2cid=240378478 |access-date=2019-02-24|hdl-access=free}}{{Cite journal|last=Parka|first=J. W.|date=19 July 2016|title=Development of Open source-based automatic shooting and processing UAV imagery for Orthoimage Using Smart Camera UAV|url=https://www.int-arch-photogramm-remote-sens-spatial-inf-sci.net/XLI-B7/941/2016/isprs-archives-XLI-B7-941-2016.pdf|journal=The International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences|volume=XLI-B7|pages=942|doi=10.5194/isprs-archives-XLI-B7-941-2016|bibcode=2016ISPAr41B7..941P|doi-access=free}} The software is hosted and distributed freely on GitHub.{{Cite web|url=https://opensource.com/article/18/2/drone-projects|title=8 open source drone projects|last=Baker|first=Jason|date=12 Feb 2018|website=Opensource.com|language=en|access-date=2019-02-24}}
OpenDroneMap has been integrated within American Red Cross's in-field Portable OpenStreetMap system.{{Cite web|url=https://www.elrha.org/project-blog/opendronemap-use-cases/|title=OpenDroneMap — Use Cases|website=Elrha|language=en-GB|access-date=2019-02-24}}
Overview
OpenDroneMap can be controlled either from a command-line interface or through a web interface (WebODM). It is recommended to run OpenDroneMap using Docker.{{cite journal |title=OpenDroneMap: Multi-Platform Performance Analysis |journal=Geographies |first1=Augustine-Moses Gaavwase |last1=Gbagir |first2=Kylli |last2=Ek |first3=Alfred |last3=Colpaert |year=2023 |volume=3 |issue=3 |pages=446–458 |doi=10.3390/geographies3030023 |doi-access=free }}
OpenDroneMap uses OpenSfM and other libraries to perform the specific tasks in its workflow. Before processing the images, it can lower their resolution in order to save computational resources. OpenDroneMap uses the OpenSfM library to detect and match features, create tracks and determine their 3D positions along with the positions of the cameras. Then it uses the OpenMVS library to generate a dense point cloud from which it generates meshes. After that, the Geospatial Data Abstraction Library and the Point Data Abstraction Library are used for orthomosaic generation and georeferencing.
OpenDroneMap can also process aerial videos by cutting them into still images.
Performance
OpenDroneMap supports parallel computing and can utilize GPUs. It has a split-merge feature, which significantly reduces the performance, but allows computers with small amount of RAM to process large datasets. The official recommendation is to use 128 GB of memory to process 2500 images. If local system resources are inadequate to process a given dataset, the WebODM interface can also offload processing to the WebODM Lightning cloud service. {{Cite web |title=AE593/AE593: WebODM: An Open-Source Alternative to Commercial Image Stitching Software for Uncrewed Aerial Systems |url=https://edis.ifas.ufl.edu/publication/AE593 |access-date=2024-05-30 |website=Ask IFAS - Powered by EDIS |language=en-US}}{{Cite web |title=WebODM Lightning: Frequently Asked Questions |url=https://webodm.net/faq |access-date=2024-05-30 |website=webodm.net}}
It was determined that the optimal number of CPU cores for large datasets is 20, and there is little to no performance gain beyond 20 cores.