general { base_exp_dir = exp/CASE_NAME/wmask tag = "train_retargeted_shadow_hand_seq_102_mano_pointset_acts_" tag = "train_retargeted_shadow_hand_seq_102_mano_pointset_acts_retar_to_shadow_pointset_" 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 # 64 validate_resolution_level = 4 warm_up_end = 5000 anneal_end = 0 use_white_bkgd = False # save_freq = 10000 save_freq = 10000 val_freq = 20 # 2500 val_mesh_freq = 20 # 5000 report_freq = 10 ### igr weight ### 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 ###### threshold, ks settings 1, optimize acts ###### # drive_pointset = "actions" # fix_obj = True # optimize_rules = False # train_pointset_acts_via_deltas = True # load_optimized_init_actions = "/data/xueyi/NeuS/exp/hand_test_routine_2_light_color_wtime_active_passive/wmask_reverse_value_totviews_tag_train_dyn_mano_hand_seq_102_mouse_optdynactions_points_optrobo_offsetdriven_optrules_multk100_wfixobj_optdelta_radius0d4_/checkpoints/ckpt_002000.pth" # load_optimized_init_actions = "/data/xueyi/NeuS/exp/hand_test_routine_2_light_color_wtime_active_passive/wmask_reverse_value_totviews_tag_train_dyn_mano_hand_seq_102_mouse_optdynactions_points_optrobo_offsetdriven_optrules_multk100_wfixobj_optdelta_radius0d2_/checkpoints/ckpt_008000.pth" ###### threshold, ks settings 1, optimize acts ###### ##### 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 #### # ###### Stage 1: threshold, ks settings 1, optimize offsets ###### # drive_pointset = "states" # fix_obj = True # optimize_rules = False # train_pointset_acts_via_deltas = False # load_optimized_init_actions = "ckpts/grab/102/dyn_mano_arti.pth" # ###### Stage 1: threshold, ks settings 1, optimize offsets ###### # ###### Stage 2: threshold, ks settings 1, optimize acts ###### # drive_pointset = "actions" # fix_obj = True # optimize_rules = False # train_pointset_acts_via_deltas = True # load_optimized_init_actions = "ckpts/grab/102/dyn_mano_pointset_states.pt" # ###### Stage 2: threshold, ks settings 1, optimize acts ###### # ###### Stage 3: threshold, ks settings 1, optimize params from acts ###### # drive_pointset = "actions" # fix_obj = False # optimize_rules = True # train_pointset_acts_via_deltas = True # load_optimized_init_actions = "ckpts/grab/102/dyn_mano_pointset_acts.pt" # ##### model parameters optimized from the MANO hand trajectory ##### # ckpt_fn = "ckpts/grab/102/dyn_mano_opts.pt" # ###### Stage 3: threshold, ks settings 1, optimize params from acts ###### # ###### Stage 4: threshold, ks settings 1, optimize acts from optimized params ###### # drive_pointset = "actions" # fix_obj = False # optimize_rules = False # train_pointset_acts_via_deltas = True ## pointset acts via deltas ### # ##### model parameters optimized from the MANO hand expanded set trajectory ##### # ckpt_fn = "ckpts/grab/102/dyn_mano_pointset_optimized_acts_optimized_ps.pth" # load_optimized_init_actions = "ckpts/grab/102/dyn_mano_pointset_optimized_acts.pth" # ###### Stage 4: threshold, ks settings 1, optimize acts from optimized params ###### ###### Retargeting Stage 1 ###### drive_pointset = "actions" fix_obj = False optimize_rules = False train_pointset_acts_via_deltas = True ##### model parameters optimized from the MANO hand expanded set trajectory ##### ckpt_fn = "ckpts/grab/102/dyn_mano_pointset_optimized_acts_optimized_ps_optimized_acts.pth" load_optimized_init_actions = "ckpts/grab/102/dyn_mano_pointset_optimized_acts_optimized_ps_optimized_acts.pth" load_optimized_init_transformations = "ckpts/grab/102/dyn_mano_shadow_arti_retar.pth" finger_cd_loss = 1.0 optimize_pointset_motion_only = True ###### Retargeting Stage 1 ###### ###### Retargeting Stage 2 ###### load_optimized_init_transformations = "ckpts/grab/102/dyn_mano_shadow_arti_retar_optimized_arti.pth" ###### Retargeting Stage 2 ###### 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, } }