Public Lab Research note


OpenDroneMap: Open Source Toolkit for processing Civilian Drone Imagery gets orthophotos

by smathermather | December 23, 2014 03:04 | 11,452 views | 6 comments | #11494 | 11,452 views | 6 comments | #11494 23 Dec 03:04

Read more: stable.publiclab.org/n/11494


What I want to do

OpenDroneMap (http://opendronemap.github.io/odm/) is a tool to postprocess small Unmanned Aerial Vehicle (sUAS), balloon, kite, and street view data to geographic data. With the current update, we are adding the ability to create orthophotos from drone, balloon, and kite imagery which has GPS ephemeris. Future versions will permit the use of GCPs with no onboard GPS.

My attempt and results

Good news to report, though I haven’t finished my own testing yet… but OpenDroneMap, which previously would just create point clouds from drone images, now also produces:

  • Meshes!
  • Textured meshes!
  • Georeferenced textured meshes (if the exif data has geographic coordinates)
  • Georeferenced orthophotos! (if the exif data has geographic coordinates)

Now, I’d like those ifs to go away, but that requires a bit of thoughtful interface work. In the mean time, give it a whirl on your data.

Work left to do:

  • Refine processing chain
  • Allow for input of GCPs for images without GPS in their exif
  • Blending / brightness correction, etc. of input images
  • Digital surface model output

See this branch on github for the whole package : https://github.com/OpenDroneMap/OpenDroneMap/tree/texturing_orthophoto_spotscale_additions.

seneca_screen.jpg

odm_orthphoto.png

Conclusions

There's still plenty of work to do to bring this to really low tech use cases, but this project now has a good skeleton to build toward that outcome.


6 Comments

Cool! This is an interesting project!

What do you see as the overlap of OpenDroneMap with MapKnitter? In terms of features, audience, capabilities, etc?

Is this a question? Click here to post it to the Questions page.

Reply to this comment...


Sweet. Will try it out on my ndvi images.

Reply to this comment...


@justinmanley - openDroneMap solves image stitching in a different way -- using structure from motion. But MapKnitter also provides georectification, or placing images on the earth. So one big driver for the modularity of the Leaflet.DistortableImage project is that it could be used as a georectification interface for already-combined-but-not-yet-placed images from ODM.

Reply to this comment...


Perfect summary, @warren. Now that OpenDroneMap can handle ortho generation for images with GPS ephemeris, the next step is to look at Leaflet.DistortableImage as an interface for ODM for referencing. I have an upcoming research note specifically on georeferencing, because it's a really interesting problem for this use case, with some deviations from the Leaflet.DistortableImage / MapKnitter solutions.

Reply to this comment...


Excellent, @gpenzo! I look forward to seeing that.

Reply to this comment...


Hi, Stephen - just checking in again because (now-named) Leaflet.DistortableImage has matured a great deal, and is about to be used in coming days in the launch of MapKnitter 2. We are not quite at a 1.0 release, but have collected just a few bugs and oddities which we'd like to resolve, here: https://github.com/publiclab/Leaflet.DistortableImage/milestones/Version%200.1.0%20release

However, it works quite well on most modern browsers and tablets/smartphones, and can handle many dozens of images smoothly, and the UI is maturing quickly, esp. in the MapKnitter 2 application.

https://github.com/publiclab/Leaflet.DistortableImage/

Reply to this comment...


Login to comment.