from transform3d import transform_body_pose def run_smpl_fwd_vertices(body_model, body_transl, body_orient, body_pose): """ Standalone function to run SMPL forward pass.run_smpl_fwd_vertices Parameters: - body_model: The SMPL model instance - body_transl: Translation tensor - body_orient: Orientation tensor - body_pose: Pose tensor - fast: Boolean flag to use fast version Returns: - Vertices from the SMPL forward pass """ if len(body_transl.shape) > 2: body_transl = body_transl.flatten(0, 1) body_orient = body_orient.flatten(0, 1) body_pose = body_pose.flatten(0, 1) batch_size = body_transl.shape[0] body_model.batch_size = batch_size return body_model( transl=body_transl, body_pose=transform_body_pose(body_pose, 'aa->rot'), global_orient=transform_body_pose(body_orient, 'aa->rot') )