yolov8-03训练自己的数据集并保存推理结果

目标:将推理结果保存为xyxy形式,并以 pkl 格式保存

主要采取了两种方式,一种是阅读源码,通过CIL的方式保存结果。
一种是在IDE内,通过python代码的形式。

  1. 查看推理相关的源码,探索保存结果的相关信息。
    在文件 ultralytics-main\ultralytics\yolo\engine 中
  2. 在IDE中运行python

1. 分析源码

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2. 通过CIL形式运行并对源码进行修改

a. 在这里插入图片描述在这里插入图片描述
获得的坐标结果是归一化后的结果,不是目标理想结果。

results 中有关于坐标转换的信息,进而发现具体内容在utils.ops中。
在这里插入图片描述

ops 中:

在这里插入图片描述
本项目目标:返回 xyxy 格式。
data 中原本格式应该就是 xyxy
在这里插入图片描述

做如下修改,将xywhn 改为xyxy
在这里插入图片描述
CIL运行:

yolo detect predict model=C:\WORK\puniu\yolo\trafficmodel\traffic_das581_yolo8.pt source=C:\WORK\puniu\yolo\data\partdata save_txt=True save_conf=True

sad ,坐标没有变成原图坐标
在这里插入图片描述
继续修改

3. IDE 内运行python代码

ps : 转步IDE,格式
在IDE中使用代码的方式读取和保存。
https://docs.ultralytics.com/modes/predict/

from ultralytics import YOLO

# Load a model
model = YOLO('yolov8n.pt')  # pretrained YOLOv8n model

# Run batched inference on a list of images
results = model(['im1.jpg', 'im2.jpg'])  # return a list of Results objects

# Process results list
for result in results:
    boxes = result.boxes  # Boxes object for bbox outputs
    masks = result.masks  # Masks object for segmentation masks outputs
    keypoints = result.keypoints  # Keypoints object for pose outputs
    probs = result.probs  # Class probabilities for classification outputs
import pickle

# Load a model
model = YOLO('traffic_das581_yolo8.pt')  # pretrained YOLOv8n model

# Run batched inference on a list of images
#results = model("20230621-163105-0.bmp")  # return a list of Results objects
results = model("..//data")  # return a list of Results objects
preds=[]
# Process results list
for result in results:
    boxes = result.boxes  # Boxes object for bbox outputs
    pred = boxes.data
    preds.append(pred)

with open('my_listv8.pkl', 'wb') as f22:
    pickle.dump(preds, f22)

查看result,会有大惊喜,yolo8真的太仙了,里面包含各种形式的输出结果
xyxy xywh xywhn cls conf 等,想要的结果都有。

在这里插入图片描述

并且,result.save_txt 也可也直接将结果保存为txt。 在IDE中运行时,之前对results.py做的修改就可以起作用,输出未归一化之前的xyxy。
但是还是不能理解,为什么在CMD 里通过CIL的形式结果不对。

猜你喜欢

转载自blog.csdn.net/weixin_39107270/article/details/131416428