Skip to content

More efficient way of allocating voxel hash blocks in context of dynamic surfaces #38

@Algomorph

Description

@Algomorph

This is an optimization of #6

  • Project corners of forward-warped activation candidate blocks onto depth image
  • Bin projected candidate blocks into BxB rectangles on the depth image by recording the depth range (two floats) of each forward-warped candidate block into each BxB bin. I suggest 4x4 pixels for the bin size, but this should be parameterized. Probably, need to experiment how many blocks tend to fall into each bin first to determine optimal range array size for each bin. Overflow should be ignored.
  • Query pixel values for each block: if depth is within truncation distance + depth range of recorded block depth range, mark block to be allocated.

This reduces complexity from O(block_count * depth_sample_count) to O(bin_size * depth_sample_count) + O(block_count).

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions