in tools/waymo/waymo_eval.py [0:0]
def get_boxes_from_txt(self, pd_set, gt_set, pd_dir, gt_dir):
__type_list = {'unknown': 0, 'Car': 1, 'Pedestrian': 2, 'Sign': 3, 'Cyclist': 4}
pd_bbox, pd_type, pd_frame_id, pd_score, difficulty = [], [], [], [], []
gt_bbox, gt_type, gt_frame_id, gt_score, gt_diff = [], [], [], [], []
f = open(gt_set, 'r')
lines = f.readlines()
f.close()
#import pdb; pdb.set_trace()
f = open(pd_set, 'r')
pred_lines = f.readlines()
f.close()
for i in range(39848):
print('Current index:', i)
gt_seg, gt_id = lines[i].strip().split(' ')
gt_file_name = os.path.join(gt_dir , 'waymo2kitti', 'validation', gt_seg, 'label_0', gt_id + '.txt')
file_name = pred_lines[i].strip() + '.txt' #str('{0:06}'.format(i)) + '.txt'
file = os.path.join(pd_dir, file_name)
if not os.path.exists(file):
continue
# import pdb; pdb.set_trace()
with open(file, 'r')as f:
for line in f.readlines():
line = line.strip('\n').split()
#if float(line[15])==0:
# continue
pd_frame_id.append(gt_id)
box = [float(line[11]), float(line[12]), float(line[13]),
float(line[10]), float(line[9]), float(line[8]),float(line[14])]
pd_bbox.append(box)
pd_score.append(line[15])
pd_type.append(__type_list[line[0]])
difficulty.append(1)
#import pdb; pdb.set_trace()
with open(gt_file_name, 'r')as f:
for line in f.readlines():
line = line.strip('\n').split()
if line[0]!= 'Car' or float(line[15])==0 or (float(line[4])-float(line[6]))>=0 or (float(line[5])-float(line[7]))>=0:
# print('=========ignore', line[0], line[15], line[4:8])
continue
gt_frame_id.append(gt_id)
box = [float(line[11]), float(line[12]), float(line[13]),
float(line[10]), float(line[9]), float(line[8]),float(line[14])]
gt_bbox.append(box)
gt_score.append('0.5')
# else: # gt
# pd_score.append(0.5)
gt_type.append(__type_list[line[0]])
if float(line[15])>5:
gt_diff.append(1)
else:
gt_diff.append(2)
# import pdb; pdb.set_trace()
return np.array(pd_bbox), np.array(pd_type), np.array(pd_frame_id), np.array(pd_score), np.array(difficulty),np.array(gt_bbox), np.array(gt_type), np.array(gt_frame_id), np.array(gt_score), np.array(gt_diff)