Spaces:
Runtime error
Runtime error
# -*- coding: utf-8 -*- | |
# Max-Planck-Gesellschaft zur Förderung der Wissenschaften e.V. (MPG) is | |
# holder of all proprietary rights on this computer program. | |
# You can only use this computer program if you have closed | |
# a license agreement with MPG or you get the right to use the computer | |
# program from someone who is authorized to grant you that right. | |
# Any use of the computer program without a valid license is prohibited and | |
# liable to prosecution. | |
# | |
# Copyright©2020 Max-Planck-Gesellschaft zur Förderung | |
# der Wissenschaften e.V. (MPG). acting on behalf of its Max Planck Institute | |
# for Intelligent Systems. All rights reserved. | |
# | |
# Contact: Vassilis Choutas, [email protected] | |
from omegaconf import OmegaConf | |
from loguru import logger | |
from dataclasses import dataclass | |
from .utils_cfg import Variable, Pose | |
class PCA: | |
num_comps: int = 12 | |
flat_hand_mean: bool = False | |
class PoseWithPCA(Pose): | |
pca: PCA = PCA() | |
class Shape(Variable): | |
num: int = 10 | |
class Expression(Variable): | |
num: int = 10 | |
class SMPL: | |
betas: Shape = Shape() | |
global_rot: Pose = Pose() | |
body_pose: Pose = Pose() | |
translation: Variable = Variable() | |
class SMPLH(SMPL): | |
left_hand_pose: PoseWithPCA = PoseWithPCA() | |
right_hand_pose: PoseWithPCA = PoseWithPCA() | |
class SMPLX(SMPLH): | |
expression: Expression = Expression() | |
jaw_pose: Pose = Pose() | |
leye_pose: Pose = Pose() | |
reye_pose: Pose = Pose() | |
class MANO: | |
betas: Shape = Shape() | |
wrist_pose: Pose = Pose() | |
hand_pose: PoseWithPCA = PoseWithPCA() | |
translation: Variable = Variable() | |
class FLAME: | |
betas: Shape = Shape() | |
expression: Expression = Expression() | |
global_rot: Pose = Pose() | |
neck_pose: Pose = Pose() | |
jaw_pose: Pose = Pose() | |
leye_pose: Pose = Pose() | |
reye_pose: Pose = Pose() | |
class BodyModelConfig: | |
model_type: str = 'smplx' | |
use_compressed: bool = True | |
folder: str = 'models' | |
gender: str = 'neutral' | |
extra_joint_path: str = '' | |
ext: str = 'npz' | |
num_expression_coeffs: int = 10 | |
use_face_contour: bool = True | |
joint_regressor_path: str = '' | |
smpl: SMPL = SMPL() | |
star: SMPL = SMPL() | |
smplh: SMPLH = SMPLH() | |
smplx: SMPLX = SMPLX() | |
mano: MANO = MANO() | |
flame: FLAME = FLAME() | |
conf = OmegaConf.structured(BodyModelConfig) | |