YOLOv8太强了, 教你自定义训练滑动验证码

本文介绍了如何在Roboflow平台上使用YOLOv8进行图片标注、模型训练,并展示了如何在自定义验证码数据集上进行训练、验证和预测。作者提供了详细步骤,包括环境设置、模型下载和使用Python代码进行预测示例。
摘要由CSDN通过智能技术生成

本文看了YOLOv8已至,精度大涨!教你如何在自定义数据集上训练它 来的灵感,

先去Roboflow: Give your software the power to see objects in images and video注册一个账号,按照上文的内容进行图片注释和创建,你也可以下载别人已经弄好的图片:

环境和数据准备工作

点击然后下载滑动验证码图片

如果你安装了coda环境的话,可以创建一个环境,没有的忽略

conda create --name yolo python=3.10 #创建环境
conda activate yolo #进入环境

安装YOLOv8

pip install ultralytics

安装roboflow

pip install roboflow

新建目录yolo8

下载yolov8模型:yolov8n.pt 

把下载好的验证码图片文件解压后放入captcha 目录,解压后的文件应该有以下内容:

训练

在终端cd 到yolo8目录下,然后运行训练:

yolo task=detect \
mode=train \
model=yolov8s.pt \
data=/chat/yolo8/captcha/data.yaml \
epochs=100 \
imgsz=640

model和data一定要指定正确,不然模型会重新下载

用测试集验证模型

yolo task=detect \
mode=val \
model=/chat/yolo8/runs/detect/train2/weights/best.pt \
data=/chat/yolo8/captcha/data.yaml

model就是刚刚运行后生成的模型,一般在你当前目录下runs

使用自定义模型进行预测

创建一个images目录,把一些你想要验证的图片放上去,然后运行

yolo task=detect \
mode=predict \
model=/chat/yolo8/runs/detect/train2/weights/best.pt \
conf=0.25 \
source=./images

结果也是在runs/detect/predict下面

用python代码进行验证,后续可以写接口

import cv2
import matplotlib.pyplot as plt
from ultralytics import YOLO

# 加载模型
model = YOLO('/chat/yolo8/runs/detect/train2/weights/best.pt')#训练好的模型地址

# 在图片列表上运行批量推理
results = model(['jOvJH7qa.png'])

# 遍历每个结果对象
for i, result in enumerate(results):
    # 获取原始图片和边界框
    orig_img = result.orig_img
    boxes = result.boxes

    # 为每个检测到的对象绘制边界框
    for box in boxes.xywh:
        print(box)
        x, y, w, h = box
        x1, y1, x2, y2 = int(x - w / 2), int(y - h / 2), int(x + w / 2), int(y + h / 2)
        cv2.rectangle(orig_img, (x1, y1), (x2, y2), (0, 255, 0), 2)

    # 保存修改后的图片
    plt.imshow(cv2.cvtColor(orig_img, cv2.COLOR_BGR2RGB))
    plt.axis('off')
    plt.savefig(f'detected_{i}.png', bbox_inches='tight', pad_inches=0.0)
    plt.close()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值