import os import numpy as np from glob import glob from tqdm import tqdm import scipy.io as scio import xml.etree.ElementTree as ET from alisuretool.Tools import Tools from deal_data_0_global_info import get_data_root_path if __name__ == '__main__': data_root = get_data_root_path() image_info_path = os.path.join(data_root, "deal", "image_info_list2.pkl") image_info_list = Tools.read_from_pkl(image_info_path) # [one for one in image_info_list if len(one["object"]) > 0] cat_list = {} cat_single_list = {} for image_info in image_info_list: for one in image_info["object"]: cat_name = one[-1]["cat_name"] if cat_name not in cat_list: cat_list[cat_name] = [] if cat_name not in cat_single_list: cat_single_list[cat_name] = [] if len(image_info["object"]) == 1: cat_single_list[cat_name].append(image_info) else: # Tools.print(image_info["image_path"])
import os import numpy as np from glob import glob import scipy.io as scio import xml.etree.ElementTree as ET from deal_data_0_global_info import get_data_root_path data = scio.loadmat(os.path.join(get_data_root_path(), 'meta_det.mat')) # anno_dir = './ILSVRC_DET/Annotations/DET/train' anno_dir = os.path.join(get_data_root_path(), "ILSVRC2017_DET/ILSVRC/Annotations/DET/train") xml_files = sorted(glob(os.path.join(anno_dir, 'ILSVRC2013_train/*/*.xml'))) xml_files_2014 = sorted(glob(os.path.join(anno_dir, '*/*.xml'))) xml_files.extend(xml_files_2014) print(len(xml_files)) # 349319 name_to_detlabelid = {} for item in data['synsets'][0]: det_label_id = item[0][0][0] name = item[1][0] cat_name = item[2][0] # print(det_label_id) # print(cat_name) # print(name) name_to_detlabelid[name] = det_label_id image_labels = np.zeros([len(xml_files), 200]) for i, xml_file in enumerate(xml_files): tree = ET.parse(xml_file) root = tree.getroot() objects = root.findall('object')