Collection Geometry for Building Voxel Models - ngageoint/voxel-globe GitHub Wiki

Even though just about any collection with cameras can build a voxel world, certain collection geometries are more ideal for the voxel world calculations, and result in good models. Good collection geometries capture multiple view angles of all the surfaces to build up the 3D voxel world.

When planning a collection, one of the first decisions to make is “What size voxel will be generated?” The voxel size determines the smallest possible voxel surface size, after refining (smallest blue box in the figure below). The voxel size should match the nominal GSD during collection, where

GSD ≈ pixelPitch x distance / focalLength

images/octree.png

Ideal collection geometries have a constant GSD and multiple viewpoints of the targeted area. A sphere a good shape to collect over. One such flight plan is to fly circles at roughly the same distance from a fixation point at different altitudes, as seen in red in the figure below, on at least two different heights (h1 and h2). In addition to the circles on a sphere, two additional fly by passes passing directly over the fixation point and touching the very top of the sphere should be added to add additional viewing angles.

images/collection_geometry.png

It is often useful to decrease (by skipping frames that were collected) the frame rate of collected imagery to decrease the number of near identical viewpoints. A simple rule of thumb starting point when building a voxel world from circle collections is to use one frame every 5°, or roughly 72 frame per revolution.