NorthStarUAS / ImageAnalysis

Aerial imagery analysis, processing, and presentation scripts.
MIT License
154 stars 44 forks source link

Image Analysis

Aerial imagery analysis, processing, and presentation scripts.

Important Notice: March 5, 2022

I love the University of Minnesota, but my funding ran out and we weren't able to get anything new lined up in time. So March 18 is my last day at the University of Minnesota, Dept. of Aerospace Engineering, UAV lab. :-(

At the same time I'm super excited to be transition to a new position at Cirrus Aircraft in Duluth. This will change many things, including my time available and my focus relative to working on this project. For a couple years this code was integral to my daily work, and that probably will no longer be true once I transition to my new position.

My hope is to keep this project going long term, to be available (within reason) to answer questions, and to guide people getting up to speed for the first time. I am sincerly hopeful I can continue to improve and add features as time permits.

Screen shots

A mosaic of 2812 images from a Phantom 4 Pro v2 mission map

A 3d surface rendering of the same area map

A zoom in showing all the original detail and oblique perspective from the original imagery because the mapping tool simply draws the original images in a big pile all sized, oriented, stretched, and aligned perfectly. map

Brief Overview

This image analysis tool-set started as two independent efforts to build a better (faster, free-er, more robust) image stitching system for aerial surveying. The accumulated knowledge of these two projects were merged to form a single project going forward. Over time, this project has evolved into a full blown aerial survey and mapping system that supports a variety of research projects with specific needs (use-cases) not well supported by existing commercially tool. The ImageAnalysis project improves over most existing systems in several distinct ways:

The project goals remain:

Current and Recent Development Focus

This is likely to be out of date faster than I can write it, but here are a few things I have been working recently.

Future Road Map

Briefly, near term development goals include:

Medium term development goals include:

Wish list items:

Code Layout

3rd_party

Home to 3rd party code that needs modifications or adjustments to be helpful. (Or things that aren't commonly available system-wide.)

scripts

A series of front-end scripts that primarily pair with the lib directory for feature detection, matching, and scene assembly. For making maps the process is actually quite simple:

scripts/lib

Libraries of python modules with all the functionality that supports the higher level scripts.

srtm

For the purposes of generating an initial earth surface estimate, use SRTM data. Given a camera pose estimate (i.e. from flight data) and an earth surface estimate, we can project out the feature vectors and estimate their 3d locations. This is useful for generating an initial guess to feed the sparse optimizer (sparse bundle adjustment.)

tests

A random collection of scripts for testing different things.

video

Some of these image analysis techniques can be applied to movies in interesting ways.

installation hints