BBx 的大小范围是 根据 相机的 位姿来构建的,会刚好 Cover 相机的移动范围,相当于 StreetSurf 里面的 close-range 的部分,代码在compute_bbox_by_cam_frustrm_unbounded 这个函数里面:
xyz_min, xyz_max = _compute_bbox_by_cam_frustrm_unbounded(
cfg, HW, Ks, poses, i_train, kwargs.get('near_clip', None))
依靠这个 xyz 的前后边界 来区分 前景 fg 和 背景 bg
Density Field 的 dim = 1; RGB Field 的 Dim = 12
Torch 的用法 register_buffer
通过register_buffer()登记过的张量:会自动成为模型中的参数,随着模型移动(gpu/cpu)而移动,但是不会随着梯度进行更新。 模型的参数只有 parameter 会被网络的BP 所更新, buffer 只是模型参数的一部分,但是不会被更新。 相当于 requires_grad 设置成 False
这种写法相当于 self.xyz_min = torch.Tensor([-1,-1,-1])
self.register_buffer('xyz_min', torch.Tensor([-1,-1,-1]) - bg_len)
输入到RGBNet 中的 网络的参数:
view_dir 的 维度经过PE 之后是27; Feature Volume 中的 dim = 12, 实际送入到网络的 feature 是 dim = 39. RGB 的网络是3层 128维度宽的MLP。
RgbNet 的结构: