Inspiration

To generate a true orthomosaic which it takes a lot of compute and time. In situations where the need is only to map out an area, example a disaster struck area, geometrical accuracy, compute, time are limiting factors. We found several techniques that did fast, low compute, orthomosaic-style mosaics and built a solution on top of theirs.

What it does

Builds a mosaic incrementally by approximating the ground as planar and applying homography to estimate where the incoming frames should be stitched with the current canvas using feature matching. A drone survey draws a lawnmower pattern over the region of interest, we process each strip of the lawnmower pattern as chunk and produce a mosaic and then use a merge-tree to merge the individual mosaic strips into the overall mosaic by using same homography and feature matching technique.

How we built it

AWS as cloud infrastructure and opencv for image processing. AI Disclosure - Minimax M3.1 Flash and Deepseek V4.1 Flash

Challenges we ran into

Different techniques were tried out for mosaic strip merging, but the canvas is sparse and big so several techniques like As-Projective-As-Possible (APAP), Moving DLT etc produced artificats inside the region of interest. These were scrapped in favor of simplistic approach of feature matching + homography. On the processing of the strips, a homography cannot capture all the transformations if the camera angle is not nadir. Even if the survey is done from high-altitude, ground relief plays an important part, as a high relief introduces parallax, which again breaks homography.

Accomplishments that we're proud of

By architecting the pipeline in such a way that all the steps actually form a DAG (merge-tree). This DAG makes it highly parallelized. Waiting would only happen when the inputs of a node are still being processed.

What we learned

Biggest learnings were in AWS and architecting the pipeline for opencv.

What's next for FauxMosaic: CPU-only mosaicking for rapid aerial survey

A "next" direction could be exploring how to merge large canvases with a flow matching technique, since flow in a local region could correctly capture all modes of transformation. APAP does that but we haven't been able to figure out how to stop the artifacts on large canvases.

Share this project:

Updates

Submission history