Before moving to the math, I knew I wanted to be able to easily and regularly map the terrain with my quadcopter. After moving to the math, I gained a much deeper understanding of the process. It exists in the following basic phases:
- Data gathering: flying the mission to collect the imagery, possibly broken down into several sorties, depending on area and battery life. This was covered in an earlier post.
- Data processing: rendering the gathered imagery into an actual map of the area. Essentially getting a computer to do a jigsaw puzzle of all the photos taken.
- Data comprehension. I'm still working on this. I have one complete pass, but I have realised I don't know what to do with the data.
How to capture succesful image data
- Use a program to automate the process (I used Drones Made Easy's) tool.
- If, like me, you're used to artistic aerial photogrpahy, remember you are now capturing not for aesthetics, but for data. This means as much light as possible into the sensor, so that a shorter exposure time can be used, allowing a higher flight speed, reducing overall mission length and a reduced number of sorties.
How to process the image data
- Given the prohibitive speed of my Comcast upstream (5Mbp/s), and the cost of someone else's computer, I rendered my map data with OpenDroneMap. This took about 3.5h to render 2GB of data using an Intel® Core™ i7-6770HQ CPU @ 2.60GHz with 32GB of RAM.
- ODM can be downloaded and run locally, or it can be run in a Docker instance:
docker run -it --rm -v "$(pwd)/images:/code/images" -v "$(pwd)/odm_orthophoto:/code/odm_orthophoto" -v "$(pwd)/odm_texturing:/code/odm_texturing" opendronemap/odm
For a reason I couldn't diagnose, where that command worked yesterday, it didn't work today, so I scrubbed my docker install, and started from the beginning, following these instructions:
How to view the image data
I've tried MeshLab and QGIS. MeshLab makes a nice 3D model that can be rolled around (can't seem to get 6DoF support working though), and QGIS seems to be more of a 2D thing, but I can overlay my data on OSM data, which is nice. It's a steep learning curve.
maptiler does a nice job of breaking up the monolithic GeoTIFF from ODM for various sources of web-server based consumption.