| 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) | |