How Does ODM work?


What type of math/algorithms go into the process of making orthomosaics, DSMs, and meshes? What are the steps? I genuinely curious. I use ODM a lot and when people ask me how is works I want to be able to give a better answer than just “lots of heavy computations”. I understand the principles of photogrammetry, but the flawless stitching and textured 3d models blow my mind. Are there resources available to read about the math and science behind this at a high level? Thanks so much for the help, this is an incredible project!


Hey @Megan.Spencer :hand: see if these links are helpful:


@megan.spencer – also see for details on the texturing portion.

For dense point clouds, we use SMVS and will use MVE in the future.

Also, I don’t know if anything has been published on it, but Mapillary’s OpenSfM has some pretty unique approaches to structure from motion, including an incremental SfM approach that does periodic closure/corrections based on every nth image. This has the effect of having lower memory requirements than a global SfM, but much better accuracy than a pure incremental approach.