Voxels for 3D Shape Grids
Voxels put 3D shapes on a fixed grid so 3D convolutions can run, at the cost of memory that grows cubically.
Why Does This Exist?
3D representations need one shape that convolutions accept. Points are unordered and meshes are irregular, but a voxel grid is a plain 3D array. The price is cubic growth: halving voxel size multiplies cells by eight. This page teaches sizing and sparsity so voxels stay affordable.
Think of It Like This
Ice cube trays for marbles
Pouring marbles into an ice cube tray sorts them into slots you can count row by row. Tiny slots keep marbles separate but you need a freezer full of trays. Big slots save trays but jam two marbles together.
Voxel size is slot size and memory is freezer space. The analogy stops at emptiness: most trays stay empty in 3D streets.
How It Actually Works
Voxelization maps point to index with size . Features in one cell pool by mean or max. Memory is bytes for side and bytes per cell. Compute for dense 3D convolution scales with the same cube.
Worked example
Take m and m. Cells per side are , total . At 4 bytes each that is about MB dense. A street scan fills about cells, so sparsity is percent. Sparse storage keeps the and skips the rest, which is exactly what SECOND exploits.
Watch Out For
Voxel size erasing thin structures
A m voxel merges a m pole with air and the pole vanishes from every later layer. The symptom is systematic misses on poles and limbs. Size from the thinnest must-keep structure, not from memory comfort.
The Quick Version
- Voxels make 3D regular for convolutions at cubic memory cost.
- A grid holds cells; street scans fill under percent.
- Use sparse storage and convolution whenever occupancy is low.
- Do not use dense voxels past on one GPU; switch to points or fields.
- Size voxels from the thinnest structure, then fit memory around that.