Skip to content
Stephen Mather edited this page Oct 28, 2016 · 11 revisions
  • Improve georeferencing / coordinate system throughout entire pipeline
    • Needs to be an integrated part of the the pipeline, not a single process at the end
    • Feature branch: ****
  • create benchmarking

Merge existing and proposed changes into the cmake fork

  • add any OO improvements from other work
  • remove junk code
  • update argparse arguments
  • Orthophoto .tif generation
  • update Dockerfile (Link? ****)
  • fix GCP reading order
  • add GDAL specifications for GCP lists
  • add XYZ point cloud output
  • use mkdir_p() everywhere
  • optimize prepare_objects (Doesn't exist)
  • improve logging and messages
    • Add benchmarking and generate a log file
  • rerun_all functionality
  • remove depreciated code (ccd_defs, etc)
  • other clerical changes (README, etc)
  • replace slow code (i.e. PMVS) (Feature branch: ****)
  • Implement testing framework. See https://github.com/dakotabenjamin/OpenDroneMap/tree/nose_tests

Push cmake fork to gh-pages

  • implement testing protocol
  • update licenses
  • release odm v0.1

Texturing/blending (contracted)

  • Add image blending and exposure adjustments (Feature branch: ****)
  • Improve image stitching

Video/SLAM reconstruction (contracted)

  • ORB vs. LSD SLAM approaches (Feature branch ****)

Produce a benchmarking file

Update dependencies

  • pyexiv2 is depreciated in favor of gexiv2

Long Term Improvements:

Processing pipeline improvements:

  • Semi-global matching for denser point clouds (http://cdcseacave.github.io/openMVS/ ?) (Feature branch: ****)
  • Replacement of lastools with PDAL
  • Add optional pre-calibration tool, maybe with editable library of lens parameters derived from checkerboard calibration process
    • Formalization of Pau, Dakota, and other’s work
    • Formation of dedicated library, perhaps borrowing from existing database

Processing pipeline augmentation:

Web improvements

  • Development of Python node API — node-OpenDroneMap
  • Development of web front end(s) — WebODM
  • Integration with OpenAerialMap

Messy additions from SOTM 2016

Feature Requests:

Core

  • Point clouds

    • Semi-global Matching
    • Point cloud classification
      • Progressive morphological filter via PDAL
        • http://www.pdal.io/stages/filters.ground.html
        • Status:
          • No current work, but simple addition of PDAL functionality. Need build process which allows for necessary dependencies
        • Advantage: Allows for classification of ground point cloud for partitioning of mesh creation / quality, hydrological applications, etc.
        • Classifications based on machine learning of input raw images
  • Mesh

    • Change meshing from Poisson to alternate mesh (not water tight?)
    • Use different mesh approaches based on classification of data
    • Identification of flat surfaces
    • 3D / 2D Breaklines
      • Specialized interface or iD
      • OSM or custom
      • Possibly integrate with OSM workflow and iterate orthos
      • Alternatively digitize directly on raw images
  • GPS positioning input alternatives

  • Atmospheric correction

Texturing

  • Add vignetting correction to toolchain
  • BRDF?
  • Fix interpolation gradients (CIR use case)

Output

  • Crop tiff output to high probability good data (convex or concave hull) by default (flag to output all)

Optical distortion

  • Correct for known cameras
    • Fixes for wide angle
    • Optimization of processing when using corrected imagery

API

Web

Integration

Error calculation / reporting

Logs

  • Progress Status
    • Markers in log for process for rubber sheeting to state
    • Image Matching refinement of progress

Optimization

  • Parallelization of

    • resize
    • focal length
  • GPU

  • Incremental SfM

  • Clusterability

    • Possibilities:
      • Shared file system + celery workers
      • Smarter approach using data localization
      • PySpark
        • Working in terms of data frames
        • Lambda expressions that can be sent out to separate machines
        • Process steps need to be more granular
      • Serializable intermediate representation
  • Find automated rubber sheeting solution for rubber sheeting to other datasets

Future:

Use Cases

  • Manned aircraft app
  • iPhone processing
  • Single tiled aerial of OAM outputs
  • Fly around house and create model
  • Streetview

POSM / OAM-PacDID / ODM

  • How much of the OAM tiling has been solved by POSM (Cristiano)?

    • Internal tiling with VRTs in original projection with pyramids
    • Seth advocates running OAM on lambda and paying usage
    • Need to retile and pyramid the existing imagery
    • Re organize to allow for mosaic
    • If don't want mosaic, recreate function for retiling and render
  • PacDID needs

    • WMTS (ArcGIS/QGIS)

    • AOI

      • Coordination of data collection
      • Coordination of existing data (index current imagery)
      • Need for Flight planning info
    • Next phase -- how can it help projects (Nate)

  • What is POSM / ODM integation stuff

    • Question of nodeODM / WebODM
  • OAM Opportunities

    • Make easy to deploy
    • Documentation