from t2m.final_evaluations import FinalEval, DummyArgs from dataclasses import dataclass from Motion.BVH import load as bvh_load from Motion.Animation import positions_global from utils.humanml_utils import position_to_humanml import numpy as np from os.path import join as pjoin from glob import glob from tqdm import tqdm import os def create_test_std_mean(modi_folder_path, out_path): first = True anim_parts = glob(pjoin(modi_folder_path,'*.bvh')) for part_path in tqdm(anim_parts): a, nm,_ = bvh_load(pjoin(part_path)) motion,_,_,_ = position_to_humanml(positions_global(a), nm) if first: animations=motion first = False else: animations = np.concatenate((animations,motion), axis=0) if not os.path.exists(out_path): os.makedirs(out_path) np.save(pjoin(out_path,'std.npy'),np.std(animations, axis=0)) np.save(pjoin(out_path,'mean.npy'),np.mean(animations, axis=0)) if __name__ == '__main__': # run the evaluation log_file = DummyArgs.out_path if DummyArgs.out_path != '' else './t2m_evaluation.log' FinalEval().evaluation(log_file) # # use this to generate mean and std for processed data # # place the files in the checkpoints/t2m/Comp_v6_KLD01/meta # create_test_std_mean(r"D:\Documents\University\DeepGraphicsWorkshop\data\preprocessed_data_test", # r"D:\Documents\University\DeepGraphicsWorkshop\data\eval_std_mean")