Mapping Software for sUAV – An Introduction
One of the primary purposes of Flight Riot is to complete an openly available (for personal, research, and educational use) workflow for post-processing imagery captured by UAV in order to create orthorectified imagery and geographic data. The links under the software menu take you to pages describing each of the software packages that play a role (or will play a role) in the post processing open workflow. The tutorials and pre-configured links are two of the main components in the open work flow.
Acknowledgements and Resources
I have to give thanks to Mark WiIllis (Palentier), Chanchang Wu (VisualSFM), Yasutaka Furukawa (CMVS) (CMVS Windows Binaries), Michal Jancosek (CMPMVS) and Michael James (SFM_georef) for there contributions. Additionally, MeshLab is a great free program for visualizing the 3D models produced by CMPMVS.
I have compiled a Zip file including VisualSFM and CMVS Windows 64 using NVIDIA graphics card. However, it will not work with ATI cards. Use the VisualSFM link above for other versions.
Click here to DOWNLOAD ONE ZIP FILE CONFIGURED WITH VisualSFM and CMVS for use with Post Processing Tutorial 1
NOTE: Be sure to extract zip file contents to a directory and do not try to launch from within winzip or any other zip program.
Please carefully read the websites of any of these packages you intend to use as there are a lot of technical nuances that may effect the performance based on your particular hardware set up. Additionally, please read the licensing agreements as they vary between software.
Proposed Post-Processing Open Workflow Proof Of Concept (POC)
- Perform UAV mission and capture imagery. (completed)
- Use Palentier to generate file that links GPS location data from APM GPS to the camera location at time of image capture. (completed)
- Use VisualSFM to SIFT match the images. (completed)
- Generate Sparse point cloud using VisualSFM. (completed)
- Run CMVS within VisualSFM to generate dense point cloud. (completed)
- Using the output file from Palentier as input data in VisualSFM, run GPS transform within VisualSFM. (completed)
- Create table from output data and convert double coords to floating point (VisualSFM is double, CMPMVS is floating point). Multiply coordinates by 1000000 to reduce precision to an acceptable format for CMPMVS (NOT TESTED YET)
- Run CMPMVS using modified VisualSFM output. (NOT TESTED WITH MODIFIED OUTPUT YET)
- Divide output coordinates to return coordinates to proper format. (NOT TESTED YET)
- Open CMPMVS results in MeshLab (completed)
- Open in GIS software.
WORKFLOW POC COMPLETION STATUS: CLICK HERE FOR POST PROCESSING TUTORIALS
Here is what the outputs will look like (point cloud and image data is orthorecrtified but not georeferenced)
This is an overview of image post processing using VisualSFM and CMPMVS photogrammetry software that is freely available for personal, research, and educational use. I flew a mapping mission with a Skywalker UAV (APM 2.5 on a skywalker platform), capturing 251 images of the Oceanside Marine Study area. The mission was flown 250ft altitude AGL in a “lawnmower” pattern generated using Mission Planner GCS.
All images were included in post processing whether they were clear or blurry, orthogonal or oblique. I wanted to test the process with captured data “as is” and see what the output would look like, knowing that I can improve the inputs from future missions. The process was very exciting and the outputs are to me, very impressive.
UPDATE: I was later informed that the noticeable “bending” of the generated point surface is likely due to including blurry images in VisualSFM processing. I ran a preliminary test using 105 images that were all in focus and the results support the “blurry images result in curved/bent surfaces” theory.
As many of you know, my intent is to solidify an open workflow for UAV mapping that is 100% free for non-commercial use. Progress is being made and I believe it is very feasible.
However, I have a long way to go. Please be patient with me and I promise to share the resulting open workflow and all necessary steps to everyone.