OpenDroneMap: a Toolkit for Processing Aerial Drone Imagery
OpenDroneMap (ODM) is an open source project for processing aerial drone imagery, developed by members from OSGEO, the Open Source Geospatial Foundation. While the name OpenDroneMap might sound like a relative of the world map of OpenStreetMap, it’s something entirely different, although still related to open source.
ODM is the name of an open source toolkit for processing aerial drone imagery, developed by members of OSGEO that was started around five years ago and made quite some progress in the last year. It now offers modern photogrammetry technology for drones and other low altitude image collection such as balloons and kites and does fully automated matching, digital surface modeling and mosaicking. Stereo vision is used or creating orthophotos and maps, which is a process of extracting 3D information from multiple 2D views of a scene.
ODM´s photogrammetry pipeline
ODM follows a five-step photogrammetry workflow, that starts after aerial imagery has been captured by a drone that can do automated flights and is equipped with a GPS unit and camera. These drone images have to be offloaded into a PC with ODM software installed. ODM can be installed in various ways, the easiest way being a Windows web installer called WebODM, where you create a user account, upload imagery, build a task and execute the following workflow below.
The process starts with aerial images that are batched together by using the motion of the drone, and a sparse point-cloud of tie points that tie all the images and cameras together is created. Next, this point cloud is densified into a heavily dense 3D point cloud. This enables to do a surface reconstruction, that can be textured over. Finally, the textured surface can be used to build a (mosaicked) orthophoto.
For the first step in this process, ODM uses the open sourced structure from motion software from Mapillary, a Swedish company that offers a platform for street view imagery with the same name. The software matches multiple pictures of the same space but from different angles together, creating 3D information from 2D images, resulting in a sparse point cloud where you can distinguish some objects and surface types.
The next step in the pipeline is cloud densification, meaning the creation of a more humanly understandable 3D space from the sparse point cloud. Dense algorithms produce a visually more attractive set of point clouds that distinguishes the different objects and surfaces in 3D. Next, the point clouds are transformed into a surface that can be textured over, using a triangulation method called ‘poisson’. This method is available through the Point Cloud library, a large scale, open project for 2D and 3D image and point cloud processing.
The final 3D mesh is textured next by overlaying images, using algorithms to determine which image is best for which area. Finally, an orthorectified mosaic is generated. With WebODM, users can view, inspect and download the orthophoto or 3D model online.
The Future of ODM
By using funding from different parties, ODM´s developers have been able to work on making ODM easier to use, improve its products and more accurate, with better algorithms. During the latest edition of SOTM (State of the Map US, the annual international conference of OpenStreetMap) held last October, future plans for the project were announced. Improvements involve scaling up so that it´s possible to process 200,000 images. This will be possible by applying data partitioning and process it separately by different machines. Automated DTM extraction and classification on point clouds will be added for data analysis, as well as improvement of the 3D meshes in order to produce flat surfaces.
Planned features for the WebODM application are DEM display, mission planning, and a mobile app for autonomous flights. As there ODM does not yet cover the data capture process, users are dependent on mission planning software from their drone vendor/provider. Also in the works are integration with the open source GIS software QGIS and OpenAerialMap, a set of tools for searching and sharing open satellite and drone imagery, as well as integration with Entwine, a data organization library for massive point clouds, and Greyhound, a point cloud streaming framework for dynamic web services and native applications.
For more information, have a look at: http://opendronemap.org/