Args: *args: extra arguments for SMPL initialization. extra_joints_regressor: path to extra joint regressor. Should be a .npy file. If provided, extra joints are regressed and concatenated after the joints regressed with the official
(self, *args, extra_joints_regressor=None, **kwargs)
| 424 | root_idx_smpl = 0 |
| 425 | |
| 426 | def __init__(self, *args, extra_joints_regressor=None, **kwargs): |
| 427 | """ |
| 428 | Args: |
| 429 | *args: extra arguments for SMPL initialization. |
| 430 | extra_joints_regressor: path to extra joint regressor. Should be |
| 431 | a .npy file. If provided, extra joints are regressed and |
| 432 | concatenated after the joints regressed with the official |
| 433 | J_regressor or joints_regressor. |
| 434 | **kwargs: extra keyword arguments for SMPL initialization. |
| 435 | |
| 436 | Returns: |
| 437 | None |
| 438 | """ |
| 439 | super(HybrIKSMPL, |
| 440 | self).__init__(*args, |
| 441 | extra_joints_regressor=extra_joints_regressor, |
| 442 | create_betas=False, |
| 443 | create_global_orient=False, |
| 444 | create_body_pose=False, |
| 445 | create_transl=False, |
| 446 | **kwargs) |
| 447 | |
| 448 | self.dtype = torch.float32 |
| 449 | self.num_joints = 29 |
| 450 | |
| 451 | self.ROOT_IDX = self.JOINT_NAMES.index('pelvis') |
| 452 | self.LEAF_IDX = [ |
| 453 | self.JOINT_NAMES.index(name) for name in self.LEAF_NAMES |
| 454 | ] |
| 455 | self.SPINE3_IDX = 9 |
| 456 | # # indices of parents for each joints |
| 457 | parents = torch.zeros(len(self.JOINT_NAMES), dtype=torch.long) |
| 458 | # extend kinematic tree |
| 459 | parents[:24] = self.parents |
| 460 | parents[24] = 15 |
| 461 | parents[25] = 22 |
| 462 | parents[26] = 23 |
| 463 | parents[27] = 10 |
| 464 | parents[28] = 11 |
| 465 | if parents.shape[0] > self.num_joints: |
| 466 | parents = parents[:24] |
| 467 | self.register_buffer('children_map', |
| 468 | self._parents_to_children(parents)) |
| 469 | self.parents = parents |
| 470 | |
| 471 | def _parents_to_children(self, parents): |
| 472 | children = torch.ones_like(parents) * -1 |
nothing calls this directly
no test coverage detected