Performance

The Voxblox code has prioritized readability and easy extension over performance. It was also designed to operate on systems that lack a GPU. One of the main drives to create Voxblox was to create a volumetric mapping library that fit the needs of planning for robots, because of this, and unlike many TSDF libraries all possible freespace is mapped in addition to areas close to surfaces. These design decisions limit performance, however high quality real-time mapping of large enviroments is still easily acheivable.

Integrator Performance

A table of demonstrating the performance of the merged and fast integrators on the cow and lady dataset on a i7-4810MQ 2.80GHz CPU is shown below:

Rendered Mesh Setup
merged20cm
Integrator
Voxel size
TSDF
Meshing
Total RAM
Merged
20 cm
56 ms / scan
2 ms / scan
49 MB
fast20cm
Integrator
Voxel size
TSDF
Meshing
Total RAM
Fast
20 cm
20 ms / scan
2 ms / scan
62 MB
merged5cm
Integrator
Voxel size
TSDF
Meshing
Total RAM
Merged
5 cm
112 ms / scan
10 ms / scan
144 MB
fast5cm
Integrator
Voxel size
TSDF
Meshing
Total RAM
Fast
5 cm
23 ms / scan
12 ms / scan
153 MB
merged2cm
Integrator
Voxel size
TSDF
Meshing
Total RAM
Merged
2 cm
527 ms / scan
66 ms / scan
609 MB
fast2cm
Integrator
Voxel size
TSDF
Meshing
Total RAM
Fast
2 cm
63 ms / scan
110 ms / scan
673 MB

Runtime Comparison to Octomap

Octomap ray casts all points from the origin, without bundling or any other approximation techniques. This is the same approach taken by voxblox’s simple integrator. This leads to a significant difference in the integration times when compared to voxblox’s fast integrator. A comparison in the performance was run integrating the velodyne data from the first 60 seconds of the 2011_10_03_drive_0027_sync KITTI dataset. The test was performed on an Intel i7-4810MQ quad core CPU running at 2.8 GHz and truncation distance was set to 4 voxels. The results are shown in the table below:

Voxel size Max ray length Octomap integration time Voxblox integration time
0.5 m 10 m 38 ms / scan 14 ms / scan
0.5 m 50 m 63 ms / scan 14 ms / scan
0.2 m 10 m 136 ms / scan 18 ms / scan
0.2 m 50 m 760 ms / scan 44 ms / scan
0.1 m 10 m 905 ms / scan 35 ms / scan
0.1 m 50 m 3748 ms / scan 100 ms / scan

On the same dataset voxblox was found to use 2 to 3 times the ram of Octomap.