如何从 YOLO v5 的结果中提取标签?

How can I extract label from results in YOLO v5?

有什么方法可以提取检测到的标签,如 personcatdog 或其他由 results.print() 函数打印的标签?我希望将这些检测到的标签保存在一个数组中,稍后使用。我这里使用的是 YOLOv5 模型。

cap = cv2.VideoCapture(0)
while cap.isOpened():
    ret, frame = cap.read()
    
    # Make detections 
    results = model(frame)
    results.print()
    
    # Showing the box and prediction
    cv2.imshow('YOLO', np.squeeze(results.render()))
    
    if cv2.waitKey(10) & 0xFF == ord('q'):
        break
cap.release()
cv2.destroyAllWindows()

results.print() 的打印输出是这样的 -

image 1/1: 480x640 1 person
Speed: 7.0ms pre-process, 80.6ms inference, 3.5ms NMS per image at shape (1, 3, 480, 640)

从这个输出中,我想提取 person 标签并将其存储在一个数组中。

假设你使用 YoloV5 和 pytorch,请看这个 link。它详细说明了如何将结果解释为 json 个对象,并解释了结构。