def gendata(data_path, out_path, ignored_sample_path=None, benchmark='xview', part='eval'): if ignored_sample_path != None: with open(ignored_sample_path, 'r') as f: ignored_samples = [ line.strip() + '.skeleton' for line in f.readlines() ] else: ignored_samples = [] sample_name = [] sample_label = [] for filename in os.listdir(data_path): if filename in ignored_samples: continue action_class = int(filename[filename.find('A') + 1:filename.find('A') + 4]) #if action_class>60: #61->12, 65->16 # continue action_class -= 49 #55->6, 56->7, 58 -> 9 action_map = {"hand_shake":"58", "pass_object":"56", "hug":"55"} #subject_id = int( # filename[filename.find('P') + 1:filename.find('P') + 4]) camera_id = int(filename[filename.find('C') + 1:filename.find('C') + 4]) istraining = (camera_id != 3) if part == 'train': issample = istraining elif part == 'val': issample = not (istraining) else: raise ValueError() if issample: sample_name.append(filename) sample_label.append(action_class - 1) with open('{}/{}_label.pkl'.format(out_path, part), 'wb') as f: pickle.dump((sample_name, list(sample_label)), f) fp = np.zeros((len(sample_label), 3, max_frame, num_joint, max_body_true), dtype=np.float32) for i, s in enumerate(tqdm(sample_name)): data = read_xyz(os.path.join(data_path, s), max_body=max_body_kinect, num_joint=num_joint) #def read_xyz(file, max_body=4, num_joint=25): fp[i, :, 0:data.shape[1], :, :] = data fp = pre_normalization(fp) np.save('{}/{}_data_joint.npy'.format(out_path, part), fp)
def gendata(data_path, out_path, ignored_sample_path=None, benchmark='xview', part='eval'): if ignored_sample_path != None: with open(ignored_sample_path, 'r') as f: ignored_samples = [ line.strip() + '.skeleton' for line in f.readlines() ] else: ignored_samples = [] sample_name = [] sample_label = [] for filename in os.listdir(data_path): if filename in ignored_samples: continue action_class = int(filename[filename.find('A') + 1:filename.find('A') + 4]) if (action_class != 55) and (action_class != 56) and (action_class != 58): #6,7,9 continue action_class -= 49 set_up = int(filename[filename.find('S') + 1:filename.find('S') + 4]) if set_up > 1: continue sample_name.append(filename) sample_label.append(action_class - 1) with open('{}/{}_label.pkl'.format(out_path, part), 'wb') as f: #????? pickle.dump((sample_name, list(sample_label)), f) fp = np.zeros((len(sample_label), 3, max_frame, num_joint, max_body_true), dtype=np.float32) #N,C,T,V,M for i, s in enumerate(tqdm(sample_name)): data = read_xyz(os.path.join(data_path, s), max_body=max_body_kinect, num_joint=num_joint) fp[i, :, 0:data.shape[1], :, :] = data #50000,3,300,25,2 fp = pre_normalization(fp) #preprocess.py np.save('{}/{}_data_joint.npy'.format(out_path, part), fp)
def gendata(data_path, out_path, ignored_sample_path=None, benchmark='xview', part='eval'): if ignored_sample_path != None: with open(ignored_sample_path, 'r') as f: ignored_samples = [ line.strip() + '.skeleton' for line in f.readlines() ] else: ignored_samples = [] sample_name = [] sample_label = [] for filename in os.listdir(data_path): if filename in ignored_samples: continue print(filename) action_class = int(filename[filename.find('A') + 1:filename.find('A') + 4]) subject_id = int(filename[filename.find('P') + 1:filename.find('P') + 4]) camera_id = int(filename[filename.find('C') + 1:filename.find('C') + 4]) ############################################################ action_class -= 49 #50->1 #50-60->1-11 #50-65 => 1-16 if action_class < 1: continue ############################################################ istraining = True if part == 'train': issample = istraining elif part == 'val': issample = not (istraining) else: raise ValueError() if issample: sample_name.append(filename) sample_label.append(action_class - 1) with open('{}/{}_label.pkl'.format(out_path, part), 'wb') as f: #????? pickle.dump((sample_name, list(sample_label)), f) fp = np.zeros((len(sample_label), 3, max_frame, num_joint, max_body_true), dtype=np.float32) #N,C,T,V,M for i, s in enumerate(tqdm(sample_name)): data = read_xyz(os.path.join(data_path, s), max_body=max_body_kinect, num_joint=num_joint) fp[i, :, 0:data.shape[1], :, :] = data #50000,3,300,25,2 #testplt(fp[i,:,0,:,:]) print(fp.shape) fp = pre_normalization(fp) #preprocess.py for i in range(fp.shape[0]): testplt(fp[i, :, 0, :, :]) np.save('{}/{}_data_joint.npy'.format(out_path, part), fp)