zju3dv / Vox-Fusion

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

Questions about the num_beddings parameter and others #13

Closed zhw-github closed 1 year ago

zhw-github commented 1 year ago

Hi, Sorry to bother you again? I am very interested in your excellent work, so I carefully read some of your code and ask some questions.

  1. In Mapping.py,there is such a line of code when initializing the embedded feature vector: self.embeddings = torch.zeros((num_embeddings, self.embed_dim),....) you set num_embeddings to 20000, what is the basis for the setting? My understanding is that the setting of embedding should be related to the voxels containing the surface in the space, because you are using sparse voxels with octrees. If this value is set too high, it will not be used. If it is too small, some voxels containing surfaces will not be allocated to the feature vector.
  2. In render_helpers.py,R = pose[: 3, : 3].transpose(-1, -2) # (3,3),why change y,z?
garylidd commented 1 year ago

Hi,

  1. You are right, the current setting of num_embeddings is just for experiment, this part can easily be modified to an adaptive allocation strategy.
  2. The arguments to torch.transpose refer to dimensions, not specific values.
zhw-github commented 1 year ago

Thanks for answering I understand

JunyuanDeng commented 1 year ago

Hi,

  1. You are right, the current setting of num_embeddings is just for experiment, this part can easily be modified to an adaptive allocation strategy.
  2. The arguments to torch.transpose refer to dimensions, not specific values.

I assume that it does a pose[: 3, : 3].T operation. I guess it's because of the outputs from se3pose.py, which outputs the poses from world coordinate to camera coordinate rather than camera to world.