Closed vinayakagarwal12 closed 3 years ago
It seems that the index out of bounds. You can add a flag --end 200
to check if the error still occurs.
I've received a similar error, when trying to run smpl reconstruction on my custom data:
❯ python3 apps/demo/mv1p.py ${data} --out ${data}/output/smpl --vis_det --vis_repro --undis --sub_vis 0 1 2 3 --vis_smpl
Demo code for multiple views and one person:
- Input : /mnt/d/mhudnell/data/volumetric_recordings/4-29_still/easymocap_format => 0, 1, 2, 3
- Output: /mnt/d/mhudnell/data/volumetric_recordings/4-29_still/easymocap_format/output/smpl
- Body : smpl=>neutral, body25
triangulation: 100%|████████████████████████████████████████████████████████████████████████████████████████████████| 575/575 [15:44<00:00, 1.64s/it]
dump: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████| 575/575 [00:14<00:00, 38.62it/s]
loading: 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████| 575/575 [01:00<00:00, 9.44it/s]
-> [Optimize global RT ]: 432.9ms
Traceback (most recent call last):
File "apps/demo/mv1p.py", line 117, in <module>
mv1pmf_smpl(dataset, args)
File "apps/demo/mv1p.py", line 71, in mv1pmf_smpl
weight_shape=weight_shape, weight_pose=weight_pose)
File "/home/max/repos/EasyMocap/easymocap/pipeline/basic.py", line 77, in smpl_from_keypoints3d2d
params = multi_stage_optimize(body_model, params, kp3ds, kp2ds, bboxes, Pall, weight_pose, cfg)
File "/home/max/repos/EasyMocap/easymocap/pipeline/basic.py", line 18, in multi_stage_optimize
params = optimizePose3D(body_model, params, kp3ds, weight=weight, cfg=cfg)
File "/home/max/repos/EasyMocap/easymocap/pyfitting/optimize_simple.py", line 301, in optimizePose3D
params = _optimizeSMPL(body_model, params, prepare_funcs, postprocess_funcs, loss_funcs, weight_loss=weight, cfg=cfg)
File "/home/max/repos/EasyMocap/easymocap/pyfitting/optimize_simple.py", line 246, in _optimizeSMPL
final_loss = fitting.run_fitting(optimizer, closure, opt_params)
File "/home/max/repos/EasyMocap/easymocap/pyfitting/optimize.py", line 38, in run_fitting
loss = optimizer.step(closure)
File "/home/max/repos/EasyMocap/easymocap/pyfitting/lbfgs.py", line 307, in step
orig_loss = closure()
File "/home/max/repos/EasyMocap/easymocap/pyfitting/optimize_simple.py", line 227, in closure
new_params = func(new_params)
File "/home/max/repos/EasyMocap/easymocap/pyfitting/optimize_simple.py", line 121, in interp_func
params[key][nf] = interp(params[key][left], params[key][right], 1-weight, key=key)
IndexError: index 575 is out of bounds for dimension 0 with size 575
I tried to fix by appending --end 570
to the command, but that still resulted in the error: IndexError: index 570 is out of bounds for dimension 0 with size 570
note: there are a total of 575 frames in my custom data
Can you share me the data? I can't reproduce this error by our own data.
@vinayakagarwal12 and @mhudnell
You could also try to look at the images creates on the folders detect
and keypoint3d
i think (i'm not sure wich folders has the rendered images)
over ther you can see that probably at some point you might have a failures at the bodypoints recognition.
Thats wha tususally happened with me.
So, for example, if you notice something odd on frame 352, you could use the command --end 350
@carlosedubarreto ah, that is likely the problem, then. I noticed there are quite a lot of failures in my body pose estimations. I will try to fix that, thanks.
I was running the code for smpl-x reconstruction on my own videos using the code -> data='/content/0_input/data' !python3 apps/demo/mv1p.py $data --out $data/output/smplx --vis_det --vis_repro --undis --sub_vis 1 2 --body bodyhandface --model smplx --gender male --write_smpl_full But I got the following index error. If anyone can help me solving this issue. Thanks.