Skip to content

pose length error when running with run_prior=True on demo2 sequence #8

@zblzcj

Description

@zblzcj

First of all, thank you for the great work and for open-sourcing this project!

I'm encountering an issue when running the example with run_prior: True, using the demo2 sequence. Below is the relevant output and error trace:

/app/outputs/logs/video-custom/2025-07-09/demo2-all-shot-0-0-500 ... /app/_DATA/hmp_model/mean-neutral-128-30fps.pt
mean: ['rotmat', 'pos', 'trans', 'root_vel', 'height', 'rot6d', 'angular', 'global_xform', 'velocity', 'root_orient']
std: ['rotmat', 'pos', 'trans', 'root_vel', 'height', 'rot6d', 'angular', 'global_xform', 'velocity', 'root_orient']
Loading from /app/_DATA/hmp_model/results/model
Load succeeded
2025-07-09 21:54:15.001 | INFO     | HMP.fitting:multi_stage_opt:680 - Running reconstruction with prior
loading data...
obs_data:  dict_keys(['joints2d', 'init_body_pose', 'init_body_shape', 'init_root_orient', 'init_trans', 'is_right', 'vis_mask', 'seq_interval', 'track_interval', 'track_id', 'seq_name'])
res_dict:  dict_keys(['betas', 'trans', 'world_scale', 'latent_pose', 'root_orient', 'init_body_pose', 'is_right', 'pose_body', 'cam_R', 'cam_t', 'intrins'])
betas (2, 10)
trans (2, 189, 3)
world_scale (1, 1)
latent_pose (2, 189, 15, 3)
root_orient (2, 189, 3)
init_body_pose (2, 189, 15, 3)
is_right (2, 189)
pose_body (2, 189, 15, 3)
cam_R (2, 189, 3, 3)
cam_t (2, 189, 3)
intrins (4,)
Sequence has 189 frames
torch.Size([189, 16, 3])
Error executing job with overrides: ['data=video', 'run_opt=True', 'data.seq=demo2']
Traceback (most recent call last):
  File "/app/dyn-hamr/run_opt.py", line 197, in main
    run_opt(cfg, dataset, out_dir, device)
  File "/app/dyn-hamr/run_opt.py", line 166, in run_opt
    run_prior(cfg, dataset, out_dir, device, ['smooth_fit'], \
  File "/app/dyn-hamr/HMP/fitting.py", line 1724, in run_prior
    fitting_prior(obs_data, res_dicts, hand_model, opt, data_args, prior_out, device)
  File "/app/dyn-hamr/HMP/fitting.py", line 1635, in fitting_prior
    multi_stage_opt(opt, device, obs_data, res_dict, hand_model, os.path.join(os.path.dirname(__file__), opt.HMP.config), opt.HMP.exp_name, init_method)
  File "/app/dyn-hamr/HMP/fitting.py", line 750, in multi_stage_opt
    data = get_stage2_res(opt.paths.base_dir, device, init_dict, hand_model)
  File "/app/dyn-hamr/HMP/fitting.py", line 216, in get_stage2_res
    assert len(pose) == 128
AssertionError

It seems like the code expects the sequence length to be exactly 128 frames. Should I manually trim or split my video into 128-frame segments before running with run_prior: True? Or is there another recommended way to handle longer sequences?

Thanks in advance for your help!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions