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, vassilis.choutas@tuebingen.mpg.de | |
| 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) | |