Spaces:
Paused
Paused
# Copyright (c) Facebook, Inc. and its affiliates. | |
import argparse | |
import json | |
import copy | |
if __name__ == '__main__': | |
parser = argparse.ArgumentParser() | |
parser.add_argument("--ann", default='datasets/objects365/annotations/zhiyuan_objv2_val.json') | |
parser.add_argument("--fix_name_map", default='datasets/metadata/Objects365_names_fix.csv') | |
args = parser.parse_args() | |
new_names = {} | |
old_names = {} | |
with open(args.fix_name_map, 'r') as f: | |
for line in f: | |
tmp = line.strip().split(',') | |
old_names[int(tmp[0])] = tmp[1] | |
new_names[int(tmp[0])] = tmp[2] | |
data = json.load(open(args.ann, 'r')) | |
cat_info = copy.deepcopy(data['categories']) | |
for x in cat_info: | |
if old_names[x['id']].strip() != x['name'].strip(): | |
print('{} {} {}'.format(x, old_names[x['id']], new_names[x['id']])) | |
import pdb; pdb.set_trace() | |
if old_names[x['id']] != new_names[x['id']]: | |
print('Renaming', x['id'], x['name'], new_names[x['id']]) | |
x['name'] = new_names[x['id']] | |
data['categories'] = cat_info | |
out_name = args.ann[:-5] + '_fixname.json' | |
print('Saving to', out_name) | |
json.dump(data, open(out_name, 'w')) | |