Our3D / configs /default.py
yansong1616's picture
Upload 384 files
b177539 verified
raw
history blame
6 kB
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