zju3dv / Vox-Fusion

Code for "Dense Tracking and Mapping with Voxel-based Neural Implicit Representation", ISMAR 2022
266 stars 24 forks source link

Why allocate voxels after optimizing the map? #18

Closed lsl-hk closed 1 year ago

lsl-hk commented 1 year ago

Hi, At initialization time, first allocate voxels in the optimized map. But after initialization,why allocate voxels after optimizing the map? Every time a new picture comes in, shouldn’t it be allocated voxels first?And then optimize map. If you don't do that the voxels may not exist on the new surface. abou this code: self.do_mapping(share_data, tracked_frame) self.create_voxels(tracked_frame)

garylidd commented 1 year ago

Hi, Good question.

The original intention of this design is to prevent the generation of redundant voxels due to the incomplete convergence of the pose of the tracking process. After the joint optimization in mapping process, the pose will be more accurate. In fact, since the overlap between consecutive frames is relatively large, and our representation can support larger voxel blocks, this does not have much impact in practice.

lsl-hk commented 1 year ago

Hi, Thank you for your answer.I understand it.