使用yolov5过滑块验证码

训练模型部分

https://github.com/ultralytics/yolov5下载yolov5项目

然后正常安装需要的包 pip install -r requirements.txt

在训练模型之前需要先采集下数据集,然后使用标注工具,对数据进行标注。这里采用https://github.com/tzutalin/labelImg这个项目。

下载解压后一定删除labelImg-master\data\predefined_classes.txt

不然后面多出很多标签

标注好之后,按ctrl + s进行保存后生产txt的数据。

图片放images里面,标记数据放labels里面就可以了。

之后,创建yaml文件,配置下训练的数据集位置就ok啦!!!

nc:代表训练类别

names:代表标记的描述

train:训练数据集位置

val:验证数据集位置

最后说下训练需要改的东西:

  • 训练模型的选择
  • yaml数据集的位置
  • epochs 训练的次数
  • imgsz训练图片的大小,这个非常重要

校验训练模型部分

  • 修改校验模型
  • 数据集的位置
  • 图片大小
  • 开始校验
  • 最后提取成一个flask就可以了

过验证码部分

这部分遇到一个坑,selenium 先进行按住滑块拖动的第一次后不能释放鼠标动作!!!!

最后

yolov5参考文章:https://blog.csdn.net/qq_45701791/article/details/113992622

YOLOv5(You Only Look Once Version 5)是一种流行的实时目标检测算法,用于识别图像中的物体并定位其边界框。如果你想用预训练的YOLOv5滑块验证码识别模型来确定验证码的位置,你需要经历以下几个步骤: 1. **下载模型**: 首先,确保你已经从GitHub或其他官方资源获取了经过训练的ONNX(Open Neural Network Exchange)格式的模型。YOLOv5通常会提供转换后的ONNX模型供下游任务使用。 2. **安装依赖**: - 安装必要的库,如`onnxruntime`, `numpy`, 和 `PIL` (Python Imaging Library) 等,用于加载和处理ONNX模型以及图像操作。 3. **加载模型**: 使用`onnxruntime.InferenceSession`加载模型,这将创建一个可以执行推理的会话。 ```python import onnxruntime as ort ort_session = ort.InferenceSession("path_to_yolov5_onnx_model.onnx") ``` 4. **预处理输入**: 对验证码图片进行适当大小调整、归一化等预处理,使其符合模型期望的输入格式。 5. **执行预测**: 通过会话的`run`函数,传入预处理后的图像数据,得到模型预测的结果,包括每个滑块候选区域的位置信息(例如,边界框坐标、置信度等)。 ```python input_name = ort_session.get_inputs()[0].name outputs = ort_session.run(None, {input_name: image_data}) # image_data should be in the correct format bounding_boxes = outputs[0] # Bounding boxes for each detected slide ``` 6. **解析结果**: 分析模型返回的边界框数据,从中筛选出最有可能是验证码滑块区域。 7. **后处理**: 可能需要应用非极大值抑制(Non-Maximum Suppression, NMS)来减少重叠的边界框,并最终确定滑块的精确位置。 8. **应用到验证码验证系统**: 将滑块的位置信息传递给验证码验证部分,完成滑块的匹配和验证流程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值