DVGO 代码阅读

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 的结构:
DVGO 代码阅读_第1张图片

你可能感兴趣的:(人工智能,python)