HSMR / configs /pipeline /skelify-full.yaml
IsshikiHugh's picture
feat: CPU demo
5ac1897
_target_: lib.modeling.optim.SKELify
name: SKELify
cfg:
skel_model: ${_hub_.models.body_models.skel_mix_hsmr}
_f_normalize_kp2d: True
_f_normalize_kp2d_to_mean: False
_w_angle_prior_scale: 1.7
phases:
# ================================
# ⛩️ Part 1: Camera initialization.
# --------------------------------
STAGE-camera-init:
max_loop: 30
params_keys: ['cam_t', 'poses_orient']
parts: ['torso']
optimizer: ${...optimizer}
losses:
f_normalize_kp2d: ${...._f_normalize_kp2d}
f_normalize_kp2d_to_mean: ${...._f_normalize_kp2d_to_mean}
w_depth: 100.0
w_reprojection: 1.78
# ================================
# ================================
# ⛩️ Part 2: Overall optimization.
# --------------------------------
STAGE-overall-1:
max_loop: 30
params_keys: ['cam_t', 'poses_orient', 'poses_body', 'betas']
parts: ['all']
optimizer: ${...optimizer}
losses:
f_normalize_kp2d: ${...._f_normalize_kp2d}
f_normalize_kp2d_to_mean: ${...._f_normalize_kp2d_to_mean}
w_reprojection: 1.0
w_shape_prior: 100.0
w_angle_prior: 404.0
w_angle_prior_scale: ${...._w_angle_prior_scale} # TODO: Finalize it.
# --------------------------------
STAGE-overall-2:
max_loop: 30
params_keys: ['cam_t', 'poses_orient', 'poses_body', 'betas']
optimizer: ${...optimizer}
parts: ['all']
losses:
f_normalize_kp2d: ${...._f_normalize_kp2d}
f_normalize_kp2d_to_mean: ${...._f_normalize_kp2d_to_mean}
w_reprojection: 1.0
w_shape_prior: 50.0
w_angle_prior: 404.0
w_angle_prior_scale: ${...._w_angle_prior_scale} # TODO: Finalize it.
# --------------------------------
STAGE-overall-3:
max_loop: 30
params_keys: ['cam_t', 'poses_orient', 'poses_body', 'betas']
parts: ['all']
optimizer: ${...optimizer}
losses:
f_normalize_kp2d: ${...._f_normalize_kp2d}
f_normalize_kp2d_to_mean: ${...._f_normalize_kp2d_to_mean}
w_reprojection: 1.0
w_shape_prior: 10.0
w_angle_prior: 57.4
w_angle_prior_scale: ${...._w_angle_prior_scale} # TODO: Finalize it.
# --------------------------------
STAGE-overall-4:
max_loop: 30
params_keys: ['cam_t', 'poses_orient', 'poses_body', 'betas']
parts: ['all']
optimizer: ${...optimizer}
losses:
f_normalize_kp2d: ${...._f_normalize_kp2d}
f_normalize_kp2d_to_mean: ${...._f_normalize_kp2d_to_mean}
w_reprojection: 1.0
w_shape_prior: 5.0
w_angle_prior: 4.78
w_angle_prior_scale: ${...._w_angle_prior_scale} # TODO: Finalize it.
# ================================
optimizer:
_target_: torch.optim.LBFGS
lr: 1
line_search_fn: 'strong_wolfe'
tolerance_grad: ${..early_quit_thresholds.abs}
tolerance_change: ${..early_quit_thresholds.rel}
early_quit_thresholds:
abs: 1e-9
rel: 1e-9
img_patch_size: ${policy.img_patch_size}
focal_length: ${policy.focal_length}
logger: ${logger}