none
Efficient access to voxels in volume reconstruction RRS feed

  • Question

  • Hi,

    I need to process voxels in the color volume reconstruction, however using ExportVolumeBlock is extremely slow.  Nui algorithms like CalculatePointCloud can work at interactive rates and I would need to achieve the same, unfortunately ExportVolumeBlock becomes a horrible bottleneck.  Is there any other way to access those voxels and do stuff with them?

    Thanks


    • Edited by blackzafiro Wednesday, July 1, 2015 5:58 PM typo
    Wednesday, July 1, 2015 12:11 AM

Answers

  • What kind of processing do you want to do on the truncated signed distance function volume? Exporting the volume block is slow because it is copying large (512MB or up) arrays from  the GPU to system memory. If you want to do real time processing on the TSDF then take a look at kinfu, but you will have to work in CUDA since the data is on the GPU. 

    http://pointclouds.org/documentation/tutorials/using_kinfu_large_scale.php

    If you only export a subregion of the volume that you are interested in, perhaps you could get better speeds, but this may not be applicable to your needs. 
    • Edited by Phil Noonan Wednesday, July 1, 2015 10:45 AM
    • Marked as answer by blackzafiro Wednesday, July 1, 2015 5:58 PM
    Wednesday, July 1, 2015 10:42 AM

All replies

  • What kind of processing do you want to do on the truncated signed distance function volume? Exporting the volume block is slow because it is copying large (512MB or up) arrays from  the GPU to system memory. If you want to do real time processing on the TSDF then take a look at kinfu, but you will have to work in CUDA since the data is on the GPU. 

    http://pointclouds.org/documentation/tutorials/using_kinfu_large_scale.php

    If you only export a subregion of the volume that you are interested in, perhaps you could get better speeds, but this may not be applicable to your needs. 
    • Edited by Phil Noonan Wednesday, July 1, 2015 10:45 AM
    • Marked as answer by blackzafiro Wednesday, July 1, 2015 5:58 PM
    Wednesday, July 1, 2015 10:42 AM
  • I need to work with moving/deforming objects, so I need to remove, track and do other stuff before exporting to anything else.

    Thanks a lot for the link! I just took the time to take a look at Kinfu... PointCloudLibrary.  I don't mind working in CUDA, in fact I was expecting it would be required, what I find quite frustrating is that having to change to Kinfu basically means I made a terrible mistake in the first place by using the Microsoft Developer Toolkit for the Kinect, since now I will have to restart coding from zero.  Everything because I started working from the Microsoft Demos and now I come to realise I would have never had access to the reconstructed volume in the GPUs :(.  I expected an SDK would provide access, since it is said we can do further processing on the reconstructions.

    Wednesday, July 1, 2015 5:51 PM