Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Question about two functions: ViewCalculator::getBlocksInImageViewRaycast() and checkBlocksInTruncationBand() #18

Open
gogojjh opened this issue Dec 18, 2022 · 2 comments

Comments

@gogojjh
Copy link

gogojjh commented Dec 18, 2022

Hi, Thanks for your great works. I have two questions regarding details of NVblox:

Q1: Voxel block retrieval in the TSDF integration:

const std::vector<Index3D> block_indices =

Could you please check the correctest of my understanding: it seems that indices of all visible voxel blocks (traversed by the ray) are stored as the block_indices. The TSDF values and weights of voxels from these blocks will be updated, through TSDF values of voxels (purple one in the below figure) which are far away from the truncation are equal to the truncation_distance_m.

Q2: Reduce blocks in the color integration:

if (std::abs(voxel.distance) <= truncation_distance_m) {

For the color integration, we are interested in voxels which are near surfaces. In other words, only these voxels should have colored. Thus, could you please explain why the critera of reducing blocks like this
if (std::abs(voxel.distance) <= truncation_distance_m)?

I think that the critera should be set as
if (std::abs(voxel.distance) < truncation_distance_m && std::abs(voxel.distance) > 0)
to keep voxels which are already observed before and near surfaces.

Thanks.

@gogojjh gogojjh changed the title Question about two function: ViewCalculator::getBlocksInImageViewRaycast() and checkBlocksInTruncationBand() Question about two functions: ViewCalculator::getBlocksInImageViewRaycast() and checkBlocksInTruncationBand() Dec 18, 2022
@alexmillane
Copy link
Contributor

Thank you for the question and for your interest in nvblox.

Q1: You're absolutely correct! :)

Q2: I think that there's a typo in your condition, the second clause looks incorrect to me: std::abs(voxel.distance) > 0. I guess you mean std::abs(voxel.weight) > 0. That's actually a good idea. We'll put that in the next release.

Thank you for pointing that out.

@gogojjh
Copy link
Author

gogojjh commented Mar 30, 2023

Hi Alex,

Thanks for your reply.
Regarding the Q1, for the purpose of large-scale reconstruction, it seems that only green voxels are focused. Would it be possible for us to only store green voxels to avoid large memory footprint?

Thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants