# Multi-HMR | |
# Copyright (c) 2024-present NAVER Corp. | |
# CC BY-NC-SA 4.0 license | |
import numpy as np | |
import torch.nn.functional as F | |
import torch | |
import roma | |
from smplx.joint_names import JOINT_NAMES | |
def rot6d_to_rotmat(x): | |
""" | |
6D rotation representation to 3x3 rotation matrix. | |
Args: | |
x: (B,6) Batch of 6-D rotation representations. | |
Returns: | |
torch.Tensor: Batch of corresponding rotation matrices with shape (B,3,3). | |
""" | |
x = x.reshape(-1,2,3).permute(0, 2, 1).contiguous() | |
y = roma.special_gramschmidt(x) | |
return y | |
def get_smplx_joint_names(*args, **kwargs): | |
return JOINT_NAMES[:127] |