Spaces:
Paused
Paused
from copy import deepcopy | |
expname = None # experiment name | |
basedir = './logs/' # where to store ckpts and logs | |
''' Template of data options | |
''' | |
data = dict( | |
datadir=None, # path to dataset root folder | |
dataset_type=None, # blender | nsvf | blendedmvs | tankstemple | deepvoxels | co3d | |
inverse_y=False, # intrinsict mode (to support blendedmvs, nsvf, tankstemple) | |
flip_x=False, # to support co3d | |
flip_y=False, # to suppo/= 10 | |
annot_path='', # to support co3d | |
split_path='', # to support co3d | |
sequence_name='', # to support co3d | |
# load2gpu_on_the_fly=False, # do not load all images into gpu (to save gpu memory) | |
load2gpu_on_the_fly=True, # do not load all images into gpu (to save gpu memory) | |
testskip=5, # subsample testset to preview results | |
white_bkgd=True, # use white background (note that some dataset don't provide alpha and with blended bg color) | |
rand_bkgd=False, # use random background during training | |
half_res=False, # [TODO] | |
bd_factor=.75, | |
movie_render_kwargs=dict(), | |
# Below are forward-facing llff specific settings. | |
ndc=False, # use ndc coordinate (only for forward-facing; not support yet) | |
spherify=False, # inward-facing | |
factor=4, # [TODO] | |
width=None, # enforce image width | |
height=None, # enforce image height | |
llffhold=8, # testsplit | |
load_depths=False, # load depth | |
# Below are unbounded inward-facing specific settings. | |
unbounded_inward=False, | |
unbounded_inner_r=1.0, | |
) | |
''' Template of training options | |
''' | |
coarse_train = dict( | |
N_iters=5000, # number of optimization steps | |
N_rand=8192, # batch size (number of random rays per optimization step) | |
#N_rand=1024, # batch size (number of random rays per optimization step) | |
lrate_density=1e-1, # lr of density voxel grid | |
lrate_k0=1e-1, # lr of color/feature voxel grid | |
lrate_rgbnet=1e-3, # lr of the mlp to preduct view-dependent color | |
lrate_decay=20, # lr decay by 0.1 after every lrate_decay*1000 steps | |
pervoxel_lr=True, # view-count-based lr | |
pervoxel_lr_downrate=1, # downsampled image for computing view-count-based lr | |
ray_sampler='random', # ray sampling strategies | |
weight_main=1.0, # weight of photometric loss | |
weight_entropy_last=0.01, # weight of background entropy loss | |
weight_nearclip=0, | |
weight_distortion=0, | |
weight_rgbper=0.1, # weight of per-point rgb loss | |
tv_every=1, # count total variation loss every tv_every step | |
tv_after=0, # count total variation loss from tv_from step | |
tv_before=0, # count total variation before the given number of iterations | |
tv_dense_before=0, # count total variation densely before the given number of iterations | |
weight_tv_density=0.0, # weight of total variation loss of density voxel grid | |
weight_tv_k0=0.0, # weight of total variation loss of color/feature voxel grid | |
pg_scale=[], # checkpoints for progressive scaling | |
decay_after_scale=1.0, # decay act_shift after scaling | |
skip_zero_grad_fields=[], # the variable name to skip optimizing parameters w/ zero grad in each iteration | |
maskout_lt_nviews=0, | |
) | |
fine_train = deepcopy(coarse_train) | |
fine_train.update(dict( | |
N_iters=20000, | |
pervoxel_lr=False, | |
ray_sampler='flatten', | |
weight_entropy_last=0.001, | |
weight_rgbper=0.01, | |
pg_scale=[1000, 2000, 3000, 4000], | |
skip_zero_grad_fields=['density', 'k0'], | |
)) | |
''' Template of model and rendering options | |
''' | |
coarse_model_and_render = dict( | |
num_voxels=1024000, # expected number of voxel | |
num_voxels_base=1024000, # to rescale delta distance | |
density_type='DenseGrid', # DenseGrid, TensoRFGrid | |
k0_type='TensoRFGrid', # DenseGrid, TensoRFGrid | |
density_config=dict(), | |
k0_config=dict(n_comp=48), | |
mpi_depth=128, # the number of planes in Multiplane Image (work when ndc=True) | |
nearest=False, # nearest interpolation | |
pre_act_density=False, # pre-activated trilinear interpolation | |
in_act_density=False, # in-activated trilinear interpolation | |
bbox_thres=1e-3, # threshold to determine known free-space in the fine stage | |
mask_cache_thres=1e-3, # threshold to determine a tighten BBox in the fine stage | |
rgbnet_dim=0, # feature voxel grid dim | |
rgbnet_full_implicit=False, # let the colors MLP ignore feature voxel grid | |
rgbnet_direct=True, # set to False to treat the first 3 dim of feature voxel grid as diffuse rgb | |
rgbnet_depth=3, # depth of the colors MLP (there are rgbnet_depth-1 intermediate features) | |
rgbnet_width=128, # width of the colors MLP | |
alpha_init=1e-6, # set the alpha values everywhere at the begin of training | |
fast_color_thres=1e-7, # threshold of alpha value to skip the fine stage sampled point | |
maskout_near_cam_vox=True, # maskout grid points that between cameras and their near planes | |
world_bound_scale=1, # rescale the BBox enclosing the scene | |
stepsize=0.5, # sampling stepsize in volume rendering | |
) | |
fine_model_and_render = deepcopy(coarse_model_and_render) | |
fine_model_and_render.update(dict( | |
num_voxels=160**3, | |
num_voxels_base=160**3, | |
rgbnet_dim=12, | |
alpha_init=1e-2, | |
fast_color_thres=1e-4, | |
maskout_near_cam_vox=False, | |
world_bound_scale=1.05, | |
)) | |
del deepcopy | |