Thansk to the excellent work! I have a question about reduce_masked_mean.
in oder to fuse every camera feature, you get "mask_mems" by mask_mems = (torch.abs(feat_mems) > 0).float(), and get in reduce_masked_mean, but in vox_util.unproject_image_to_mem function , there is a "valid_mem" fromvalid_mem = (x_valid & y_valid & z_valid).reshape(B, 1, Z, Y, X).float(), and adapt to values by values = values * valid_mem , I'm confused about this, why not using "valid_mem" from vox_util.unproject_image_to_mem ,but get a new "mask_mems" by mask_mems = (torch.abs(feat_mems) > 0).float()? seems not make sense to me.
Thansk to the excellent work! I have a question about reduce_masked_mean. in oder to fuse every camera feature, you get "mask_mems" by
mask_mems = (torch.abs(feat_mems) > 0).float()
, and get inreduce_masked_mean
, but in vox_util.unproject_image_to_mem function , there is a "valid_mem" fromvalid_mem = (x_valid & y_valid & z_valid).reshape(B, 1, Z, Y, X).float()
, and adapt to values byvalues = values * valid_mem
, I'm confused about this, why not using "valid_mem" from vox_util.unproject_image_to_mem ,but get a new "mask_mems" bymask_mems = (torch.abs(feat_mems) > 0).float()
? seems not make sense to me.