yolov8 输出数据解释
- 导入库
python
Copy Code
from ultralytics import YOLO
从ultralytics库中导入YOLO类,用于加载和使用YOLO模型。 - 加载模型
python
Copy Code
model = YOLO(“yolo11n.pt”) # 加载官方预训练模型
model = YOLO(“./best.pt”) # 加载自定义训练模型
创建YOLO模型实例,可以选择:
官方模型(如yolo11n.pt):预训练好的通用目标检测模型。
自定义模型(如best.pt):用户在自己的数据集上训练得到的模型。
3. 对图像进行预测
python
Copy Code
results = model(“./20250425_4_H71079_front.png”)
对指定路径的图像(./20250425_4_H70479_front.png)进行推理,返回检测结果列表results。
每个result对应一个图像的检测结果(即使输入单张图像,结果仍以列表形式返回)。
4. 处理检测结果
python
Copy Code
for result in results:
# 边界框坐标格式
xywh = result.boxes.xywh # 中心坐标 + 宽高 (绝对像素值)
xywhn = result.boxes.xywhn # 归一化的中心坐标 + 宽高 (值范围0-1)
xyxy = result.boxes.xyxy # 左上角 + 右下角坐标 (绝对像素值)
xyxyn = result.boxes.xyxyn # 归一化的左上角 + 右下角坐标
# 类别名称
names = [result.names[cls.item()] for cls in result.boxes.cls.int()]# 置信度
confs = result.boxes.conf # 每个检测框的置信度(0-1)# 可视化结果
result.show() # 弹窗显示带检测框的图像
关键属性解释:
xywh:边界框中心点坐标 (x_center, y_center) 和宽高 (width, height),单位为像素。
xywhn:归一化的 xywh,相对于图像尺寸的比例值(如宽高为640x640时,中心点(320,320)对应归一化值(0.5,0.5))。
xyxy:边界框左上角 (x_min, y_min) 和右下角 (x_max, y_max) 的绝对坐标。
xyxyn:归一化的 xyxy。
names:通过类别索引获取类别名称(如cls=0可能对应"person")。
confs:检测框的置信度,表示模型对检测结果的信心(值越高,误检概率越低)。
5. 可视化结果
python
Copy Code
result.show()
调用show()方法会通过OpenCV弹窗显示带有检测框、类别标签和置信度的图像。
需要确保运行环境支持图形界面(无GUI环境可能报错)。