YOLOv8 推理输出信息
时间: 2025-01-03 15:35:04 浏览: 9
### YOLOv8 推理输出信息
YOLOv8 的推理输出主要包含检测到的对象边界框、类别置信度以及对应的分类标签。具体来说:
- **边界框 (Bounding Box)**:对于每一个预测的目标对象,模型会给出四个数值来描述其位置和大小,即 \(x\) 和 \(y\) 坐标的中心点坐标,宽度 (\(w\)) 及高度 (\(h\))[^1]。
这些值是从 Distribution Focal Loss 中的积分表示形式解码而来,在此之前它们被编码成了一种特殊的分布形式用于损失函数优化。
- **类别概率 (Class Probability)**:针对每一类目标提供了一个分数,该分数反映了模型认为当前区域属于特定类型的信心程度。通常情况下,只会保留那些超过预设阈值的概率最高的几个候选者作为最终的结果展示给用户。
- **置信度得分 (Confidence Score)**:这是指物体存在与否的确信水平,它是由网络直接估计出来的,并且与上述提到的具体哪一类无关;只有当这个得分高于设定好的门限时才会进一步考虑具体的分类情况并显示出来。
在实际应用中,这些数据会被整理为易于解析的形式返回给调用方程序处理或可视化呈现。例如 Python 脚本可以这样获取并打印出部分结果:
```python
import torch
from ultralytics import YOLO
model = YOLO('path/to/model.pt') # 加载模型权重文件路径
results = model.predict(source='image.jpg', conf=0.25, iou=0.45)
for r in results:
boxes = r.boxes.cpu().numpy()[:, :4].tolist()
scores = r.boxes.cpu().numpy()[:, 4:].max(axis=-1).tolist()
labels = r.names[r.boxes.cpu().numpy()[:, 4:].argmax(axis=-1)].tolist()
print(f'Boxes: {boxes}')
print(f'Scores: {scores}')
print(f'Labels: {labels}')
```
阅读全文