|
import json |
|
import os |
|
|
|
save_path = './whole_pesudo_cap/sam_v_final_v2.json' |
|
|
|
caption_json_path = './whole_pesudo_cap/formatted/' |
|
cap_json_files = os.listdir(caption_json_path) |
|
cap_json_paths = [os.path.join(caption_json_path, item) for item in cap_json_files] |
|
caption_jsons = [] |
|
for cap_json_path in cap_json_paths: |
|
with open(cap_json_path, 'r') as f: |
|
caption_jsons.extend(json.load(f)) |
|
|
|
|
|
video_obj_cap_dict = {} |
|
for cap_item in caption_jsons: |
|
video_id = cap_item['video_id'] |
|
obj_id = cap_item['obj_id'] |
|
sub_folder = video_id[:7] |
|
video_path = f'{sub_folder}/sav_train/{sub_folder}/{video_id}.mp4' |
|
anno_path = f'{sub_folder}/sav_train/{sub_folder}/{video_id}_manual.json' |
|
cap_item.update({'video_path': video_path, 'anno_path': anno_path}) |
|
if video_id not in video_obj_cap_dict.keys(): |
|
video_obj_cap_dict[video_id] = { |
|
'video_id': video_id, 'video_path': video_path, 'anno_path': anno_path, |
|
'objects': {}, |
|
} |
|
video_obj_cap_dict[video_id]['objects'].update({obj_id: cap_item}) |
|
|
|
print("{} videos !!!".format(len(video_obj_cap_dict))) |
|
|
|
with open(save_path, 'w') as f: |
|
json.dump(video_obj_cap_dict, f) |
|
|
|
|