Workflow

Discuss here the workflow, data and software requirements

Raw imagery processing

Data

The photos taken by DJI Inspire over our test area from Centennial campus can be found here:

Software

There are two open source UAV imagery processing options based on OpenDroneMap (ODM).

OpenDroneMap

In this workflow we use dockerized version of OpenDroneMap.

  1. Install Docker, here an example of installation on Ubuntu:
    1. sudo apt-get install -y docker.io
    2. sudo groupadd docker
    3. sudo usermod -aG docker $USER
    4. then logout and login
  2. docker pull opendronemap/opendronemap
  3. Create your directory structure:
    1. mkdir odm && cd odm && mkdir images orthophoto georeferencing texturing dem
  4. Download the images and unzip them into images folder.
  5. Download GCP file and put it in the images folder.
  6. Run OpenDroneMap:
    • docker run -it --rm -v /home/akratoc/odm5/images:/code/images -v $(pwd)/orthophoto:/code/odm_orthophoto -v $(pwd)/georeferencing:/code/odm_georeferencing -v $(pwd)/texturing:/code/odm_texturing -v $(pwd)/dem:/code/odm_dem opendronemap/opendronemap --matcher-neighbors 20 --min-num-features 10000 --mesh-octree-depth 10 --dsm --dem-resolution 0.5 --opensfm-depthmap-resolution 1280 --gcp /code/images/gcp_list.txt
    • notes regarding parameters:
      • --matcher-neighbors; can be reduced to speed up matching phase
      • --mesh-octree-depth can be increased to12 if there is enough memory, otherwise it will crash
      • --dem-resolution: resolution of the digital surface model
  7. After finishing, results are organized this way:
    • georeferenced orthophoto: orthophoto/odm_orthophoto.tif and orthophoto/odm_orthophoto.png
    • mesh (3D model): texturing/*
      • obj contains only geometry, other files are needed for texture
    • LAS file (georeferenced point cloud): georeferencing/odm_georeferenced_model.las
    • DSM (georeferenced, raster-based digital surface model): dem/dsm.tif

Notes:

    • ODM can be also installed and run on Ubuntu
    • ODM is developing quickly, some adjustments to ideal parameters will be needed in the near future

WebODM

  • End-user oriented webinterface for OpenDroneMap
  • Server side distributed as processing nodes managed by Docker

See more details at our website: Open Source UAS processing

Alternatively we can use Agisoft Photoscan which will require a license.

Postprocessing and analysis

Orthophotos and DEMs from UAS will be further processed, analyzed and fused with additional data (e.g. lidar-based DEMs) using open source GRASS GIS. Here is an example of application for stormwater runoff. Once we have the workflow figured out we can test this on a more urban environment such as NCSU campus - we should be able to get pretty detailed flow over roads and sidewalks.

Current issues:

  • dense point cloud is not dense enough, waiting for #662
  • vertical registration is off by 100 m, needs more investigation whether GCP file is correctly applied

nadir only (left), nadir + oblique (right)


DSM generated by PDAL, vertically misaligned, nadir only (left), nadir + oblique (right)

nadir only (top), nadir + oblique (bottom)