| import csv
|
| import os.path as osp
|
| import numpy as np
|
| import pandas as pd
|
| from tqdm import tqdm
|
|
|
| tsv_file = '/apdcephfs/share_1134483/charlinzhou/datas/ADNet/WFLW/test.tsv'
|
| save_folder = '/apdcephfs/share_1134483/charlinzhou/datas/ADNet/_WFLW/'
|
|
|
| save_tags = ['largepose', 'expression', 'illumination', 'makeup', 'occlusion', 'blur']
|
| save_tags = ['test_{}_metadata.tsv'.format(t) for t in save_tags]
|
| save_files = [osp.join(save_folder, t) for t in save_tags]
|
| save_files = [open(f, 'w', newline='') for f in save_files]
|
|
|
| landmark_num = 98
|
| items = pd.read_csv(tsv_file, sep="\t")
|
|
|
| items_num = len(items)
|
| for index in tqdm(range(items_num)):
|
| image_path = items.iloc[index, 0]
|
| landmarks_5pts = items.iloc[index, 1]
|
|
|
| landmarks_target = items.iloc[index, 2]
|
|
|
| scale = items.iloc[index, 3]
|
| center_w, center_h = items.iloc[index, 4], items.iloc[index, 5]
|
| if len(items.iloc[index]) > 6:
|
| tags = np.array(list(map(lambda x: int(float(x)), items.iloc[index, 6].split(","))))
|
| else:
|
| tags = np.array([])
|
| assert len(tags) == 6, '{} v.s. 6'.format(len(tags))
|
| for k, tag in enumerate(tags):
|
| if tag == 1:
|
| save_file = save_files[k]
|
| tsv_w = csv.writer(save_file, delimiter='\t')
|
| tsv_w.writerow([image_path, landmarks_5pts, landmarks_target, scale, center_w, center_h])
|
|
|
| print('Done!')
|
|
|