File structure
.
└── nerf_synthetic/
└── lego /
├── test/
│ ├── r_0_depth_0001.png
│ ├── r_0_normal_0001.png
│ ├── r_0.png
│ ├── ...
│ └── r_199.png
├── train/
│ ├── r_0.png
│ ├── ...
│ └── r_99.png
├── val/
│ ├── r_0.png
│ ├── ...
│ └── r_99.png
├── trainsforms_test.json
├── trainsforms_train.json
└── trainsforms_val.json

BlenderDataset
class BlenderDataset(Dataset):
def __init__(self, datadir, split='train', downsample=1.0, is_stack=False, N_vis=-1):
self.N_vis = N_vis
self.root_dir = datadir
self.split = split
self.is_stack = is_stack
self.img_wh = (int(800/downsample),int(800/downsample))
self.define_transforms()
self.scene_bbox = torch.tensor([[-1.5, -1.5, -1.5], [1.5, 1.5, 1.5]])
self.blender2opencv = np.array([[1, 0, 0, 0], [0, -1, 0, 0], [0, 0, -1, 0], [0, 0, 0, 1]])
self.read_meta()
self.define_proj_mat()
self.white_bg = True
self.near_far = [2.0,6.0]
self.center = torch.mean(self.scene_bbox, axis=0).float().view(1, 1, 3)
self.radius = (self.scene_bbox[1] - self.center).float().view(1, 1, 3)
self.downsample=downsample
def read_depth(self, filename)
def read_meta(self)