Table of Contents
UAV : Mapping
Note: I am not an expert in UAV mapping, nor do I claim to be. I just think it's neat, and I want to share some of what I have found with others.
The typical workflow for UAV mapping is fairly straightforward.
- Pick an area to fly, make sure it's legal and safe (follow standard UAV guidelines, nothing special)
- Scout the area to get a feel for what altitudes you need to work at, if you need any oblique images (e.g. sides of building), where to take off/land at
- Determine the number of flights - is the area too big for a single flight? Do you need to fly two perpendicular flights? At different altitudes? Camera angles? This will take some trial and error to determine, and keep in mind that more imagery is far preferable to less.
- Use your ground control software (Tower, Pix4DCapture, Mission Planner, etc) to lay out your flight path(s)
- Set overlap. The standard minimum value is 60%, I prefer to fly with at least 80%. Storage is cheap, and I can wait a little longer for imagery to process if it means I get better quality results in the end.
- Fly the mission.
- Offload the data, leave the originals on the SD card (or another safe place) until you're certain you no longer need them. And again, storage is cheap.
- If you're using something other than Pix4DMapper/Drone2Map, go ahead and use a tool like Imagemagick or Lightroom to correct barrel distortion.
- Georeference the images. My preferred method is to use GeoSetter along with the GPX file that Pix4DCapture creates. Make sure your camera's time/date are as accurate as possible.
- Process the imagery.
- View the results.
- Process the imagery again.
Two words come to mind when describing hardware requirements for processing this data: bigger and more. For any decent sized dataset (over 100 pictures), you should dedicate at least 16GB RAM. Using an SSD is an obvious requirement, and be prepared to dedicate quite a bit of space to any given project, as the scratch requirements can be fairly significant. For a CPU, a fast i5 or i7, or modern xeon should cut it. In most of these packages you can specify how many CPU cores you want to hand over, and I'd recommend handing them all over.
A dedicated machine that does nothing but run these processes is going to be your best bet.
This section is intended to provide a quick and high level overview of various offerings. I know there are some others that I haven't listed here, and when I can test them myself I'll add them. More detailed explanations can be provided by their respective creators.
The Pix4D software is very powerful, but is also somewhat expensive. I've used the 10-day demo period for this software and have found it to do an excellent job creating orthos and models, but it is somewhat slow. The free version is worth looking into just to get started.
Drone2Map is Pix4D Mapper repackaged with Esri resources added. Hands down the best option for creating products from your UAV flights and sharing them out quickly (it supports publishing to ArcGIS Online and the data can easily be ingested into ArcGIS Pro). Since it is the same as Mapper at its core, it also tends to be a bit on the slower side, but the results are very good.
OpenDroneMap / WebODM
The ODM project is very impressive, and under constant development, so I expect it to get better. Right now if you want to work with it, I recommend using WebODM (in docker, on linux) as it provides a very powerful web front end to processing the imagery as well as viewing it. My experience with ODM is that it's quite fast, but takes more tweaking to get really good results from - expect to run the same imagery a number of times.
Haven't done any work with this software yet either, but it is on the list.
I haven't actually tested this yet, but I have heard that it performs very well and is incredibly fast. Unfortunately documentation and examples tend to be somewhat decentralized. It's also developed by a French organization, so all of the message boards and developer correspondence is French as well.
Tools to correct GoPro Lens distortion:
- Drone2Map (built in, no tools needed)
- Pix4D Mapper (same as above)
- lensfun - haven't yet figured out the best options
- Adobe Lightroom - super fast, works great, but costs $
- Digikam - batch?
- GIMP w/ lensfun plugins - batch?
- This guy: https://github.com/wildintellect/lenscorrection (can't get it to work in ubu 16.xx)
- mogrify -distort barrel “0 0 -0.3” *.JPG - (more info)