bharat-b7 / RVH_Mesh_Registration

Code to fit SMPL model to scans
179 stars 21 forks source link

About fit_SMPLH.py error #9

Closed datased2019 closed 2 years ago

datased2019 commented 2 years ago

After everything is done, I tried running fit_SMPLH.py but got error as following.

Optimizing SMPL global orientation Iter: 29, pose_pr: 0.0000, pose_obj: 137.3827: 100% 30/30 [00:02<00:00, 12.19it/s] 0% 0/30 [00:00<?, ?it/s]Optimizing SMPL global orientation Iter: 29, pose_pr: 0.0000, pose_obj: 64.2258: 100% 30/30 [00:02<00:00, 12.46it/s] 0% 0/30 [00:00<?, ?it/s]Optimizing SMPL global orientation Iter: 29, pose_pr: 0.0000, pose_obj: 42.8275: 100% 30/30 [00:02<00:00, 12.39it/s] 0% 0/30 [00:00<?, ?it/s]Optimizing SMPL global orientation Iter: 29, pose_pr: 0.0000, pose_obj: 32.1087: 100% 30/30 [00:02<00:00, 12.32it/s] 0% 0/30 [00:00<?, ?it/s]Optimizing SMPL global orientation Iter: 29, pose_pr: 0.0000, pose_obj: 25.6859: 100% 30/30 [00:02<00:00, 12.53it/s] 0% 0/30 [00:00<?, ?it/s]Optimizing SMPL pose only Iter: 29, pose_pr: 0.0000, pose_obj: 21.4127: 100% 30/30 [00:02<00:00, 12.39it/s] Iter: 29, pose_pr: 0.0000, pose_obj: 18.3474: 100% 30/30 [00:02<00:00, 12.33it/s] Iter: 29, pose_pr: 0.0000, pose_obj: 16.0537: 100% 30/30 [00:02<00:00, 12.38it/s] Iter: 29, pose_pr: 0.0000, pose_obj: 14.2699: 100% 30/30 [00:02<00:00, 12.22it/s] Iter: 29, pose_pr: 0.0000, pose_obj: 12.8429: 100% 30/30 [00:02<00:00, 12.25it/s] Optimised smpl pose Optimizing SMPL: 0% 0/30 [00:00<?, ?it/s] Traceback (most recent call last): File "smpl_registration/fit_SMPLH.py", line 232, in main(args) File "smpl_registration/fit_SMPLH.py", line 207, in main fitter.fit([args.scan_path], [args.pose_file], args.gender, args.save_path) File "smpl_registration/fit_SMPLH.py", line 49, in fit self.optimize_pose_shape(th_scan_meshes, smpl, iterations, steps_per_iter, th_pose_3d) File "smpl_registration/fit_SMPLH.py", line 69, in optimize_pose_shape loss_dict = self.forward_pose_shape(th_scan_meshes, smpl, th_pose_3d) File "smpl_registration/fit_SMPLH.py", line 90, in forward_poseshape verts, , , = smpl() File "/usr/local/lib/python3.7/dist-packages/torch/nn/modules/module.py", line 1110, in _call_impl return forward_call(*input, *kwargs) File "/content/MPI_MeshRegistration/lib/smpl/wrapper_pytorch.py", line 68, in forward th_offsets=self.offsets) File "/usr/local/lib/python3.7/dist-packages/torch/nn/modules/module.py", line 1110, in _call_impl return forward_call(input, **kwargs) File "/content/MPI_MeshRegistration/lib/smpl/smplpytorch/smplpytorch/pytorch/smpl_layer.py", line 106, in forward self.th_shapedirs, self.th_betas.transpose(1, 0)).permute(2, 0, 1) RuntimeError: mat1 and mat2 shapes cannot be multiplied (20670x10 and 300x1)

Any comments?

datased2019 commented 2 years ago

Wrong SMPL model. I got it.

jackieyung commented 1 year ago

Hi, @datased2019 I also encountered your problem, my SMPL models are downloaded from image . So, could you give me some advice about which SMPL model I should use?

jackieyung commented 1 year ago

I also solved this problem after using SMPL v1.0.0 model. The author's instruction is wrong.

hwy1992129 commented 4 months ago

@datased2019 Hi, I have a question. Your error log shows you took 2 sec for 30 iteration. Is it caused by the wrong model or that is your speed? What is your hardware? Thanks.

Joon-Jung commented 1 month ago

Adding more details - need SMPL v1.1 for openpose stages but need SMPL v1.0 for fitting SMPL fit_SMPLH.py to 3d pose data (after openpose stages).