PRBonn / make_it_dense

Make it Dense: Self-Supervised Geometric Scan Completion of Sparse 3D LiDAR Scans in Large Outdoor Environments
https://www.ipb.uni-bonn.de/wp-content/papercite-data/pdf/vizzo2022ral-iros.pdf
132 stars 11 forks source link

Conversion of VDB Grids to Tensors #6

Closed rauldds closed 1 year ago

rauldds commented 1 year ago

Hello,

Thank you for your amazing work, it is really amazing.

I have a few doubts and I hoped you could help me solved them (sorry if they're kind of dumb, I'm new to vdb)

First, in the script scan_complete.py (specifically in the function run_tsdf) you start to generate the tsdf grid based on a given point cloud scan. What I don't completely understand is what the base_volume and target_coords_xyz_a represent. Could you please elaborate?

Second, in the vdb_utils.py script (specifically in the function vdb_to_torch) you return a dictionary with nodes and origin tensors. What do these tensors represent?

Thank you for your time. Look forward to hearing from you! :)

nachovizzo commented 1 year ago

@rauldds sorry for the delay!

1) As stated in the code "This is still a hack, run tsdf with a higher resolution just to obtain the target cooridnates values". I was lazy enough to compute the exact coordinates of the volumes. Taking the scan, the spatial information you can do it. I just run 1 step of tsdf and extract it with the vdb_to_numpy. This is quite awkward, but well... it does the job

2) The nodes are the leaf nodes of the VDB grid. It sounds complicated but it is always a dense voxel grid of 8x8x8 voxels. You can use the vdb visualizer to inspect those.

I hope this helps somehow!