基于YOLOv8的通用的滑动验证码滑块缺口检测模型


前言

首先放张图片表达此时的心情,同志们节日快乐!!!

滑块缺口验证码

在这里插入图片描述

滑动验证码滑块缺口的位置识别是破解滑块验证码的关键,这里我们尝试使用YOLOV8训练目标检测模型,识别出滑块图片的缺口

验证码示例

模型通过大批量生成随机数据后进行深度网络训练,本身并非针对任何一家验证码厂商而制作,模型使用效果完全靠玄学,可能可以识别,可能不能识别,仅做学习交流使用,如有侵权,请联系本人删除

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

滑块验证码征集:如果有其他种类的滑块验证码,在评论区留言哦😄

训练步骤

  1. 采集滑块图片,保留滑块图和缺口背景图
  2. 打标签,我目前使用labelme打标签
  3. 标签文件转换
    labelme标签文件为json格式, 可使用labelme2yolo转为yolo支持的txt格式
# 安装labelme2yolo
pip install labelme2yolo
# 转换格式,并分割数据集(train, test, val)
labelme2yolo --json_dir /path/to/labelme_json_dir/ --val_size 0.15 --test_size 0.15
# /path/to/labelme_json_dir/ 为标签文件夹
# --val_size 0.15  验证集占比15%
# --test_size 0.15 测试集占比15%
# 分割后的文件结构
"""
/path/to/labelme_json_dir/YOLODataset/labels/train/
/path/to/labelme_json_dir/YOLODataset/labels/test/
/path/to/labelme_json_dir/YOLODataset/labels/val/
/path/to/labelme_json_dir/YOLODataset/images/train/
/path/to/labelme_json_dir/YOLODataset/images/test/
/path/to/labelme_json_dir/YOLODataset/images/val/
/path/to/labelme_json_dir/YOLODataset/dataset.yaml
"""
  1. 训练模型
from ultralytics import YOLO

# yolov8s.pt是yolov8提供的目标检测预训练模型
model = YOLO("yolov8s.pt")

results = model.train(data="/path/to/labelme_json_dir/YOLODataset/dataset.yaml", epochs=100, imgsz=[380, 165])
# data为上一步labelme2yolo生成的dataset.yaml配置文件
# epochs为训练次数
# imgsz为训练图片宽高

  1. 模型效果测试
from ultralytics import YOLO

# Load a model
model = YOLO("<训练的模型>.pt")  

results = model(["test_img1.jpg", "test_img2.jpg"])  # return a list of Results objects

# Process results list
for i. result in enumerate(results):
    boxes = result.boxes  # Boxes object for bounding box outputs
    masks = result.masks  # Masks object for segmentation masks outputs
    keypoints = result.keypoints  # Keypoints object for pose outputs
    probs = result.probs  # Probs object for classification outputs
    obb = result.obb  # Oriented boxes object for OBB outputs
    result.show()  # display to screen
    result.save(filename=f"result{i}.jpg")  # save to disk

模型正在训练中,等明天训练完成,在这里补充训练效果

总结

以上就是今天要讲的内容,本文介绍了基于YOLOv8训练滑块验证码缺口检测模型的通用步骤,如果你有新的滑块验证码类型,请在评论区留言,后续我会增加对应的训练集到模型中。明天见!!!

  • 7
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吃苹果的牛顿顿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值