目标检测——YOLOv8模型预测结果

from ultralytics import YOLO
 
model_path = r'/home/zhangh/project1/workproject/YOLOv8/ultralytics/runs/train/2024723_yolov8n5/weights/best.pt'
img_path = r'worker_data/images/val/%E9%93%B2%E6%96%97%E5%9D%90%E4%BA%BA%E5%89%AA%E8%BE%91%E7%89%88_2.mp4#t=383.jpg'
model = YOLO(model=model_path)
 
results = model.predict(source=img_path)

# 把tensor转为numpy格式
boxes = results[0].boxes.cpu().numpy()

# 输出模型中有哪些类别
print(results[0].names)

# 访问 boxes 属性,它包含了检测到的边界框,对应的类别得分,及对应的类别
loc, scores, classes =[], [], []
 
# # 遍历每个检测结果
for box in boxes:
    loc.append(box.xyxy[0].tolist())
    scores.append(float(box.conf))
    classes.append(results[0].names[int(box.cls)])
 
print(loc)
print(scores)
print(classes)

对于YOLOv8推理得到的Results是一个长度为1的列表,里面包含许多预测属性。其中和预测框相关的包含着result[0].boxes里面,遍历这个tensor即可获得所有预测框相关的信息,包括坐标、类别、置信度等信息。

你可能感兴趣的:(目标检测,YOLO,人工智能)