Question about pointcloud/mesh updates

Hello,

Is it fair to assume that between two pointcloud/mesh retrieval calls, the indeces remain static for previous points? I am not able to deduce this from the documentation. I am trying to annotate points, creating a semantic map, and with the current approach it might not be feasible if indeces change.

I am aware that chunks can change, but it is unclear if it is the points position that change, or the points themselves (point at some some index, say index 0, is a completely different point). I guess this depends on your underlying optimization framework?

If memory limits are hit I definitely expect points to change. What I am asking is for the case if there are no memory limit set in place (no forgetting).

Thanks for any help

A related question is: What does it mean that a PointCloudChunk has been updated? Your documentation is not very detailed about that (link to doc here).

Hi @haavarpb
Are you speaking about the Spatial Mapping module?

Please provide more information concerning your task, your goal, and the code that you are using.

Hi, thanks for coming back to me.

Yes, I am using the spatial mapping module.

I’ll try to get you some code if necessary, as I have to prepare it.

However, the goal is to build a semantic map. I use the image, depth, extrinsics and intrinsics to reproject yolo-labeled pixels into the global map. For each of the reprojected pixels, I find corresponding points in the retrieved map, and register a label in a list/hashmap using the index of that point. This approach presumes that the indeces of points in the global map remain static in between subsequent map retrieval calls. If that is not the case, the semantics would be invalidated due to underlying points changing.

I am just trying to chart my approach to this.

hello,

The attribute has_been_updated let you know if the current chunk was changed since the last retrieval of the mesh.
If it is set to false, indexes and position will remains as before. If set to true (meaning you are still looking at the same area as before, so the active chunk is still the same) indexes and position may change.

1 Like

Thanks for the feedback.

Just to reiterate to see if I follow:

So the chunks themselves don’t move in space, and I can rely on the indeces of chunks to refer to the same chunk in space. (Having visualized points, a separate color for each of the chunks, it looks like that the chunks are a result of some voxelation process?). However, points in chunks might get shuffled around if chunk is marked as updated.

Did I get that right?

Cheers

2 Likes

Yes, I confirm that what you have written is correct.

1 Like

Thank you very much for your help.

Good day!