KITTI数据集提取行人label,同时将人的朝向转换到360范围(0,2π)。
def get_person(label_path, new_annotation_path, debug_show_box=None):
label_files = os.listdir(label_path)
new_fd = open(new_annotation_path, "w")
index = 0
for one in label_files:
file_path = os.path.join(label_path, one)
one_label = []
with open(file_path) as fd:
image_file_name = one.replace(".txt", ".png")
# one_label.append(str(index))
one_label.append(image_file_name)
# one_label.append("1242")
# one_label.append("375")
for line in fd:
list_line = line.strip().split(" ")
if list_line[0] == "Pedestrian" and int(list_line[2]) <= 1:
# one_label.extend(list_line[1:3])
one_box = []
one_box.extend(list_line[4:8])
angle = float(list_line[-1])
if angle < 0.:
angle = -angle
else:
angle = 2*np.pi - angle
one_box.append(str(round(angle, 2)))
one_box.append("0")
one_label.append(",".join(one_box))
if len(one_label) > 4:
index += 1
new_fd.write(" ".join(one_label) + "\n")
print(one_label)
one_label.clear()
new_fd.close()
get_person(r"F:\datasets\kitti\training\label_2",
"./annotation.txt"
)