Closed WhitKey closed 2 years ago
Thanks for your interest!
It seems that you may use an incorrect SMPL model. The dimensions of betas and shapedirs are [1, 10] and [6890,3,10] in
File "C:\NVR\MeshRecovery\mvsmpl\DMMR-main\core\smplx\lbs.py", line 268, in blend_shapes: blend_shape = torch.einsum("bl,mkl->bmk", betas, shape_disps)
.
You can check whether the SMPL is the NEUTRAL model downloaded from the official SMPLify website https://download.is.tue.mpg.de/download.php?domain=smplify&resume=1&sfile=mpips_smplify_public_v2.zip.
The original file name is basicModel_neutral_lbs_10_207_0_v1.0.0.pkl. You can rename the .pkl and put it in models/smpl
Please let me know if you have another problem.
i can run the code successfully, thanks for help!
hello, when i run the code and got error above, could you help me understand how to fix the bug? thanks a lot!
here is the error: Traceback (most recent call last): File "main.py", line 56, in
main(args)
File "main.py", line 33, in main
setting = load_camera(data, setting, args)
File "C:\NVR\MeshRecovery\mvsmpl\DMMR-main\core\utils\module_utils.py", line 694, in load_camera
extris = extris_est(spin, data, data_folder, intris)
File "C:\NVR\MeshRecovery\mvsmpl\DMMR-main\core\utils\module_utils.py", line 570, in extris_est
output, vert = spin(norm_img)
File "C:\Users\black\anaconda3\envs\dmmr\lib\site-packages\torch\nn\modules\module.py", line 1102, in _call_impl
return forward_call(*input, kwargs)
File "C:\NVR\MeshRecovery\mvsmpl\DMMR-main\core\SPIN\spin.py", line 33, in forward
pred_output, verts = self.smpl(betas=pred_betas, body_pose=pred_rotmat[:,1:], global_orient=pred_rotmat[:,0].unsqueeze(1), pose2rot=False)
File "C:\Users\black\anaconda3\envs\dmmr\lib\site-packages\torch\nn\modules\module.py", line 1102, in _call_impl
return forward_call(*input, *kwargs)
File "C:\NVR\MeshRecovery\mvsmpl\DMMR-main\core\SPIN\smpl.py", line 19, in forward
smpl_output = super(SMPL, self).forward(args, kwargs)
File "C:\NVR\MeshRecovery\mvsmpl\DMMR-main\core\smplx\body_models.py", line 376, in forward
self.lbsweights, pose2rot=pose2rot, dtype=self.dtype)
File "C:\NVR\MeshRecovery\mvsmpl\DMMR-main\core\smplx\lbs.py", line 179, in lbs
v_shaped = v_template + blendshapes(betas, shapedirs)
File "C:\NVR\MeshRecovery\mvsmpl\DMMR-main\core\smplx\lbs.py", line 268, in blend_shapes
blend_shape = torch.einsum("bl,mkl->bmk", betas, shape_disps)
File "C:\Users\black\anaconda3\envs\dmmr\lib\site-packages\torch\functional.py", line 327, in einsum
return _VF.einsum(equation, operands) # type: ignore[attr-defined]
RuntimeError: einsum(): operands do not broadcast with remapped shapes [original->remapped]: [1, 10]->[1, 1, 1, 10] [6890, 3, 300]->[1, 6890, 3, 300]