Posted on 

 by 

 in 

An (EOS optimised) voxel by any other name…

A voxel is a term in computer graphics and 3D modelling, representing a value on a regular grid in three-dimensional space, similar to how a pixel represents a value in two-dimensional space

Regardless of the terms and names we assign to digital constructs, their intrinsic properties and roles are dependent on their use case. BIM and CAD evolved in response to their specific needs – creating an ecosystem. Many of the methods have also emerged as a consequence of processing and storage constraints, which have been eroded through Moore’s Law and large scale distributed cloud computing and parallelisation.

We believe that Voxels are a key store of large scale, manipulable and comparable data. In effect offering a 3D equivalent of a Raster format such as a Geo-Tiff that can represent not just the form, but the attributes of a given environment.

Voxels by comparison to Point Clouds, can store and encode data in the 3D form, and can be represented at different scales, and densities. Additionally procedural, inference and Ai generation can fill gaps and estimate patterns and “in-painting” whilst preserving what is directly observed vs generated (synthetic or semi-synthetic data).

Earth Observation System Optimised Voxels (EOSO-Vox)

Voxels are the three-dimensional equivalent of pixels. X,Y,Z and represent the entire occupied space (and the negative or un-occupied space).

  • In EOS, voxels are used to represent complex 3D structures, landscapes, or environments with high precision.
  • They are frequently used in GeoPhysics and GeoTechnical investigations to present core samples and material properties, providing cross-sectional sample data through large inferred geophysical properties; ie layers of soil.
  • They represent values on a regular grid in three-dimensional space, akin to how pixels represent values on a two-dimensional grid in an image. Which make them very quick to process and traverse.

Advantages of Voxels in EOS:

  • Voxels can represent 3D structures with a high degree of accuracy since they provide information about the volume of the object, not just its surface. This means being able to represent the internals, and other values within the Voxelised space, as well as tying in multiple types of data, against the same point in space (e.g. Hyperspectral or GeoSemantic data). In essence this means high precision and data dense.
  • Voxels provide a uniform grid which can simplify computational processes like collision detection, physics simulation, and rendering. This is in part why Voxels are often used as a step in rendering processes to permit K-nearest neighbour and similar systems to produce 3D meshes.
  • Voxels can be directly manipulated, which can be beneficial for applications like 3D sculpting, medical imaging, and geospatial analysis. The ease of manipulation permits the rapid simulation and updating of a space, bringing both the benefits of point clouds and raster files, to bear on a world that is 3D – albeit often depicted in 2D.
  • Since voxels represent 3D space uniformly, they can maintain the integrity of the original data without the need for complex algorithms to interpret the structure. This also allows for simulated events and data to be operated on Geo-Specific data. Since the data can also be tied into traditional GIS systems, changes from one can be passed to another.

How to optimise Voxels for EOS data?

Tuning voxels is a case of software development. However Voxelised representation of data for EOS is tricky. For a start, most EOS data is top down, and unless significant overpass data is made, may not cover all angles. Where budgets are unlimited, full 3D models can be created, however they lack semantic data, that the blob of pixels is part of a road, what class of road, what conditions, etc.

We believe that Voxels present a means to combine the best of geo-specific data with geo-semantic and geosemantic rectification (i.e. deconfliction of where a building and a pathway conflict). Which is right? What value does this hold? Suddenly the pixel has a semantic value, and more can be generated or based on this, or ignored and simply the 3D form utilised. This package of data provides a considerable benefit to rapid and real-time processing, and can be used to process large data sets, simulation and terrain modelling and generation. We have therefore begun the process of creating a format that leverages the best of these attributes into something that can be downloaded and exploited in a range of software, from games to GIS tools, analysis and simulation.
(Spoiler: we have a marketplace for this coming soon!).

At what cost?

Whilst there are a lot of benefits, there are a few comparative drawbacks, although we believe these drawbacks have been increasingly eroded, and optimisation removes a great deal of these caveats.

  • Voxel-based data can be significantly larger than other 3D data representations, leading to challenges in storage and processing. Since every point is represented, you end up with more data, versus converting to a mesh (essentially a 3D surface made of Polygons) that represents that space, and painting texture or imagery across it.
  • Rendering voxel-based environments can be more resource-intensive than polygon-based models, largely for the above reasons. However Polaron engine has tuned this and employs adaptive scaling – to load what you need when you need it. This adaptive Level of Detail (LOD) also permits the Voxelised increase in LOD at different scales – e.g. curves and high detailed areas. In short, not all data is equal and such methods are inherent in the majority of formats or rendering methods.

EOS-Optimised-Voxels compared to other formats

  1. Polygon Meshes:
    • As mentioned earlier, traditional 3D models are often represented as polygon meshes (collections of vertices, edges, and faces).
    • Polygon meshes are efficient in terms of storage and are widely supported by rendering engines, however they sometimes lack the volumetric detail provided by voxels or have been processed. Scanning invariably involves converting a series of measured points, to then convert to the mesh. Thus some transformation occurs – which doesn’t preserve the scan data, which is closest to the ground truth.
    • Meshes can be better for rendering complex surfaces, or where gaming and animation requires a finite amount of resource. It is common to have to render lower polygon (essentially fewer details) in models to allow their use in certain applications – e.g. Running on a games console vs a gaming PC. As always resources are finite.
    • https://en.wikipedia.org/wiki/Polygon_mesh
  2. Point Clouds:
    • Point clouds are sets of data points in space, often used in 3D scanning and photogrammetry, self driving cars, ranging and estimation of the distance a point is from observation.
    • They are excellent for representing the external surface of objects but don’t inherently provide volumetric data like voxels. Some systems use this in SLAM (Simultaneous Location and Mapping), as well as Voxel based solutions – which provide a known point and form in space. Tesla uses/used voxels in some of their navigation systems as well as a plethora of UAV and autonomous systems. Additionally not just modelling an obstruction but being aware of it’s semantic values (e.g. a person vs a vehicle, vs a weather event, etc).
    • Processing point clouds to create a solid model can be more complex compared to voxel data. Which is close enough to voxel data to allow easy and rapid translation.
    • https://en.wikipedia.org/wiki/Point_cloud
  3. NURBS and Splines:
    • Non-Uniform Rational B-Splines (NURBS) are mathematical representations used for creating smooth and complex surfaces. They are highly precise and are used in CAD and industrial design but are not as straightforward for volumetric representations as voxels. This is useful when a precise curve or form depiction is necessary, which is very use case specific. However highly detailed Voxel models provide a similar fidelity and can be rendered into a NURB or similar curve, which is a method employed in high resolution rendering pipelines. Thus the Voxel is often used to encode and process the relationship between these points to generate the curve.
    • https://en.wikipedia.org/wiki/Non-uniform_rational_B-spline
  4. Subdivision Surfaces:
    • These are used to create high-resolution meshes from low-polygon models. Which are in essence a means of procedurally upscaling a given mesh given limited data. Again Semantic Data in Voxels and the form and data of an object can be used to a similar effect.
    • Whilst subdivision surfaces allow for smooth and detailed surfaces, they lack the volumetric detail and uniformity of voxels. Which is beneficial for scaling and selective rendering at different resolutions. Voxel data structures can also be rendered at varying fidelity, permitting a great deal of flexibility.
    • https://en.wikipedia.org/wiki/Subdivision_surface
  5. Octrees and Other Spatial Data Structures:
    • Perhaps most famous is the Octrees, a tree based data structures whereby each level is exponentially more granular (think a tree of life) and used to partition three-dimensional space, often used in conjunction with voxels.
    • They optimize storage and processing of voxel data but are a more complex data structure compared to regular voxel grids

So what to make of all of this?

The choice between voxels and other 3D data representations often depends on the specific requirements of the application, such as the need for precision, type of rendering, computational resources, and the nature of the 3D data being represented. However Voxels offer a great deal of benefits, to many applications, simulation and modelling (*yes and digital twins – even the word is very loose in it’s definition!).

“There is nothing either good or bad, but thinking makes it so.”

Hamlet, Act 2, Scene 2


We believe that some use cases, a hybrid approach may be used, combining the strengths of different data representations (e.g., using voxels for volumetric data and polygon meshes for surfaces). We worked with Fraunhofer Focus, to demonstrate how a Voxel based simulation could inform a Unity based MetaVerse and AR / VR interactions based on a model obtained via SLAM and Lidar scanning of Berlin Central Station. With the benefits of Polaron being able to be presented inside of Unity, as well as a plethora of GIS applications and other processing. As with so much in software and EOS, a GIS – Geographic Information System is the sum of it’s parts. However we believe Voxels and EOS-Optimised Voxel processing presents a huge advantage for certain types of processing, in particular simulation, gaming and real-time analysis.

Voxels offer unique advantages in representing volumetric data with high precision, albeit at the expense of wanting to deal with large sizes (kilometres) and consequent large data sizes and the consequent0 computational demands – however we live in a time of complexity, big data and increasingly complex systematic interactions, real-time adaptation and calculation and a demand to simulate what if?

Part of Polaron’s genesis was to be able to unlock this at scale and offer the benefit of using voxels in EOS and other 3D data formats largely depends on the specific requirements of the application and the nature of the data.