I'm still trying to wrap my head around why the drone following terrain helps. I know it does, just don't really get why. I do this for a living (survey mapping) but it still seems to me that the drone consistently being X# of feet above the terrain throughout the shoot would defeat the photogrammetrical calculations in the SFM software that are designed to make the DSM and DTM based on the relative height in the terrain. This calculation is done by noticing the dips and rises based on reflectivity. I suppose with an RTK system the SFM software would make its calcs based on the altitude stated in the EXIF headers? I wouldn't want to rely on the DJI EXIF stamp without an RTK for instance, as they can be notoriously inaccurate. Anyone want to help me understand this one, please?
My understanding of the way products like pix4d, drone deploy, agisoft, etc. work:
1. find key features in each image
2. for nearby pairs of images, find matching features between pairs.
3. make a giant jigsaw puzzle out of the whole set of camera poses and 3d feature locations. The puzzle can only fit together perfectly if all the features and all the camera poses are in their correct relative locations. There is a brilliant thing called an optimizer (bundle adjustment) that solves the puzzle. Engineers use optimizers for iteratively solving a lot of problems that are large or difficult. Terrain stitching is enormous because you can have millions of variables you need to simultaneously manipulate. But optimizers are magic and can deal with this.
4. generate all the output products (sparse & dense point meshes, orthophotos, dem, etc.)
Solving the puzzle doesn't depend on all the images being taken from the same altitude or orientation. It's ok if the camera poses are pretty much arbitrary. (However, if images are really close to each other, or one above another, or taken at a highly oblique angle ... showing the horizon then this can introduce big errors pretty quickly and mess up the fit.) Some of these software packages probably have ways to address this if your goal is to build a 3d model of some sort of monument or vertical structure.
The reason I would want to follow terrain is to get consistent pixel resolution in my images. I'm hunting for a needle in the haystack (things that shouldn't be there) like trash or invasive plants. For me, higher resolution is better, so flying lower is better ... but more dangerous if there is terrain or trees. I often have to cover larger areas with highly varying terrain. It is complicated to find the high point in the area you want to fly (it may be inaccessible) and/or estimate how much higher the surrounding terrain + trees are so I can safely fly.
That said, I haven't tried this new product, and I'm not sure I'd trust something that blindly flies altitudes from an offline database ... you would still want to build in very large margins. Also, it really matters what direction you fly the survey pattern in terrain. You could easily end up wasting a lot of energy climbing and descending if you aren't careful.
Interesting stuff, but my recommendation is to use with caution and validate everything first with your human brain.