Jeff-sjtu / HybrIK

Official code of "HybrIK: A Hybrid Analytical-Neural Inverse Kinematics Solution for 3D Human Pose and Shape Estimation", CVPR 2021
MIT License
1.17k stars 142 forks source link

other number joints ? #121

Open luoww1992 opened 1 year ago

luoww1992 commented 1 year ago

i notice there are 29 points to code in func:

    pose_skeleton = pred_xyz_jts_29.type(self.smpl_dtype) * self.depth_factor  # unit: meter
    # unit: meter
    output = self.smpl.hybrik(
        pose_skeleton=pose_skeleton[:, :, :],
        betas=pred_shape.type(self.smpl_dtype),
        phis=pred_phi.type(self.smpl_dtype),
        global_orient=None,
        return_verts=True
    )

i am trying to change the number of points to get a new, can you give me some advices? thanks.

luoww1992 commented 1 year ago

the pth model(hrnetw48_ckpt13.pth) exports 29 points ? if i use other model to export different number points like 17, 24..., how to change the code ?

like 24 points in smpl as an example.

Jeff-sjtu commented 1 year ago

Hi @luoww1992, the model also gives the format of 24/17 joints output. You can check it here.

stevechaw commented 1 year ago

Hi @Jeff-sjtu , I want to send some 3d keypoints into the hybrik function. I want to use the Hybrik function to estimate a better 3d pose. The input pose_skeleton is 29 keypoints, but the keypoints I got is 25 points, openpose type. Is that a way to solve this problem? Maybe transfer the openpose keypoints to the 29 keypoints? Or any other solutions? Thanks! output = self.smpl.hybrik( pose_skeleton=pose_skeleton[:, :, :], betas=pred_shape.type(self.smpl_dtype), phis=pred_phi.type(self.smpl_dtype), global_orient=None, return_verts=True )

kekekou commented 4 months ago

你好@Jeff-sjtu,我想将一些 3d 关键点发送到 hybrik 函数中。我想使用 Hybrik 函数来估计更好的 3d 姿势。输入的pose_骨骼是29个关键点,但是我得到的关键点是25个点,openpose类型。这是解决这个问题的方法吗?也许将 openpose 关键点转移到 29 个关键点?或者还有其他解决方案吗?谢谢! 输出= self.smpl.hybrik( pose_骨骼=pose_骨骼[:,:,:], betas=pred_shape.type(self.smpl_dtype), phis=pred_phi.type(self.smpl_dtype), global_orient=None, return_verts=True )

Do you have any solutions? I also want to know the answer. Even just giving me some hints would be great! Thank you.