yolov8 原木识别模型

一、模型介绍

  • 模型基于 yolov8
  • 数据集采用SKU-110k,这数据集太大了十几个 G,所以只训练了 10 轮左右就拿来微调了
  • 原木数据微调:纯手工标注 200 张左右原木图片,训练 20 轮的效果

PS:因为训练时间比较长 Google 的 Colab 老是自动断开,所以一直在 CPU上训练,截止文章发布已经连续训练了 24h,平均 1h40m 一轮(GPU 估计也就 5 分钟左右)

如果想要更高精度的模型,可以关注领取


10SKU-110k + 20 轮原木微调模型下载地址:
https://wwxd.lanzouu.com/ilUyp1gd9dfi
密码:a67b

下载完把模型格式修改为 pt

二、模型测试

  • 废话不多说上代码:
import cv2
from ultralytics import YOLO

# 加载模型
model = YOLO('原木.pt')  # 预训练的 YOLOv8n 模型



image_url = '123.jpeg'
# 在图片列表上运行批量推理
results = model([image_url])  # 返回 Results 对象列表

image = cv2.imread(image_url)  # 替换成实际图像路径

# 处理结果列表
for result in results:
    boxes = result.boxes  # 边界框输出的 Boxes 对象
    probs = result.probs  # 分类输出的 Probs 对象

    boxes_np = boxes.xyxy.numpy()
    for i in range(boxes_np.shape[0]):
        box_coordinates = boxes_np[i]
        x1, y1, x2, y2 = box_coordinates.astype(int)
        image = cv2.rectangle(image, (x1, y1), (x2, y2), (0, 255, 0), 2)  # 绿色框

        # 计算边界框中心点坐标
        center_x = (x1 + x2) // 2
        center_y = (y1 + y2) // 2
        # if i == boxes_np.shape[0]-1:
        cv2.putText(image, str(i + 1), (center_x, center_y), cv2.FONT_HERSHEY_SIMPLEX, 1, (255, 0, 0), 2,
                        cv2.LINE_AA)  # 红色数字



# 创建窗口并展示图像
cv2.namedWindow('Bounding Boxes', cv2.WINDOW_NORMAL)
cv2.imshow('Bounding Boxes', image)
cv2.waitKey(0)
cv2.destroyAllWindows()

三、模型效果

此外,也可以考虑对圆管进行微调,相信在相同数据集下,模型效果会更加出色。

四、实时推理

你可能感兴趣的:(YOLO,计算机视觉,人工智能)