general { base_exp_dir = exp/CASE_NAME/wmask # tag = "train_retargeted_shadow_hand_seq_102_mano_sparse_retargeting_" tag = "train_dyn_mano_acts_" recording = [ ./, ./models ] } dataset { data_dir = public_data/CASE_NAME/ render_cameras_name = cameras_sphere.npz object_cameras_name = cameras_sphere.npz obj_idx = 102 } train { learning_rate = 5e-4 learning_rate_alpha = 0.05 end_iter = 300000 batch_size = 1024 validate_resolution_level = 4 warm_up_end = 5000 anneal_end = 0 use_white_bkgd = False # save_freq = 10000 save_freq = 10000 val_freq = 20 val_mesh_freq = 20 report_freq = 10 igr_weight = 0.1 mask_weight = 0.1 } model { optimize_dyn_actions = True optimize_robot = True use_penalty_based_friction = True use_split_params = False use_sqr_spring_stiffness = True use_pre_proj_frictions = True use_sqrt_dist = True contact_maintaining_dist_thres = 0.2 robot_actions_diff_coef = 0.001 use_sdf_as_contact_dist = True # use_contact_dist_as_sdf = False use_glb_proj_delta = True # penetration_proj_k_to_robot = 30 penetrating_depth_penalty = 1.0 train_states = True minn_dist_threshold = 0.000 obj_mass = 30.0 use_LBFGS = True use_LBFGS = False use_mano_hand_for_test = False # use the dynamic mano model here # extract_delta_mesh = False freeze_weights = True gt_act_xs_def = False use_bending_network = True ### for ts = 3 ### # use_delta_bending = False ### for ts = 3 ### sim_model_path = "rsc/shadow_hand_description/shadowhand_new.urdf" mano_sim_model_path = "rsc/mano/mano_mean_wcollision_scaled_scaled_0_9507_nroot.urdf" obj_sdf_fn = "data/grab/102/102_obj.npy" kinematic_mano_gt_sv_fn = "data/grab/102/102_sv_dict.npy" scaled_obj_mesh_fn = "data/grab/102/102_obj.obj" bending_net_type = "active_force_field_v18" sim_num_steps = 1000000 n_timesteps = 60 optim_sim_model_params_from_mano = False penetration_determining = "sdf_of_canon" train_with_forces_to_active = False loss_scale_coef = 1000.0 use_same_contact_spring_k = False use_optimizable_params = True # train_residual_friction = True mano_mult_const_after_cent = 1.0 optimize_glb_transformations = True no_friction_constraint = False optimize_active_object = True loss_tangential_diff_coef = 0 optimize_with_intermediates = True using_delta_glb_trans = False train_multi_seqs = False use_split_network = True use_delta_bending = True ##### contact spring model settings #### minn_dist_threshold_robot_to_obj = 0.1 penetration_proj_k_to_robot_friction = 10000000.0 penetration_proj_k_to_robot = 4000000.0 ##### contact spring model settings #### ###### ###### # drive_pointset = "states" fix_obj = True # to track the hand only optimize_rules = False train_pointset_acts_via_deltas = False load_optimized_init_actions = "" load_optimized_init_transformations = "" ckpt_fn = "" retar_only_glb = True # use_multi_stages = True ###### Stage 1: threshold, ks settings 1, optimize offsets ###### use_opt_rigid_translations=True train_def = True optimizable_rigid_translations=True nerf { D = 8, d_in = 4, d_in_view = 3, W = 256, multires = 10, multires_view = 4, output_ch = 4, skips=[4], use_viewdirs=True } sdf_network { d_out = 257, d_in = 3, d_hidden = 256, n_layers = 8, skip_in = [4], multires = 6, bias = 0.5, scale = 1.0, geometric_init = True, weight_norm = True, } variance_network { init_val = 0.3 } rendering_network { d_feature = 256, mode = idr, d_in = 9, d_out = 3, d_hidden = 256, n_layers = 4, weight_norm = True, multires_view = 4, squeeze_out = True, } neus_renderer { n_samples = 64, n_importance = 64, n_outside = 0, up_sample_steps = 4 , perturb = 1.0, } bending_network { multires = 6, bending_latent_size = 32, d_in = 3, rigidity_hidden_dimensions = 64, rigidity_network_depth = 5, use_rigidity_network = False, bending_n_timesteps = 10, } }